The ComponentLayer of an Component instance indicates its relative stacking order with respect to the onscreen visual representation of the UI.
ComponentLayer, in combination with Component bounds
information, can be used to compute the visibility of all or part of a component. This is important in programmatic determination of
region-of-interest for magnification, and in flat screen review models of the screen, as well as for other uses. Objects residing in two
of the ComponentLayer categories support further z-ordering information, with respect to their peers in the same
layer: namely, ATSPI_LAYER_WINDOW
and ATSPI_LAYER_MDI
. Relative stacking order for other objects within the
same layer is not available; the recommended heuristic is first child paints first. In other words, assume that the first siblings in the
child list are subject to being overpainted by later siblings if their bounds intersect. The order of layers, from bottom to top, is:
ATSPI_LAYER_BACKGROUND
, ATSPI_LAYER_WINDOW
, ATSPI_LAYER_MDI
, ATSPI_LAYER_CANVAS
,
ATSPI_LAYER_WIDGET
, ATSPI_LAYER_POPUP
, and ATSPI_LAYER_OVERLAY
.