@@ -86,12 +86,14 @@ difficulty to understand how VLC skins work.</para>
...
@@ -86,12 +86,14 @@ difficulty to understand how VLC skins work.</para>
<sect1>
<sect1>
<title>The bitmaps</title>
<title>The bitmaps</title>
<para>Basically, you need one bitmap file (in PNG format) by state of control. For example, with a <linklinkend="Image">Image</link> control you need 1 image, with a <linklinkend="Button">Button</link> control you need 3 images (for the up, down and mouseover states). Of course, the same bitmap file can be used for many controls, provided you want to display the same image!</para>
<para>Basically, you need one bitmap file (in PNG format) by state of control. For example, with a <linklinkend="Image">Image</link> control you need 1 image, with a <linklinkend="Button">Button</link> control you need 3 images (for the up, down and mouseover states). The same bitmap file can be used for many controls, using <linklinkend="SubBitmap">sub-bitmaps</link>.</para>
<para>The PNG format allows setting a transparency mask, which will be used wherever the image needs to be displayed (only non-transparent parts will be drawn). In addition, you can also specify a transparency color in the XML file: the bitmap will be considered as transparent wherever this color appears in the bitmap file.</para>
<para>The PNG format allows setting a transparency mask, which will be used wherever the image needs to be displayed (only non-transparent parts will be drawn). In addition, you can also specify a transparency color in the XML file: the bitmap will be considered as transparent wherever this color appears in the bitmap file.</para>
<note><para>Both the transparency mask and the transparent color will be taken into acount, so if the transparency mask is correctly set in the bitmap file you need to choose a unused color for the transparency color.</para></note>
<note><para>Both the transparency mask and the transparent color will be taken into acount, so if the transparency mask is correctly set in the bitmap file you need to choose a unused color for the transparency color.</para></note>
<note><para>Starting from VLC 0.8.5, it is not anymore necessary to use PNG format for the bitmap files: most common formats are supported. Using PNG format is still recommended, for compatibility with older VLC versions.</para></note>
</sect1>
</sect1>
<sect1>
<sect1>
...
@@ -164,503 +166,533 @@ difficulty to understand how VLC skins work.</para>
...
@@ -164,503 +166,533 @@ difficulty to understand how VLC skins work.</para>
<sect3id="Bitmap">
<sect3id="Bitmap">
<title>Bitmap</title>
<title>Bitmap</title>
<para>Associates a bitmap file in PNG format with an identifiant (=name) that will be used by the various controls. Obviously, you need one Bitmap tag for each bitmap file you have.</para>
<para>Associates a bitmap file (usually in PNG format) with an identifiant (=name) that will be used by the various controls. Obviously, you need one Bitmap tag for each bitmap file you have.</para>
<sect4id="bitmapid">
<sect4id="bitmapid">
<title>id</title>
<title>id</title>
<para>This is the identifiant of the bitmap that will be used with controls. Two bitmaps cannot have the same id.</para>
<para>Identifiant of the bitmap that will be used with controls. Two bitmaps cannot have the same id.</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="bitmapfile">
<sect4id="bitmapfile">
<title>file</title>
<title>file</title>
<para>This attribute is used to indicate the path and name of the bitmap file used. This path can be absolute (but you should definitely avoid it), or relative to the path of the XML file.</para>
<para>Indicates the path and name of the bitmap file used. This path can be absolute (but you should definitely avoid it), or relative to the path of the XML file.</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="alphacolor">
<sect4id="alphacolor">
<title>alphacolor</title>
<title>alphacolor</title>
<para>This is the transparency color of the bitmap. It must be indicated with the following format: "#RRGGBB" (where RR stands for the hexadecimal value of the red component, GG for the green one, and BB for the blue one).</para>
<para>Transparency color of the bitmap. It must be indicated with the following format: "#RRGGBB", where RR stands for the hexadecimal value of the red component, GG for the green one, and BB for the blue one.</para>
<note><para>If your PNG file specifies a transparency mask, it will be taken into account too.</para></note>
<note><para>If your PNG file specifies a transparency mask, it will be taken into account too.</para></note>
<para>Default value: #000000</para><!--XXX: should we change it into a less often used color?-->
<para>Default value: #000000</para><!--XXX: should we change it into a less often used color?-->
</sect4>
</sect4>
</sect3>
</sect3>
<sect3id="SubBitmap">
<title>SubBitmap</title>
<para>Declares a portion of bitmap, that will be used with controls in the same way as a regular Bitmap. A SubBitmap tag can only be placed inside a <linklinkend="Bitmap">Bitmap</link> tag, and references implicitly the same file. SubBitmaps are very convenient when a file contains images for several controls. (This tag was not available before VLC 0.8.5).</para>
<sect4id="subbitmapid">
<title>id</title>
<para>Identifiant of the portion of bitmap that will be used with controls. It must be unique in the whole skin.</para>
<para><emphasis>Required.</emphasis></para>
</sect4>
<sect4id="subbitmapx">
<title>x</title>
<para>Horizontal offset of the sub-bitmap (in pixels), relative to the "parent" bitmap.</para>
<para><emphasis>Required.</emphasis></para>
</sect4>
<sect4id="subbitmapy">
<title>y</title>
<para>Vertical offset of the sub-bitmap (in pixels), relative to the "parent" bitmap.</para>
<para><emphasis>Required.</emphasis></para>
</sect4>
<sect4id="subbitmapwidth">
<title>width</title>
<para>Width of the sub-bitmap, in pixels.</para>
<para><emphasis>Required.</emphasis></para>
</sect4>
<sect4id="subbitmapheight">
<title>height</title>
<para>Height of the SubBitmap, in pixels.</para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect3>
<sect3id="Font">
<sect3id="Font">
<title>Font</title>
<title>Font</title>
<para>Declares a font to be used in a Text or Playlist.</para>
<para>Declares a font to be used in a Text or Playlist.</para>
<sect4id="fontid">
<sect4id="fontid">
<title>id</title>
<title>id</title>
<para>Identifiant of the font that will be used with controls.</para>
<para>Identifiant of the font that will be used with controls.</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="fontfile">
<sect4id="fontfile">
<title>file</title>
<title>file</title>
<para>This is the file containing a TrueType font.</para>
<para>This is the file containing a TrueType font.</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="size">
<sect4id="size">
<title>size</title>
<title>size</title>
<para>This is the size of the font, in points.</para>
<para>This is the size of the font, in points.</para>
<para>Default value: 12</para>
<para>Default value: 12</para>
</sect4>
</sect4>
</sect3>
</sect3>
<sect3id="BitmapFont">
<sect3id="BitmapFont">
<title>BitmapFont</title>
<title>BitmapFont</title>
<para><!--TODO--></para>
<para><!--TODO--></para>
<sect4id="bitmapfontid">
<sect4id="bitmapfontid">
<title>id</title>
<title>id</title>
<para>Identifiant of the font that will be used with controls.</para>
<para>Identifiant of the font that will be used with controls.</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="bitmapfontfile">
<sect4id="bitmapfontfile">
<title>file</title>
<title>file</title>
<para>This is the file containing a bitmap font, à la Winamp.</para>
<para>This is the file containing a bitmap font, à la Winamp.</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="type">
<sect4id="type">
<title>type</title>
<title>type</title>
<para>Type of font, one of "digits" or "text".</para>
<para>Type of font, one of "digits" or "text".</para>
<para>Default value: digits</para>
<para>Default value: digits</para>
</sect4>
</sect4>
</sect3>
</sect3>
<sect3id="Window">
<sect3id="Window">
<title>Window</title>
<title>Window</title>
<para>A window that will appear on screen.</para>
<para>A window that will appear on screen.</para>
<sect4id="windowid">
<sect4id="windowid">
<title>id</title>
<title>id</title>
<para>Name of the window (it may be used for actions). Two windows cannot have the same id.</para>
<para>Name of the window (it may be used for actions). Two windows cannot have the same id.</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
<sect4id="windowvisible">
<sect4id="windowvisible">
<title>visible</title>
<title>visible</title>
<para>Indicates whether the window should appear when VLC is started. Since VLC remembers the skin windows position and visibility, this attribute will only be used the first time the skin is started.</para>
<para>Indicates whether the window should appear when VLC is started. Since VLC remembers the skin windows position and visibility, this attribute will only be used the first time the skin is started.</para>
<para>Default value: true</para>
<para>Default value: true</para>
</sect4>
</sect4>
<sect4id="windowx">
<sect4id="windowx">
<title>x</title>
<title>x</title>
<para>Initial left position of the window.</para>
<para>Initial left position of the window.</para>
<para>Default value: 0</para>
<para>Default value: 0</para>
</sect4>
</sect4>
<sect4id="windowy">
<sect4id="windowy">
<title>y</title>
<title>y</title>
<para>Initial top position of the window.</para>
<para>Initial top position of the window.</para>
<para>Default value: 0</para>
<para>Default value: 0</para>
</sect4>
</sect4>
<sect4id="dragdrop">
<sect4id="dragdrop">
<title>dragdrop</title>
<title>dragdrop</title>
<para>Indicates whether drag and drop of media files is allowed on this window.</para>
<para>Indicates whether drag and drop of media files is allowed on this window.</para>
<para>Default value: true</para>
<para>Default value: true</para>
</sect4>
</sect4>
<sect4id="playondrop">
<sect4id="playondrop">
<title>playondrop</title>
<title>playondrop</title>
<para>Indicates whether a dropped file is played directly (true) or only enqueued (false). This attribute has no effect if <linklinkend="dragdrop">dragdrop</link> is set to "false".</para>
<para>Indicates whether a dropped file is played directly (true) or only enqueued (false). This attribute has no effect if <linklinkend="dragdrop">dragdrop</link> is set to "false".</para>
<para>Default value: true</para>
<para>Default value: true</para>
</sect4>
</sect4>
</sect3>
</sect3>
<sect3id="Layout">
<sect3id="Layout">
<title>Layout</title>
<title>Layout</title>
<para>A layout is one aspect of a window, i.e. a set of controls and anchors. A window can have many layouts, but only one will be visible at any time.</para>
<para>A layout is one aspect of a window, i.e. a set of controls and anchors. A window can have many layouts, but only one will be visible at any time.</para>
<sect4id="layoutwidth">
<sect4id="layoutwidth">
<title>width</title>
<title>width</title>
<para><!--TODO: calculate it in VLC :)-->Width of the layout. this value is required since VLC is not (yet?) able to calculate it using the sizes and positions of the controls.</para>
<para><!--TODO: calculate it in VLC :)-->Width of the layout. this value is required since VLC is not (yet?) able to calculate it using the sizes and positions of the controls.</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="layoutheight">
<sect4id="layoutheight">
<title>height</title>
<title>height</title>
<para><!--TODO: calculate it in VLC :)-->Height of the layout. this value is required since VLC is not (yet?) able to calculate it using the sizes and positions of the controls.</para>
<para><!--TODO: calculate it in VLC :)-->Height of the layout. this value is required since VLC is not (yet?) able to calculate it using the sizes and positions of the controls.</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="minwidth">
<sect4id="minwidth">
<title>minwidth</title>
<title>minwidth</title>
<para>Minimum width of the layout. This value is only used when resizing the layout. If this value is set to "-1", the initial width (as specified by the <linklinkend="layoutwidth">width</link> attribute) will be used as minimum width.</para>
<para>Minimum width of the layout. This value is only used when resizing the layout. If this value is set to "-1", the initial width (as specified by the <linklinkend="layoutwidth">width</link> attribute) will be used as minimum width.</para>
<para>Default value: -1</para>
<para>Default value: -1</para>
</sect4>
</sect4>
<sect4id="maxwidth">
<sect4id="maxwidth">
<title>maxwidth</title>
<title>maxwidth</title>
<para>Maximum width of the layout. This value is only used when resizing the layout. If this value is set to "-1", the initial width (as specified by the <linklinkend="layoutwidth">width</link> attribute) will be used as maximum width.</para>
<para>Maximum width of the layout. This value is only used when resizing the layout. If this value is set to "-1", the initial width (as specified by the <linklinkend="layoutwidth">width</link> attribute) will be used as maximum width.</para>
<para>Default value: -1</para>
<para>Default value: -1</para>
</sect4>
</sect4>
<sect4id="minheight">
<sect4id="minheight">
<title>minheight</title>
<title>minheight</title>
<para>Minimum height of the layout. This value is only used when resizing the layout. If this value is set to "-1", the initial height (as specified by the <linklinkend="layoutheight">height</link> attribute) will be used as minimum height.</para>
<para>Minimum height of the layout. This value is only used when resizing the layout. If this value is set to "-1", the initial height (as specified by the <linklinkend="layoutheight">height</link> attribute) will be used as minimum height.</para>
<para>Default value: -1</para>
<para>Default value: -1</para>
</sect4>
</sect4>
<sect4id="maxheight">
<sect4id="maxheight">
<title>maxheight</title>
<title>maxheight</title>
<para>Maximum height of the layout. This value is only used when resizing the layout. If this value is set to "-1", the initial height (as specified by the <linklinkend="layoutheight">height</link> attribute) will be used as maximum height.</para>
<para>Maximum height of the layout. This value is only used when resizing the layout. If this value is set to "-1", the initial height (as specified by the <linklinkend="layoutheight">height</link> attribute) will be used as maximum height.</para>
<para>Default value: -1</para>
<para>Default value: -1</para>
</sect4>
</sect4>
</sect3>
</sect3>
<sect3id="Group">
<sect3id="Group">
<title>Group</title>
<title>Group</title>
<para>Adds an offset to the elements it contains. A Group is only supposed to ease the job of the skin designer, who can adjust the position of a group of controls without modifying all the coordinates, but you can ignore it if you want (only one Group is necessary, inside the Window tag). Group tags can be nested.</para>
<para>Adds an offset to the elements it contains. A Group is only supposed to ease the job of the skin designer, who can adjust the position of a group of controls without modifying all the coordinates, but you can ignore it if you want (only one Group is necessary, inside the Window tag). Group tags can be nested.</para>
<sect4id="groupx">
<sect4id="groupx">
<title>x</title>
<title>x</title>
<para>Try and guess.</para>
<para>Try and guess.</para>
<para>Default value: 0</para>
<para>Default value: 0</para>
</sect4>
</sect4>
<sect4id="groupy">
<sect4id="groupy">
<title>y</title>
<title>y</title>
<para>What do you think?</para>
<para>What do you think?</para>
<para>Default value: 0</para>
<para>Default value: 0</para>
</sect4>
</sect4>
</sect3>
</sect3>
<sect3id="Anchor">
<sect3id="Anchor">
<title>Anchor</title>
<title>Anchor</title>
<para>Create a "magnetic point" (or curve) in the current window. If an anchor of another window enters in the range of action of this anchor, the 2 anchors will automatically be on the same place, and the windows are "sticked". Each anchor has a priority (<linklinkend="priority">priority</link> attribute), and the anchor with the highest priority is the winner, which means that when moving its window all the other anchored windows will move too. To break the effect of 2 anchored windows, you need to move the window whose anchor has the lower priority.</para>
<para>Create a "magnetic point" (or curve) in the current window. If an anchor of another window enters in the range of action of this anchor, the 2 anchors will automatically be on the same place, and the windows are "sticked". Each anchor has a priority (<linklinkend="priority">priority</link> attribute), and the anchor with the highest priority is the winner, which means that when moving its window all the other anchored windows will move too. To break the effect of 2 anchored windows, you need to move the window whose anchor has the lower priority.</para>
<sect4id="anchorx">
<sect4id="anchorx">
<title>x</title>
<title>x</title>
<para>Is it really necessary to explain ?</para>
<para>Is it really necessary to explain ?</para>
<para>Default value: 0</para>
<para>Default value: 0</para>
</sect4>
</sect4>
<sect4id="anchory">
<sect4id="anchory">
<title>y</title>
<title>y</title>
<para>...</para>
<para>...</para>
<para>Default value: 0</para>
<para>Default value: 0</para>
</sect4>
</sect4>
<sect4id="priority">
<sect4id="priority">
<title>priority</title>
<title>priority</title>
<para>Priority of anchor (see the previous description).</para>
<para>Priority of anchor (see the previous description).</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="anchorpoints">
<sect4id="anchorpoints">
<title>points</title>
<title>points</title>
<para>Points defining the <linklinkend="bezier">Bezier curve</link> followed by the anchor.</para>
<para>Points defining the <linklinkend="bezier">Bezier curve</link> followed by the anchor.</para>
<note><para>You don't need to change this parameter if all you want is a ponctual anchor.</para></note>
<note><para>You don't need to change this parameter if all you want is a ponctual anchor.</para></note>
<para>Default value: (0,0)</para>
<para>Default value: (0,0)</para>
</sect4>
</sect4>
<sect4id="range">
<sect4id="range">
<title>range</title>
<title>range</title>
<para>Range of action of the anchor, in pixels. Default is "10".</para>
<para>Range of action of the anchor, in pixels. Default is "10".</para>
<para>Default value: 10</para>
<para>Default value: 10</para>
</sect4>
</sect4>
</sect3>
</sect3>
<sect3id="commattr">
<sect3id="commattr">
<title>Attributes common to all the controls</title>
<title>Attributes common to all the controls</title>
<para>The following attributes are common to all the controls (Image, Button, Checkbox, Text, Slider, RadialSlider, Playlist, Video)</para>
<para>The following attributes are common to all the controls (Image, Button, Checkbox, Text, Slider, RadialSlider, Playlist, Video)</para>
<sect4id="attrid">
<sect4id="attrid">
<title>id</title>
<title>id</title>
<para>Identifiant of the control. Currently unused.</para>
<para>Identifiant of the control. Currently unused.</para>
<para>Horizontal offset of the control, relative to the parent tag (usually <linklinkend="Group">Group</link> or <linklinkend="Layout">Layout</link>).</para>
<para>Horizontal offset of the control, relative to the parent tag (usually <linklinkend="Group">Group</link> or <linklinkend="Layout">Layout</link>).</para>
<para>Default value: 0</para>
<para>Default value: 0</para>
</sect4>
</sect4>
<sect4id="y">
<sect4id="y">
<title>y</title>
<title>y</title>
<para>Vertical offset of the control, relative to the parent tag (usually <linklinkend="Group">Group</link> or <linklinkend="Layout">Layout</link>).</para>
<para>Vertical offset of the control, relative to the parent tag (usually <linklinkend="Group">Group</link> or <linklinkend="Layout">Layout</link>).</para>
<para>Default value: 0</para>
<para>Default value: 0</para>
</sect4>
</sect4>
<sect4id="lefttop">
<sect4id="lefttop">
<title>lefttop</title>
<title>lefttop</title>
<para>Indicate to which corner of the Layout the top-left-hand corner of this control is attached, in case of resizing. Possible values are 'lefttop', 'leftbottom', 'righttop' and 'rightbottom'.</para>
<para>Indicate to which corner of the Layout the top-left-hand corner of this control is attached, in case of resizing. Possible values are 'lefttop', 'leftbottom', 'righttop' and 'rightbottom'.</para>
<para>Default value: lefttop</para>
<para>Default value: lefttop</para>
</sect4>
</sect4>
<sect4id="rightbottom">
<sect4id="rightbottom">
<title>rightbottom</title>
<title>rightbottom</title>
<para>Indicate to which corner of the Layout the bottom-right-hand corner of this control is attached, in case of resizing.</para>
<para>Indicate to which corner of the Layout the bottom-right-hand corner of this control is attached, in case of resizing.</para>
<para>Default value: lefttop</para>
<para>Default value: lefttop</para>
</sect4>
</sect4>
<sect4id="help">
<sect4id="help">
<title>help</title>
<title>help</title>
<para>Help text for the current control. The variable '$H' will be expanded to this value when the mouse hovers the current control (see <linklinkend="textvars">Text variables</link>).</para>
<para>Help text for the current control. The variable '$H' will be expanded to this value when the mouse hovers the current control (see <linklinkend="textvars">Text variables</link>).</para>
<para>Default value: </para>
<para>Default value: </para>
</sect4>
</sect4>
</sect3>
</sect3>
<sect3id="Image">
<sect3id="Image">
<title>Image</title>
<title>Image</title>
<para>Create a simple image. Particularly useful for backgrounds.</para>
<para>Create a simple image. Particularly useful for backgrounds.</para>
<para>See the <linklinkend="commattr">Common attributes</link>.</para>
<para>See the <linklinkend="commattr">Common attributes</link>.</para>
<sect4id="image">
<sect4id="image">
<title>image</title>
<title>image</title>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>.</para>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>.</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="resize">
<sect4id="resize">
<title>resize</title>
<title>resize</title>
<para>Since VLC 0.8.2. Specify the behaviour of the image when it is resized. Possible values are 'mosaic' (the image is repeated as many times as necessary to reach the wanted dimensions) and 'scale' (the image is actually rescaled). Beware that the 'scale' behaviour is much slower than the 'mosaic' one, so make sure to use it only when it's really needed.</para>
<para>Since VLC 0.8.2. Specify the behaviour of the image when it is resized. Possible values are 'mosaic' (the image is repeated as many times as necessary to reach the wanted dimensions) and 'scale' (the image is actually rescaled). Beware that the 'scale' behaviour is much slower than the 'mosaic' one, so make sure to use it only when it's really needed.</para>
<para>Default value: mosaic.</para>
<para>Default value: mosaic.</para>
</sect4>
</sect4>
<sect4id="imageaction">
<sect4id="imageaction">
<title>action</title>
<title>action</title>
<para>Action triggered by a click on the control. Possible values are "move", to move the window, or "resizeSE" (SE as in South-East ; other directions will be added in the future) to resize the window in the corresponding direction.</para>
<para>Action triggered by a click on the control. Possible values are "move", to move the window, or "resizeSE" (SE as in South-East ; other directions will be added in the future) to resize the window in the corresponding direction.</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
</sect3>
</sect3>
<sect3id="Button">
<sect3id="Button">
<title>Button</title>
<title>Button</title>
<para>Create a button.</para>
<para>Create a button.</para>
<para>See the <linklinkend="commattr">common attributes</link>.</para>
<para>See the <linklinkend="commattr">common attributes</link>.</para>
<sect4id="buttonup">
<sect4id="buttonup">
<title>up</title>
<title>up</title>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the button is up.</para>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the button is up.</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="buttondown">
<sect4id="buttondown">
<title>down</title>
<title>down</title>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the button is down.</para>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the button is down.</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
<sect4id="buttonover">
<sect4id="buttonover">
<title>over</title>
<title>over</title>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the mouse is over the button.</para>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the mouse is over the button.</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
<sect4id="buttonaction">
<sect4id="buttonaction">
<title>action</title>
<title>action</title>
<para>Action executed when the button is clicked. See <linklinkend="actions">Actions</link> for a list of possible actions.</para>
<para>Action executed when the button is clicked. See <linklinkend="actions">Actions</link> for a list of possible actions.</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
</sect3>
</sect3>
<sect3id="Checkbox">
<sect3id="Checkbox">
<title>Checkbox</title>
<title>Checkbox</title>
<para>Create a checkbox, i.e. a button with 2 states (checked/unchecked). So you need 6 images for a full-featured checkbox: each state has a basic image ('up' state), an image for the control being hovered by the mouse ('over' state) and an image corresponding to a click not yet released ('down' state). If you supply only the basic images, the other ones will be identical.</para>
<para>Create a checkbox, i.e. a button with 2 states (checked/unchecked). So you need 6 images for a full-featured checkbox: each state has a basic image ('up' state), an image for the control being hovered by the mouse ('over' state) and an image corresponding to a click not yet released ('down' state). If you supply only the basic images, the other ones will be identical.</para>
<para>See the <linklinkend="commattr">common attributes</link>.</para>
<para>See the <linklinkend="commattr">common attributes</link>.</para>
<sect4id="up1">
<sect4id="up1">
<title>up1</title>
<title>up1</title>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the checkbox is up in the first state.</para>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the checkbox is up in the first state.</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="down1">
<sect4id="down1">
<title>down1</title>
<title>down1</title>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the checkbox is down in the first state.</para>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the checkbox is down in the first state.</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
<sect4id="over1">
<sect4id="over1">
<title>over1</title>
<title>over1</title>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the mouse is over the checkbox in the first state.</para>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the mouse is over the checkbox in the first state.</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
<sect4id="up2">
<sect4id="up2">
<title>up2</title>
<title>up2</title>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the checkbox is up in the second state.</para>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the checkbox is up in the second state.</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="down2">
<sect4id="down2">
<title>down2</title>
<title>down2</title>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the checkbox is down in the second state.</para>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the checkbox is down in the second state.</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
<sect4id="over2">
<sect4id="over2">
<title>over2</title>
<title>over2</title>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the mouse is over the checkbox in the second state.</para>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the mouse is over the checkbox in the second state.</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
<sect4id="state">
<sect4id="state">
<title>state</title>
<title>state</title>
<para><linklinkend="boolexpr">Boolean expression</link> specifying the state of the checkbox: if the expression resolves to 'false', the first state will be used, and if it resolves to 'true' the second state will be used. Example for a checkbox showing/hiding a window whose <linklinkend="windowid">id</link> is "playlist_window": state="playlist_window.isVisible" (or state="not playlist_window.isVisible", depending on the states you chose).</para>
<para><linklinkend="boolexpr">Boolean expression</link> specifying the state of the checkbox: if the expression resolves to 'false', the first state will be used, and if it resolves to 'true' the second state will be used. Example for a checkbox showing/hiding a window whose <linklinkend="windowid">id</link> is "playlist_window": state="playlist_window.isVisible" (or state="not playlist_window.isVisible", depending on the states you chose).</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="action1">
<sect4id="action1">
<title>action1</title>
<title>action1</title>
<para>Action executed when the checkbox is clicked (state 1 to state 2). See <linklinkend="actions">Actions</link> for a list of possible actions.</para>
<para>Action executed when the checkbox is clicked (state 1 to state 2). See <linklinkend="actions">Actions</link> for a list of possible actions.</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
<sect4id="action2">
<sect4id="action2">
<title>action2</title>
<title>action2</title>
<para>Action executed when the checkbox is clicked (state 2 to state 1). See <linklinkend="actions">Actions</link> for a list of possible actions.</para>
<para>Action executed when the checkbox is clicked (state 2 to state 1). See <linklinkend="actions">Actions</link> for a list of possible actions.</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
<sect4id="tooltiptext1">
<sect4id="tooltiptext1">
<title>tooltiptext1</title>
<title>tooltiptext1</title>
<para>Tooltip associated with the checkbox in state 1. See also <linklinkend="textvars">Text variables</link>.</para>
<para>Tooltip associated with the checkbox in state 1. See also <linklinkend="textvars">Text variables</link>.</para>
<para>Default value: </para>
<para>Default value: </para>
</sect4>
</sect4>
<sect4id="tooltiptext2">
<sect4id="tooltiptext2">
<title>tooltiptext2</title>
<title>tooltiptext2</title>
<para>Tooltip associated with the checkbox in state 2. See also <linklinkend="textvars">Text variables</link>.</para>
<para>Tooltip associated with the checkbox in state 2. See also <linklinkend="textvars">Text variables</link>.</para>
<para>Default value: </para>
<para>Default value: </para>
</sect4>
</sect4>
</sect3>
</sect3>
<sect3id="Text">
<sect3id="Text">
<title>Text</title>
<title>Text</title>
<para>Control to display some text.</para>
<para>Control to display some text.</para>
<para>See the <linklinkend="commattr">common attributes</link>.</para>
<para>See the <linklinkend="commattr">common attributes</link>.</para>
<sect4id="textfont">
<sect4id="textfont">
<title>font</title>
<title>font</title>
<para>Identifiant of a <linklinkend="Font">Font</link> or <linklinkend="BitmapFont">BitmapFont</link> (beware that any character not present in the <linklinkend="BitmapFont">BitmapFont</link> will be printed as a space, so will be invisible).</para>
<para>Identifiant of a <linklinkend="Font">Font</link> or <linklinkend="BitmapFont">BitmapFont</link> (beware that any character not present in the <linklinkend="BitmapFont">BitmapFont</link> will be printed as a space, so will be invisible).</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="text">
<sect4id="text">
<title>text</title>
<title>text</title>
<para>Text to display. See <linklinkend="textvars">Text variables</link>.</para>
<para>Text to display. See <linklinkend="textvars">Text variables</link>.</para>
<para>Default value: </para>
<para>Default value: </para>
</sect4>
</sect4>
<sect4id="color">
<sect4id="color">
<title>color</title>
<title>color</title>
<para>Color of the text, using the #RRGGBB format.</para>
<para>Color of the text, using the #RRGGBB format.</para>
<para>Default value: #000000</para>
<para>Default value: #000000</para>
</sect4>
</sect4>
<sect4id="textwidth">
<sect4id="textwidth">
<title>width</title>
<title>width</title>
<para>Width of the text in pixels. If set to "0", the width is automatically calculated to fit with the current text.<!--XXX: Probably false...--></para>
<para>Width of the text in pixels. If set to "0", the width is automatically calculated to fit with the current text.<!--XXX: Probably false...--></para>
<para>Default value: 0</para>
<para>Default value: 0</para>
</sect4>
</sect4>
</sect3>
</sect3>
<sect3id="Slider">
<sect3id="Slider">
<title>Slider</title>
<title>Slider</title>
<para>Create a slider.</para>
<para>Create a slider.</para>
<para>See the <linklinkend="commattr">common attributes</link>.</para>
<para>See the <linklinkend="commattr">common attributes</link>.</para>
<sect4id="sliderup">
<sect4id="sliderup">
<title>up</title>
<title>up</title>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the slider cursor is up.</para>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the slider cursor is up.</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="sliderdown">
<sect4id="sliderdown">
<title>down</title>
<title>down</title>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the slider cursor is down.</para>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the slider cursor is down.</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
<sect4id="sliderover">
<sect4id="sliderover">
<title>over</title>
<title>over</title>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the mouse is over the slider cursor.</para>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used when the mouse is over the slider cursor.</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
<sect4id="sliderpoints">
<sect4id="sliderpoints">
<title>points</title>
<title>points</title>
<para>Points defining the <linklinkend="bezier">Bezier curve</link> followed by the slider cursor.</para>
<para>Points defining the <linklinkend="bezier">Bezier curve</link> followed by the slider cursor.</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
<sect4id="thickness">
<sect4id="thickness">
<title>thickness</title>
<title>thickness</title>
<para>Thickness of the slider curve. This attribute is used to determine whether the mouse is over the slider (hence whether a mouse click will have an effect on the cursor position).</para>
<para>Thickness of the slider curve. This attribute is used to determine whether the mouse is over the slider (hence whether a mouse click will have an effect on the cursor position).</para>
<para>Default value: 10</para>
<para>Default value: 10</para>
</sect4>
</sect4>
<sect4id="slidervalue">
<sect4id="slidervalue">
<title>value</title>
<title>value</title>
<para>Variable controlled by the slider. Recognized values are "volume" and "time" (only exception: the <linklinkend="Slider">Slider</link> defined inside the <linklinkend="Playlist">Playlist</link> tag does not need to set this attribute).</para>
<para>Variable controlled by the slider. Recognized values are "volume" and "time" (only exception: the <linklinkend="Slider">Slider</link> defined inside the <linklinkend="Playlist">Playlist</link> tag does not need to set this attribute).</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
<sect4id="slidertooltiptext">
<sect4id="slidertooltiptext">
<title>tooltiptext</title>
<title>tooltiptext</title>
<para>Tooltip associated with the slider. See also <linklinkend="textvars">Text variables</link>.</para>
<para>Tooltip associated with the slider. See also <linklinkend="textvars">Text variables</link>.</para>
<para>Default value: </para>
<para>Default value: </para>
</sect4>
</sect4>
</sect3>
</sect3>
<sect3id="RadialSlider">
<sect3id="RadialSlider">
<title>RadialSlider</title>
<title>RadialSlider</title>
<para>Create a circular slider from a list of images with the different possible positions.</para>
<para>Create a circular slider from a list of images with the different possible positions.</para>
<para>See the <linklinkend="commattr">common attributes</link>.</para>
<para>See the <linklinkend="commattr">common attributes</link>.</para>
<sect4id="sequence">
<sect4id="sequence">
<title>sequence</title>
<title>sequence</title>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link> containing the list of images of the different positions of the slider, concatenated vertically.</para>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link> containing the list of images of the different positions of the slider, concatenated vertically.</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="nbimages">
<sect4id="nbimages">
<title>nbimages</title>
<title>nbimages</title>
<para>Number of elementary images contained in the sequence.</para>
<para>Number of elementary images contained in the sequence.</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="minangle">
<sect4id="minangle">
<title>minangle</title>
<title>minangle</title>
<para>Minimum angle of the rotation, corresponging to 0%.</para>
<para>Minimum angle of the rotation, corresponging to 0%.</para>
<para>Default value: 0</para>
<para>Default value: 0</para>
</sect4>
</sect4>
<sect4id="maxangle">
<sect4id="maxangle">
<title>maxangle</title>
<title>maxangle</title>
<para>Maximum angle of the rotation, corresponging to 100%.</para>
<para>Maximum angle of the rotation, corresponging to 100%.</para>
<para>Default value: 360</para>
<para>Default value: 360</para>
</sect4>
</sect4>
<sect4id="radialslidervalue">
<sect4id="radialslidervalue">
<title>value</title>
<title>value</title>
<para>Variable controlled by the slider. Recognized values are "volume" and "time".</para>
<para>Variable controlled by the slider. Recognized values are "volume" and "time".</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
<sect4id="radialslidertooltiptext">
<sect4id="radialslidertooltiptext">
<title>tooltiptext</title>
<title>tooltiptext</title>
<para>Tooltip associated with the slider. See also <linklinkend="textvars">Text variables</link>.</para>
<para>Tooltip associated with the slider. See also <linklinkend="textvars">Text variables</link>.</para>
<para>Default value: </para>
<para>Default value: </para>
</sect4>
</sect4>
</sect3>
</sect3>
<sect3id="Video">
<sect3id="Video">
<title>Video</title>
<title>Video</title>
<para>Control containing a video. This allows skinable video outputs!</para>
<para>Control containing a video. This allows skinable video outputs!</para>
<note><para>this control is still under development and its behaviour may change a lot in the future.</para></note>
<note><para>this control is still under development and its behaviour may change a lot in the future.</para></note>
<sect4id="videowidth">
<sect4id="videowidth">
<title>width</title>
<title>width</title>
<para>Initial width of the control, in pixels.<!--XXX: cannot be deduced?--></para>
<para>Initial width of the control, in pixels.<!--XXX: cannot be deduced?--></para>
<para>Default value: 0</para>
<para>Default value: 0</para>
</sect4>
</sect4>
<sect4id="videoheight">
<sect4id="videoheight">
<title>height</title>
<title>height</title>
<para>Initial height of the control, in pixels.<!--XXX: cannot be deduced?--></para>
<para>Initial height of the control, in pixels.<!--XXX: cannot be deduced?--></para>
<para>Default value: 0</para>
<para>Default value: 0</para>
</sect4>
</sect4>
</sect3>
</sect3>
<sect3id="Playlist">
<sect3id="Playlist">
<title>Playlist</title>
<title>Playlist</title>
<para>Create a playlist. This tag must contain a <linklinkend="Slider">Slider</link> tag (to allow scrolling in the playlist).</para>
<para>Create a playlist. This tag must contain a <linklinkend="Slider">Slider</link> tag (to allow scrolling in the playlist).</para>
<para>See the <linklinkend="commattr">common attributes</link>.</para>
<para>See the <linklinkend="commattr">common attributes</link>.</para>
<sect4id="playlistwidth">
<sect4id="playlistwidth">
<title>width</title>
<title>width</title>
<para>Width of the playlist, in pixels. If playlist items are wider, the end of the name will be replaced with '...'.</para>
<para>Width of the playlist, in pixels. If playlist items are wider, the end of the name will be replaced with '...'.</para>
<para>Default value: 0</para>
<para>Default value: 0</para>
</sect4>
</sect4>
<sect4id="playlistheight">
<sect4id="playlistheight">
<title>height</title>
<title>height</title>
<para>Height of the playlist, in pixels.</para>
<para>Height of the playlist, in pixels.</para>
<para>Default value: 0</para>
<para>Default value: 0</para>
</sect4>
</sect4>
<sect4id="playlistfont">
<sect4id="playlistfont">
<title>font</title>
<title>font</title>
<para>Identifiant of a <linklinkend="Font">Font</link> tag.</para>
<para>Identifiant of a <linklinkend="Font">Font</link> tag.</para>
<para><emphasis>Required.</emphasis></para>
<para><emphasis>Required.</emphasis></para>
</sect4>
</sect4>
<sect4id="var">
<sect4id="var">
<title>var</title>
<title>var</title>
<para>Type of playlist. Currently, only "playlist" is recognized, so don't bother with this attribute :)</para>
<para>Type of playlist. Currently, only "playlist" is recognized, so don't bother with this attribute :)</para>
<para>Default value: playlist</para>
<para>Default value: playlist</para>
</sect4>
</sect4>
<sect4id="bgimage">
<sect4id="bgimage">
<title>bgimage</title>
<title>bgimage</title>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used as the background image. When no bitmap is specified, the background will be filled using the <linklinkend="bgcolor1">bgcolor1</link> and <linklinkend="bgcolor2">bgcolor2</link> attributes.</para>
<para>Identifiant of a <linklinkend="Bitmap">Bitmap</link>, used as the background image. When no bitmap is specified, the background will be filled using the <linklinkend="bgcolor1">bgcolor1</link> and <linklinkend="bgcolor2">bgcolor2</link> attributes.</para>
<para>Default value: none</para>
<para>Default value: none</para>
</sect4>
</sect4>
<sect4id="fgcolor">
<sect4id="fgcolor">
<title>fgcolor</title>
<title>fgcolor</title>
<para>Foreground color of the playlist items.</para>
<para>Foreground color of the playlist items.</para>
<para>Default value: #000000</para>
<para>Default value: #000000</para>
</sect4>
</sect4>
<sect4id="playcolor">
<sect4id="playcolor">
<title>playcolor</title>
<title>playcolor</title>
<para>Foreground color of the item currently played.</para>
<para>Foreground color of the item currently played.</para>
<para>Default value: #FF0000</para>
<para>Default value: #FF0000</para>
</sect4>
</sect4>
<sect4id="selcolor">
<sect4id="selcolor">
<title>selcolor</title>
<title>selcolor</title>
<para>Background color of selected items.</para>
<para>Background color of selected items.</para>
<para>Default value: #0000FF</para>
<para>Default value: #0000FF</para>
</sect4>
</sect4>
<sect4id="bgcolor1">
<sect4id="bgcolor1">
<title>bgcolor1</title>
<title>bgcolor1</title>
<para>Background color for odd playlist items. This attribute is ignored if the <linklinkend="bgimage">bgimage</link> one is used.</para>
<para>Background color for odd playlist items. This attribute is ignored if the <linklinkend="bgimage">bgimage</link> one is used.</para>
<para>Default value: #FFFFFF</para>
<para>Default value: #FFFFFF</para>
</sect4>
</sect4>
<sect4id="bgcolor2">
<sect4id="bgcolor2">
<title>bgcolor2</title>
<title>bgcolor2</title>
<para>Background color for even playlist items. This attribute is ignored if the <linklinkend="bgimage">bgimage</link> one is used.</para>
<para>Background color for even playlist items. This attribute is ignored if the <linklinkend="bgimage">bgimage</link> one is used.</para>