From cf921d70f9a3e578e1c295b709098e40edd666a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20M=C3=BCller?= Date: Sat, 12 Feb 2011 21:41:35 +0000 Subject: [PATCH] Config file for the image message dialog. --- data/gui/default/window/image_message.cfg | 1162 +++++++++++++++++++++ 1 file changed, 1162 insertions(+) create mode 100644 data/gui/default/window/image_message.cfg diff --git a/data/gui/default/window/image_message.cfg b/data/gui/default/window/image_message.cfg new file mode 100644 index 00000000000..c72da9199f8 --- /dev/null +++ b/data/gui/default/window/image_message.cfg @@ -0,0 +1,1162 @@ +#textdomain wesnoth-lib +### +### The in game portrait dialogs. +### Due to the excessive amount of dialogs it's not possible to split off the +### window definitions. So this unit is a bit larger as wanted. +### + +# These might become global have to evaluate later. +#define _GUI_HEIGHT_OFFSET + 25#enddef + +# helper convert the scale factor, since we use it in two places define it as +# helper value. (Two the not working and working version, but want to avoid +# surprises when the not working version is fixed). +#define __GUI_SIZE_FACTOR + 3#enddef + +### The formula language doesn't support variables so macros are used to +### emulate them. This makes the code what harder to read, so the algorithm for +### __GUI_IMAGE_WIDTH is described here: +### +### if gamemap_width <= TEXT_WIDTH_SATURATION +### __GUI_IMAGE_WIDTH = gamemap_width / 3 +### else +### # Text reached it maximum width, take all space. +### __GUI_IMAGE_WIDTH = gamemap_width - MAX_TEXT_WIDTH +### fi +### +### if __GUI_IMAGE_WIDTH < 250 +### __GUI_IMAGE_WIDTH = 250 +### fi +### +### if __GUI_IMAGE_WIDTH > 500 +### __GUI_IMAGE_WIDTH = 500 +### fi + +#define __GUI_MAX_HEIGHT +(gamemap_height - 4) +#enddef + +# The maximum width of the text +#define MAX_TEXT_WIDTH +675 +#enddef + +# gamemap_width width needed to reach the MAX_TEXT_WIDTH +#define TEXT_WIDTH_SATURATION +((3 * {_GUI_HEIGHT_OFFSET}) / 2) +#enddef + +#define BEST_WIDTH +(if(gamemap_width > {TEXT_WIDTH_SATURATION}, gamemap_width - {MAX_TEXT_WIDTH}, (gamemap_width / {__GUI_SIZE_FACTOR}))) +#enddef + +#define __GUI_BEST_SIZE +(if({BEST_WIDTH} > {__GUI_MAX_HEIGHT}, {__GUI_MAX_HEIGHT}, {BEST_WIDTH})) +#enddef + +#define ___GUI_IMAGE_WIDTH + if({__GUI_BEST_SIZE} < 250, 250, + if({__GUI_BEST_SIZE} > 500, 500, {__GUI_BEST_SIZE}) + ) +#enddef + +# This is the version with debug info +#define __GUI_IMAGE_WIDTH +([[ + debug_print('screen_width ', screen_width), + debug_print('screen_height ', screen_height), + debug_print('gamemap_width ', gamemap_width), + debug_print('gamemap_height ', gamemap_height), + debug_print('__GUI_MAX_HEIGHT ', {__GUI_MAX_HEIGHT}), + debug_print('BEST_WIDTH ', {BEST_WIDTH}), + debug_print('__GUI_BEST_SIZE ', {__GUI_BEST_SIZE}) +], + {___GUI_IMAGE_WIDTH} +][1] +) +#enddef + +#undef __GUI_IMAGE_WIDTH +# This is the version without debug info +#define __GUI_IMAGE_WIDTH +({___GUI_IMAGE_WIDTH})#enddef + + +# This is the macro for the image width which is can be used as string +# parameter. +#define _GUI_IMAGE_WIDTH +"{__GUI_IMAGE_WIDTH}"#enddef + +# the value the image needs to be scaled by, this version can be used as string +# parameter. +#define _GUI_IMAGE_SCALE_FACTOR +( + {__GUI_IMAGE_WIDTH} / 500 +)#enddef + + +# The formula to set the widthe of the real image width depending on the +# image real size +#define __GUI_IMAGE_DISPLAYED_WIDTH +( + if((image_original_width < 300) and (image_original_height < 300), + image_original_width, + ((image_original_width * {__GUI_IMAGE_WIDTH}) / 500)) +)#enddef + +# The formula to set the heighte of the real image height depending on the +# image real size +#define __GUI_IMAGE_DISPLAYED_HEIGHT +( + if((image_original_width < 300) and (image_original_height < 300), + image_original_height, + ((image_original_height * {__GUI_IMAGE_WIDTH}) / 500)) +)#enddef + +# The X location of the image to display, only tested on the left side. +#define __GUI_IMAGE_DISPLAYED_X X +( + if(image_original_width > 100, + {X}, + ({__GUI_IMAGE_WIDTH} - image_width) / 2) + +)#enddef + +# The Y location of the image to display, only tested on the left side. +# Note since we don't know the exact height of the text we can't centre +# the image. Instead we use the centre of the reserved image space. +# +# TODO the Y can't be determined properly since we don't know the height +# of the panel. Disabled the centring for now. +# +#define __GUI_IMAGE_DISPLAYED_Y +( + if(image_original_height > 0, + (height - image_height), + height - (({__GUI_IMAGE_WIDTH} - image_height) / 2)) + +)#enddef + +[window_definition] + id = "wml_message_left" + description = "bar" + + [resolution] + + [background] + + [draw] + + [/draw] + + [/background] + + [foreground] + + [draw] + + [image] + x = "{__GUI_IMAGE_DISPLAYED_X X}" + y = "{__GUI_IMAGE_DISPLAYED_Y}" + w = "{__GUI_IMAGE_DISPLAYED_WIDTH}" + h = "{__GUI_IMAGE_DISPLAYED_HEIGHT}" + name = "(portrait_image)" + vertical_mirror = "(portrait_mirror)" + [/image] + + [/draw] + + [/foreground] + + [/resolution] + +[/window_definition] + +[window_definition] + id = "wml_message_right" + description = "bar" + + [resolution] + + [background] + + [draw] + + [/draw] + + [/background] + + [foreground] + + [draw] + + [image] + x = "(width - {__GUI_IMAGE_DISPLAYED_WIDTH})" + y = "(height - image_height)" + w = "{__GUI_IMAGE_DISPLAYED_WIDTH}" + h = "{__GUI_IMAGE_DISPLAYED_HEIGHT}" + name = "(portrait_image)" + vertical_mirror = "(portrait_mirror)" + [/image] + + [/draw] + + [/foreground] + + [/resolution] + +[/window_definition] + +#define _GUI_INPUT_LIST +[listbox] + id = "input_list" + definition = "wml_message" + [list_definition] + + [row] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + [toggle_panel] + definition = "wml_message" + + return_value_id = "ok" + [grid] + + [row] + + [column] + grow_factor = 0 + horizontal_alignment = "left" + + border = "all" + border_size = 5 + + [image] + id = "icon" + definition = "default" + linked_group = "icon" + [/image] + + [/column] + + [column] + grow_factor = 0 + horizontal_alignment = "left" + + border = "all" + border_size = 5 + + [label] + id = "label" + definition = "default" + linked_group = "label" + [/label] + + [/column] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + border = "all" + border_size = 5 + + [label] + id = "description" + definition = "default" + linked_group = "description" + [/label] + + [/column] + + [/row] + + [/grid] + + [/toggle_panel] + + [/column] + + [/row] + + [/list_definition] + +[/listbox] +#enddef + +#define _GUI_UNIT_LIST +[listbox] + id = "unit_list" + definition = "wml_message" + [list_definition] + + [row] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + [toggle_panel] + definition = "wml_message" + + return_value_id = "ok" + [grid] + + [row] + + [column] + grow_factor = 0 + horizontal_alignment = "left" + + border = "all" + border_size = 5 + + [image] + id = "icon" + definition = "default" + linked_group = "icon" + [/image] + + [/column] + + [column] + grow_factor = 0 + horizontal_alignment = "left" + + border = "all" + border_size = 5 + + [label] + id = "type" + definition = "default" + linked_group = "type" + [/label] + + [/column] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + border = "all" + border_size = 5 + + [label] + id = "name" + definition = "default" + linked_group = "name" + [/label] + + [/column] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + border = "all" + border_size = 5 + + [label] + id = "level" + definition = "default" + linked_group = "level" + [/label] + + [/column] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + border = "all" + border_size = 5 + + [label] + id = "xp" + definition = "default" + linked_group = "xp" + [/label] + + [/column] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + border = "all" + border_size = 5 + + [label] + id = "traits" + definition = "default" + linked_group = "traits" + [/label] + + [/column] + + [column] + grow_factor = 0 + horizontal_alignment = "left" + + border = "all" + border_size = 5 + + [label] + id = "label" + definition = "default" + linked_group = "label" + [/label] + + [/column] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + border = "all" + border_size = 5 + + [label] + id = "description" + definition = "default" + linked_group = "description" + [/label] + + [/column] + + [/row] + + [/grid] + + [/toggle_panel] + + [/column] + + [/row] + + [/list_definition] + +[/listbox] +#enddef + +#define _GUI_RECRUIT_LIST +[listbox] + id = "recruit_list" + definition = "wml_message" + [list_definition] + + [row] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + [toggle_panel] + definition = "wml_message" + + return_value_id = "ok" + [grid] + + [row] + + [column] + grow_factor = 0 + horizontal_alignment = "left" + + border = "all" + border_size = 5 + + [image] + id = "icon" + definition = "default" + linked_group = "icon" + [/image] + + [/column] + + [column] + grow_factor = 0 + horizontal_alignment = "left" + + border = "all" + border_size = 5 + + [label] + id = "type" + definition = "default" + linked_group = "type" + [/label] + + [/column] + + [column] + grow_factor = 0 + horizontal_alignment = "left" + + border = "all" + border_size = 5 + + [image] + id = "gold" + definition = "default" + #linked_group = "icon" + [/image] + + [/column] + + + [column] + grow_factor = 1 + horizontal_grow = "true" + + border = "all" + border_size = 5 + + [label] + id = "cost" + definition = "default" + linked_group = "cost" + [/label] + + [/column] + + [/row] + + [/grid] + + [/toggle_panel] + + [/column] + + [/row] + + [/list_definition] + +[/listbox] +#enddef + + + +[window] + id = "wml_message_left" + description = "Dialog showing a unit portrait on the left side" + + [resolution] + window_width = 0 + window_height = 0 + + definition = "wml_message_left" + + automatic_placement = "false" + + x = 0 + y = 30 + width = "(gamemap_width)" + height = "(screen_height - 30)" + + click_dismiss = "true" + + [linked_group] + id = "icon" + fixed_width = "true" + [/linked_group] + + [linked_group] + id = "label" + fixed_width = "true" + [/linked_group] + + [linked_group] + id = "description" + fixed_width = "true" + [/linked_group] + + [linked_group] + id = "traits" + fixed_width = "true" + [/linked_group] + + [linked_group] + id = "xp" + fixed_width = "true" + [/linked_group] + + [linked_group] + id = "type" + fixed_width = "true" + [/linked_group] + + [linked_group] + id = "cost" + fixed_width = "true" + [/linked_group] + + [linked_group] + id = "level" + fixed_width = "true" + [/linked_group] + + [linked_group] + id = "name" + fixed_width = "true" + [/linked_group] + + [linked_group] + id = "usage" + fixed_width = "true" + [/linked_group] + + + [grid] + + [row] + + [column] + vertical_alignment = "bottom" + horizontal_grow = "true" + + [panel] + definition = "wml_message" + + [grid] + + [row] + + [column] + horizontal_grow = "true" + + [grid] + + [row] + + [column] + + [spacer] + # reserve place for the image and set a minimum height for the text + id = "image_place_holder" + + width = {_GUI_IMAGE_WIDTH} + height = 75 + [/spacer] + + [/column] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + [grid] + + [row] + + [column] + border = "all" + border_size = 5 + horizontal_alignment = "left" + + [label] + id = "title" + definition = "title" + [/label] + + [/column] + + [/row] + + [row] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + border = "all" + border_size = 5 + + [scroll_label] + id = "message" + definition = "wml_message" + [/scroll_label] + + [/column] + + [/row] + + [row] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + [grid] + + [row] + + [column] + border = "all" + border_size = 5 + + [label] + id = "input_caption" + definition = "default" + [/label] + + [/column] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + border = "all" + border_size = 5 + + [text_box] + id = "input" + definition = "default" + [/text_box] + + [/column] + + [/row] + + [/grid] + + [/column] + + [/row] + + [row] + + [column] + border = "all" + border_size = 5 + horizontal_grow = "true" + + {_GUI_INPUT_LIST} + + [/column] + + [/row] + + [row] + + [column] + border = "all" + border_size = 5 + horizontal_grow = "true" + + {_GUI_UNIT_LIST} + + [/column] + + [/row] + [row] + + [column] + border = "all" + border_size = 5 + horizontal_grow = "true" + + {_GUI_RECRUIT_LIST} + + [/column] + + [/row] + + [row] + + [column] + + [grid] + + [row] + + [column] + border = "all" + border_size = 5 + horizontal_alignment = "center" + + [button] + # This button will be shown or hidden depending on the + # whether or not a sellection may be avoided + id = "help" + definition = "transparent" + label = _ "Help" + [/button] + [/column] + [column] + border = "all" + border_size = 5 + horizontal_alignment = "center" + + [button] + # This button will be shown or hidden depending on the + # whether or not a sellection may be avoided + id = "profile" + definition = "transparent" + + label = _ "Profile" + [/button] + [/column] + + [column] + border = "all" + border_size = 5 + horizontal_alignment = "center" + + [button] + # This button will be shown or hidden depending on the + # whether or not a scrollbar is needed to show the + # text. + id = "ok" + definition = "transparent" + + label = _ "OK" + [/button] + [/column] + + [column] + border = "all" + border_size = 5 + horizontal_alignment = "center" + + [button] + # This button will be shown or hidden depending on the + # whether or not a scrollbar is needed to show the + # text. + id = "cancel" + definition = "transparent" + + label = _ "Cancel" + [/button] + [/column] + [/row] + [/grid] + [/column] + [/row] + + [/grid] + + [/column] + + [column] + + [spacer] + width = "( +if(gamemap_width - ({__GUI_IMAGE_WIDTH}) > {MAX_TEXT_WIDTH} +, gamemap_width - (({__GUI_IMAGE_WIDTH}) + {MAX_TEXT_WIDTH}) +, 0 +))" + height = 75 + [/spacer] + + [/column] + + [/row] + + [/grid] + + [/column] + + [/row] + + [/grid] + + [/panel] + + [/column] + + [/row] + + [/grid] + + [/resolution] + +[/window] + +[window] + id = "wml_message_right" + description = "Dialog showing a unit portrait on the right side" + + [resolution] + window_width = 0 + window_height = 0 + + definition = "wml_message_right" + + automatic_placement = "false" + + x = 0 + y = 30 + width = "(gamemap_width)" + height = "(screen_height - 30)" + + click_dismiss = "true" + + [linked_group] + id = "icon" + fixed_width = "true" + [/linked_group] + + [linked_group] + id = "label" + fixed_width = "true" + [/linked_group] + + [linked_group] + id = "description" + fixed_width = "true" + [/linked_group] + + [grid] + + [row] + + [column] + vertical_alignment = "bottom" + horizontal_grow = "true" + + [panel] + definition = "wml_message" + + [grid] + + [row] + + [column] + horizontal_grow = "true" + + [grid] + + [row] + + [column] + + [spacer] + width = 10 + height = 75 + [/spacer] + + [/column] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + [grid] + + [row] + + [column] + border = "all" + border_size = 5 + horizontal_alignment = "left" + + [label] + id = "title" + definition = "title" + [/label] + + [/column] + + [/row] + + [row] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + border = "all" + border_size = 5 + + [scroll_label] + id = "message" + definition = "default" + [/scroll_label] + + [/column] + + [/row] + + [row] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + [grid] + + [row] + + [column] + border = "all" + border_size = 5 + + [label] + id = "input_caption" + definition = "default" + [/label] + + [/column] + + [column] + grow_factor = 1 + horizontal_grow = "true" + + border = "all" + border_size = 5 + + [text_box] + id = "input" + definition = "default" + [/text_box] + + [/column] + + [/row] + + [/grid] + + [/column] + + [/row] + + [row] + + [column] + border = "all" + border_size = 5 + horizontal_grow = "true" + + {_GUI_INPUT_LIST} + + [/column] + + [/row] + + [row] + + [column] + border = "all" + border_size = 5 + horizontal_grow = "true" + + {_GUI_UNIT_LIST} + + [/column] + + [/row] + + [row] + + [column] + border = "all" + border_size = 5 + horizontal_alignment = "center" + + [button] + # This button will be shown or hidden depending on the + # whether or not a scrollbar is needed to show the + # text. + id = "ok" + definition = "transparent" + + label = _ "OK" + [/button] + + [/column] + [/row] + [row] + [column] + border = "all" + border_size = 5 + horizontal_alignment = "center" + + [button] + # This button will be shown or hidden depending on the + # whether or not a scrollbar is needed to show the + # text. + id = "canel" + definition = "transparent" + + label = _ "Cancel" + [/button] + + [/column] + + + [/row] + + [/grid] + + [/column] + + [column] + + [spacer] + width = "( +if(gamemap_width - (10 + ({__GUI_IMAGE_WIDTH})) > {MAX_TEXT_WIDTH} +, gamemap_width - (10 + ({__GUI_IMAGE_WIDTH}) + {MAX_TEXT_WIDTH}) +, 0 +))" + height = 75 + [/spacer] + + [/column] + + [column] + + [spacer] + # reserve place for the image and set a minimum height for the text + id = "image_place_holder" + + width = {_GUI_IMAGE_WIDTH} + height = 75 + [/spacer] + + [/column] + + + [/row] + + [/grid] + + [/column] + + [/row] + + [/grid] + + [/panel] + + [/column] + + [/row] + + [/grid] + + [/resolution] + +[/window] + +#undef _GUI_INPUT_LIST +#undef _GUI_UNIT_LIST + +#undef __GUI_IMAGE_DISPLAYED_Y +#undef __GUI_IMAGE_DISPLAYED_X +#undef __GUI_IMAGE_DISPLAYED_HEIGHT +#undef __GUI_IMAGE_DISPLAYED_WIDTH +#undef _GUI_IMAGE_SCALE_FACTOR +#undef _GUI_IMAGE_WIDTH +#undef __GUI_IMAGE_WIDTH +#undef ___GUI_IMAGE_WIDTH +#undef __GUI_BEST_SIZE +#undef __GUI_MAX_HEIGHT +#undef __GUI_SIZE_FACTOR +#undef _GUI_HEIGHT_OFFSET +