System/Libraries/Widget: Add RectWidget, BorderedRectWidget
This commit is contained in:
parent
f3acdca538
commit
cfb8950f8a
1 changed files with 31 additions and 0 deletions
|
@ -17,6 +17,8 @@
|
|||
#define WIDGET_TYPE_VERT_SCROLLBAR 13
|
||||
#define WIDGET_TYPE_MENU_ITEM 14
|
||||
#define WIDGET_TYPE_LISTVIEW 15
|
||||
#define WIDGET_TYPE_RECT 20
|
||||
#define WIDGET_TYPE_BORDERED_RECT 21
|
||||
|
||||
#define TERMINAL_MAX_COLS 1920 / 8
|
||||
|
||||
|
@ -67,6 +69,23 @@ class RadioButtonWidget : Widget {
|
|||
Bool selected;
|
||||
};
|
||||
|
||||
class RectWidget : Widget {
|
||||
U32 color;
|
||||
};
|
||||
|
||||
class BorderedRectBorder {
|
||||
I64 size;
|
||||
I64 style;
|
||||
U32 color;
|
||||
};
|
||||
|
||||
class BorderedRectWidget : RectWidget {
|
||||
BorderedRectBorder top;
|
||||
BorderedRectBorder bottom;
|
||||
BorderedRectBorder left;
|
||||
BorderedRectBorder right;
|
||||
};
|
||||
|
||||
class @terminal_widget_attr
|
||||
{
|
||||
Bool bold;
|
||||
|
@ -621,6 +640,12 @@ Widget* @widget_create_widget(Window* win, I64 type, I64 x, I64 y, I64 width,
|
|||
switch (type) {
|
||||
case WIDGET_TYPE_NULL:
|
||||
return NULL;
|
||||
case WIDGET_TYPE_RECT:
|
||||
size_of_widget = sizeof(RectWidget) * 2;
|
||||
goto @widget_create_set_values;
|
||||
case WIDGET_TYPE_BORDERED_RECT:
|
||||
size_of_widget = sizeof(BorderedRectWidget) * 2;
|
||||
goto @widget_create_set_values;
|
||||
case WIDGET_TYPE_BUTTON:
|
||||
size_of_widget = sizeof(ButtonWidget) * 2;
|
||||
goto @widget_create_set_values;
|
||||
|
@ -720,6 +745,12 @@ U0 @widget_init_widget(Widget* widget, Window* win, I64 type, I64 x, I64 y,
|
|||
switch (type) {
|
||||
case WIDGET_TYPE_NULL:
|
||||
return;
|
||||
case WIDGET_TYPE_RECT:
|
||||
size_of_widget = sizeof(RectWidget);
|
||||
break;
|
||||
case WIDGET_TYPE_BORDERED_RECT:
|
||||
size_of_widget = sizeof(BorderedRectWidget);
|
||||
break;
|
||||
case WIDGET_TYPE_BUTTON:
|
||||
size_of_widget = sizeof(ButtonWidget);
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue