mirror of
https://github.com/CrispyPin/sinpin-vr.git
synced 2024-11-09 20:10:25 +01:00
add transparency toggle
This commit is contained in:
parent
2c0386b141
commit
66227ae744
3 changed files with 25 additions and 0 deletions
|
@ -56,6 +56,11 @@
|
|||
"requirement": "suggested",
|
||||
"type": "vector2"
|
||||
},
|
||||
{
|
||||
"name": "/actions/cursor/in/toggle_transparent",
|
||||
"requirement": "suggested",
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "/actions/cursor/out/scroll_haptic",
|
||||
"requirement": "suggested",
|
||||
|
@ -89,6 +94,7 @@
|
|||
"/actions/cursor/in/mouse_right": "right mouse button",
|
||||
"/actions/cursor/in/mouse_middle": "middle mouse button",
|
||||
"/actions/cursor/in/scroll": "scroll",
|
||||
"/actions/cursor/in/toggle_transparent": "toggle transparency",
|
||||
"/actions/cursor/out/scroll_haptic": "scrolling haptic feedback"
|
||||
}
|
||||
]
|
||||
|
|
17
src/app.cpp
17
src/app.cpp
|
@ -10,6 +10,7 @@
|
|||
const VRMat root_start_pose = {{{1, 0, 0, 0}, {0, 1, 0, 0.8f}, {0, 0, 1, 0}}}; // 0.8m above origin
|
||||
|
||||
const int FRAME_INTERVAL = 4; // number of update loops until the frame buffer is updated
|
||||
const float TRANSPARENCY = 0.6f;
|
||||
|
||||
App::App()
|
||||
{
|
||||
|
@ -75,6 +76,8 @@ App::App()
|
|||
assert(action_err == 0);
|
||||
action_err = vr_input->GetActionHandle("/actions/cursor/in/scroll", &_input_handles.cursor.scroll);
|
||||
assert(action_err == 0);
|
||||
action_err = vr_input->GetActionHandle("/actions/cursor/in/toggle_transparent", &_input_handles.cursor.toggle_transparent);
|
||||
assert(action_err == 0);
|
||||
action_err = vr_input->GetActionHandle("/actions/cursor/out/scroll_haptic", &_input_handles.cursor.scroll_haptic);
|
||||
assert(action_err == 0);
|
||||
action_err = vr_input->GetActionSetHandle("/actions/main", &_input_handles.main_set);
|
||||
|
@ -193,6 +196,20 @@ void App::UpdateInput(float dtime)
|
|||
}
|
||||
UpdateUIVisibility();
|
||||
}
|
||||
if (IsInputJustPressed(_input_handles.cursor.toggle_transparent))
|
||||
{
|
||||
_transparent = !_transparent;
|
||||
if (_transparent)
|
||||
{
|
||||
for (auto &panel : _panels)
|
||||
panel.GetOverlay()->SetAlpha(TRANSPARENCY);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (auto &panel : _panels)
|
||||
panel.GetOverlay()->SetAlpha(1);
|
||||
}
|
||||
}
|
||||
if (!_hidden)
|
||||
{
|
||||
if (IsInputJustPressed(_input_handles.main.reset))
|
||||
|
|
|
@ -33,6 +33,7 @@ struct InputHandles
|
|||
vr::VRActionHandle_t mouse_middle;
|
||||
vr::VRActionHandle_t scroll;
|
||||
vr::VRActionHandle_t scroll_haptic;
|
||||
vr::VRActionHandle_t toggle_transparent;
|
||||
} cursor;
|
||||
vr::VRActionSetHandle_t cursor_set;
|
||||
struct
|
||||
|
@ -87,6 +88,7 @@ class App
|
|||
Overlay _root_overlay;
|
||||
std::vector<Panel> _panels;
|
||||
bool _hidden = false;
|
||||
bool _transparent = false;
|
||||
bool _edit_mode = false;
|
||||
std::optional<Controller *> _active_cursor;
|
||||
|
||||
|
|
Loading…
Reference in a new issue