Z-order
From Wikipedia, the free encyclopedia
- This article is about a graphical user interface concept; for the space filling curve, see Z-order (curve)
Z-order is an ordering of overlapping two-dimensional objects, such as windows in a graphical user interface (GUI) or shapes in a vector graphics editor. One of the features of a typical GUI is that windows may overlap, so that one window hides part or all of another. When two windows overlap, their Z-order determines which one appears on top of the other.
The term "Z-order" refers to the order of objects along the Z-axis. In coordinate geometry, X typically refers to the horizontal axis, Y to the vertical axis, and Z to the axis perpendicular to the other two. One can think of the windows in a GUI as a series of planes parallel to the surface of the monitor. The windows are therefore stacked along the Z-axis, and the Z-order information thus specifies the front-to-back ordering of the windows on the screen.
It is important to note that three-dimensional objects cannot usually be ordered in this way. For example, it is possible to arrange three pencils on a table so that each pencil point is on top of another pencil's eraser. None of the pencils is strictly "on top" of all the others because they all overlap each other. This does not happen with GUI windows; since every window is parallel to the screen, every point within the window is at the same depth as all the others. Windows, therefore, can be stacked in a definite order.
Typically, users of a GUI can affect the Z-order by selecting a window to be brought to the foreground (that is, "above" or "in front of" all the other windows). Some window managers allow interaction with windows while they are not in the foreground, while others will bring a window to the front whenever it receives input from the user. It is also possible for special windows to be designated "always on top"; these are then fixed to the top of the Z-order so that (with few exceptions) no other window can overlap them.
When dealing with visual objects on a computer screen, an object with a Z-order of 1 would be visually 'underneath' an object with a Z-order of 2 or greater. This is the same as making 'layers' of objects where the Z-order determines what object is on top of another. An HTML page can use the DIV element specify the Z-order so that some objects can be layered overtop others.