class CWsScreenDevice : public CBitmapDevice |
Software device screen.
An object of this class can be used to enquire or set parameters of the software screen, and determine the physical limits of the device.
CWsScreenDevice gives access to the list of screen modes. These are the combinations of screen rotation and screen size supported by the device. One of them is selected as the current screen mode. The possible screen modes are initialised in wsini.ini.
Private Member Functions | |
---|---|
TSize | DisplaySizeInPixels () |
TSize | PhysicalScreenSizeInTwips () |
CFbsTypefaceStore * | TypeFaceStore () |
Public Member Enumerations | |
---|---|
enum | TSpriteInCompare { ERemoveSprite = 0, EIncludeSprite = 1, EIncludeTextCursor = 2 } |
Private Attributes | |
---|---|
TSize | iDisplaySizeInPixels |
CScrDevExtension * | iExtension |
TSize | iPhysicalScreenSizeInTwips |
IMPORT_C | CWsScreenDevice | ( | ) |
Default constructor. Developers should use the other constructor overload.
IMPORT_C | CWsScreenDevice | ( | RWsSession & | aWs | ) |
Constructs a new screen device attached to a particular window server session.
RWsSession & aWs | The window server session this screen should be attached to. |
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.
IMPORT_C TInt | Construct | ( | ) |
Completes construction of the object.
This method invokes Construct(TInt aDefaultScreenNumber) with default Screen number.
IMPORT_C TInt | Construct | ( | TInt | aDefaultScreenNumber | ) |
Completes construction of the object.
TInt aDefaultScreenNumber | - This is the screen on which an application will start |
IMPORT_C TInt | CopyScreenToBitmap | ( | const CFbsBitmap * | aBitmap | ) | const |
Saves the entire screen to a bitmap.
This function always causes a flush of the window server buffer.
const CFbsBitmap * aBitmap | Bitmap to be filled with the screen image. |
IMPORT_C TInt | CopyScreenToBitmap | ( | const CFbsBitmap * | aBitmap, |
const TRect & | aRect | |||
) | const |
Saves a region of the screen to a bitmap.
This function always causes a flush of the window server buffer.
const CFbsBitmap * aBitmap | Bitmap to be filled with the screen region image. |
const TRect & aRect | Screen region to be saved. |
IMPORT_C TInt | CreateContext | ( | CGraphicsContext *& | aGc | ) | [virtual] |
Creates a graphics context for this device.
This function always causes a flush of the window server buffer.
CGraphicsContext *& aGc | On successful return, contains a new graphics context referring to this screen device. |
TInt | CreateContext | ( | CWindowGc *& | aGc | ) | [inline] |
Creates a graphics context for this device.
This function always causes a flush of the window server buffer.
CWindowGc *& aGc | On successful return, contains a new graphics context referring to this screen device. |
IMPORT_C TInt | CurrentScreenMode | ( | ) | const |
Gets the current screen mode index.
This function always causes a flush of the window server buffer.
IMPORT_C TDisplayMode | DisplayMode | ( | ) | const [virtual] |
Gets the device's display mode.
This function always causes a flush of the window server buffer.
IMPORT_C TInt | FontHeightInPixels | ( | TInt | aTypefaceIndex, |
TInt | aHeightIndex | |||
) | const [virtual] |
Gets the height of the specified font in pixels.
The value returned is rounded up or down to the nearest font height in pixels.
The specified font is the one with height index number aHeightIndex of the typeface with index number aTypefaceIndex.
IMPORT_C TInt | FontHeightInTwips | ( | TInt | aTypefaceIndex, |
TInt | aHeightIndex | |||
) | const [virtual] |
Gets the height in twips of the specified font.
The value returned is rounded up or down to the nearest font height in twips.
The specified font is the one with height index number aHeightIndex of the typeface with index number aTypefaceIndex.
IMPORT_C TSizeMode | GetCurrentScreenModeAttributes | ( | ) | const |
Used for testing purposes only.
IMPORT_C TSize | GetCurrentScreenModeScale | ( | ) | const |
Gets the scale for the current screen mode.
This function always causes a flush of the window server buffer.
IMPORT_C TPoint | GetCurrentScreenModeScaledOrigin | ( | ) | const |
Gets the current screen mode's scaled origin.
The formula used is (A+B-1)/B
where:
A is the screen mode origin in physical coordinates,
B is the screen mode scale width.
The result obtained is the scaled origin of the present screen mode.
IMPORT_C TPoint | GetDefaultScreenModeOrigin | ( | ) | const |
Gets the origin for the current screen mode
This function always causes a flush of the window server buffer.
IMPORT_C void | GetDefaultScreenSizeAndRotation | ( | TPixelsTwipsAndRotation & | aSizeAndRotation | ) | const |
Gets the current screen size (in both pixels and twips) and rotation.
This function always causes a flush of the window server buffer.
TPixelsTwipsAndRotation & aSizeAndRotation | The default screen size and rotation, defining screen size in both pixels and twips. |
IMPORT_C void | GetDefaultScreenSizeAndRotation | ( | TPixelsAndRotation & | aSizeAndRotation | ) | const |
Gets the current screen size (in pixels) and the rotation.
This function always causes a flush of the window server buffer.
TPixelsAndRotation & aSizeAndRotation | The default screen size in pixels and the rotation. |
IMPORT_C TInt | GetFontById | ( | CFont *& | aFont, |
TUid | aUid, | |||
const TAlgStyle & | aAlgStyle | |||
) |
Gets a font by its bitmap UID.
Within a font file each font has its own UID. An algorithmic style is not part of the actual font description, but is applied to it. For example algorithmic bolding applies an algorithm to increase the apparent weight of each character in the font. Note that the algorithm is applied blindly, and that a typeface may already have a style e.g. it may already be bold or italic. Thus a bold face will appear extra-bold if algorithmic bolding is applied to it. Algorithmic effects are not necessarily a substitute for typeface design and should be used with care.
IMPORT_C TAny * | GetInterface | ( | TUint | aInterfaceId | ) |
Interface Extension capability Use of this interface going forward will allow the published client interface to be dynamically extended. Note that the pointer returned is only good for the lifetime of the called CBase derived object.
TUint aInterfaceId | uniqueid or well known id of interface |
const TAny * | GetInterface | ( | TUint | aInterfaceId | ) | const [inline] |
TUint aInterfaceId |
IMPORT_C TInt | GetNearestFontInPixels | ( | CFont *& | aFont, |
const TFontSpec & | aFontSpec | |||
) | [virtual] |
Gets the nearest font to that specified for use by a bitmapped graphics device.
This function is replaced by GetNearestFontToDesignHeightInPixels()
The font and bitmap server returns a pointer to the nearest matching font from those available, in aFont.
IMPORT_C TInt | GetNearestFontInTwips | ( | CFont *& | aFont, |
const TFontSpec & | aFontSpec | |||
) | [virtual] |
Gets the nearest font, in twips, to that in the specified font specification.
This function is replaced by GetNearestFontToDesignHeightInTwips()
The font and bitmap server returns a pointer to the nearest matching font from those available, in aFont.
IMPORT_C TInt | GetNearestFontToDesignHeightInPixels | ( | CFont *& | aFont, |
const TFontSpec & | aFontSpec | |||
) | [virtual] |
Gets the nearest font in pixels to that specified.
The font and bitmap server returns a pointer to the nearest matching font from those available. Matches to design height of font - this gives no guarantees on the actual physical size of the font.
This function replaces GetNearestFontInTwips
IMPORT_C TInt | GetNearestFontToDesignHeightInTwips | ( | CFont *& | aFont, |
const TFontSpec & | aFontSpec | |||
) | [virtual] |
Gets the nearest font in twips to that specified.
The font and bitmap server returns a pointer to the nearest matching font from those available. Matches to design height of font - this gives no guarantees on the actual physical size of the font.
This function replaces GetNearestFontInTwips
IMPORT_C TInt | GetNearestFontToMaxHeightInPixels | ( | CFont *& | aFont, |
const TFontSpec & | aFontSpec, | |||
TInt | aMaxHeight | |||
) | [virtual] |
Gets the nearest font in pixels to that specified.
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 within which the font must fit - this overrides the height specified in the TFontSpec. |
IMPORT_C TInt | GetNearestFontToMaxHeightInTwips | ( | CFont *& | aFont, |
const TFontSpec & | aFontSpec, | |||
TInt | aMaxHeight | |||
) | [virtual] |
Gets the nearest font, in twips, to that specified.
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 within which the font must fit - this overrides the height specified in the TFontSpec. |
IMPORT_C TInt | GetPalette | ( | CPalette *& | aPalette | ) | const [virtual] |
Gets the screen device's palette.
This function always causes a flush of the window server buffer.
CPalette *& aPalette | On return, contains the screen device's palette. The caller takes responsibility for discarding the palette. |
IMPORT_C void | GetPixel | ( | TRgb & | aColor, |
const TPoint & | aPixel | |||
) | const [virtual] |
Gets the RGB colour of an individual pixel on a screen device.
This function always causes a flush of the window server buffer.
IMPORT_C TInt | GetRotationsList | ( | TInt | aMode, |
CArrayFixFlat < TInt > * | aRotationList | |||
) | const |
Gets the list of valid rotations for a particular screen size.
The list is initialised in wsini.ini.
This function always causes a flush of the window server buffer.
TInt aMode | The index of the screen mode for which the rotation list is required. |
CArrayFixFlat < TInt > * aRotationList | The list of valid screen orientations. |
IMPORT_C void | GetScanLine | ( | TDes8 & | aScanLine, |
const TPoint & | aStartPixel, | |||
TInt | aPixelLength, | |||
TDisplayMode | aDispMode | |||
) | const [virtual] |
Gets a scanline into a buffer.
The pixels are converted from the current screen display mode format to the format of the specified device display mode.
By specifying the start pixel and number of pixels either the whole or a portion of a row of screen pixels may be copied.
This function always causes a flush of the window server buffer.
TDes8 & aScanLine | A buffer into which pixels are copied, it must be sufficiently large to store all the scanline pixels. |
const TPoint & aStartPixel | The (x,y) co-ordinates of the first pixel of the bitmap scanline to be put into the buffer. |
TInt aPixelLength | The number of pixels to put into the buffer. |
TDisplayMode aDispMode | The display mode into which to convert the pixels. |
IMPORT_C TDisplayMode | GetScreenModeDisplayMode | ( | const TInt & | aMode | ) | const |
Gets the display mode of the screen for the specified screen mode
This function always causes a flush of the window server buffer.
const TInt & aMode | The index of the screen mode for which the display mode is required |
IMPORT_C TPoint | GetScreenModeOrigin | ( | TInt | aMode | ) | const |
Get the origin of the screen for the specified screen mode.
This function always causes a flush of the window server buffer.
TInt aMode | The index of the screen mode for which the screen origin is required. |
IMPORT_C TSize | GetScreenModeScale | ( | TInt | aMode | ) | const |
Gets the scale for the specified screen mode.
This function always causes a flush of the window server buffer.
TInt aMode | The index of the screen mode for which the screen scale is required. |
IMPORT_C TPoint | GetScreenModeScaledOrigin | ( | TInt | aMode | ) | const |
Gets the specfied screen mode's scaled origin.
The functionality is same as CWsScreenDevice::GetCurrentScreenModeScaledOrigin() .
It always causes a flush of the window server buffer.
TInt aMode | The index of the screen mode for which the scaled origin is required. |
IMPORT_C void | GetScreenModeSizeAndRotation | ( | TInt | aMode, |
TPixelsTwipsAndRotation & | aSizeAndRotation | |||
) | const |
Get the screen rotation and size, in both pixels and twips, for the specified screen mode.
This function always causes a flush of the window server buffer.
TInt aMode | The index of the screen mode for which the screen size and rotation are required. |
TPixelsTwipsAndRotation & aSizeAndRotation | The orientation of the specified screen mode, and its size in both pixels and twips. |
IMPORT_C void | GetScreenModeSizeAndRotation | ( | TInt | aMode, |
TPixelsAndRotation & | aSizeAndRotation | |||
) | const |
Get the screen rotation and size (in pixels) for the specified screen mode.
This function always causes a flush of the window server buffer.
TInt aMode | The index of the screen mode for which the screen size and rotation are required. |
TPixelsAndRotation & aSizeAndRotation | The orientation of the specified screen mode, and its size in pixels. |
IMPORT_C TInt | GetScreenSizeModeList | ( | RArray < TInt > * | aModeList | ) | const |
Gets the available screen size modes.
This function retrieves all available screen size modes which are supported by the server.
IMPORT_C TInt | HorizontalPixelsToTwips | ( | TInt | aPixels | ) | const |
Translates a specified pixel value to a twips value.
TInt aPixels | The value in pixels to be translated. |
IMPORT_C TInt | HorizontalTwipsToPixels | ( | TInt | aTwips | ) | const |
Translates a twips to a pixel value.
TInt aTwips | The value in twips. |
IMPORT_C TBool | IsCurrentModeDynamic | ( | ) | const |
Returns whether the current screen size mode is dynamic or not.
IMPORT_C TBool | IsModeDynamic | ( | TInt | aSizeMode | ) | const |
Returns whether the given screen size mode is dynamic or not. Dynamic screen size modes may change their size in pixels and/or twips and other attributes at run time, so they must not be cached. Static size mode attributes will not change at run time, but may not make full use of the display. Invalid size modes shall return EFalse.
TInt aSizeMode | The screen size mode to check. |
IMPORT_C TInt | NumScreenModes | ( | ) | const |
Gets the number of available screen modes.
Each mode has a different size, and one or more possible rotations/orientations.
This function always causes a flush of the window server buffer.
IMPORT_C TInt | NumTypefaces | ( | ) | const [virtual] |
Gets the number of typefaces supported by the screen device.
IMPORT_C void | PaletteAttributes | ( | TBool & | aModifiable, |
TInt & | aNumEntries | |||
) | const [virtual] |
Gets the attributes of the device's palette.
This function always causes a flush of the window server buffer.
IMPORT_C TRect | PointerRect | ( | ) | const |
Gets the active area for the pointing device.
This is a device-dependent parameter, and will typically depend on the screen size and other factors.
This function always causes a flush of the window server buffer.
IMPORT_C TBool | RectCompare | ( | const TRect & | aRect1, |
const TRect & | aRect2 | |||
) | const |
Compares two areas of the screen to see if they have the same content.
If there are any sprites on the screen they are not included in the comparison.
This function always causes a flush of the window server buffer.
IMPORT_C TBool | RectCompare | ( | const TRect & | aRect1, |
const TRect & | aRect2, | |||
TUint | aFlags | |||
) | const |
Compares two areas of the screen to see if they have the same content.
This function always causes a flush of the window server buffer.
IMPORT_C void | ReleaseFont | ( | CFont * | aFont | ) |
Releases a specified font.
This function is used to indicate that the specified font is no longer needed for use by the screen device. As fonts can be shared between applications, this function does not delete the copy of the font from RAM, unless the font was only being used by this device.
CFont * aFont | A pointer to the font to be released. |
IMPORT_C void | RemoveFile | ( | TInt | aId = 0 | ) | [virtual] |
Removes a font file from the font store.
TInt aId = 0 | The ID of the font file to be removed, default 0. |
IMPORT_C TScreenModeEnforcement | ScreenModeEnforcement | ( | ) | const |
Gets the current screen mode enforcement settings.
The global screen mode enforcement setting defines the requirements that a group window must meet to be displayed. The requirements may have been set in wsini.ini, or using SetScreenModeEnforcement() .
This function always causes a flush of the window server buffer.
IMPORT_C void | SetAppScreenMode | ( | TInt | aMode | ) |
Sets the application's screen mode; this also sets all the attributes of the screen mode.
Note: although this API was added in Symbian OS v8.0, the functionality is only available from Symbian OS v8.1 onwards.
TInt aMode | The index of the application's new screen mode. |
IMPORT_C TInt | SetBackLight | ( | TBool | aBackLight | ) |
TBool aBackLight |
IMPORT_C void | SetCurrentRotations | ( | TInt | aMode, |
CFbsBitGc::TGraphicsOrientation | aRotation | |||
) | const |
Sets the screen rotation that should be used with a particular screen size.
After calling this function, whenever you change into the screen size specified by aMode you will have the rotation aRotation. The setting remains in force until it is explicitly changed using this function.
Panics if the specified rotation is not allowed by the given screen mode.
TInt aMode | The index of the screen mode the rotation applies to. |
CFbsBitGc::TGraphicsOrientation aRotation | The new screen orientation. |
IMPORT_C void | SetCurrentScreenModeAttributes | ( | const TSizeMode & | aModeAtt | ) |
Used for testing purposes only.
const TSizeMode & aModeAtt | Screen size mode to be set. |
IMPORT_C TInt | SetCustomPalette | ( | const CPalette * | aPalette | ) |
Sets the custom palette.
This function always causes a flush of the window server buffer.
const CPalette * aPalette | The custom palette. |
IMPORT_C void | SetPalette | ( | CPalette * | aPalette | ) | [virtual] |
Sets the screen device's palette.
This function always causes a flush of the window server buffer.
Use of this function is deprecated. SetCustomPalette() should be used instead.
CPalette * aPalette | The screen device's new palette. |
IMPORT_C void | SetScreenMode | ( | TInt | aMode | ) |
Sets the current screen mode.
Note that this function is only useful for testing. This is because the screen mode normally reflects the state of real hardware, e.g. whether the cover is open or closed on a phone that supports screen flipping.
This function always causes a flush of the window server buffer.
TInt aMode | The screen mode index, starting from zero. |
IMPORT_C void | SetScreenModeEnforcement | ( | TScreenModeEnforcement | aMode | ) | const |
Sets the screen mode enforcement requirements.
This global setting defines the requirements that a group window must meet to be displayed. The value may be set using this function, but is more likely to be defined in wsini.ini.
TScreenModeEnforcement aMode | The screen mode enforcement requirements. |
IMPORT_C void | SetScreenSizeAndRotation | ( | const TPixelsTwipsAndRotation & | aSizeAndRotation | ) |
Sets the current screen size in twips and pixels, and the rotation for the screen device.
const TPixelsTwipsAndRotation & aSizeAndRotation | The new rotation and the screen size in both pixels and twips. |
IMPORT_C void | SetScreenSizeAndRotation | ( | const TPixelsAndRotation & | aSizeAndRotation | ) |
Sets the current screen size in pixels, and the rotation for the screen device.
This function always causes a flush of the window server buffer.
const TPixelsAndRotation & aSizeAndRotation | The new rotation and the screen size in pixels. |
IMPORT_C TSize | SizeInPixels | ( | ) | const [virtual] |
Gets the size of the screen device area in pixels.
This function always causes a flush of the window server buffer.
IMPORT_C TSize | SizeInTwips | ( | ) | const [virtual] |
Gets the size of the screen device area in twips.
This function always causes a flush of the window server buffer.
CFbsTypefaceStore * | TypeFaceStore | ( | ) | const [private] |
Helper member fn to access the movable typeface store.
IMPORT_C void | TypefaceSupport | ( | TTypefaceSupport & | aTypefaceSupport, |
TInt | aTypefaceIndex | |||
) | const [virtual] |
Gets typeface information for a particular typeface index number.
This information is returned in aTypefaceSupport, and includes: the typeface name and typeface attributes (in a TTypeface object), the number of font heights, the maximum and minimum font heights and whether it is a scalable typeface.
TTypefaceSupport & aTypefaceSupport | On return, if the function executed successfully, this contains the typeface information. |
TInt aTypefaceIndex | A typeface index number, in the range zero to (NumTypefaces()1). |
IMPORT_C TInt | VerticalPixelsToTwips | ( | TInt | aPixels | ) | const |
Translates a vertical dimension of a screen device in pixels into twips.
TInt aPixels | A vertical dimension of a device in pixels. |
IMPORT_C TInt | VerticalTwipsToPixels | ( | TInt | aTwips | ) | const |
Translates a vertical dimension of a screen device in twips into pixels.
TInt aTwips | A vertical dimension of a device in twips. |
Whether or not to include sprites when comparing areas of the screen
ERemoveSprite = 0 |
This enum can be specified as the 3rd parameter to CWsScreenDevice::RectCompare (const TRect &aRect1, const TRect &aRect2,TUint aFlags). When called with the value ERemoveSprite if there are any sprites visible in the areas of the screen being compared then these will not be included in the comparison. The function CWsScreenDevice::RectCompare(const TRect &aRect1,const TRect &aRect2) will not include sprites in the comparison. |
EIncludeSprite = 1 |
This enum can be specified as the 3rd parameter to CWsScreenDevice::RectCompare (const TRect &aRect1, const TRect &aRect2,TUint aFlags). When called with the value EIncludeSprite if there are any sprites visible in the areas of the screen being compared then these will be included in the comparison. |
EIncludeTextCursor = 2 |
This enum can be specified as the 3rd parameter to CWsScreenDevice::RectCompare (const TRect &aRect1, const TRect &aRect2,TUint aFlags). When called with the value EIncludeTextCursor if there are any text cursors visible in the areas of the screen being compared then these will be included in the comparison. |
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.