Changes from Version 1 of documentation/RCSS/Decorators

Show
Ignore:
Author:
peterc (IP: 192.168.0.1)
Timestamp:
12/13/07 19:04:43 (10 years ago)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • documentation/RCSS/Decorators

    v0 v1  
     1[[PageOutline(1-5, Contents)]] 
     2= Decorators = 
     3 
     4Decorators are an extension to CSS for RCSS. A decorator can be declared and named in a style sheet like a property, and then configured with decorator-specific properties. Custom decorator types can be developed to suit the needs of the user, and in this manner any kind of decoration can be applied to an element. 
     5 
     6'''Important:''' Note that decorators can only be declared and defined in style sheets, ''not'' in style defined inline to an element. 
     7 
     8== Declaring decorators == 
     9 
     10The declaration of a decorator is a property of the form: 
     11 
     12{{{ 
     13<name>-decorator: <type>; 
     14}}} 
     15 
     16where <name> is the user-specified name of the decorator to declare, and <type> is the application-specific type of decorator. Rocket ships with the decorators 'image', 'tiled-box', 'tiled-horizontal' and 'tiled-vertical'. The decorator type 'none' is a reserved name that represents no decorator. For example, in the following: 
     17 
     18{{{ 
     19button 
     20{ 
     21    icon-decorator: tiled-horizontal; 
     22} 
     23}}} 
     24 
     25the RCSS is attaching a decorator of type 'tiled-horizontal' called 'icon' to all 'button' elements. 
     26 
     27Decorator types can be overridden like any other property. So, in the example: 
     28 
     29{{{ 
     30h1 
     31{ 
     32    icon-decorator: image; 
     33} 
     34 
     35h1:hover 
     36{ 
     37    icon-decorator: none; 
     38} 
     39}}} 
     40 
     41all 'h1' tags will have an image decorator attached, except when they are being hovered, when the decorator will not be rendered. 
     42 
     43== Decorator properties == 
     44 
     45Decorators have their own property specifications with properties and shorthands, and these can be defined for declared decorators just like any other property. Decorator properties are set in the form: 
     46 
     47{{{ 
     48<decorator_name>-<property_name>: <property_value>; 
     49}}} 
     50 
     51where <decorator_name> is the name the decorator was declared under, <property_name> is the name of the decorator's property to set, and <property_value> is the value of the property. For example: 
     52 
     53{{{ 
     54h1 
     55{ 
     56    icon-decorator: image; 
     57    icon-image-src: ../images/header_arrow.png; 
     58    icon-image-s-begin: 5px; 
     59} 
     60}}} 
     61 
     62an 'image' decorator is declared, called 'icon'. On this decorator, the properties 'image-src' is set to '../images/header_arrow.png' and the 'image-s-begin' is set to '5px'. The other properties in the 'image' specification are left to their defaults. 
     63 
     64The decorator properties behave like other properties, so are subject to precedence and the cascade. For example, if the following RCSS was loaded after the previous example: 
     65 
     66{{{ 
     67h1 
     68{ 
     69    icon-image-s-begin: 3px; 
     70} 
     71 
     72h1:first-child 
     73{ 
     74    icon-decorator: none; 
     75} 
     76}}} 
     77 
     78all 'h1' tags will have their 'icon' decorators defined with an 's-begin' property of '3px' instead of '5px', and an 'h1' that is a first child will have no decorator. 
     79 
     80Be careful of name conflicts! For example, in the following sample: 
     81 
     82{{{ 
     83h1 
     84{ 
     85    icon-decorator: image; 
     86} 
     87 
     88.secondary 
     89{ 
     90    icon-decorator: tiled-horizontal; 
     91} 
     92}}} 
     93 
     94an element of type 'h1' with a class of 'secondary' will have a single decorator, 'icon', of type 'tiled-horizontal'. If the decorators had different names then they both would be present. 
     95 
     96== Specifying render order == 
     97 
     98If an element has more than one decorator on it, you can use the 'z-index' decorator property to control the render order in a similar fashion to elements. For example, in this sample: 
     99 
     100{{{ 
     101button 
     102{ 
     103    background-decorator: tiled-horizontal; 
     104    background-z-index: 0; 
     105 
     106    icon-decorator: image; 
     107    icon-z-index: 1; 
     108} 
     109}}} 
     110 
     111the 'icon' decorator will appear on top of the 'background' decorator. If no z-index is specified on a decorator, it will have the default z-index of 0. 
     112 
     113== Decorators and pseudo-classes == 
     114 
     115Because of the way Rocket compiles pseudo-class rules within style sheets, overriding decorator properties within dynamic pseudo-classes (:active, :hover and :focus, not any of the structural classes) might not always work the way you think it should. 
     116 
     117In a nutshell, each decorator will only process properties from their element's base rules (ie, those not specifying dynamic pseudo-classes in their final simple selector) and ''one'' rule specifying a dynamic pseudo-class (or classes), that with the highest specificity. For example, in the following sample: 
     118 
     119{{{ 
     120button 
     121{ 
     122    background-decorator: tiled-horizontal; 
     123    background-image-src: ../button.png; 
     124    background-image-s-end: 128px; 
     125} 
     126 
     127button:hover 
     128{ 
     129    background-image-t-begin: 32px; 
     130    background-image-t-end: 64px; 
     131} 
     132 
     133button:active 
     134{ 
     135    background-image-s-begin: 128px; 
     136    background-image-s-end: 256px; 
     137} 
     138}}} 
     139 
     140if both the 'hover' and 'active' pseudo-classes are active on a 'button' element, the image-s-begin / end properties from the 'active' rule will be set, but the image-t-begin / -end properties from the 'hover' rule will be ignored. The 'active' rule is used as it has higher precedence that the 'hover' rule, appearing further down the file. If you wanted both the s and t properties set, you could create another rule: 
     141 
     142{{{ 
     143button:active:hover 
     144{ 
     145    background-image-t-begin: 32px; 
     146    background-image-t-end: 64px; 
     147    background-image-s-begin: 128px; 
     148    background-image-s-end: 256px; 
     149} 
     150}}} 
     151 
     152== Rocket decorators == 
     153 
     154Rocket comes with several built-in decorators for displaying images and tiled images behind elements. 
     155 
     156=== The 'image' decorator === 
     157 
     158The 'image' decorator can render a single image or a rectangular subsection of a single image. It has the following properties: 
     159 
     160''image-src'' 
     161|| ''Value:'' || <string> || 
     162|| ''Initial:'' || not defined || 
     163|| ''Percentages:'' || N/A || 
     164 
     165This property defines the name (and, for file sources, the relative path) of the source image. 
     166 
     167''image-s-begin'', ''image-t-begin'' 
     168|| ''Value:'' || <number> | <length> | <percentage> || 
     169|| ''Initial:'' || 0 || 
     170|| ''Percentages:'' || N/A || 
     171 
     172''image-s-end'', ''image-t-end'' 
     173|| ''Value:'' || <number> | <length> | <percentage> || 
     174|| ''Initial:'' || 1 || 
     175|| ''Percentages:'' || N/A || 
     176 
     177These values specify the texture coordinates to use when rendering the image. Values have the following meanings: 
     178 
     179 number:: 
     180   Expected to be a floating-point number from 0 to 1, this is the raw texture coordinate. 
     181 length:: 
     182   Expected to be expressed in 'px' units and from 0 to the length of the appropriate texture axis. The texture will be rendered from (for -begin) or to (for -end) this pixel. 
     183 percentage:: 
     184   The texture will be rendered from (for -begin) ot to (for -end) this far across the appropriate texture axis. 
     185 
     186''image-s''[[BR]] 
     187A shorthand property for setting ''image-s-begin'' and ''image-s-end''. 
     188 
     189''image-t''[[BR]] 
     190A shorthand property for setting ''image-t-begin'' and ''image-t-end''. 
     191 
     192''image''[[BR]] 
     193A shorthand property for setting ''image-src'', ''image-s-begin'', ''image-t-begin'', ''image-s-end'' and ''image-t-end''. 
     194 
     195{{{ 
     196/* Declares an image decorator. */ 
     197div#avatar 
     198{ 
     199    avatar-decorator: image; 
     200    avatar-image: player.png 0px 32px 32px 64px; 
     201} 
     202}}} 
     203 
     204The image will be stretched or shrunk to render across the entire padded area of an element it is attached to. 
     205 
     206=== The 'tiled-horizontal' decorator === 
     207 
     208The 'horizontal-tiled' decorator can render three images, or subsections of images, horizontally across an element. One image is placed on the left edge, another on the right edge, and the last is stretched or repeated across the middle. 
     209 
     210''left-image-src'' 
     211|| ''Value:'' || <string> || 
     212|| ''Initial:'' || not defined || 
     213|| ''Percentages:'' || N/A || 
     214 
     215''left-image-s-begin'', ''left-image-t-begin'' 
     216|| ''Value:'' || <number> | <length> | <percentage> || 
     217|| ''Initial:'' || 0 || 
     218|| ''Percentages:'' || N/A || 
     219 
     220''left-image-s-end'', ''left-image-t-end'' 
     221|| ''Value:'' || <number> | <length> | <percentage> || 
     222|| ''Initial:'' || 1 || 
     223|| ''Percentages:'' || N/A || 
     224 
     225These properties specify the left image. They behave similarly to the properties in the 'image' decorator. 
     226 
     227''right-image-src'' 
     228|| ''Value:'' || <string> || 
     229|| ''Initial:'' || not defined || 
     230|| ''Percentages:'' || N/A || 
     231 
     232''right-image-s-begin'', ''right-image-t-begin'' 
     233|| ''Value:'' || <number> | <length> | <percentage> || 
     234|| ''Initial:'' || 0 || 
     235|| ''Percentages:'' || N/A || 
     236 
     237''right-image-s-end'', ''right-image-t-end'' 
     238|| ''Value:'' || <number> | <length> | <percentage> || 
     239|| ''Initial:'' || 1 || 
     240|| ''Percentages:'' || N/A || 
     241 
     242These properties specify the right image. They behave similarly to the properties in the 'image' decorator. If only one side is defined, the other will be the horizontal mirror of it. At least one side must be defined. 
     243 
     244''center-image-src'' 
     245|| ''Value:'' || <string> || 
     246|| ''Initial:'' || not defined || 
     247|| ''Percentages:'' || N/A || 
     248 
     249''center-image-repeat'' 
     250|| ''Value:'' || stretch | clamp-stretch | clamp-truncate | repeat-stretch | repeat-truncate || 
     251|| ''Initial:'' || stretch || 
     252|| ''Percentages:'' || N/A || 
     253 
     254Values have the following meanings: 
     255 
     256 stretch:: 
     257   The image will be stretched to fit the centre of the decorator. 
     258 clamp-stretch:: 
     259   The image will be clamped to the upper-left of the centre of the decorator. If the centre of the decorator is too small to fit the image, it will be scaled down to fit. 
     260 clamp-truncate:: 
     261   The image will be clamped to the upper-left of the centre of the decorator. If the centre of the decorator is too small to fit the image, it will be truncated. 
     262 repeat-stretch:: 
     263   The image will be repeated across the centre of the decorator. Any last repeat will be stretched across the remainder. 
     264 repeat-truncate:: 
     265   The image will be repeated across the centre of the decorator. The last repeat will be truncated. 
     266 
     267''center-image-s-begin'', ''center-image-t-begin'' 
     268|| ''Value:'' || <number> | <length> | <percentage> || 
     269|| ''Initial:'' || 0 || 
     270|| ''Percentages:'' || N/A || 
     271 
     272''center-image-s-end'', ''center-image-t-end'' 
     273|| ''Value:'' || <number> | <length> | <percentage> || 
     274|| ''Initial:'' || 1 || 
     275|| ''Percentages:'' || N/A || 
     276 
     277These properties specify the centre image. They behave similarly to the properties in the 'image' decorator. 
     278 
     279''left-image-s''[[BR]] 
     280Shorthand for setting ''left-image-s-begin'' and ''left-image-s-end''. 
     281 
     282''left-image-t''[[BR]] 
     283Shorthand for setting ''left-image-t-begin'' and ''left-image-t-end''. 
     284 
     285''left-image''[[BR]] 
     286A shorthand property for setting ''left-image-src'', ''left-image-s-begin'', ''left-image-t-begin'', ''left-image-s-end'' and ''left-image-t-end''. 
     287 
     288''right-image-s''[[BR]] 
     289Shorthand for setting ''right-image-s-begin'' and ''right-image-s-end''. 
     290 
     291''right-image-t''[[BR]] 
     292Shorthand for setting ''right-image-t-begin'' and ''right-image-t-end''. 
     293 
     294''right-image''[[BR]] 
     295A shorthand property for setting ''right-image-src'', ''right-image-s-begin'', ''right-image-t-begin'', ''right-image-s-end'' and ''right-image-t-end''. 
     296 
     297''center-image-s''[[BR]] 
     298Shorthand for setting ''center-image-s-begin'' and ''center-image-s-end''. 
     299 
     300''center-image-t''[[BR]] 
     301Shorthand for setting ''center-image-t-begin'' and ''center-image-t-end''. 
     302 
     303''center-image''[[BR]] 
     304A shorthand property for setting ''center-image-src'', ''center-image-repeat'', ''center-image-s-begin'', ''center-image-t-begin'', ''center-image-s-end'' and ''center-image-t-end''. 
     305 
     306The decorator renders across the padded area of its element. 
     307 
     308=== The 'tiled-vertical' decorator === 
     309 
     310The 'tiled-vertical' decorator can render three images, or subsections of images, vertically across an element. One image is placed on the top edge, another on the bottom edge, and the last is stretched or repeated across the middle. 
     311 
     312''top-image-src'' 
     313|| ''Value:'' || <string> || 
     314|| ''Initial:'' || not defined || 
     315|| ''Percentages:'' || N/A || 
     316 
     317''top-image-s-begin'', ''top-image-t-begin'' 
     318|| ''Value:'' || <number> | <length> | <percentage> || 
     319|| ''Initial:'' || 0 || 
     320|| ''Percentages:'' || N/A || 
     321 
     322''top-image-s-end'', ''top-image-t-end'' 
     323|| ''Value:'' || <number> | <length> | <percentage> || 
     324|| ''Initial:'' || 1 || 
     325|| ''Percentages:'' || N/A || 
     326 
     327These properties specify the top image. They behave similarly to the properties in the 'image' decorator. 
     328 
     329''bottom-image-src'' 
     330|| ''Value:'' || <string> || 
     331|| ''Initial:'' || not defined || 
     332|| ''Percentages:'' || N/A || 
     333 
     334''bottom-image-s-begin'', ''bottom-image-t-begin'' 
     335|| ''Value:'' || <number> | <length> | <percentage> || 
     336|| ''Initial:'' || 0 || 
     337|| ''Percentages:'' || N/A || 
     338 
     339''bottom-image-s-end'', ''bottom-image-t-end'' 
     340|| ''Value:'' || <number> | <length> | <percentage> || 
     341|| ''Initial:'' || 1 || 
     342|| ''Percentages:'' || N/A || 
     343 
     344These properties specify the bottom image. They behave similarly to the properties in the 'image' decorator. If only one side is defined, the other will be the vertical mirror of it. At least one side must be defined. 
     345 
     346''center-image-src'' 
     347|| ''Value:'' || <string> || 
     348|| ''Initial:'' || not defined || 
     349|| ''Percentages:'' || N/A || 
     350 
     351''center-image-repeat'' 
     352|| ''Value:'' || stretch | clamp-stretch | clamp-truncate | repeat-stretch | repeat-truncate || 
     353|| ''Initial:'' || stretch || 
     354|| ''Percentages:'' || N/A || 
     355 
     356''center-image-s-begin'', ''center-image-t-begin'' 
     357|| ''Value:'' || <number> | <length> | <percentage> || 
     358|| ''Initial:'' || 0 || 
     359|| ''Percentages:'' || N/A || 
     360 
     361''center-image-s-end'', ''center-image-t-end'' 
     362|| ''Value:'' || <number> | <length> | <percentage> || 
     363|| ''Initial:'' || 1 || 
     364|| ''Percentages:'' || N/A || 
     365 
     366These properties specify the centre image. They behave similarly to the centre properties in the 'horizontal-tiled' decorator. 
     367 
     368''top-image-s''[[BR]] 
     369Shorthand for setting ''top-image-s-begin'' and ''top-image-s-end''. 
     370 
     371''top-image-t''[[BR]] 
     372Shorthand for setting ''top-image-t-begin'' and ''top-image-t-end''. 
     373 
     374''top-image''[[BR]] 
     375A shorthand property for setting ''top-image-src'', ''top-image-s-begin'', ''top-image-t-begin'', ''top-image-s-end'' and ''top-image-t-end''. 
     376 
     377''bottom-image-s''[[BR]] 
     378Shorthand for setting ''bottom-image-s-begin'' and ''bottom-image-s-end''. 
     379 
     380''bottom-image-t''[[BR]] 
     381Shorthand for setting ''bottom-image-t-begin'' and ''bottom-image-t-end''. 
     382 
     383''bottom-image''[[BR]] 
     384A shorthand property for setting ''bottom-image-src'', ''bottom-image-s-begin'', ''bottom-image-t-begin'', ''bottom-image-s-end'' and ''bottom-image-t-end''. 
     385 
     386''center-image-s''[[BR]] 
     387Shorthand for setting ''center-image-s-begin'' and ''center-image-s-end''. 
     388 
     389''center-image-t''[[BR]] 
     390Shorthand for setting ''center-image-t-begin'' and ''center-image-t-end''. 
     391 
     392''center-image''[[BR]] 
     393A shorthand property for setting ''center-image-src'', ''center-image-repeat'', ''center-image-s-begin'', ''center-image-t-begin'', ''center-image-s-end'' and ''center-image-t-end''. 
     394 
     395The decorator renders across the padded area of its element. 
     396 
     397=== The 'tiled-box' decorator === 
     398 
     399The 'tiled-box' decorator can render nine images, or subsections of images, across an element. One image is placed in each of the element's corners, one each stretched or tiled along the edges, and another stretched across the middle. 
     400 
     401''top-left-image-src'' 
     402|| ''Value:'' || <string> || 
     403|| ''Initial:'' || not defined || 
     404|| ''Percentages:'' || N/A || 
     405 
     406''top-left-image-s-begin'', ''top-left-image-t-begin'' 
     407|| ''Value:'' || <number> | <length> | <percentage> || 
     408|| ''Initial:'' || 0 || 
     409|| ''Percentages:'' || N/A || 
     410 
     411''top-left-image-s-end'', ''top-left-image-t-end'' 
     412|| ''Value:'' || <number> | <length> | <percentage> || 
     413|| ''Initial:'' || 1 || 
     414|| ''Percentages:'' || N/A || 
     415 
     416These properties specify the top-left corner image. They behave similarly to the properties in the 'image' decorator. 
     417 
     418''top-right-image-src'' 
     419|| ''Value:'' || <string> || 
     420|| ''Initial:'' || not defined || 
     421|| ''Percentages:'' || N/A || 
     422 
     423''top-right-image-s-begin'', ''top-right-image-t-begin'' 
     424|| ''Value:'' || <number> | <length> | <percentage> || 
     425|| ''Initial:'' || 0 || 
     426|| ''Percentages:'' || N/A || 
     427 
     428''top-right-image-s-end'', ''top-right-image-t-end'' 
     429|| ''Value:'' || <number> | <length> | <percentage> || 
     430|| ''Initial:'' || 1 || 
     431|| ''Percentages:'' || N/A || 
     432 
     433These properties specify the top-right corner image. They behave similarly to the properties in the 'image' decorator. 
     434 
     435''bottom-left-image-src'' 
     436|| ''Value:'' || <string> || 
     437|| ''Initial:'' || not defined || 
     438|| ''Percentages:'' || N/A || 
     439 
     440''bottom-left-image-s-begin'', ''bottom-left-image-t-begin'' 
     441|| ''Value:'' || <number> | <length> | <percentage> || 
     442|| ''Initial:'' || 0 || 
     443|| ''Percentages:'' || N/A || 
     444 
     445''bottom-left-image-s-end'', ''bottom-left-image-t-end'' 
     446|| ''Value:'' || <number> | <length> | <percentage> || 
     447|| ''Initial:'' || 1 || 
     448|| ''Percentages:'' || N/A || 
     449 
     450These properties specify the bottom-left corner image. They behave similarly to the properties in the 'image' decorator. 
     451 
     452''bottom-right-image-src'' 
     453|| ''Value:'' || <string> || 
     454|| ''Initial:'' || not defined || 
     455|| ''Percentages:'' || N/A || 
     456 
     457''bottom-right-image-s-begin'', ''bottom-right-image-t-begin'' 
     458|| ''Value:'' || <number> | <length> | <percentage> || 
     459|| ''Initial:'' || 0 || 
     460|| ''Percentages:'' || N/A || 
     461 
     462''bottom-right-image-s-end'', ''bottom-right-image-t-end'' 
     463|| ''Value:'' || <number> | <length> | <percentage> || 
     464|| ''Initial:'' || 1 || 
     465|| ''Percentages:'' || N/A || 
     466 
     467These properties specify the bottom-right corner image. They and behave similarly to the properties in the 'image' decorator. 
     468 
     469''top-image-src'' 
     470|| ''Value:'' || <string> || 
     471|| ''Initial:'' || not defined || 
     472|| ''Percentages:'' || N/A || 
     473 
     474''top-image-repeat'' 
     475|| ''Value:'' || stretch | clamp-stretch | clamp-truncate | repeat-stretch | repeat-truncate || 
     476|| ''Initial:'' || stretch || 
     477|| ''Percentages:'' || N/A || 
     478 
     479''top-image-s-begin'', ''top-image-t-begin'' 
     480|| ''Value:'' || <number> | <length> | <percentage> || 
     481|| ''Initial:'' || 0 || 
     482|| ''Percentages:'' || N/A || 
     483 
     484''top-image-s-end'', ''top-image-t-end'' 
     485|| ''Value:'' || <number> | <length> | <percentage> || 
     486|| ''Initial:'' || 1 || 
     487|| ''Percentages:'' || N/A || 
     488 
     489These properties specify the top edge image. They behave similarly to the centre properties in the 'horizontal-tiled' decorator. 
     490 
     491''right-image-src'' 
     492|| ''Value:'' || <string> || 
     493|| ''Initial:'' || not defined || 
     494|| ''Percentages:'' || N/A || 
     495 
     496''right-image-repeat'' 
     497|| ''Value:'' || stretch | clamp-stretch | clamp-truncate | repeat-stretch | repeat-truncate || 
     498|| ''Initial:'' || stretch || 
     499|| ''Percentages:'' || N/A || 
     500 
     501''right-image-s-begin'', ''right-image-t-begin'' 
     502|| ''Value:'' || <number> | <length> | <percentage> || 
     503|| ''Initial:'' || 0 || 
     504|| ''Percentages:'' || N/A || 
     505 
     506''right-image-s-end'', ''right-image-t-end'' 
     507|| ''Value:'' || <number> | <length> | <percentage> || 
     508|| ''Initial:'' || 1 || 
     509|| ''Percentages:'' || N/A || 
     510 
     511These properties specify the right edge image. They behave similarly to the centre properties in the 'vertical-tiled' decorator. 
     512 
     513''bottom-image-src'' 
     514|| ''Value:'' || <string> || 
     515|| ''Initial:'' || not defined || 
     516|| ''Percentages:'' || N/A || 
     517 
     518''bottom-image-repeat'' 
     519|| ''Value:'' || stretch | clamp-stretch | clamp-truncate | repeat-stretch | repeat-truncate || 
     520|| ''Initial:'' || stretch || 
     521|| ''Percentages:'' || N/A || 
     522 
     523''bottom-image-s-begin'', ''bottom-image-t-begin'' 
     524|| ''Value:'' || <number> | <length> | <percentage> || 
     525|| ''Initial:'' || 0 || 
     526|| ''Percentages:'' || N/A || 
     527 
     528''bottom-image-s-end'', ''bottom-image-t-end'' 
     529|| ''Value:'' || <number> | <length> | <percentage> || 
     530|| ''Initial:'' || 1 || 
     531|| ''Percentages:'' || N/A || 
     532 
     533These properties specify the bottom edge image. They behave similarly to the centre properties in the 'horizontal-tiled' decorator. 
     534 
     535''left-image-src'' 
     536|| ''Value:'' || <string> || 
     537|| ''Initial:'' || not defined || 
     538|| ''Percentages:'' || N/A || 
     539 
     540''left-image-repeat'' 
     541|| ''Value:'' || stretch | clamp-stretch | clamp-truncate | repeat-stretch | repeat-truncate || 
     542|| ''Initial:'' || stretch || 
     543|| ''Percentages:'' || N/A || 
     544 
     545''left-image-s-begin'', ''left-image-t-begin'' 
     546|| ''Value:'' || <number> | <length> | <percentage> || 
     547|| ''Initial:'' || 0 || 
     548|| ''Percentages:'' || N/A || 
     549 
     550''left-image-s-end'', ''left-image-t-end'' 
     551|| ''Value:'' || <number> | <length> | <percentage> || 
     552|| ''Initial:'' || 1 || 
     553|| ''Percentages:'' || N/A || 
     554 
     555These properties specify the left edge image. They behave similarly to the centre properties in the 'vertical-tiled' decorator. 
     556 
     557''center-image-src'' 
     558|| ''Value:'' || <string> || 
     559|| ''Initial:'' || not defined || 
     560|| ''Percentages:'' || N/A || 
     561 
     562''center-image-repeat'' 
     563|| ''Value:'' || stretch | clamp-stretch | clamp-truncate | repeat-stretch | repeat-truncate || 
     564|| ''Initial:'' || stretch || 
     565|| ''Percentages:'' || N/A || 
     566 
     567''center-image-s-begin'', ''center-image-t-begin'' 
     568|| ''Value:'' || <number> | <length> | <percentage> || 
     569|| ''Initial:'' || 0 || 
     570|| ''Percentages:'' || N/A || 
     571 
     572''center-image-s-end'', ''center-image-t-end'' 
     573|| ''Value:'' || <number> | <length> | <percentage> || 
     574|| ''Initial:'' || 1 || 
     575|| ''Percentages:'' || N/A || 
     576 
     577These properties specify the center image. They behave similarly to the centre properties in the 'tiled-horizontal' decorator. 
     578 
     579''top-left-image-s''[[BR]] 
     580Shorthand for setting ''top-left-image-s-begin'' and ''top-left-image-s-end''. 
     581 
     582''top-left-image-t''[[BR]] 
     583Shorthand for setting ''top-left-image-t-begin'' and ''top-left-image-t-end''. 
     584 
     585''top-left-image''[[BR]] 
     586A shorthand property for setting ''top-left-image-src'', ''top-left-image-s-begin'', ''top-left-image-t-begin'', ''top-left-image-s-end'' and ''top-left-image-t-end''. 
     587 
     588''top-right-image-s''[[BR]] 
     589Shorthand for setting ''top-right-image-s-begin'' and ''top-right-image-s-end''. 
     590 
     591''top-right-image-t''[[BR]] 
     592Shorthand for setting ''top-right-image-t-begin'' and ''top-right-image-t-end''. 
     593 
     594''top-right-image''[[BR]] 
     595A shorthand property for setting ''top-right-image-src'', ''top-right-image-s-begin'', ''top-right-image-t-begin'', ''top-right-image-s-end'' and ''top-right-image-t-end''. 
     596 
     597''bottom-left-image-s''[[BR]] 
     598Shorthand for setting ''bottom-left-image-s-begin'' and ''bottom-left-image-s-end''. 
     599 
     600''bottom-left-image-t''[[BR]] 
     601Shorthand for setting ''bottom-left-image-t-begin'' and ''bottom-left-image-t-end''. 
     602 
     603''bottom-left-image''[[BR]] 
     604A shorthand property for setting ''bottom-left-image-src'', ''bottom-left-image-s-begin'', ''bottom-left-image-t-begin'', ''bottom-left-image-s-end'' and ''bottom-left-image-t-end''. 
     605 
     606''bottom-right-image-s''[[BR]] 
     607Shorthand for setting ''bottom-right-image-s-begin'' and ''bottom-right-image-s-end''. 
     608 
     609''bottom-right-image-t''[[BR]] 
     610Shorthand for setting ''bottom-right-image-t-begin'' and ''bottom-right-image-t-end''. 
     611 
     612''bottom-right-image''[[BR]] 
     613A shorthand property for setting ''bottom-right-image-src'', ''bottom-right-image-s-begin'', ''bottom-right-image-t-begin'', ''bottom-right-image-s-end'' and ''bottom-right-image-t-end''. 
     614 
     615''top-image-s''[[BR]] 
     616Shorthand for setting ''top-image-s-begin'' and ''top-image-s-end''. 
     617 
     618''top-image-t''[[BR]] 
     619Shorthand for setting ''top-image-t-begin'' and ''top-image-t-end''. 
     620 
     621''top-image''[[BR]] 
     622A shorthand property for setting ''top-image-src'', ''top-image-repeat'', ''top-image-s-begin'', ''top-image-t-begin'', ''top-image-s-end'' and ''top-image-t-end''. 
     623 
     624''right-image-s''[[BR]] 
     625Shorthand for setting ''right-image-s-begin'' and ''right-image-s-end''. 
     626 
     627''right-image-t''[[BR]] 
     628Shorthand for setting ''right-image-t-begin'' and ''right-image-t-end''. 
     629 
     630''right-image''[[BR]] 
     631A shorthand property for setting ''right-image-src'', ''right-image-repeat'', ''right-image-s-begin'', ''right-image-t-begin'', ''right-image-s-end'' and ''right-image-t-end''. 
     632 
     633''bottom-image-s''[[BR]] 
     634Shorthand for setting ''bottom-image-s-begin'' and ''bottom-image-s-end''. 
     635 
     636''bottom-image-t''[[BR]] 
     637Shorthand for setting ''bottom-image-t-begin'' and ''bottom-image-t-end''. 
     638 
     639''bottom-image''[[BR]] 
     640A shorthand property for setting ''bottom-image-src'', ''bottom-image-repeat'', ''bottom-image-s-begin'', ''bottom-image-t-begin'', ''bottom-image-s-end'' and ''bottom-image-t-end''. 
     641 
     642''left-image-s''[[BR]] 
     643Shorthand for setting ''left-image-s-begin'' and ''left-image-s-end''. 
     644 
     645''left-image-t''[[BR]] 
     646Shorthand for setting ''left-image-t-begin'' and ''left-image-t-end''. 
     647 
     648''left-image''[[BR]] 
     649A shorthand property for setting ''left-image-src'', ''left-image-repeat'', ''left-image-s-begin'', ''left-image-t-begin'', ''left-image-s-end'' and ''left-image-t-end''. 
     650 
     651''center-image-s''[[BR]] 
     652Shorthand for setting ''center-image-s-begin'' and ''center-image-s-end''. 
     653 
     654''center-image-t''[[BR]] 
     655Shorthand for setting ''center-image-t-begin'' and ''center-image-t-end''. 
     656 
     657''center-image''[[BR]] 
     658A shorthand property for setting ''center-image-src'', ''center-image-repeat'', ''center-image-s-begin'', ''center-image-t-begin'', ''center-image-s-end'' and ''center-image-t-end''. 
     659 
     660The decorator renders across the padded area of its element.