X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fjp%2Fosdn%2Fgokigen%2Fthetaview%2Fliveview%2Fglrenderer%2FEquirectangularDrawer.kt;h=b1fcfa0c7915c7ba2f70897d1f814f67899df6a7;hb=e5769fa991c7f192c95ce63d4039abe05f614a84;hp=7ac97e3d3fa05cf774a0a3e859e75be49f65bd8a;hpb=e251daac3e874a7a10700f30850db95bd0a24845;p=gokigen%2FThetaView.git diff --git a/app/src/main/java/jp/osdn/gokigen/thetaview/liveview/glrenderer/EquirectangularDrawer.kt b/app/src/main/java/jp/osdn/gokigen/thetaview/liveview/glrenderer/EquirectangularDrawer.kt index 7ac97e3..b1fcfa0 100644 --- a/app/src/main/java/jp/osdn/gokigen/thetaview/liveview/glrenderer/EquirectangularDrawer.kt +++ b/app/src/main/java/jp/osdn/gokigen/thetaview/liveview/glrenderer/EquirectangularDrawer.kt @@ -3,8 +3,10 @@ package jp.osdn.gokigen.thetaview.liveview.glrenderer import android.content.Context import android.opengl.GLUtils import android.util.Log +import androidx.preference.PreferenceManager import jp.osdn.gokigen.thetaview.R import jp.osdn.gokigen.thetaview.liveview.image.IImageProvider +import jp.osdn.gokigen.thetaview.preference.IPreferencePropertyAccessor import java.nio.ByteBuffer import java.nio.ByteOrder import java.nio.FloatBuffer @@ -13,7 +15,7 @@ import javax.microedition.khronos.opengles.GL10 import kotlin.math.cos import kotlin.math.sin -class EquirectangularDrawer(context: Context) : IGraphicsDrawer +class EquirectangularDrawer(private val context: Context) : IGraphicsDrawer { private lateinit var imageProvider : IImageProvider @@ -64,8 +66,35 @@ class EquirectangularDrawer(context: Context) : IGraphicsDrawer override fun prepareDrawer(gl: GL10?) { - Log.v(TAG, "prepareDrawer()") - mDroidTextureID = mGlUtils.prepareTexture(gl, R.drawable.sample) + try + { + val previewFormat = PreferenceManager.getDefaultSharedPreferences(context).getString(IPreferencePropertyAccessor.LIVEVIEW_RESOLUTION, IPreferencePropertyAccessor.LIVEVIEW_RESOLUTION_DEFAULT_VALUE) + if (previewFormat != null) + { + mDroidTextureID = when { + previewFormat.contains("width:1920") -> { + mGlUtils.prepareTexture(gl, R.drawable.sample2) + } + previewFormat.contains("width:1024") -> { + mGlUtils.prepareTexture(gl, R.drawable.sample1) + } + else -> { + mGlUtils.prepareTexture(gl, R.drawable.sample) + } + } + } + else + { + // 取得できなかった場合は、640x320 にする + mDroidTextureID = mGlUtils.prepareTexture(gl, R.drawable.sample) + } + Log.v(TAG, "prepareDrawer() : $mDroidTextureID : $previewFormat") + } + catch (e : Exception) + { + e.printStackTrace() + mDroidTextureID = mGlUtils.prepareTexture(gl, R.drawable.sample) + } } override fun preprocessDraw(gl: GL10?)