From 4d8ba1e57df067386a74e44e898b76e23a75c2ea Mon Sep 17 00:00:00 2001 From: Alec Murphy Date: Sun, 4 May 2025 14:10:52 -0400 Subject: [PATCH] Media/Themes/Umami: Add right-arrow for submenus --- Media/Themes/Umami/Theme.HC | 13 ++++++++++++- Media/Themes/Umami/Widget/submenu_arrow.png | Bin 0 -> 116 bytes Media/Themes/Umami/Widget/submenu_arrow_hover.png | Bin 0 -> 128 bytes 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 Media/Themes/Umami/Widget/submenu_arrow.png create mode 100644 Media/Themes/Umami/Widget/submenu_arrow_hover.png diff --git a/Media/Themes/Umami/Theme.HC b/Media/Themes/Umami/Theme.HC index 6d53b7b..aad1d88 100644 --- a/Media/Themes/Umami/Theme.HC +++ b/Media/Themes/Umami/Theme.HC @@ -38,6 +38,11 @@ Context2D* umami_widget_sb_left_button = Context2D* umami_widget_sb_right_button = @image_file_to_context2d("M:/Media/Themes/Umami/Widget/sb_right_button.png"); +Context2D* umami_widget_submenu_arrow = + @image_file_to_context2d("M:/Media/Themes/Umami/Widget/submenu_arrow.png"); +Context2D* umami_widget_submenu_arrow_hover = + @image_file_to_context2d("M:/Media/Themes/Umami/Widget/submenu_arrow_hover.png"); + U0 @umami_button_repaint(Window* win, ButtonWidget* widget, I64 x, I64 y) { Context2D* ctx = win->render_ctx; @@ -923,10 +928,12 @@ U0 @umami_menu_item_repaint(Window* win, MenuItemWidget* widget, I64 x, I64 y) I64 text_y = 4 + (widget->height / 2) - (16 / 2); I64 icon_x = 4; I64 icon_y = 0; + I64 arrow_y = 4 + (widget->height / 2) - (umami_widget_submenu_arrow->height / 2) - 3; + Bool widget_is_hovered = @widget_is_hovered(win->x + x, win->y + y, widget); if (widget->icon) { icon_y = 4 + (widget->height / 2) - (widget->icon->height / 2) - 3; } - if (@widget_is_hovered(win->x + x, win->y + y, widget)) { + if (widget_is_hovered) { ctx->fill_rect(x, y, widget->width, widget->height, Compositor.theme.color.hilight); text_color = Color(255, 255, 255); @@ -949,6 +956,10 @@ U0 @umami_menu_item_repaint(Window* win, MenuItemWidget* widget, I64 x, I64 y) ctx->blot(x + icon_x, y + icon_y, widget->icon); text_x += 20; } + if (widget->submenu) { + ctx->blot(x + widget->width - 8 - umami_widget_submenu_arrow->width, y + arrow_y, + T(widget_is_hovered, umami_widget_submenu_arrow_hover, umami_widget_submenu_arrow)); + } if (widget->text) PutS2D(win->render_ctx, widget->font, x + text_x, y + text_y, T(widget->color, widget->color, text_color), -1, widget->text); diff --git a/Media/Themes/Umami/Widget/submenu_arrow.png b/Media/Themes/Umami/Widget/submenu_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..06159957d7547c6a980e549118d0a4256e6fdec2 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z@X>p z;uvDlo17rQ+H#=YiED<2X^RB&2PvmDj266#M;Y9_cn++ZDdAus=Ef+>z|cL3mBZ}X S!Xpd}3=E#GelF{r5}E+v`W-L; literal 0 HcmV?d00001 diff --git a/Media/Themes/Umami/Widget/submenu_arrow_hover.png b/Media/Themes/Umami/Widget/submenu_arrow_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..7e0082c1fb2a7bc61a1afa5bde6d0caae23bc787 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRdMrH;E236Z!B?blt#^NA%Cx&(BWL`2bFt7#q zgt-0(gV36i Zp>E6>7BQ1M85kHCJYD@<);T3K0RSdAC3ye< literal 0 HcmV?d00001