Textbox widget definition refactoring.
Cleaned up the widget to use the new macros and also added the (not so well) tested code for tiny gui.
This commit is contained in:
parent
a963ac26ba
commit
155336027e
1 changed files with 92 additions and 100 deletions
|
@ -2,22 +2,80 @@
|
|||
### Definition of a single line text box.
|
||||
###
|
||||
|
||||
[text_box_definition]
|
||||
id = "default"
|
||||
description = "Default text box"
|
||||
#define _GUI_DRAW_BORDER COLOUR
|
||||
[rectangle]
|
||||
x = 0
|
||||
y = 0
|
||||
w = "(width)"
|
||||
h = "(height)"
|
||||
|
||||
border_thickness = 3
|
||||
border_colour = "55, 55, 55, 192"
|
||||
|
||||
[ /rectangle]
|
||||
|
||||
[rectangle]
|
||||
x = 1
|
||||
y = 1
|
||||
w = "(width - 2)"
|
||||
h = "(height - 2)"
|
||||
|
||||
border_thickness = 1
|
||||
border_colour = {COLOUR}
|
||||
|
||||
[/rectangle]
|
||||
#enddef
|
||||
|
||||
#define _GUI_DRAW_TEXT SIZE COLOUR
|
||||
[rectangle]
|
||||
x = "(text_x_offset + selection_offset)"
|
||||
y = "(text_y_offset)"
|
||||
w = "(selection_width)"
|
||||
h = "(text_font_height)"
|
||||
|
||||
border_thickness = 0
|
||||
fill_colour = "21, 53, 80, 255"
|
||||
|
||||
[/rectangle]
|
||||
|
||||
[text]
|
||||
x = "(text_x_offset)"
|
||||
y = "(text_y_offset)"
|
||||
w = "(text_width)"
|
||||
h = "(text_height)"
|
||||
font_size = {SIZE}
|
||||
colour = {COLOUR}
|
||||
text = "(text)"
|
||||
[/text]
|
||||
#enddef
|
||||
|
||||
#define _GUI_DRAW_CURSOR X_OFFSET
|
||||
[line]
|
||||
x1 = "(cursor_offset + " + {X_OFFSET} + ")"
|
||||
y1 = "(text_y_offset)"
|
||||
x2 = "(cursor_offset + " + {X_OFFSET} + ")"
|
||||
y2 = "(text_y_offset + text_font_height)"
|
||||
colour = "255, 255, 255, 255"
|
||||
thickness = 1
|
||||
[/line]
|
||||
#enddef
|
||||
|
||||
#define _GUI_RESOLUTION RESOLUTION MIN_WIDTH DEFAULT_WIDTH HEIGHT X_OFFSET FONT_SIZE
|
||||
[resolution]
|
||||
min_width = 40
|
||||
min_height = 22
|
||||
|
||||
default_width = 250
|
||||
default_height = 22
|
||||
{RESOLUTION}
|
||||
|
||||
min_width = {MIN_WIDTH}
|
||||
min_height = {HEIGHT}
|
||||
|
||||
default_width = {DEFAULT_WIDTH}
|
||||
default_height = {HEIGHT}
|
||||
|
||||
max_width = 0
|
||||
max_height = 22
|
||||
max_height = {HEIGHT}
|
||||
|
||||
text_font_size = {FONT_SIZE_NORMAL__NORMAL}
|
||||
text_x_offset = 5
|
||||
text_font_size = {FONT_SIZE}
|
||||
text_x_offset = {X_OFFSET}
|
||||
text_y_offset = "(if(text_font_height <= height, (height - text_font_height) / 2, 0))"
|
||||
|
||||
[state_enabled]
|
||||
|
@ -26,48 +84,11 @@
|
|||
|
||||
[draw]
|
||||
|
||||
[rectangle]
|
||||
x = 0
|
||||
y = 0
|
||||
w = "(width)"
|
||||
h = "(height)"
|
||||
{_GUI_DRAW_BORDER ({GUI__FONT_COLOUR_ENABLED__TITLE}) }
|
||||
|
||||
border_thickness = 3
|
||||
border_colour = "55, 55, 55, 192"
|
||||
{_GUI_DRAW_TEXT ({FONT_SIZE}) ({FONT_COLOUR_ENABLED}) }
|
||||
|
||||
[/rectangle]
|
||||
|
||||
# selection box
|
||||
[rectangle]
|
||||
x = "(text_x_offset + selection_offset)"
|
||||
y = "(text_y_offset)"
|
||||
w = "(selection_width)"
|
||||
h = "(text_font_height)"
|
||||
|
||||
border_thickness = 0
|
||||
fill_colour = "21, 53, 80, 255"
|
||||
|
||||
[/rectangle]
|
||||
|
||||
[text]
|
||||
x = "(text_x_offset)"
|
||||
y = "(text_y_offset)"
|
||||
w = "(text_width)"
|
||||
h = "(text_height)"
|
||||
font_size = {FONT_SIZE_NORMAL__NORMAL}
|
||||
colour = {FONT_COLOUR_ENABLED}
|
||||
text = "(text)"
|
||||
[/text]
|
||||
|
||||
# cursor
|
||||
[line]
|
||||
x1 = "(cursor_offset) + 5"
|
||||
y1 = "(text_y_offset)"
|
||||
x2 = "(cursor_offset) + 5"
|
||||
y2 = "(text_y_offset + text_font_height)"
|
||||
colour = "255, 255, 255, 255"
|
||||
thickness = 1
|
||||
[/line]
|
||||
{_GUI_DRAW_CURSOR ({X_OFFSET}) }
|
||||
|
||||
[/draw]
|
||||
|
||||
|
@ -79,28 +100,9 @@
|
|||
|
||||
[draw]
|
||||
|
||||
[rectangle]
|
||||
x = 0
|
||||
y = 0
|
||||
w = "(width)"
|
||||
h = "(height)"
|
||||
{_GUI_DRAW_BORDER ({GUI__FONT_COLOUR_DISABLED__TITLE}) }
|
||||
|
||||
border_thickness = 3
|
||||
border_colour = "55, 55, 55, 192"
|
||||
|
||||
[/rectangle]
|
||||
|
||||
[text]
|
||||
x = "5"
|
||||
y = {TEXT_V_CENTRE}
|
||||
w = "(text_width)"
|
||||
h = "(text_height)"
|
||||
font_size = {FONT_SIZE_NORMAL__NORMAL}
|
||||
colour = {FONT_COLOUR_DISABLED}
|
||||
text = "(text)"
|
||||
[/text]
|
||||
|
||||
# no cursor when disabled.
|
||||
{_GUI_DRAW_TEXT ({FONT_SIZE}) ({FONT_COLOUR_DISABLED}) }
|
||||
|
||||
[/draw]
|
||||
|
||||
|
@ -112,41 +114,31 @@
|
|||
|
||||
[draw]
|
||||
|
||||
[rectangle]
|
||||
x = 0
|
||||
y = 0
|
||||
w = "(width)"
|
||||
h = "(height)"
|
||||
{_GUI_DRAW_BORDER ({GUI__FONT_COLOUR_ENABLED__TITLE}) }
|
||||
|
||||
border_thickness = 3
|
||||
border_colour = "55, 55, 55, 192"
|
||||
{_GUI_DRAW_TEXT ({FONT_SIZE}) ({FONT_COLOUR_ENABLED}) }
|
||||
|
||||
[/rectangle]
|
||||
|
||||
[text]
|
||||
x = "5"
|
||||
y = {TEXT_V_CENTRE}
|
||||
w = "(text_width)"
|
||||
h = "(text_height)"
|
||||
font_size = {FONT_SIZE_NORMAL__NORMAL}
|
||||
colour = {FONT_COLOUR_ENABLED}
|
||||
text = "(text)"
|
||||
[/text]
|
||||
|
||||
# cursor
|
||||
[line]
|
||||
x1 = "(cursor_offset) + 5"
|
||||
y1 = 2
|
||||
x2 = "(cursor_offset) + 5"
|
||||
y2 = "(height - 4)"
|
||||
colour = "0, 0, 0, 255"
|
||||
thickness = 1
|
||||
[/line]
|
||||
{_GUI_DRAW_CURSOR ({X_OFFSET}) }
|
||||
|
||||
[/draw]
|
||||
|
||||
|
||||
[/state_focussed]
|
||||
|
||||
[/resolution]
|
||||
|
||||
#enddef
|
||||
|
||||
[text_box_definition]
|
||||
id = "default"
|
||||
description = "Default text box"
|
||||
|
||||
# Tiny gui sizes haven't been tested yet so might need some tuning.
|
||||
{_GUI_RESOLUTION ({GUI_TINY__RESOLUTION}) 20 125 15 5 ({GUI_TINY__FONT_SIZE__DEFAULT}) }
|
||||
{_GUI_RESOLUTION () 40 250 25 5 ({GUI_NORMAL__FONT_SIZE__DEFAULT}) }
|
||||
|
||||
[/text_box_definition]
|
||||
|
||||
#undef _GUI_RESOLUTION
|
||||
#undef _GUI_DRAW_CURSOR
|
||||
#undef _GUI_DRAW_TEXT
|
||||
#undef _GUI_DRAW_BORDER COLOUR
|
||||
|
|
Loading…
Add table
Reference in a new issue