ribbon has exact fit

This commit is contained in:
amwatson 2024-02-20 18:38:14 -06:00
parent a558068642
commit dd9788186e
2 changed files with 19 additions and 17 deletions

View file

@ -210,13 +210,12 @@ public:
const AppState appState = HandleEvents(jni);
if (appState.mIsStopRequested) { break; }
HandleStateChanges(jni, appState);
if (!appState.mIsXrSessionActive) {
if (appState.mIsXrSessionActive) {
Frame(jni, appState);
} else {
// TODO should block here
mFrameIndex = 0;
continue;
}
Frame(jni, appState);
mLastAppState = appState;
}
@ -275,7 +274,8 @@ private:
mRibbonLayer = std::make_unique<UILayer>(
"org/citra/citra_emu/vr/ui/VrRibbonLayer", XrVector3f{0, -0.75f, -1.51f},
XrMath::Quatf::FromEuler(0.0f, -MATH_FLOAT_PI / 4.0f, 0.0f), jni, mActivityObject, gOpenXr->mSession);
XrMath::Quatf::FromEuler(0.0f, -MATH_FLOAT_PI / 4.0f, 0.0f), jni, mActivityObject,
gOpenXr->mSession);
mKeyboardLayer = std::make_unique<UILayer>(
"org/citra/citra_emu/vr/ui/VrKeyboardLayer", XrVector3f{0, -0.4f, -0.5f},
@ -491,7 +491,6 @@ private:
mRibbonLayer->Frame(gOpenXr->mLocalSpace, layers, layerCount);
// Game surface (upper and lower panels) are in front of the passthrough layer.
mGameSurfaceLayer->Frame(gOpenXr->mLocalSpace, layers, layerCount,
gOpenXr->headLocation.pose, immersiveModeFactor,
@ -939,6 +938,7 @@ private:
// Set session state once we have entered VR mode and have a valid
// session object.
if (newAppState.mIsXrSessionActive) {
ALOGI("{}(): Entered XR_SESSION_STATE_READY", __func__);
PFN_xrPerfSettingsSetPerformanceLevelEXT pfnPerfSettingsSetPerformanceLevelEXT =
NULL;
OXR(xrGetInstanceProcAddr(
@ -975,6 +975,7 @@ private:
}
} else if (state == XR_SESSION_STATE_STOPPING) {
assert(mIsXrSessionActive);
ALOGI("{}(): Entered XR_SESSION_STATE_STOPPING", __func__);
OXR(xrEndSession(gOpenXr->mSession));
newAppState.mIsXrSessionActive = false;
}

View file

@ -6,7 +6,7 @@
android:layout_height="wrap_content">
<FrameLayout
android:layout_width="1540dp"
android:layout_width="1300dp"
android:layout_height="0dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -16,38 +16,39 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/vr_menu_background"
android:padding="20dp"
android:padding="50dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<FrameLayout
android:layout_width="1200dp"
android:layout_width="1000dp"
android:layout_height="0dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<FrameLayout
android:id="@+id/frameLayout"
android:id="@+id/lowerPanelPlaceHolder"
android:layout_width="900dp"
android:layout_height="900dp"
android:background="@android:color/black"
android:layout_height="675dp"
android:layout_marginTop="10dp"
android:background="#FFFF00"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:layout_width="100dp"
android:layout_height="400dp"
android:layout_height="675dp"
android:layout_gravity="center"
android:layout_marginStart="20dp"
android:layout_marginStart="50dp"
android:gravity="center"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="@+id/frameLayout"
app:layout_constraintBottom_toBottomOf="@+id/lowerPanelPlaceHolder"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/frameLayout"
app:layout_constraintTop_toTopOf="@+id/frameLayout">
app:layout_constraintStart_toEndOf="@+id/lowerPanelPlaceHolder"
app:layout_constraintTop_toTopOf="@+id/lowerPanelPlaceHolder">
<Button
android:id="@+id/buttonSelect"