#include <bitdev.h>
Link against: bitgdi.lib
class CFbsDevice : public CBitmapDevice |
Protected Attributes | |
---|---|
TUint8 * | iBitBltMaskedBuffer |
CFbsDrawDevice * | iDrawDevice |
RFbsSession * | iFbs |
CGraphicsAccelerator * | iGraphicsAccelerator |
CFbsBitGc::TGraphicsOrientation | iOrientation |
TBool | iScreenDevice |
TInt | iSpare |
CFbsTypefaceStore * | iTypefaceStore |
Protected Member Functions | |
---|---|
CFbsDevice() | |
virtual void | CancelSprite() |
void | DoGetScanLine(TDes8 &, const TPoint &, TInt, TDisplayMode) |
virtual void | DrawingBegin(TBool) |
void | DrawingBegin(const CFbsBitmap *, TBool) |
virtual void | DrawingEnd(TBool) |
void | DrawingEnd(const CFbsBitmap *, TBool) |
TInt | GetNearestFbsFont(CFbsFont *&, const TFontSpec &) |
virtual TSpriteBase * | HideSprite() |
virtual TSpriteBase * | HideSprite(const TRect &, const TRegion *) |
void | ReadLineDiffMode(TInt, TInt, TInt, TAny *, TDisplayMode) |
virtual void | SetBits() |
TBool | SetOrientation(CFbsBitGc::TGraphicsOrientation) |
virtual void | ShowSprite(TSpriteBase *) |
virtual void | ShowSprite(TSpriteBase *, const TRect &, const TRegion *) |
void | TruncateRect(TRect &) |
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.
See also: CFbsBitmapDevice CFbsScreenDevice
TUint8 * | iBitBltMaskedBuffer | [protected] |
CFbsDrawDevice * | iDrawDevice | [protected] |
RFbsSession * | iFbs | [protected] |
CGraphicsAccelerator * | iGraphicsAccelerator | [protected] |
CFbsBitGc::TGraphicsOrientation | iOrientation | [protected] |
TBool | iScreenDevice | [protected] |
TInt | iSpare | [protected] |
CFbsTypefaceStore * | iTypefaceStore | [protected] |
CFbsDevice | ( | ) | [protected] |
IMPORT_C | ~CFbsDevice | ( | ) |
Frees all resources owned by the object prior to its destruction.
Reimplemented from CBitmapDevice::AddFile(const TDesC &,TInt &)
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.
Parameters | |
---|---|
aName | The name of the font file. |
aId | On return, the UID value of the font file. |
void | CancelSprite | ( | ) | const [protected, inline, virtual] |
This method has been deprecated. Sprites are no longer supported in BitGDI. Calling this method has no effect. Deprecated
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.
Parameters | |
---|---|
aGc | On return, contains a pointer to the graphics context. |
TInt | CreateContext | ( | CGraphicsContext *& | aGc | ) | [inline, virtual] |
Reimplemented from CGraphicsDevice::CreateContext(CGraphicsContext *&)
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.
Parameters | |
---|---|
aGc | On return, contains a pointer to the graphics context. |
IMPORT_C TDisplayMode | DisplayMode | ( | ) | const [virtual] |
Reimplemented from CGraphicsDevice::DisplayMode()const
Gets the device's display mode.
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.
See also: 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.
Parameters | |
---|---|
aBuf | The destination buffer. It should be with enough length to collect requested scanline data. |
aPixel | The first pixel of the requested scanline data |
aLength | The length in pixels of requested data |
aDispMode | requested scanline should be converted regarding aDispMode parameter |
void | DrawingBegin | ( | TBool | = EFalse | ) | [protected, inline, virtual] |
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.
See also: CFbsBitmapDevice::DrawingBegin()
Parameters | |
---|---|
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. |
aAlways | Not used. |
void | DrawingEnd | ( | TBool | = EFalse | ) | [protected, inline, virtual] |
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.
See also: CFbsBitmapDevice::DrawingEnd()
Parameters | |
---|---|
aBitmap | A pointer to a CFbsBitmap object to be unfrozen. |
aAlways | Not used. |
Reimplemented from CBitmapDevice::FontHeightInPixels(TInt,TInt)const
Gets the height, in pixels, of the specified typeface at one of its defined heights.
This is an implementation of CBitMapDevice::FontHeightInPixels().
Reimplemented from CGraphicsDevice::FontHeightInTwips(TInt,TInt)const
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.
Parameters | |
---|---|
aRect | Upon return aRect contains drawing rectangle logical coordinates. |
Gets a specific bitmap font, identified by its UID, from the device's typeface store.
When the font is no longer needed, call ReleaseFont().
Parameters | |
---|---|
aFont | On return, set to point to the font. |
aFileId | The UID identifying the bitmap font. |
aStyle | Algorithmic style for the font. |
Gets a specific bitmap font, identified by its UID, from the device's typeface store.
When the font is no longer needed, call ReleaseFont().
Parameters | |
---|---|
aFont | On return, set to point to the font. |
aFileId | The UID identifying the bitmap font. |
aStyle | Algorithmic style for the font. |
Reimplemented from CBitmapDevice::GetNearestFontInPixels(CFont *&,const TFontSpec &)
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.
Deprecated
Parameters | |
---|---|
aFont | On return, points to the font which most closely matches the specified font. |
aFontSpec | An absolute font specification. Its iHeight member is interpreted as being in pixels. |
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().
Deprecated
Parameters | |
---|---|
aFont | On return, points to the font which most closely matches the specified font. |
aFontSpec | An absolute font specification. Its iHeight member is interpreted as being in pixels. |
Reimplemented from MGraphicsDeviceMap::GetNearestFontInTwips(CFont *&,const TFontSpec &)
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.
Deprecated
Parameters | |
---|---|
aFont | On return, points to the font which most closely matches the specified font. |
aFontSpec | An absolute font specification. Its iHeight member is interpreted as being in twips. |
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().
Deprecated
Parameters | |
---|---|
aFont | On return, points to the font which most closely matches the specified font. |
aFontSpec | An absolute font specification. Its iHeight member is interpreted as being in twips. |
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.
Parameters | |
---|---|
aFont | On return, points to the font which most closely matches the specified font. |
aFontSpec | An absolute font specification. Its iHeight member is interpreted as being in pixels. |
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().
Parameters | |
---|---|
aFont | On return, points to the font which most closely matches the specified font. |
aFontSpec | An absolute font specification. Its iHeight member is interpreted as being in pixels. |
IMPORT_C TInt | GetNearestFontToDesignHeightInTwips | ( | CFont *& | aFont, |
const TFontSpec & | aFontSpec | |||
) | [virtual] |
Reimplemented from MGraphicsDeviceMap::GetNearestFontToDesignHeightInTwips(CFont *&,const TFontSpec &)
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.
Parameters | |
---|---|
aFont | On return, points to the font which most closely matches the specified font. |
aFontSpec | An absolute font specification. Its iHeight member is interpreted as being in twips. |
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().
Parameters | |
---|---|
aFont | On return, points to the font which most closely matches the specified font. |
aFontSpec | An absolute font specification. Its iHeight member is interpreted as being in twips. |
IMPORT_C TInt | GetNearestFontToMaxHeightInPixels | ( | CFont *& | aFont, |
const TFontSpec & | aFontSpec, | |||
TInt | aMaxHeight | |||
) | [virtual] |
Reimplemented from CBitmapDevice::GetNearestFontToMaxHeightInPixels(CFont *&,const TFontSpec &,TInt)
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.
Parameters | |
---|---|
aFont | On return, the pointer is set to point to the device font which most closely approximates to the required font specification. |
aFontSpec | An absolute font specification. |
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.
Parameters | |
---|---|
aFont | On return, the pointer is set to point to the device font which most closely approximates to the required font specification. |
aFontSpec | An absolute font specification. |
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] |
Reimplemented from MGraphicsDeviceMap::GetNearestFontToMaxHeightInTwips(CFont *&,const TFontSpec &,TInt)
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.
Parameters | |
---|---|
aFont | On return, the pointer is set to point to the device font which most closely approximates to the required font specification. |
aFontSpec | An absolute font specification. |
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.
Parameters | |
---|---|
aFont | On return, the pointer is set to point to the device font which most closely approximates to the required font specification. |
aFontSpec | An absolute font specification. |
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.
See also: CFbsBitmapDevice::NewL()
TSpriteBase * | HideSprite | ( | ) | const [protected, inline, virtual] |
This method has been deprecated. Sprites are no longer supported in BitGDI. Calling this method has no effect. Deprecated
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. Deprecated
IMPORT_C TInt | NumTypefaces | ( | ) | const [virtual] |
Reimplemented from CGraphicsDevice::NumTypefaces()const
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] |
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.
Parameters | |
---|---|
aSourceRect | The first rectangle to be compared (in this device). |
aDevice | The font and bitmap server device in which the second rectangle is found. |
aDeviceRect | The second rectangle to be compared. |
IMPORT_C TInt | RegisterLinkedTypeface | ( | const CLinkedTypefaceSpecification & | aLinkedTypefaceSpec, |
TInt & | aId | |||
) |
See also: CLinkedTypefaceSpecification
Capability | |
---|---|
ECapabilityWriteDeviceData |
IMPORT_C void | ReleaseFont | ( | CFont * | aFont | ) | [virtual] |
Reimplemented from MGraphicsDeviceMap::ReleaseFont(CFont *)
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.
Parameters | |
---|---|
aFont | A pointer to the font to be released. |
IMPORT_C void | RemoveFile | ( | TInt | aId = 0 | ) | [virtual] |
Reimplemented from CBitmapDevice::RemoveFile(TInt)
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.
Parameters | |
---|---|
aId | The UID value of the font file to be removed. The default is 0. |
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.
Parameters | |
---|---|
aPalette | The custom palette. |
TBool | SetOrientation | ( | CFbsBitGc::TGraphicsOrientation | aOrientation | ) | [protected] |
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().
Parameters | |
---|---|
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 . |
aFactorX | Scaling factor for the X-axis of the screen device. |
aFactorY | Scaling factor for the y-axis of the screen device. |
aDivisorX | Not used. Should be set to 1. |
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. Deprecated
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. Deprecated
IMPORT_C TSize | SizeInPixels | ( | ) | const [virtual] |
Reimplemented from CGraphicsDevice::SizeInPixels()const
Gets the size of the device, in pixels.
void | TruncateRect | ( | TRect & | aRect | ) | [protected] |
IMPORT_C void | TypefaceSupport | ( | TTypefaceSupport & | aTypefaceSupport, |
TInt | aTypefaceIndex | |||
) | const [virtual] |
Reimplemented from CGraphicsDevice::TypefaceSupport(TTypefaceSupport &,TInt)const
Parameters | |
---|---|
aTypefaceSupport | Provides information about the typeface, including its name and attributes. |
aTypefaceIndex | The index of the requested typeface in the device's typeface store; between zero and NumTypefaces() 1 inclusive. |