Links |
---|
Frame provides four functions to control the Frame Level, a z-axis coordinate to position frames in front of each other within an existing Frame Strata.
- GetFrameLevel() returns the current value
- SetFrameLevel() manually defines any value from 0 to 10000
- Raise() moves the frame ahead of others within the same strata
- Lower() moves the frame behind others within the same strata
frameLevel = frame:GetFrameLevel() frame:SetFrameLevel(frameLevel) frame:Raise() frame:Lower()
Attribute
- frameLevel
- number - Z-axis coordinate between 0 and 10000, within the larger Frame Strata.
Details
- Raise() elevates the frame to a level that puts it ahead of others, while Lower() does the opposite
- Creating two frames, and calling Raise() on each, will result in one being higher depending which was called last
- By default, every frame is drawn just in front of its parent (if it has one); so usually
child:GetFrameLevel() == parent:GetFrameLevel() + 1
- Level has no impact on frames in different strata.
- SetFrameLevel() is equivalent to the XML attribute in <Frame frameLevel="">
Patch changes
Patch 7.0.3 (2016-07-19): May be manually set to any value from 0 to 10000.[1]
See also
References
- ^ TheDanW 2016-07-20. IRC log for #wowuidev. “(17:49.46) With 7.0.3, frame levels will no longer change automatically.... (17:59.34) [They] used to "compress" which caused all sorts of weird behaviour, like just the ordering of creating child frames could adjust your frame levels differently. (18:00.07) [They] now always stay what you set them to, and always sort correctly using that frame level”