#textdomain wesnoth-lib # # Contains the macros for the default widgets. # - Global GUI macros get the GUI prefix. # - Local (pre file) GUI macros get the _GUI prefix and should be undefined at # the end of the file. # # # Later there will also be definitions for larger screens, mainly for using the # extra width better. ############################################################################### ### ### ### Generic macros usable for all resolutions. ### ### ### ############################################################################### # Centers the text horizontally. # # If the text is too wide it returns the left side. # Rounding happens to the left side. #define GUI__TEXT_HORIZONTALLY_CENTRED "(max((width - text_width) / 2, 0))" #enddef # Centers the text vertically. # # If the text is too high it returns the top side. # Rounding happens to the bottom side. #define GUI__TEXT_VERTICALLY_CENTRED "(max((height - text_height) / 2, 0))" #enddef #define GUI__CENTERED_TEXT FONT_SIZE FONT_STYLE FONT_COLOR [text] x = {GUI__TEXT_HORIZONTALLY_CENTRED} y = {GUI__TEXT_VERTICALLY_CENTRED} w = "(text_width)" h = "(text_height)" font_size = {FONT_SIZE} font_style = {FONT_STYLE} color = {FONT_COLOR} text = "(text)" text_markup = "(text_markup)" [/text] #enddef #define GUI__LEFT_TEXT FONT_SIZE FONT_STYLE FONT_COLOR [text] x = 5 y = {GUI__TEXT_VERTICALLY_CENTRED} w = "(text_width)" h = "(text_height)" font_size = {FONT_SIZE} font_style = {FONT_STYLE} color = {FONT_COLOR} text = "(text)" text_markup = "(text_markup)" [/text] #enddef # This white color is used for most texts. #define GUI__FONT_COLOR_ENABLED__DEFAULT #arg ALPHA 255 #endarg "215, 215, 215, {ALPHA}" #enddef # This gray color is used for most text when the widget is disabled. #define GUI__FONT_COLOR_DISABLED__DEFAULT #arg ALPHA 255 #endarg "128, 128, 128, {ALPHA}" #enddef #define GUI__FONT_COLOR_DISABLED_DARK__DEFAULT #arg ALPHA 255 #endarg "96, 96, 96, {ALPHA}" #enddef # This gold color is used for the # - title labels # - button captions # - checkbox captions # - menu captions # - achieved achievement titles #define GUI__FONT_COLOR_ENABLED__TITLE #arg ALPHA 255#endarg "186, 172, 125, {ALPHA}" #enddef # This now uses the default disabled color but should be tiny bit lighter. #define GUI__FONT_COLOR_DISABLED__TITLE #arg ALPHA 255 #endarg {GUI__FONT_COLOR_DISABLED__DEFAULT ALPHA={ALPHA}} #enddef #define GUI__FONT_COLOR_ENABLED__BAD #arg ALPHA 255#endarg "255, 0, 0, {ALPHA}" #enddef #define GUI__FONT_COLOR_DISABLED__BAD #arg ALPHA 255#endarg "255, 0, 0, {ALPHA}" #enddef # This color is used as background in the listbox. #define GUI__BACKGROUND_COLOR_ENABLED #arg ALPHA 89 #endarg "0, 0, 0, {ALPHA}" #enddef #define GUI__BACKGROUND_COLOR_DISABLED #arg ALPHA 64 #endarg "64, 64, 64, {ALPHA}" #enddef #define GUI__BORDER_COLOR_DARK #arg ALPHA 255 #endarg "114, 79, 46, {ALPHA}" #enddef #define GUI__BORDER_COLOR #arg ALPHA 255 #endarg "162, 127, 68, {ALPHA}" #enddef #define GUI__BORDER_COLOR_BRIGHT #arg ALPHA 255 #endarg "185, 158, 75, {ALPHA}" #enddef #define GUI_LINE X1 Y1 X2 Y2 COLOR [line] x1 = {X1} y1 = {Y1} x2 = {X2} y2 = {Y2} thickness = 1 color = {COLOR} [/line] #enddef #define GUI_POINT X Y COLOR {GUI_LINE {X} {Y} {X} {Y} {COLOR}} #enddef # Draws the background for a selected cell in a listbox. For now there's one # version for both tiny and normal gui. #define GUI__LISTBOX_SELECTED_CELL [rectangle] x = 0 y = 0 w = "(width)" h = "(height)" border_thickness = 1 border_color = {GUI__BORDER_COLOR_BRIGHT} [/rectangle] [image] x = 1 y = 1 w = "(width - 2)" h = "(height - 2)" name = "dialogs/selection-background.png" [/image] #enddef # Forces a widget to be of a certain size. # Depending of the flags of the parent widget the item will grow # # WIDTH Minimum width for the widget. # HEIGHT Minimum height for the widget. # WIDGET The widget to add into the item. # # eg instead of # [label] # # Note Foo has trailing spaces to force extra width. # label = " # Foo # " # [label] # you can do: # # {GUI_FORCE_WIDGET_MINIMUM_SIZE 150 75 ( # [label] # label = "Foo" # [label] # )} # #define GUI_FORCE_WIDGET_MINIMUM_SIZE WIDTH HEIGHT WIDGET [stacked_widget] definition = "default" [layer] [row] grow_factor = 1 [column] grow_factor = 1 horizontal_grow = true vertical_grow = true [spacer] definition = "default" width = "{WIDTH}" height = "{HEIGHT}" [/spacer] [/column] [/row] [/layer] [layer] [row] grow_factor = 1 [column] grow_factor = 1 horizontal_grow = true vertical_grow = true {WIDGET} [/column] [/row] [/layer] [/stacked_widget] #enddef # Forces a widget to be of a certain size and blocks it from growing. # # WIDTH Width for the widget. # HEIGHT Height for the widget. # WIDGET The widget to add to the item. # #define GUI_FORCE_WIDGET_SIZE WIDTH HEIGHT WIDGET [size_lock] definition = "default" width = "{WIDTH}" height = "{HEIGHT}" [widget] {WIDGET} [/widget] [/size_lock] #enddef #define GUI_WINDOW_FULLSCREEN automatic_placement = false x = 0 y = 0 width = "(screen_width)" height = "(screen_height)" #enddef #define GUI_WINDOW_FIXED_SIZE_CENTERED WIDTH HEIGHT automatic_placement = false width = "(min(screen_width, {WIDTH}))" height = "(min(screen_height, {HEIGHT}))" x = "(floor((screen_width - window_width) / 2))" y = "(floor((screen_height - window_height) / 2))" #enddef #define GUI_CENTERED_IMAGE x = "(max(pos, 0) where pos = floor((width - image_width) / 2))" y = "(max(pos, 0) where pos = floor((height - image_height) / 2))" w = "(min(width, image_original_width))" h = "(min(height, image_original_height))" #enddef #define GUI_HORIZONTAL_SPACER_LINE [row] grow_factor = 0 [column] grow_factor = 1 border = "all" border_size = 10 horizontal_grow = true [drawing] definition = "default" width = (width) height = 1 [draw] [line] x1 = 0 y1 = 0 x2 = (width - 1) y2 = 0 color = {GUI__BORDER_COLOR_DARK} thickness = 1 [/line] [/draw] [/drawing] [/column] [/row] #enddef #define GUI_VERTICAL_SPACER_LINE [column] border = "all" border_size = 10 vertical_grow = true [drawing] definition = "default" width = 1 height = (height) [draw] [line] x1 = 0 y1 = 1 x2 = 0 y2 = (height - 1) color = {GUI__BORDER_COLOR_DARK} thickness = 1 [/line] [/draw] [/drawing] [/column] #enddef #define DEFAULT_BLUR [pre_commit] [blur] depth = 5 [/blur] [/pre_commit] #enddef #define FILTER_TEXT_BOX_HINT hint_text = _ "Search" hint_image = "icons/action/zoomdefault_25.png~FL(horiz)" #enddef # The following is a more-or-less arbitrary resolution, larger than 1024x768 # in both dimensions, at which to switch over from the traditional # everything-is-fixed-size layout to one that scales proportionally to # the screen_pitch_microns. #define GUI_BIG_RESOLUTION window_width = 1200 window_height = 900 #enddef # scaling based on physical DPI has been disabled. This macro remains, # and may still be used in the future for adaptive or manual UI scaling. #define GUI_SCALE_RESOLUTION SIZE ({SIZE}) #enddef #define GUI_WINDOW_PERC_FIXED_SIZE_CENTERED PERC_W PERC_H WIDTH HEIGHT automatic_placement = false width = "(max(min(screen_width, {WIDTH} ), min(screen_width * {PERC_W} / 100, {GUI_SCALE_RESOLUTION {WIDTH} })))" height = "(max(min(screen_height, {HEIGHT}), min(screen_height * {PERC_H} / 100, {GUI_SCALE_RESOLUTION {HEIGHT}})))" x = "(floor((screen_width - window_width) / 2))" y = "(floor((screen_height - window_height) / 2))" #enddef #define _WIDGET_DEBUG_BORDER debug_border_mode = 1 debug_border_color = "255, 255, 255" #enddef ############################################################################### ### ### ### Macros for the normal gui. ### ### ### ############################################################################### #define GUI_FONT_SIZE_TINY 13 #enddef #define GUI_FONT_SIZE_SMALL 15 #enddef #define GUI_FONT_SIZE_DEFAULT 17 #enddef #define GUI_FONT_SIZE_LARGE 20 #enddef #define GUI_FONT_SIZE_TITLE 22 #enddef #define GUI_FONT_SIZE_LARGER 24 #enddef #define GUI_FONT_SIZE_VERY_LARGE 28 #enddef #define GUI_FONT_SIZE_EXTRA_LARGE 32 #enddef #define GUI_FONT_SIZE_HUGE 36 #enddef