MCPcopy Create free account
hub / github.com/RevoSucks/BM64Recomp / process_event

Method process_event

src/ui/elements/ui_radio.cpp:48–89  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

46 }
47
48 void RadioOption::process_event(const Event &e) {
49 switch (e.type) {
50 case EventType::MouseButton:
51 {
52 const EventMouseButton &mousebutton = std::get<EventMouseButton>(e.variant);
53 if (mousebutton.button == MouseButton::Left && mousebutton.pressed) {
54 pressed_callback(index);
55 }
56 }
57 break;
58 case EventType::Click:
59 pressed_callback(index);
60 break;
61 case EventType::Hover:
62 set_style_enabled(hover_state, std::get<EventHover>(e.variant).active);
63 break;
64 case EventType::Enable:
65 set_style_enabled(disabled_state, !std::get<EventEnable>(e.variant).active);
66 break;
67 case EventType::Focus:
68 {
69 bool active = std::get<EventFocus>(e.variant).active;
70 set_style_enabled(focus_state, active);
71 if (active) {
72 queue_update();
73 }
74 if (focus_callback != nullptr) {
75 focus_callback(active);
76 }
77 }
78 break;
79 case EventType::Update:
80 if (is_style_enabled(focus_state)) {
81 pulsing_style.set_color(recompui::get_pulse_color(750));
82 apply_styles();
83 queue_update();
84 }
85 break;
86 default:
87 break;
88 }
89 }
90
91 // Radio
92

Callers

nothing calls this directly

Calls 3

set_colorMethod · 0.80
emptyMethod · 0.80
focusMethod · 0.80

Tested by

no test coverage detected