NavigationCy/VOS
Wiki Users |
Plan /
LayerGUIAuthors: Chani, Telcontar IntroductionLayerGUI is the concept that describes the layered set of services that make up graphical user interaction in Cy/VOS. In its fullest sense, LayerGUI will provide software with an adaptable and flexible graphical rendition of Universal Interface on any hardware. The low-level window manager will be responsible for managing the layout of the screen and the appearance will be rendered using Interface PostScript. The user window environment will be responsible for the decisions made in how to draw and arrange windows and their content. Like UNIX (and to an extent, Symbian OS), the graphical interface will be separate from the kernel and an optional part of the operating system, allowing it to supplement the system but not creating a dependence upon it. The GUI will be based on Cy/VOS's internal message passing API, and will be formed of a heirarchical set of standardized interfaces serviced by pluggable components. The windowing system will act as a Universal Interface dispatch binding, set up by the Session Manager, for interactive processes to forward their interaction requests to. Cy/VOS will not necessarily have an "official" GUI, since it is designed to target many platforms with radically different capabilities, but the APIs should be the same (although, since it's built in hierarchical levels, some devices may support more levels than others). ImplementationThe current plan for the Cy/VOS GUI is a stack of layers. Each layer builds atop the layer below it, although the layers do not necessarily stack all the way up. The following layers are defined: Layer 0Layer 0 is so named because it is not actually a part of the GUI at all, but a set of core OS components used to support the GUI. Layer 0 consists of the following:
Layer 1Layer 1 of the GUI is designed to support the following:
Layer 2Layer 2 of the GUI is designed for the following:
Layer 3Layer 3 of the GUI is responsible for the following:
(Note that some of the ordering above is inconsistent with Universal Interface and Interface PostScript and overlaps other ideas. Because the original LayerGUI description predates these newer concepts it remains to be decided which order prevails.) The following programs are currently suggested for implementing the different layers:
|