You Are Here:

S60 Platform: Scalable Screen-Drawing Example

Register Today

Register with Forum Nokia now and you'll enjoy the full benefits of the Forum Nokia membership.

Register Login
Community Highlights

Wiki article of the week

Zoom and Rotate Gestures in FlashLite for touch-enabled devices

Champion of the month

Jackson Feijó Jackson Feijó
Read more about Jackson on the Champions website.


Forum Nokia Events

Nokia Developer Days in South Africa
December 01, 2009
Johannesburg, South Africa

Forum Nokia Developer Conference ’09, India
December 07, 2009
Bangalore, India

LeWeb
December 09, 2009
Paris

Web Runtime Coding With Aptana WRT Plug-in
December 09, 2009
9am New York | 2pm London | 4pm Helsinki

Web Runtime Coding With Aptana WRT Plug-in
December 09, 2009
9:30am New Delhi, noon Beijing


View all
description: This C++ application demonstrates scalable screen drawing with Direct Screen Access and custom drawing routines using SVG-T icons and bitmaps. The application scales to multiple display resolutions in portrait and landscape orientations supported by the S60 platform. This example is targeted especially at games and multimedia developers who prefer developing a custom UI instead of using an automatically scaling UI, such as S60 Avkon components. Labeling for the middle softkey has been added in the updated version. The application supports middle-softkey labeling and it has been updated to be compatible with S60 5th Edition and touch UI. Important classes: CIconFileProvider, MDirectScreenAccess, MAknIconFileProvider, CCoeControl (HandleResourceChange() method and KEikDynamicLayoutVariantSwitch), CEikAppUi (ApplicationRect(), Orientation(), and SetOrientationL() methods), AknLayoutUtils (PenEnabled() method).
type: Example
topics: Graphics
S60
     S60 3rd Edition
     S60 5th Edition
Symbian C++
UI
     Touch UI
(Games)
(Multimedia)
intended audience: Advanced

http://sw.nokia.com/FN-1/Type/Example S60 Platform: Scalable Screen-Drawing Example v1.4

This C++ application demonstrates scalable screen drawing with Direct Screen Access and custom drawing routines using SVG-T icons and bitmaps. The application scales to multiple display resolutions in portrait and landscape orientations supported by the S60 platform. This example is targeted especially at games and multimedia developers who prefer developing a custom UI instead of using an automatically scaling UI, such as S60 Avkon components. Labeling for the middle softkey has been added in the updated version. The application supports middle-softkey labeling and it has been updated to be compatible with S60 5th Edition and touch UI. Important classes: CIconFileProvider, MDirectScreenAccess, MAknIconFileProvider, CCoeControl (HandleResourceChange() method and KEikDynamicLayoutVariantSwitch), CEikAppUi (ApplicationRect(), Orientation(), and SetOrientationL() methods), AknLayoutUtils (PenEnabled() method).

02-Oct-2008


Download

see also: S60 Platform: Scalable Screen-Drawing How-To


Additional information

distribution: Forum Nokia Global Web Site
S60 Web Site
publication rights: Copyright © 2006-2008 Nokia Corporation.

<< Back to Previous Page

 

Rate This:

Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
User Rating: qfnZuserE5FratingQNx5E2E0000X
RDF Facets: qdcZdescriptionQSxThisE20CE2bE2bE20applicationE20demonstratesE20scalableE20screenE20drawingE20withE20E44irectE20ScreenE20AccessE20andE20customE20drawingE20routinesE20usingE20SVGE2dTE20iconsE20andE20bitmapsE2eE20TheE20applicationE20scalesE20toE20multipleE20displayE20resolutionsE20inE20portraitE20andE20landscapeE20orientationsE20supportedE20byE20theE20S60E20platformE2eE20ThisE20eE78ampleE20isE20targetedE20especiallyE20atE20gamesE20andE20multimediaE20developersE20whoE20preferE20developingE20aE20customE20UIE20insteadE20ofE20usingE20anE20automaticallyE20scalingE20UIE2cE20suchE20asE20S60E20AvkonE20componentsE2eE20E4cabelingE20forE20theE20middleE20softkeyE20hasE20beenE20addedE20inE20theE20updatedE20versionE2eE20TheE20applicationE20supportsE20middleE2dsoftkeyE20labelingE20andE20itE20hasE20beenE20updatedE20toE20beE20compatibleE20withE20S60E205thE20E45ditionE20andE20touchE20UIE2eE20ImportantE20classesE3aE20CIconFileProviderE2cE20ME44irectScreenAccessE2cE20MAknIconFileProviderE2cE20CCoeControlE20E28HandleE52esourceChangeE28E29E20methodE20andE20KE45ikE44ynamicE4cayoutVariantSwitchE29E2cE20CE45ikAppUiE20E28ApplicationE52ectE28E29E2cE20OrientationE28E29E2cE20andE20SetOrientationE4cE28E29E20methodsE29E2cE20AknE4cayoutUtilsE20E28PenE45nabledE28E29E20methodE29E2eX qdcZidentifierQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fidE2fab7e4e35E2dd8c4E2d45c2E2d9d6bE2dc12257910944E2fS60E5fPlatformE5fScalableE5fScreenE5fE44rawingE5fE45E78ampleE5fv1E5f1E5fenE2ezipX qdcZidentifierQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fidE2feee42c1bE2d8369E2d4b44E2db8faE2db2a8f38ba643E2fS60E5fPlatformE5fScalableE5fScreenE5fE44rawingE5fE45E78ampleE5fv1E5f2E5fenE2ezipX qdcZidentifierQSxhttpE3aE2fE2fswE2enokiaE2ecomE2fidE2fe4835ec0E2de891E2d4cdfE2d94fdE2d9b57476c6d0cE2fS60E5fPlatformE5fScalableE5fScreenE5fE44rawingE5fE45E78ampleX qdcZrelationQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fidE2f8bb62d7dE2dfc95E2d4cebE2d8796E2da1fb0452d8ddE2fS60E5fPlatformE5fScalableE5fScreenE2dE44rawingE5fHowE2dToE5fv1E5f0E5fenE2epdfX qdcZtitleQSxS60E20PlatformE3aE20ScalableE20ScreenE2dE44rawingE20E45E78ampleX qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfnZE45E78cludedFromSearchQ qdcZtypeQUqfnZPrimaryE52esourceQ qdcZtypeQUqfntypeZApplicationQ qdcZtypeQUqfntypeZE45E78ampleQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqmarsZMediaObjectQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qrssZdescriptionQSxThisE20CE2bE2bE20applicationE20demonstratesE20scalableE20screenE20drawingE20withE20E44irectE20ScreenE20AccessE20andE20customE20drawingE20routinesE20usingE20SVGE2dTE20iconsE20andE20bitmapsE2eE20TheE20applicationE20scalesE20toE20multipleE20displayE20resolutionsE20inE20portraitE20andE20landscapeE20orientationsE20supportedE20byE20theE20S60E20platformE2eE20ThisE20eE78ampleE20isE20targetedE20especiallyE20atE20gamesE20andE20multimediaE20developersE20whoE20preferE20developingE20aE20customE20UIE20insteadE20ofE20usingE20anE20automaticallyE20scalingE20UIE2cE20suchE20asE20S60E20AvkonE20componentsE2eE20E4cabelingE20forE20theE20middleE20softkeyE20hasE20beenE20addedE20inE20theE20updatedE20versionE2eE20TheE20applicationE20supportsE20middleE2dsoftkeyE20labelingE20andE20itE20hasE20beenE20updatedE20toE20beE20compatibleE20withE20S60E205thE20E45ditionE20andE20touchE20UIE2eE20ImportantE20classesE3aE20CIconFileProviderE2cE20ME44irectScreenAccessE2cE20MAknIconFileProviderE2cE20CCoeControlE20E28HandleE52esourceChangeE28E29E20methodE20andE20KE45ikE44ynamicE4cayoutVariantSwitchE29E2cE20CE45ikAppUiE20E28ApplicationE52ectE28E29E2cE20OrientationE28E29E2cE20andE20SetOrientationE4cE28E29E20methodsE29E2cE20AknE4cayoutUtilsE20E28PenE45nabledE28E29E20methodE29E2eX qrssZtitleQSxS60E20PlatformE3aE20ScalableE20ScreenE2dE44rawingE20E45E78ampleX qeditorZdescriptionE5fcreatedQDx2007E2d12E2d18T13E3a29E3a16E5aX qeditorZdescriptionE5fmodifiedQDx2008E2d10E2d06T11E3a20E3a20E5aX qeditorZtypeQUqfntypeZApplicationQ qeditorZtypeQUqfntypeZE45E78ampleQ qeditorZtypeQUqfntypeZE52esourceQ qfnZallowedE5fcountryE5fgroupQUqfnCountryGroupZBQ qfnZaudienceQUqfnAudienceZadvancedQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZaudienceQUqfnAudienceZtechnicalQRqmarsZrelevanceQNx100X qfnZdistributionQUxhttpE3aE2fE2fforumE2enokiaE2ecomE2fX qfnZdistributionQUxhttpE3aE2fE2fwwwE2es60E2ecomE2fX qfnZeE78portE5fcontrolE5fcommodityE5fnumberQSx99X qfnZpublishedQDx2008E2d10E2d02T18E3a15E3a00E5aX qfnZtopicQUqfnTopicZcppQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtopicQUqfnTopicZentertainmentQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx50X qfnZtopicQUqfnTopicZgamesQRqdcZtypeQUqmarsZManagedE52esourceQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx50X qfnZtopicQUqfnTopicZgraphicsQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtopicQUqfnTopicZmultimediaQRqdcZtypeQUqmarsZManagedE52esourceQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx50X qfnZtopicQUqfnTopicZseriesE5f60QRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtopicQUqfnTopicZseriesE5f60E5f3edQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtopicQUqfnTopicZseriesE5f60E5f5edQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtopicQUqfnTopicZtouchE5fuiQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtopicQUqfnTopicZuiQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtypeQUqfntypeZApplicationQ qfnZtypeQUqfntypeZE45E78ampleQ qfnZtypeQUqfntypeZE52esourceQ qfnZusE5foriginQLqE78sdZbooleanQxtrueX qfnZuserE5ftagQSxentertainmentX qfnZuserE5ftagQSxgamesX qfnZuserE5ftagQSxgraphicsX qfnZuserE5ftagQSxmultimediaX qfnZuserE5ftagQSxs60X qfnZuserE5ftagQSxs60E2d3rdE2deditionX qfnZuserE5ftagQSxs60E2d5thE2deditionX qfnZuserE5ftagQSxsymbianE2dcE2bE2bX qfnZuserE5ftagQSxtouchE2duiX qfnZuserE5ftagQSxuiX qmarsZdescriptionQSxThisE20CE2bE2bE20applicationE20demonstratesE20scalableE20screenE20drawingE20withE20E44irectE20ScreenE20AccessE20andE20customE20drawingE20routinesE20usingE20SVGE2dTE20iconsE20andE20bitmapsE2eE20TheE20applicationE20scalesE20toE20multipleE20displayE20resolutionsE20inE20portraitE20andE20landscapeE20orientationsE20supportedE20byE20theE20S60E20platformE2eE20ThisE20eE78ampleE20isE20targetedE20especiallyE20atE20gamesE20andE20multimediaE20developersE20whoE20preferE20developingE20aE20customE20UIE20insteadE20ofE20usingE20anE20automaticallyE20scalingE20UIE2cE20suchE20asE20S60E20AvkonE20componentsE2eE20E4cabelingE20forE20theE20middleE20softkeyE20hasE20beenE20addedE20inE20theE20updatedE20versionE2eE20TheE20applicationE20supportsE20middleE2dsoftkeyE20labelingE20andE20itE20hasE20beenE20updatedE20toE20beE20compatibleE20withE20S60E205thE20E45ditionE20andE20touchE20UIE2eE20ImportantE20classesE3aE20CIconFileProviderE2cE20ME44irectScreenAccessE2cE20MAknIconFileProviderE2cE20CCoeControlE20E28HandleE52esourceChangeE28E29E20methodE20andE20KE45ikE44ynamicE4cayoutVariantSwitchE29E2cE20CE45ikAppUiE20E28ApplicationE52ectE28E29E2cE20OrientationE28E29E2cE20andE20SetOrientationE4cE28E29E20methodsE29E2cE20AknE4cayoutUtilsE20E28PenE45nabledE28E29E20methodE29E2eX qmarsZhasInstanceQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fidE2fc5b4228bE2d992cE2d4636E2d8f48E2d753040760391E2fS60E5fPlatformE5fScalableE5fScreenE5fE44rawingE5fE45E78ampleE5fv1E5f3E5fenE2ezipX qmarsZhasInstanceQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fidE2ff93e71e5E2d58b0E2d401bE2d89cbE2d05d3e2d93e76E2fS60E5fPlatformE5fScalableE5fScreenE5fE44rawingE5fE45E78ampleE5fv1E5f4E5fenE2ezipX qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qmarsZtitleQSxS60E20PlatformE3aE20ScalableE20ScreenE2dE44rawingE20E45E78ampleX qncZrightsQSxCopyrightE20Ea9E202006E2d2008E20NokiaE20CorporationE2eX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfnZE45E78cludedFromSearchQ qrdfZtypeQUqfnZPrimaryE52esourceQ qrdfZtypeQUqfntypeZApplicationQ qrdfZtypeQUqfntypeZE45E78ampleQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqmarsZMediaObjectQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ qrdfsZseeAlsoQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fidE2f8bb62d7dE2dfc95E2d4cebE2d8796E2da1fb0452d8ddE2fS60E5fPlatformE5fScalableE5fScreenE2dE44rawingE5fHowE2dToE5fv1E5f0E5fenE2epdfX