49
edits
(→Elements: Fixed "FonstString" typos) |
m (→Attributes) |
||
| Line 3: | Line 3: | ||
A [[XML/Layer|Layer]] is a fundamental UI building block for defining visible UI elements of [[XML/Frame|Frames]]. A Layer is an element of an [[XML/Layers|Layers]] array defined in a [[XML/Frame|Frame]]. Layer XML elements, as a part of [[XML/Layers|Layers]] array, can be defined on any [[XML/Frame|Frame]], which includes elements like [[XML/Button|Buttons]] and [[XML/CheckButton|CheckButtons]]. | A [[XML/Layer|Layer]] is a fundamental UI building block for defining visible UI elements of [[XML/Frame|Frames]]. A Layer is an element of an [[XML/Layers|Layers]] array defined in a [[XML/Frame|Frame]]. Layer XML elements, as a part of [[XML/Layers|Layers]] array, can be defined on any [[XML/Frame|Frame]], which includes elements like [[XML/Button|Buttons]] and [[XML/CheckButton|CheckButtons]]. | ||
==Inheritance== | == Inheritance == | ||
Inherited by: none, Inherits: none, Defined in: [[XML/Frame|Frame]] > [[XML/Layers|Layers]] | Inherited by: none, Inherits: none, Defined in: [[XML/Frame|Frame]] > [[XML/Layers|Layers]] | ||
==Elements== | == Elements == | ||
* [[XML/Texture|Texture]] ... - 0 or more Textures to be rendered in the Layer | * [[XML/Texture|Texture]] ... - 0 or more Textures to be rendered in the Layer | ||
* [[XML/FontString|FontString]] ... - 0 or more FontStrings to be rendered in the Layer | * [[XML/FontString|FontString]] ... - 0 or more FontStrings to be rendered in the Layer | ||
==Attributes== | == Attributes == | ||
* level ([[XML/DRAWLAYER|DRAWLAYER]]) - Layer level in 'Z order'. Default is 'ARTWORK'. | * level ([[XML/DRAWLAYER|DRAWLAYER]]) - Layer level in 'Z order'. Default is 'ARTWORK'. | ||
* textureSubLevel (int) - | * textureSubLevel (int) - sub-level of 'level' for textures. Range of -8 .. 7. Default is '0'. | ||
== Summary == | == Summary == | ||
| Line 18: | Line 18: | ||
=== Example === | === Example === | ||
<[[XML/Frame|Frame]] name="MyFrame"> | |||
<Layers> | |||
<Layer> | |||
<[[XML/Texture|Texture]]> | |||
<Size x="100" y="100" /> | |||
<HitRectInsets> | |||
<[[XML/AbsInset|AbsInset]] left="0" right="-100" top="0" bottom="0"/> | |||
</HitRectInsets> | |||
<Color a="1" r="1" g="1" b="1" /> | |||
</Texture> | |||
<Texture> | |||
<Size x="100" y="100" /> | |||
<Color a="1" r="1" g="1" b="1" /> | |||
</Texture> | |||
</Layer> | |||
</Layers> | |||
</Frame> | |||
This example will show a frame with a single default layer, displaying two textures. | This example will show a frame with a single default layer, displaying two textures. | ||
== Details == | == Details == | ||
=== level === | |||
There are 3 main levels of layer: BACKGROUND is in the back, ARTWORK is in the middle, and OVERLAY is in front. If you want to be sure that a object is before another, you must specify the level where you want to place it. | |||
* BACKGROUND - Level 0. Place the background of your frame here. | |||
* BORDER - Level 1. Place the border of your frame here. | |||
* ARTWORK - Level 2. Place the artwork of your frame here. | |||
* OVERLAY - Level 3. Place your text, objects, and buttons in this level. | |||
* HIGHLIGHT - Level 4. Special layer that only shows on mouseover. | |||
Elements in the 'HIGHLIGHT' Layer are automatically shown or hidden when the mouse enters or leaves. For Highlighting to work you need 'enableMouse="true"' in your <nowiki><Frame></nowiki> attributes. | |||
Layer can be set on creation using the [[XML_properties#layers|<nowiki><Layers></nowiki>]] tag in XML, or the "layer" parameter in [[API Frame CreateTexture|Frame:CreateTexture]](). To change the layer after creation, use the [[API LayeredRegion SetDrawLayer|LayeredRegion:SetDrawLayer]]() function. | |||
<Layers> | |||
<Layer level="BACKGROUND"> | |||
... | ... | ||
</Layer> | |||
<Layer level="ARTWORK"> | |||
... | ... | ||
</Layer> | |||
<Layer level="OVERLAY"> | |||
... | ... | ||
</Layer> | |||
</Layers> | |||
=== textureSubLevel === | |||
This allows for fine tuning order of Textures in a Layer. FontStrings are always drawn on top of Textures at the same Level, so this only applies to Textures. | |||
== External links == | |||
* [//www.wowinterface.com/forums/showthread.php?t=37051 wowInterface forums] - discussion on Layer mechanics for patch 4.0 and newer | |||