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

Method Button

src/ui/elements/ui_button.cpp:7–72  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5namespace recompui {
6
7 Button::Button(Element *parent, const std::string &text, ButtonStyle style) : Element(parent, Events(EventType::Click, EventType::Hover, EventType::Enable, EventType::Focus), "button", true) {
8 this->style = style;
9
10 enable_focus();
11
12 set_text(text);
13 set_display(Display::Block);
14 set_padding(23.0f);
15 set_border_width(1.1f);
16 set_border_radius(12.0f);
17 set_font_size(28.0f);
18 set_letter_spacing(3.08f);
19 set_line_height(28.0f);
20 set_font_style(FontStyle::Normal);
21 set_font_weight(700);
22 set_cursor(Cursor::Pointer);
23 set_color(Color{ 204, 204, 204, 255 });
24 set_tab_index(TabIndex::Auto);
25 hover_style.set_color(Color{ 242, 242, 242, 255 });
26 focus_style.set_color(Color{ 242, 242, 242, 255 });
27 disabled_style.set_color(Color{ 204, 204, 204, 128 });
28 hover_disabled_style.set_color(Color{ 242, 242, 242, 128 });
29
30 const uint8_t border_opacity = 204;
31 const uint8_t background_opacity = 13;
32 const uint8_t border_hover_opacity = 255;
33 const uint8_t background_hover_opacity = 76;
34 switch (style) {
35 case ButtonStyle::Primary: {
36 set_border_color({ 185, 125, 242, border_opacity });
37 set_background_color({ 185, 125, 242, background_opacity });
38 hover_style.set_border_color({ 185, 125, 242, border_hover_opacity });
39 hover_style.set_background_color({ 185, 125, 242, background_hover_opacity });
40 focus_style.set_border_color({ 185, 125, 242, border_hover_opacity });
41 focus_style.set_background_color({ 185, 125, 242, background_hover_opacity });
42 disabled_style.set_border_color({ 185, 125, 242, border_opacity / 4 });
43 disabled_style.set_background_color({ 185, 125, 242, background_opacity / 4 });
44 hover_disabled_style.set_border_color({ 185, 125, 242, border_hover_opacity / 4 });
45 hover_disabled_style.set_background_color({ 185, 125, 242, background_hover_opacity / 4 });
46 break;
47 }
48 case ButtonStyle::Secondary: {
49 set_border_color({ 23, 214, 232, border_opacity });
50 set_background_color({ 23, 214, 232, background_opacity });
51 hover_style.set_border_color({ 23, 214, 232, border_hover_opacity });
52 hover_style.set_background_color({ 23, 214, 232, background_hover_opacity });
53 focus_style.set_border_color({ 23, 214, 232, border_hover_opacity });
54 focus_style.set_background_color({ 23, 214, 232, background_hover_opacity });
55 disabled_style.set_border_color({ 23, 214, 232, border_opacity / 4 });
56 disabled_style.set_background_color({ 23, 214, 232, background_opacity / 4 });
57 hover_disabled_style.set_border_color({ 23, 214, 232, border_hover_opacity / 4 });
58 hover_disabled_style.set_background_color({ 23, 214, 232, background_hover_opacity / 4 });
59 break;
60 }
61 default:
62 assert(false && "Unknown button style.");
63 break;
64 }

Callers

nothing calls this directly

Calls 4

EventsFunction · 0.85
set_colorMethod · 0.80
set_border_colorMethod · 0.80
set_background_colorMethod · 0.80

Tested by

no test coverage detected