WoW:XML/Anchor: Difference between revisions

958 bytes added ,  12 August 2022
Line 53: Line 53:
* point ([[XML/FRAMEPOINT|FRAMEPOINT]])
* point ([[XML/FRAMEPOINT|FRAMEPOINT]])


For a frame corner, a 'point' of 'TOPLEFT' refers to the top left corner of the of the layout frame the anchor is defined on. For an edge like 'LEFT', the center of that edge is considered to be the actual anchor point of the layout frame the anchor is defined on, if no other anchors overriding the verticle axis are defined.
Defines where in this layout frame that it should be anchored. For example, a value of 'TOPLEFT' refers to the top left corner of the of this layout frame. For an edge, 'LEFT' for example, the center of that edge is considered to be the actual anchor point, if no other anchors additionally overriding the layout frames vertical axis are defined.


The 'relativePoint' defines where, on another layout frame, to place a particular 'point' of the layout frame itself.
The 'relativePoint' defines where, on another layout frame, to place a particular 'point' of the layout frame itself.
Line 59: Line 59:
* relativePoint ([[XML/FRAMEPOINT|FRAMEPOINT]])
* relativePoint ([[XML/FRAMEPOINT|FRAMEPOINT]])


For this to matter, another layout frame must be cited using 'relativeTo' or 'relativeKey', which contains the relative point to which this frames 'point' is being anchored to.
Defines this anchor's relative position on the 'relative frame'. By default, the anchor will attach to the same point on the relative frame as defined by 'point'. So, if 'point' is set to 'LEFT', then by default the anchor will also attach to the left side of the relative frame. If 'relativePoint' is set however, it overrides the default behavior. So if 'relativePoint' set to 'RIGHT', then the left side of this layout frame, in this example, will instead anchor to the right side of the relative frame.  


* relativeTo (string)
* relativeTo (string)
* relativeKey (string)
* relativeKey (string)


The 'relativeTo' is the name of a frame to use for the 'relativePoint'. Alternativley, the 'relativeKey' is the name of a runtime Lua variable that contains a reference to the layout frame to be used for the 'relativePoint'. If 'relativeTo' is defined, then 'relativeKey' will be ignored.
These define which other 'layout frame' this anchor is relative to. By default, all layout frames are relative to their parent. If either of these are set, then it overrides the relative layout frame with respect to this anchor point. Different anchors can also have different relative layout frames, such that a texture could automatically stretch across two different other layout frames.
 
The 'relativeTo' is the global name of a frame to use for the 'relativePoint'. Alternatively, the 'relativeKey' is the name of a runtime Lua variable on this layout frame's parent, that contains a reference to the layout frame to be used for the 'relativePoint'. Using 'parentKey' elsewhere is a way to define these values for 'realtiveKey'. If 'relativeTo' is defined, then 'relativeKey' will be ignored. See the 'parentKey' attribute in [[XML/LayoutFrame]] as one of the many ways to set this value.


=== Layouts ===
=== Layouts ===