The Bitmaps API provides concrete implementations for bitmap devices of the abstract drawing device and context interfaces defined in the Graphics API. These are normally only directly accessed by applications to draw to in-memory bitmaps. Applications access the screen itself through the window server.
The API also provides handling of bitmaps themselves. These are stored for fast access in a shared-memory heap and are directly accessible to all graphics programs, and the window server. The font and bitmap server manages sharing of fonts and bitmaps between clients, though the client/server access is hidden by the API.
The API has four key concepts: bitmap graphics context
(CGraphicsContext
), bitmap graphics
device (CBitmapDevice
), bitmap (CFbsBitmap
), and
bitmap utilities (TBitmapUtil
).
This specialises a graphics context
(CGraphicsContext
) for bitmaps graphics. It provides additional
operations for clearing and copying rectangular areas, and bitmap block
transfer.
The abstract interface is defined by CBitmapContext
.
The Window Server Client-Side API provides one implementation,
CWindowGc
, used for screen drawing. Another implementation,
CFbsBitGc
, is used for drawing to in-memory bitmaps.
This specialises a graphics device (CGraphicsDevice
)
for bitmaps graphics.
The abstract interface is defined by CBitmapDevice
.
The Window Server Client-Side API provides one implementation,
CWsScreenDevice
, for screen drawing. Another implementation,
CFbsBitmapDevice
, is used for drawing to in-memory bitmaps. A
third, CFbsScreenDevice
, is used (rarely) to access the screen
directly, without the mediation of the window server.
The CFbsBitmap
class provides facilities for creating, loading,
saving, and resizing bitmaps. It is used to encapsulate bitmaps in all graphics
operations. Bitmaps are commonly either loaded from a multi-bitmap file
(.mbm
) file, or created and drawn to off-screen, and then blitted
to a window.
Note that the CFbsBitmap
format is internal to Symbian, but the Image Converter API can be used to convert them to standard formats.