<!--
	Types
-->
<!ENTITY % bool				"(true|false)">
<!ENTITY % align			"(left|center|right)">
<!ENTITY % valign			"(top|center|bottom)">

<!--
	Defines
-->
<!ENTITY % unique_settings
 "name					CDATA #IMPLIED
  type					CDATA 'empty'
  style					CDATA #IMPLIED"
>

<!ENTITY % base_settings
 "absolute 				%bool; #IMPLIED
  enabled				%bool; #IMPLIED
  ghost					%bool; #IMPLIED
  hidden				%bool; #IMPLIED
  size					CDATA #IMPLIED
  z					CDATA #IMPLIED"
>


<!-- Defaults are not put in here, because it ruins the concept of styles -->

<!ENTITY % ex_settings
 "buffer_zone				CDATA #IMPLIED
  button_width				CDATA #IMPLIED
  checked				%bool; #IMPLIED
  dropdown_size				CDATA #IMPLIED
  dropdown_buffer			CDATA #IMPLIED
  font					CDATA #IMPLIED
  fov_wedge_color			CDATA #IMPLIED
  hotkey				CDATA #IMPLIED
  cell_id				CDATA #IMPLIED
  input_initvalue_destroyed_at_focus	%bool; #IMPLIED
  max_length				CDATA #IMPLIED
  multiline				%bool; #IMPLIED
  rectcolor_selected			CDATA #IMPLIED
  scrollbar				%bool; #IMPLIED
  scrollbar_style			CDATA #IMPLIED
  sprite				CDATA #IMPLIED
  sprite2				CDATA #IMPLIED
  sprite_bar				CDATA #IMPLIED
  sprite_background			CDATA #IMPLIED
  sprite_disabled			CDATA #IMPLIED
  sprite_list				CDATA #IMPLIED
  sprite2_disabled			CDATA #IMPLIED
  sprite_over				CDATA #IMPLIED
  sprite2_over				CDATA #IMPLIED
  sprite_pressed			CDATA #IMPLIED
  sprite2_pressed			CDATA #IMPLIED
  sprite_selectarea			CDATA #IMPLIED
  square_side				CDATA #IMPLIED
  textcolor				CDATA #IMPLIED
  textcolor_disabled			CDATA #IMPLIED
  textcolor_over			CDATA #IMPLIED
  textcolor_pressed			CDATA #IMPLIED
  textcolor_selected			CDATA #IMPLIED
  text_align				%align; #IMPLIED
  text_valign				%valign; #IMPLIED
  tooltip				CDATA #IMPLIED
  tooltip_style				CDATA #IMPLIED"
>

<!--
	<objects>
-->
<!ELEMENT objects (script|object)*>

<!ELEMENT script (#PCDATA)>
<!ATTLIST script
  file					CDATA #IMPLIED
>

<!ELEMENT object (#PCDATA|object|action|item)*> <!-- 'item' is used by "list" and "dropdown" -->
<!ATTLIST object 
  %unique_settings;
  %base_settings;
  %ex_settings;
>
<!ELEMENT action (#PCDATA)>
<!ATTLIST action 
  on					CDATA #REQUIRED
  file					CDATA #IMPLIED
>
<!ELEMENT item (#PCDATA)>
<!ATTLIST item
  enabled				%bool; #IMPLIED
>


<!--
	<styles>
-->
<!ELEMENT styles (style*)>
<!ELEMENT style EMPTY>
<!ATTLIST style 
  name					CDATA #REQUIRED
  %base_settings; 
  %ex_settings;
>

<!--
	<setup>
-->
<!ELEMENT setup (icon|scrollbar|tooltip|color)*>
<!ELEMENT scrollbar EMPTY>
<!ELEMENT icon EMPTY>
<!ELEMENT tooltip EMPTY>
<!ELEMENT color (#PCDATA)>

<!--
	<scrollbar>
-->
<!ATTLIST scrollbar
  name					CDATA #REQUIRED
  width					CDATA #IMPLIED
  scroll_wheel				%bool; #IMPLIED
  alwaysshown				%bool; #IMPLIED
  scroll_speed				CDATA #IMPLIED
  sprite_button_top			CDATA #IMPLIED
  sprite_button_top_pressed		CDATA #IMPLIED
  sprite_button_top_disabled		CDATA #IMPLIED
  sprite_button_top_over		CDATA #IMPLIED
  sprite_button_bottom			CDATA #IMPLIED
  sprite_button_bottom_pressed		CDATA #IMPLIED
  sprite_button_bottom_disabled		CDATA #IMPLIED
  sprite_button_bottom_over		CDATA #IMPLIED
  sprite_bar_vertical			CDATA #IMPLIED
  sprite_bar_vertical_over		CDATA #IMPLIED
  sprite_bar_vertical_pressed		CDATA #IMPLIED
  sprite_back_vertical			CDATA #IMPLIED
  minimum_bar_size			CDATA #IMPLIED
>

<!--
	<icon>
-->
<!ATTLIST icon
  name					CDATA #REQUIRED
  size					CDATA #REQUIRED
  sprite				CDATA #REQUIRED
  cell_id				CDATA #IMPLIED
>

<!--
	<tooltip>
-->
<!ATTLIST tooltip
  name					CDATA #REQUIRED
  sprite				CDATA #IMPLIED
  anchor				CDATA #IMPLIED
  buffer_zone				CDATA #IMPLIED
  font					CDATA #IMPLIED
  maxwidth				CDATA #IMPLIED
  offset				CDATA #IMPLIED
  textcolor				CDATA #IMPLIED
  delay					CDATA #IMPLIED
  use_object				CDATA #IMPLIED
  hide_object				CDATA #IMPLIED
>

<!--
	<color>
-->
<!ATTLIST color
  name					CDATA #REQUIRED
>


<!--
	<sprites>
-->
<!ELEMENT sprites (sprite*)>
<!ELEMENT sprite (effect?,image+)>
<!ELEMENT image (effect?)>
<!ELEMENT effect EMPTY>

<!ATTLIST sprite 
  name 					CDATA #REQUIRED
>

<!ATTLIST image
  texture				CDATA #IMPLIED
  size					CDATA #IMPLIED
  texture_size				CDATA #IMPLIED
  real_texture_placement		CDATA #IMPLIED
  cell_size				CDATA #IMPLIED
  backcolor				CDATA #IMPLIED
  bordercolor				CDATA #IMPLIED
  border				%bool; #IMPLIED
  z_level				CDATA #IMPLIED
>

<!ATTLIST effect
  add_color				CDATA #IMPLIED
  multiply_color			CDATA #IMPLIED
  grayscale				CDATA #IMPLIED
>
