03.01.2013 Views

Chapter 1

Chapter 1

Chapter 1

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Figure 4.1<br />

At the bottom is the GDI, which defines the drawing primitives and everything necessary to<br />

achieve device-independent drawing. The GDI is an entirely abstract component that has to<br />

be implemented in various contexts – for on-screen pixel graphics, for instance, or in a<br />

printer driver. I'll be covering the main drawing functions defined by the GDI in <strong>Chapter</strong> 11,<br />

and its support for device-independent drawing in <strong>Chapter</strong> 15.<br />

The BITGDI handles optimized rasterizing and bit blitting for on- screen windows and offscreen<br />

bitmaps. The font and bitmap server (FBS) manages fonts and bitmaps – potentially<br />

large graphics entities – for optimal space efficiency.<br />

Support for user interaction starts with the window server, which manages the screen,<br />

pointer or other navigation device, and any keypad or keyboard on behalf of all GUI<br />

programs within the system. It shares these devices according to windowing conventions<br />

that are easily understood by the average end user. A standard window is represented in the<br />

client application programming interface API by the RWindow class.<br />

The window server is a single server process that provides a basic API for client applications<br />

to use. CONE, the control environment, runs in each application process and works with the<br />

window server's client-side API, to allow different parts of an application to share windows,<br />

key and pointer events. A fundamental abstract class delivered by CONE is CCoeControl,a<br />

control, which is a unit of user interaction that uses any combination of screen, keyboard,<br />

and pointer. Many controls can share a single window. Concrete control types are derived<br />

from CCoeControl.<br />

CONE doesn't provide any concrete controls: that's the job of Uikon, the system GUI, and<br />

any UI-specific layer, such as Qikon. Together, they specify a standard look-and-feel, and<br />

provide reusable controls and other classes that implement that look-and-feel.<br />

4.3 Application Structure<br />

By studying the code and the execution of the GUI version of 'Hello world!', we'll begin to<br />

understand how Symbian OS GUI applications fit together, using the frameworks provided<br />

by Uikon and the application architecture (APPARC).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!