Archived:DSA API not supported by compatibility mode in scalable UI platforms (Known Issue)
hamishwillee
(Talk | contribs) m (Hamishwillee - Bot change of template (Template:KnowledgeBase) - now using Template:ArticleMetaData) |
hamishwillee
(Talk | contribs) m (Hamishwillee - Bot update - Fix metadata etc) |
||
| Line 1: | Line 1: | ||
| − | + | {{ArticleMetaData <!-- v1.2 --> | |
| − | + | ||
| − | + | ||
| − | {{ArticleMetaData | + | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
|sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) --> | |sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) --> | ||
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | |installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | ||
| − | |sdk=<!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) --> | + | |devices= <!-- Devices tested against - e.g. ''devices=Nokia 6131 NFC, Nokia C7-00'') --> |
| − | |devicecompatability=<!-- Compatible devices (e.g.: All* (must have GPS) ) --> | + | |sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) --> |
| − | |signing=<!-- Empty or one of Self-Signed, DevCert, Manufacturer --> | + | |platform= S60 2nd Edition, Feature Pack 3 and onwards |
| − | |capabilities=<!-- Capabilities required (e.g. Location, NetworkServices. | + | |devicecompatability= <!-- Compatible devices (e.g.: All* (must have GPS) ) --> |
| − | |author=[[User:Technical writer 1]] | + | |dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 --> |
| + | |signing= <!-- Empty or one of Self-Signed, DevCert, Manufacturer --> | ||
| + | |capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. --> | ||
| + | |keywords= <!-- APIs, classes and methods (e.g. QSystemScreenSaver, QList, CBase --> | ||
| + | |language= <!-- Language category code for non-English topics - e.g. Lang-Chinese --> | ||
| + | |translated-by= <!-- [[User:XXXX]] --> | ||
| + | |translated-from-title= <!-- Title only --> | ||
| + | |translated-from-id= <!-- Id of translated revision --> | ||
| + | |review-by= <!-- After re-review: [[User:username]] --> | ||
| + | |review-timestamp= <!-- After re-review: YYYYMMDD --> | ||
| + | |update-by= <!-- After significant update: [[User:username]]--> | ||
| + | |update-timestamp= <!-- After significant update: YYYYMMDD --> | ||
| + | |creationdate= May 4, 2005, updated May 24, 2005 | ||
| + | |author= [[User:Technical writer 1]] | ||
| + | <!-- The following are not in current metadata --> | ||
| + | |subcategory= | ||
| + | |id= KIS000247 | ||
}} | }} | ||
| Line 32: | Line 37: | ||
Possible changes in resolutions between S60 devices must be taken into account when developing applications. You can use CFbsScreenDevice::SizeInPixels() to get the current display size. | Possible changes in resolutions between S60 devices must be taken into account when developing applications. You can use CFbsScreenDevice::SizeInPixels() to get the current display size. | ||
| − | [[Category:Known Issue]][[Category:Symbian C++]][[Category:S60 2nd Edition]] | + | [[Category:Known Issue]][[Category:Symbian C++]][[Category:S60 2nd Edition (initial release)]] |
Revision as of 04:06, 20 March 2012
Article Metadata
Compatibility
Article
Contents |
Overview
The DSA API is not supported by the compatibility mode in scalable UI platforms.
Description
The Direct Screen Access (DSA) API (RDirectScreenAccess and CDirectScreenAccess classes, defined in w32std.h) is meant for very low-level operations with display hardware. In platforms supporting the scalable UI (S60 2nd Edition FP3 and onwards) DSA API is not supported by the compatibility mode.
For this and other breaks between different platforms, refer to the document S60 Platform: Source And Binary Compatibility.
How to reproduce
Applications working correctly in earlier S60 devices using the Direct Screen Access API may behave unexpectedly in Feature Pack 3 devices (with varying display characteristics), because, for example, the N90 has more resolution and a different color depth (18-bit colors) than previous S60 devices. Applications that use this API to access display buffer (memory) directly, may encounter different problems depending on how the applications have been implemented. Some applications render their screen only to 1/4th portion of the screen, whereas some may fill the screen with garbage, have incorrect colors, or may exit when they notice that the display attributes are not what they assume.
Solution
Possible changes in resolutions between S60 devices must be taken into account when developing applications. You can use CFbsScreenDevice::SizeInPixels() to get the current display size.

