Media/Themes/Umami: Add RectWidget, BorderedRectWidget to @umami_widgets_repaint
This commit is contained in:
parent
cfb8950f8a
commit
196187f3bf
1 changed files with 29 additions and 0 deletions
|
@ -1328,6 +1328,27 @@ U0 @umami_set_focused_and_hovered_widget(Window* win, I64 event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
U0 @umami_bordered_rect_repaint(Window* win, BorderedRectWidget* widget, I64 x, I64 y)
|
||||||
|
{
|
||||||
|
I64 rw = widget->left.size + widget->width + widget->right.size;
|
||||||
|
I64 rh = widget->top.size + widget->height + widget->bottom.size;
|
||||||
|
Rect2D(win->render_ctx, x, y, rw, rh, widget->color);
|
||||||
|
// Draw borders
|
||||||
|
// FIXME: style
|
||||||
|
if (widget->top.size) {
|
||||||
|
Rect2D(win->render_ctx, x + 0, y + 0, rw, widget->top.size, widget->top.color);
|
||||||
|
}
|
||||||
|
if (widget->bottom.size) {
|
||||||
|
Rect2D(win->render_ctx, x + 0, y + rh - widget->bottom.size, rw, widget->bottom.size, widget->bottom.color);
|
||||||
|
}
|
||||||
|
if (widget->left.size) {
|
||||||
|
Rect2D(win->render_ctx, x + 0, y + 0, widget->left.size, rh, widget->left.color);
|
||||||
|
}
|
||||||
|
if (widget->right.size) {
|
||||||
|
Rect2D(win->render_ctx, x + rw - widget->right.size, y + 0, widget->right.size, rh, widget->right.color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
U0 @umami_widgets_repaint(Window* win, I64 event, I64 origin_x, I64 origin_y)
|
U0 @umami_widgets_repaint(Window* win, I64 event, I64 origin_x, I64 origin_y)
|
||||||
{
|
{
|
||||||
@window_widgets_list* widgets_list;
|
@window_widgets_list* widgets_list;
|
||||||
|
@ -1350,6 +1371,14 @@ U0 @umami_widgets_repaint(Window* win, I64 event, I64 origin_x, I64 origin_y)
|
||||||
switch (widget->type) {
|
switch (widget->type) {
|
||||||
case NULL:
|
case NULL:
|
||||||
break;
|
break;
|
||||||
|
case WIDGET_TYPE_BORDERED_RECT:
|
||||||
|
if (widget->width && widget->height)
|
||||||
|
@umami_bordered_rect_repaint(win, widget, x, y);
|
||||||
|
break;
|
||||||
|
case WIDGET_TYPE_RECT:
|
||||||
|
if (widget->width && widget->height)
|
||||||
|
Rect2D(win->render_ctx, x, y, widget->width, widget->height, widget(RectWidget*)->color);
|
||||||
|
break;
|
||||||
case WIDGET_TYPE_BUTTON:
|
case WIDGET_TYPE_BUTTON:
|
||||||
@umami_button_repaint(win, widget, x, y);
|
@umami_button_repaint(win, widget, x, y);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue