class CFbsDevice : public CBitmapDevice |
Abstract base class for graphics devices to which bitmaps and fonts can be drawn.
The class implements the pure virtual CBitmapDevice functions and additionally provides:
support for creating and enquiring about fonts
comparing two device rectangles
creating a graphics context for the device.
CFbsBitmapDevice and CFbsScreenDevice are derived fom this class.
Protected Member Functions | |
---|---|
CFbsDevice() | |
void | CancelSprite() |
void | DoGetScanLine(TDes8 &, const TPoint &, TInt, TDisplayMode) |
void | DrawingBegin(TBool) |
void | DrawingBegin(const CFbsBitmap *, TBool) |
void | DrawingEnd(TBool) |
void | DrawingEnd(const CFbsBitmap *, TBool) |
TInt | GetNearestFbsFont(CFbsFont *&, const TFontSpec &) |
TSpriteBase * | HideSprite() |
TSpriteBase * | HideSprite(const TRect &, const TRegion *) |
void | ReadLineDiffMode(TInt, TInt, TInt, TAny *, TDisplayMode) |
void | SetBits() |
TBool | SetOrientation(CFbsBitGc::TGraphicsOrientation) |
void | ShowSprite(TSpriteBase *) |
void | ShowSprite(TSpriteBase *, const TRect &, const TRegion *) |
void | TruncateRect(TRect &) |
IMPORT_C | ~CFbsDevice | ( | ) |
Frees all resources owned by the object prior to its destruction.
IMPORT_C TInt | AddFile | ( | const TDesC & | aName, |
TInt & | aId | |||
) | [virtual] |
Adds a font file to the device's typeface store. The specified font file must be accessible to any process, i.e. not located inside an application's private directory.
void | CancelSprite | ( | ) | const [protected, inline, virtual] |
This method has been deprecated. Sprites are no longer supported in BitGDI. Calling this method has no effect.
IMPORT_C TInt | CreateContext | ( | CFbsBitGc *& | aGc | ) |
Creates a font and bitmap server graphics context for the device and activates it.
It is the responsibility of the caller to delete the graphics context when it is no longer needed.
CFbsBitGc *& aGc | On return, contains a pointer to the graphics context. |
TInt | CreateContext | ( | CGraphicsContext *& | aGc | ) | [inline, virtual] |
Creates a font and bitmap server graphics context for the device and activates it.
It is the responsibility of the caller to delete the graphics context when it is no longer needed.
CGraphicsContext *& aGc | On return, contains a pointer to the graphics context. |
IMPORT_C TDisplayMode | DisplayMode16M | ( | ) | [static] |
Depending on the current graphics hardware this will return one of the 16M video modes defined in TDisplayMode, or ENone if a 16M video mode is not supported. TDisplayMode
void | DoGetScanLine | ( | TDes8 & | aBuf, |
const TPoint & | aPixel, | |||
TInt | aLength, | |||
TDisplayMode | aDispMode | |||
) | [protected] |
The method gets a scanline and puts the scanline data into aBuf.
TDes8 & aBuf | The destination buffer. It should be with enough length to collect requested scanline data. |
const TPoint & aPixel | The first pixel of the requested scanline data |
TInt aLength | The length in pixels of requested data |
TDisplayMode aDispMode | requested scanline should be converted regarding aDispMode parameter |
void | DrawingBegin | ( | TBool | = EFalse | ) | [protected, inline, virtual] |
TBool = EFalse |
void | DrawingBegin | ( | const CFbsBitmap * | aBitmap, |
TBool | aAlways = EFalse | |||
) | [protected] |
An overloaded version of DrawingBegin(TBool). Similarly to that method, calls to DrawingBegin(const CFbsBitmap*, TBool) must be paired with a subsequent call to DrawingEnd(const CFbsBitmap*, TBool). Also, code must not leave between a DrawingBegin(const CFbsBitmap*, TBool) - DrawingEnd(const CFbsBitmap*, TBool) pair. CFbsBitmapDevice::DrawingBegin()
const CFbsBitmap * aBitmap | An additional parameter compared to the basic overload. aBitmap is a pointer to a CFbsBitmap object to be frozen. If a null pointer is given then the method panics. |
TBool aAlways = EFalse | Not used. |
void | DrawingEnd | ( | TBool | = EFalse | ) | [protected, inline, virtual] |
TBool = EFalse |
void | DrawingEnd | ( | const CFbsBitmap * | aBitmap, |
TBool | aAlways = EFalse | |||
) | [protected] |
This must always be called after DrawingBegin(const CFbsBitmap*, TBool). Like DrawingBegin(const CFbsBitmap*, TBool) it will panic in debug builds if passed a null pointer. CFbsBitmapDevice::DrawingEnd()
const CFbsBitmap * aBitmap | A pointer to a CFbsBitmap object to be unfrozen. |
TBool aAlways = EFalse | Not used. |
IMPORT_C TInt | FontHeightInPixels | ( | TInt | aTypefaceIndex, |
TInt | aHeightIndex | |||
) | const [virtual] |
Gets the height, in pixels, of the specified typeface at one of its defined heights.
This is an implementation of CBitMapDevice::FontHeightInPixels().
IMPORT_C TInt | FontHeightInTwips | ( | TInt | aTypefaceIndex, |
TInt | aHeightIndex | |||
) | const [virtual] |
Gets the height of a font in twips.
This is an implementation of CGraphicsDevice::FontHeightInTwips().
IMPORT_C void | GetDrawRect | ( | TRect & | aRect | ) | const |
Gets logical coordinates of the drawing rectangle. If the device is not scaled, logocal coordinates of the drawing rectangle are the same as its physical coordinates.
TRect & aRect | Upon return aRect contains drawing rectangle logical coordinates. |
IMPORT_C TInt | GetFontById | ( | CFont *& | aFont, |
TUid | aFileId, | |||
const TAlgStyle & | aStyle | |||
) |
Gets a specific bitmap font, identified by its UID, from the device's typeface store.
When the font is no longer needed, call ReleaseFont().
TInt | GetFontById | ( | CFbsFont *& | aFont, |
TUid | aFileId, | |||
const TAlgStyle & | aStyle | |||
) | [inline] |
Gets a specific bitmap font, identified by its UID, from the device's typeface store.
When the font is no longer needed, call ReleaseFont().
TInt | GetNearestFbsFont | ( | CFbsFont *& | aFont, |
const TFontSpec & | aFontSpec | |||
) | [protected] |
IMPORT_C TInt | GetNearestFontInPixels | ( | CFont *& | aFont, |
const TFontSpec & | aFontSpec | |||
) | [virtual] |
Creates a client-side font from those available in the device's typeface store that most closely matches a font specification.
When the font is no longer needed, call ReleaseFont().
Note that this deprecated function is replaced by the new GetNearestFontToDesignHeightInPixels() yielding (virtually) the same result. However clients are strongly encouraged to use the new GetNearestFontToMaxHeightInPixels() function instead. This will guarantee that every character within any given text string will fit within the given amount of pixels, whereas the design height is an aesthetic unit decided by the font designer without strict physical meaning, which may result in cropped characters.
TInt | GetNearestFontInPixels | ( | CFbsFont *& | aFont, |
const TFontSpec & | aFontSpec | |||
) | [inline] |
Creates a client-side FBSERV font from those available in the device's typeface store that most closely matches a font specification.
When the font is no longer needed, call ReleaseFont().
This function is replaced by GetNearestFontToDesignHeightInPixels().
IMPORT_C TInt | GetNearestFontInTwips | ( | CFont *& | aFont, |
const TFontSpec & | aFontSpec | |||
) | [virtual] |
Provides access to a client-side font object in the device's typeface store that most closely matches a font specification.
When the font is no longer needed, call ReleaseFont().
Note that this deprecated function is replaced by the new GetNearestFontToDesignHeightInTwips() yielding (virtually) the same result. However clients are strongly encouraged to use the new GetNearestFontToMaxHeightInTwips() function instead. This will guarantee that every character within any given text string will fit within the given amount of twips, whereas the design height is an aesthetic unit decided by the font designer without strict physical meaning, which may result in cropped characters.
TInt | GetNearestFontInTwips | ( | CFbsFont *& | aFont, |
const TFontSpec & | aFontSpec | |||
) | [inline] |
Creates a client-side FBSERV font from those available in the device's typeface store that most closely matches a font specification.
When the font is no longer needed, call ReleaseFont().
This function is replaced by GetNearestFontToDesignHeightInTwips().
IMPORT_C TInt | GetNearestFontToDesignHeightInPixels | ( | CFont *& | aFont, |
const TFontSpec & | aFontSpec | |||
) | [virtual] |
Creates a client-side font from those available in the device's typeface store that most closely matches a font specification.
When the font is no longer needed, call ReleaseFont().
This new function replaces the deprecated GetNearestFontInPixels() yielding (virtually) the same result. However clients are strongly encouraged to use the new GetNearestFontToMaxHeightInPixels() function instead. This will guarantee that every character within any given text string will fit within the given amount of pixels, whereas the design height is an aesthetic unit decided by the font designer without strict physical meaning, which may result in cropped characters.
TInt | GetNearestFontToDesignHeightInPixels | ( | CFbsFont *& | aFont, |
const TFontSpec & | aFontSpec | |||
) | [inline] |
Creates a client-side FBSERV font from those available in the device's typeface store that most closely matches a font specification.
When the font is no longer needed, call ReleaseFont().
This function replaces GetNearestFontInPixels().
IMPORT_C TInt | GetNearestFontToDesignHeightInTwips | ( | CFont *& | aFont, |
const TFontSpec & | aFontSpec | |||
) | [virtual] |
Creates a client-side font from those available in the device's typeface store that most closely matches a font specification.
When the font is no longer needed, call ReleaseFont().
This new function replaces the deprecated GetNearestFontInTwips() yielding (virtually) the same result. However clients are strongly encouraged to use the new GetNearestFontToMaxHeightInTwips() function instead. This will guarantee that every character within any given text string will fit within the given amount of twips, whereas the design height is an aesthetic unit decided by the font designer without strict physical meaning, which may result in cropped characters.
TInt | GetNearestFontToDesignHeightInTwips | ( | CFbsFont *& | aFont, |
const TFontSpec & | aFontSpec | |||
) | [inline] |
Creates a client-side FBSERV font from those available in the device's typeface store that most closely matches a font specification.
When the font is no longer needed, call ReleaseFont().
This function replaces GetNearestFontInTwips().
IMPORT_C TInt | GetNearestFontToMaxHeightInPixels | ( | CFont *& | aFont, |
const TFontSpec & | aFontSpec, | |||
TInt | aMaxHeight | |||
) | [virtual] |
Creates a client-side font from those available in the device's typeface store that most closely matches a font specification.
When the font is no longer needed, call ReleaseFont().
The font and bitmap server returns a pointer to the nearest matching font from those available. Matches to max height of font - this does its best to return a font that will fit within the maximum height specified (but note that variations due to hinting algorithms may rarely result in this height being exceeded by up to one pixel). Problems can also be encountered with bitmap fonts where the typeface exists but doesn't have a font small enough.
CFont *& aFont | On return, the pointer is set to point to the device font which most closely approximates to the required font specification. |
const TFontSpec & aFontSpec | An absolute font specification. |
TInt aMaxHeight | The maximum height in pixels within which the font must fit - this overrides the height specified in aFontSpec. If maximum height is greater than 1024 pixels, the function returns KErrTooBig. And returns KErrArgument if equals to 1 pixel. |
TInt | GetNearestFontToMaxHeightInPixels | ( | CFbsFont *& | aFont, |
const TFontSpec & | aFontSpec, | |||
TInt | aMaxHeight | |||
) | [inline] |
Creates a client-side FBSERV font from those available in the device's typeface store that most closely matches a font specification.
When the font is no longer needed, call ReleaseFont().
The font and bitmap server returns a pointer to the nearest matching font from those available. Matches to max height of font - this does its best to return a font that will fit within the maximum height specified (but note that variations due to hinting algorithms may rarely result in this height being exceeded by up to one pixel). Problems can also be encountered with bitmap fonts where the typeface exists but doesn't have a font small enough.
CFbsFont *& aFont | On return, the pointer is set to point to the device font which most closely approximates to the required font specification. |
const TFontSpec & aFontSpec | An absolute font specification. |
TInt aMaxHeight | The maximum height in pixels within which the font must fit - this overrides the height specified in aFontSpec. |
IMPORT_C TInt | GetNearestFontToMaxHeightInTwips | ( | CFont *& | aFont, |
const TFontSpec & | aFontSpec, | |||
TInt | aMaxHeight | |||
) | [virtual] |
Creates a client-side font from those available in the device's typeface store that most closely matches a font specification.
When the font is no longer needed, call ReleaseFont().
The font and bitmap server returns a pointer to the nearest matching font from those available. Matches to max height of font - this does its best to return a font that will fit within the maximum height specified (but note that variations due to hinting algorithms may rarely result in this height being exceeded by up to one pixel). Problems can also be encountered with bitmap fonts where the typeface exists but doesn't have a font small enough.
CFont *& aFont | On return, the pointer is set to point to the device font which most closely approximates to the required font specification. |
const TFontSpec & aFontSpec | An absolute font specification. |
TInt aMaxHeight | The maximum height in twips within which the font must fit - this overrides the height specified in aFontSpec. If maximum height is greater than 1024 pixels, the function returns KErrTooBig. And returns KErrArgument if equals to 1 pixel. |
TInt | GetNearestFontToMaxHeightInTwips | ( | CFbsFont *& | aFont, |
const TFontSpec & | aFontSpec, | |||
TInt | aMaxHeight | |||
) | [inline] |
Creates a client-side FBSERV font from those available in the device's typeface store that most closely matches a font specification.
When the font is no longer needed, call ReleaseFont().
The font and bitmap server returns a pointer to the nearest matching font from those available. Matches to max height of font - this does its best to return a font that will fit within the maximum height specified (but note that variations due to hinting algorithms may rarely result in this height being exceeded by up to one pixel). Problems can also be encountered with bitmap fonts where the typeface exists but doesn't have a font small enough.
CFbsFont *& aFont | On return, the pointer is set to point to the device font which most closely approximates to the required font specification. |
const TFontSpec & aFontSpec | An absolute font specification. |
TInt aMaxHeight | The maximum height in twips within which the font must fit - this overrides the height specified in aFontSpec. |
CGraphicsAccelerator * | GraphicsAccelerator | ( | ) | const [inline] |
Gets a pointer to the 2D graphics accelerator owned by the device. If one is available, it is used to accelerate various CFbsBitGc graphics operations.
TSpriteBase * | HideSprite | ( | ) | const [protected, inline, virtual] |
This method has been deprecated. Sprites are no longer supported in BitGDI. Calling this method has no effect.
TSpriteBase * | HideSprite | ( | const TRect & | , |
const TRegion * | ||||
) | const [protected, inline, virtual] |
This method has been deprecated. Sprites are no longer supported in BitGDI. Calling this method has no effect.
IMPORT_C TInt | NumTypefaces | ( | ) | const [virtual] |
Gets the number of typefaces supported by the device.
CFbsBitGc::TGraphicsOrientation | Orientation | ( | ) | const [inline] |
Gets the device's orientation. The orientation can be set using CFbsBitGc::SetOrientation().
void | ReadLineDiffMode | ( | TInt | , |
TInt | , | |||
TInt | , | |||
TAny * | , | |||
TDisplayMode | ||||
) | const [protected] |
TInt | |
TInt | |
TInt | |
TAny * | |
TDisplayMode |
IMPORT_C TBool | RectCompare | ( | const TRect & | aSourceRect, |
const CFbsDevice & | aDevice, | |||
const TRect & | aDeviceRect | |||
) | const |
Compares two rectangles, including their contents.
This function is intended for use by test code only.
const TRect & aSourceRect | The first rectangle to be compared (in this device). |
const CFbsDevice & aDevice | The font and bitmap server device in which the second rectangle is found. |
const TRect & aDeviceRect | The second rectangle to be compared. |
IMPORT_C TInt | RegisterLinkedTypeface | ( | const CLinkedTypefaceSpecification & | aLinkedTypefaceSpec, |
TInt & | aId | |||
) |
const CLinkedTypefaceSpecification & aLinkedTypefaceSpec | |
TInt & aId |
IMPORT_C void | ReleaseFont | ( | CFont * | aFont | ) |
Marks the specified font as no longer needed by the user of the device.
As fonts can be shared between applications, this function does not delete the copy of the font from RAM unless the font is only being used by this device.
CFont * aFont | A pointer to the font to be released. |
IMPORT_C void | RemoveFile | ( | TInt | aId = 0 | ) | [virtual] |
Decrements the reference count of a file which was added using AddFile(), and removes the file from the typeface store if the reference count reaches zero.
If zero is passed as parameter, then an attempt is made to remove all font objects from the device's typeface store provided none of the fonts in the store are currently accessed, otherwise it has no effect.
TInt aId = 0 | The UID value of the font file to be removed. The default is 0. |
IMPORT_C TInt | SetCustomPalette | ( | const CPalette * | aPalette | ) |
Sets the variable 8 bits per pixel colour palette, replacing the system default one. Only the entries in the system default palette which have corresponding entries in aPalette are overwritten, i.e. if aPalette contains fewer than 256 colours, some will remain unchanged. If aPalette has more than 256 entries, the additional entries are ignored.
const CPalette * aPalette | The custom palette. |
IMPORT_C TInt | SetDrawDeviceOffset | ( | const TPoint & | aOrigin | ) |
Used to set an offset
const TPoint & aOrigin | The offset to give |
TBool | SetOrientation | ( | CFbsBitGc::TGraphicsOrientation | aOrientation | ) | [protected] |
CFbsBitGc::TGraphicsOrientation aOrientation |
IMPORT_C TInt | SetScalingFactor | ( | const TPoint & | aOrigin, |
TInt | aFactorX, | |||
TInt | aFactorY, | |||
TInt | aDivisorX, | |||
TInt | aDivisorY | |||
) |
Sets scaling factor by which the drawing device should scale the drawing images. If you want to un-scale the device, call SetScalingFactor() with Origin (0,0), factorX = 1, factorY = 1, divisorX = 1, divisorY = 1.
Note: The existing graphics acceleration interface does not have support for scaling.
Note: All graphics contexts, already created by the scaled device, should be re-activated calling CFbsBitGc::Activate().
const TPoint & aOrigin | Specifies physical coordinates of the new scaling origin of the drawing device. The drawing device maps the logical point [0, 0] to the "aOrigin" physical point . |
TInt aFactorX | Scaling factor for the X-axis of the screen device. |
TInt aFactorY | Scaling factor for the y-axis of the screen device. |
TInt aDivisorX | Not used. Should be set to 1. |
TInt aDivisorY | Not used. Should be set to 1. |
void | ShowSprite | ( | TSpriteBase * | ) | const [protected, inline, virtual] |
This method has been deprecated. Sprites are no longer supported in BitGDI. Calling this method has no effect.
TSpriteBase * |
void | ShowSprite | ( | TSpriteBase * | , |
const TRect & | , | |||
const TRegion * | ||||
) | const [protected, inline, virtual] |
This method has been deprecated. Sprites are no longer supported in BitGDI. Calling this method has no effect.
TSpriteBase * | |
const TRect & | |
const TRegion * |
IMPORT_C void | TypefaceSupport | ( | TTypefaceSupport & | aTypefaceSupport, |
TInt | aTypefaceIndex | |||
) | const [virtual] |
Gets information about an indexed typeface.
TTypefaceSupport & aTypefaceSupport | Provides information about the typeface, including its name and attributes. |
TInt aTypefaceIndex | The index of the requested typeface in the device's typeface store; between zero and NumTypefaces() 1 inclusive. |
CFbsBitGc::TGraphicsOrientation | iOrientation | [protected] |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.