mirror of
https://github.com/amwatson/CitraVR.git
synced 2024-09-20 03:11:40 +02:00
this renders a green square with the right aspect ratio. However, it's doing so by rendering the entire display (not what we want)
This commit is contained in:
parent
f231577afd
commit
889d99f165
5 changed files with 20 additions and 4 deletions
|
@ -3,7 +3,7 @@ package org.citra.citra_emu.vr.ui
|
|||
import org.citra.citra_emu.R
|
||||
import org.citra.citra_emu.vr.VrActivity
|
||||
|
||||
class VrKeyboardLayer(activity: VrActivity) : VrUILayer(activity, R.layout.vr_keyboard) {
|
||||
class VrKeyboardLayer(activity: VrActivity) : VrUILayer(activity, R.layout.vr_ui_test) {
|
||||
|
||||
override fun onSurfaceCreated() {
|
||||
super.onSurfaceCreated()
|
||||
|
|
|
@ -61,8 +61,8 @@ abstract class VrUILayer(
|
|||
val measuredHeightPx = contentView.measuredHeight
|
||||
|
||||
val displayMetrics = activity.resources.displayMetrics
|
||||
val measuredWidthDp = measuredWidthPx / displayMetrics.density
|
||||
val measuredHeightDp = measuredHeightPx / displayMetrics.density
|
||||
val measuredWidthDp = (measuredWidthPx / displayMetrics.density) / (DEFAULT_DENSITY / requestedDensity);
|
||||
val measuredHeightDp = measuredHeightPx / displayMetrics.density / (DEFAULT_DENSITY / requestedDensity);
|
||||
|
||||
// Call native method with measured dimensions
|
||||
nativeSetBounds(handle, 0, 0, measuredWidthDp.roundToInt(), measuredHeightDp.roundToInt())
|
||||
|
|
|
@ -180,7 +180,7 @@ XrVector2f GetDensityScaleForSize(const int32_t texWidth,
|
|||
const float scaleFactor)
|
||||
{
|
||||
const float density = GetDensitySysprop();
|
||||
return XrVector2f{2.0f * static_cast<float>(texWidth) / density,
|
||||
return XrVector2f{static_cast<float>(texWidth) / density,
|
||||
(static_cast<float>(texHeight) / density)} *
|
||||
scaleFactor;
|
||||
}
|
||||
|
|
|
@ -613,6 +613,11 @@ private:
|
|||
layers[layerCount++].Quad = quadLayer;
|
||||
}
|
||||
#endif
|
||||
if (mUILayer->IsSwapchainCreated()) {
|
||||
|
||||
mUILayer->Frame(gOpenXr->mLocalSpace, layers, layerCount);
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
{
|
||||
|
|
11
src/android/app/src/main/res/layout/vr_ui_test.xml
Normal file
11
src/android/app/src/main/res/layout/vr_ui_test.xml
Normal file
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="500dp"
|
||||
android:layout_height="500dp"
|
||||
android:background="@color/citra_primary"
|
||||
android:orientation="horizontal"
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center"
|
||||
>
|
||||
|
||||
</LinearLayout>
|
Loading…
Reference in a new issue