forked from StereoKit/StereoKit
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdemo_ui.cpp
More file actions
79 lines (60 loc) · 3 KB
/
Copy pathdemo_ui.cpp
File metadata and controls
79 lines (60 loc) · 3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include "demo_ui.h"
#include <stereokit.h>
#include <stereokit_ui.h>
using namespace sk;
///////////////////////////////////////////
sprite_t ui_sprite;
sprite_t ui_search_sprite;
sprite_t ui_toggle_off;
sprite_t ui_toggle_on;
///////////////////////////////////////////
void demo_ui_init() {
ui_sprite = sprite_create_file("StereoKitWide.png", sprite_type_single);
ui_search_sprite = sprite_create_file("search.png", sprite_type_single);
ui_toggle_off = sprite_create_file("toggle_off.png", sprite_type_single);
ui_toggle_on = sprite_create_file("toggle_on.png", sprite_type_single);
}
///////////////////////////////////////////
void demo_ui_update() {
static pose_t window_pose = //pose_t{ {0,0.5f,0},{0,0,0,1} };
pose_t{ {0.25,0.25,-0.25f}, quat_lookat({0.25,0.25,-0.25f}, {0,0.25,0}) };
// input_hand(handed_right).root;
ui_window_begin("Main", &window_pose, vec2{ 24 }*cm2m);
ui_image(ui_sprite, vec2{ 6,0 }*cm2m);
ui_button("Testing!"); ui_sameline();
static char buffer[128] = {};
ui_input("text", buffer, 128, {16*cm2m,ui_line_height()});
static ui_btn_layout_ layout = ui_btn_layout_left;
if (ui_button_img("Find", ui_search_sprite, layout))
layout = (ui_btn_layout_)((layout + 1) % 3);
static bool32_t tog = false;
if (ui_toggle_img("Toggle", tog, ui_toggle_off, ui_toggle_on, ui_btn_layout_left)) {}
static float val = 0.5f;
static float val2 = 0.5f;
ui_hslider("slider", val, 0, 1, 0.2f, 72*mm2m, ui_confirm_pinch); ui_sameline();
ui_hslider("slider2", val2, 0, 1, 0, 72*mm2m, ui_confirm_push);
ui_panel_begin();
ui_label("Last Element Focus");
static float val3 = 0.5f;
ui_hslider("slider3", val3, 0, 1, 0.2f, 0, ui_confirm_pinch);
if (ui_last_element_source_focused(interactor_source_hand_left | interactor_source_controller_left) & button_state_active) ui_label("Left!");
if (ui_last_element_source_focused(interactor_source_hand_right | interactor_source_controller_right | interactor_source_mouse) & button_state_active) ui_label("Right!");
if (ui_last_element_focused ( ) & button_state_active) ui_label("Focused!");
if (ui_last_element_active ( ) & button_state_active) ui_label("Active!");
ui_panel_end();
if (ui_button("Press me!")) {
ui_button("DYNAMIC BUTTON!!");
}
ui_hprogress_bar(sinf(time_totalf())*0.5f+0.5f);
ui_text(u8"古池や\n蛙飛び込む\n水の音\n- Matsuo Basho");
ui_text(u8"Съешь же ещё этих мягких французских булок да выпей чаю. Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства. В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!");
ui_window_end();
}
///////////////////////////////////////////
void demo_ui_shutdown() {
// Release everything
sprite_release(ui_sprite);
sprite_release(ui_search_sprite);
sprite_release(ui_toggle_off);
sprite_release(ui_toggle_on);
}