A window is viewable if it and all of its ancestors are mapped.
This does not imply that any portion of the window is actually
visible. Graphics requests can be performed on a window when it is not
viewable, but output will not be retained unless the server is
maintaining backing store.
A region of a window is visible if someone looking at the
screen can actually see it; that is, the window is viewable and the
region is not occluded by any other window.