WoW:How the user interface is rendered: Difference between revisions

m
no edit summary
No edit summary
mNo edit summary
Line 1: Line 1:
== Page Composition ==
(Posted in the WoW UI Forum by Slouken on 2005-05-26)
(Posted in the WoW UI Forum by Slouken on 2005-05-26)


Line 6: Line 8:


  The actual strata, according to UI.xsd are: PARENT,BACKGROUND,LOW,MEDIUM,HIGH,DIALOG,FULLSCREEEN,FULLSCREEN_DIALOG,TOOLTIP
  The actual strata, according to UI.xsd are: PARENT,BACKGROUND,LOW,MEDIUM,HIGH,DIALOG,FULLSCREEEN,FULLSCREEN_DIALOG,TOOLTIP
Note that PARENT is a 'compile time' only strata, and doesn't exist at runtime, use GetFrameStrata at runtime.


Within a strata, each frame has a frame level, which determines the order in which it is rendered. The optimal layout is to have all frames in the same strata at the same frame level, since they can be batched and rendered at the same time. When a "toplevel" frame is clicked on, it is raised above other frames in the strata.
Within a strata, each frame has a frame level, which determines the order in which it is rendered. The optimal layout is to have all frames in the same strata at the same frame level, since they can be batched and rendered at the same time. When a "toplevel" frame is clicked on, it is raised above other frames in the strata.
Line 17: Line 20:
I hope that helps!
I hope that helps!


[[Category:Interface Customization]]
== Event/Update Ordering ==
(This part's just provided by me, based on in-game observation and information from slouken)
 
Each time the screen is re-rendered (i.e. each Frame, in the FPS sense), the process runs as follows:
 
1. Handle pending UI Events, Key presses, Mouse Clicks.
2. Execute OnUpdate on each visible Frame with a handler.
3. Repaint UI over the top of the game world.
 
The most important part of this is that OnUpdates happen right before painting the UI, so you can defer making rendering decisions until them without any visible impact.
 
 
[[Category:UI Technical Details]]
Anonymous user