The Window Server provides a low-level API to the system’s user interface devices — screen, keyboard and pointer. However, the Window Server API provides too much generality for most applications, and one purpose of the UI Control Framework is to simplify the interface by removing some of this generality.
As an example, all Window Server clients must create a Window Server
session, active objects, and an active scheduler to receive events from the
Window Server. Events received by the client must be channelled to the correct
window, and converted into function calls for event handling. This requires
complex code which is the same for almost all applications. The control
framework therefore implements this within the CCoeEnv
class, and
control framework applications have only to use the interface provided by
CCoeEnv
, which is much simpler than using the Window Server API
directly.
The framework also maintains objects for accessing the drawing functions, fonts, and resource files which are used by most applications.