Register with Forum Nokia now and you'll enjoy the full benefits of the Forum Nokia membership.
Register LoginInnovation Series Videos highlighting Forum Nokia developers
Nokia releases new Qt developer offerings
Forum Nokia Developer Conference, India
Optimise your website for mobile devices with mobile web templates and layouts
Zoom and Rotate Gestures in FlashLite for touch-enabled devices
Jackson Feijó
Read more about Jackson on the Champions website.
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

S60 5th Edition: Mobile Paint Example
This C++ code example demonstrates drawing and other touch UI features of S60 5th Edition with direct manipulation using, for example, CCoeControl::EnableDragEvents(). The application provides a number of drawing options that can be selected from a toolbar. There are two toolbar options, CAknToolbar and a custom floating toolbar. All application graphics have been implemented as Scalable Vector Graphics Tiny (SVGT) icons. In the updated version, the drawing performance has been significantly improved. The example application has been developed for Symbian S60 5.0 and touch UI. Important classes: CCoeControl, MTouchFeedback, CFbsBitmap, CFbsBitGc, CFbsBitmapDevice, CAknToolbar, CAknToolbarExtension, MAknToolbarObserver.

S60 5th Edition: Solitaire Game Example
This C++ example application demonstrates a fully touch-optimised application using various touch UI features of S60 5th Edition with direct manipulation. Besides tapping the cards, the user can drag and drop them using a finger or the stylus. The application demonstrates handling pointer events of custom made UI controls. Also, tactile feedback using the Touch Feedback API is received. Double buffering is used to draw on the screen to avoid flickering. By default, the cards are implemented as Scalable Vector Graphics (SVG) icons, but the example also provides an option to draw them using methods of the graphics context class CWindowGc. In the updated version, major drawing optimisation has been done. The example application was developed for S60 5th Edition and touch UI. Important classes: CCoeControl, MTouchFeedback, CFbsBitmap, CWindowGc.

S60 Platform: Sudoku Game Example
This C++ example demonstrates how to implement a simple custom UI game that handles different layouts and multiple screen resolutions, and supports several input
methods (keyboard and touch UI). Classes: CCoeControl, CFont, AknUtils, CFbsBitmap, CFbsBitGc, CFbsBitmapDevice

S60 Platform: Scalable UI Example
This C++ example application (Noughts and Crosses) demonstrates the scalable UI and
SVG-T icons. The example has been updated to support touch UI. It has been designed
to work on all devices from S60 3rd Edition onwards and it supports different screen
sizes, orientations, and both the touch UI and a traditional keypad.

S60 Platform: Scalable Screen-Drawing Example
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).

S60 Platform: 3D Game Engine Example with Sensor Support
This C++ example application demonstrates a simple 3D engine. The engine produces a simple car game where you can drive a car around a wide parking lot. Everything seen on the screen is rendered in 3D. The example utilizes OpenGL ES and the application dynamically scales on all screen sizes of S60 devices.
Best Practices for HW-Accelerated Graphics Optimization
Learn how to use the OpenGL ES API to render 3D graphics in an efficient way in hardware-accelerated Nokia devices based on S60 3rd Edition and 3rd Edition, Feature Pack 1 (for example, Nokia N93, Nokia N93i, Nokia N95, and Nokia E90). Graphics hardware in the accelerated devices is many times faster than a SW-based implementation. However, certain simple principles in the OpenGL ES API usage need to be followed to get the best performance. The document provides some dos and don’ts to optimize the performance of the application. In addition, a texture conversion tool and a demo application are provided in the package.

S60 Platform: 2D Game Engine Example
This C++ code example demonstrates an application with custom 2D graphics. The application is designed to support various S60 devices with different amounts of colors and various screen resolutions and orientations. The application implements a simple 2D game with some basic game features (audio on/off, on-screen menu). The code example is based on an earlier published Symbian OS: 2D Game Engine Example, which supports, for example, S60 2nd Edition and Series 80 2nd Edition. Main classes: CFbsBitmap, RBackedupWindow.

Symbian OS: 3D Game Engine Example v1.2
This C++ code example demonstrates a simple 3D engine. The engine produces a simple game where you can drive a car around a wide parking lot. Everything seen on the screen is rendered in 3D. The example utilizes OpenGL ES (supported from S60 2nd Edition, Feature Pack 2 onwards) and an own rendering implementation for platforms not supporting OpenGL ES. This example supports S60 2nd Edition and Series 80 2nd Edition devices. A separate example is available for S60 3rd Edition at www.forum.nokia.com. Main classes: OpenGL ES (API), CIdle, Math, CImageDecoder, CAknKeySoundSystem.

S60 Platform: Isometric Adventure Game Example
This C++ code example demonstrates isometric content creation and usage of standard C/C++ libraries. The example also shows how to structure memory usage and how game state and resources can be freed / restored during run time. The key audience is considered to be C++ game developers who have developed games for desktop computers and also want to expand to S60 devices. The generic game architecture design considerations for mobile platforms are applicable to all game developers, or those interested in becoming (mobile) game developers. The package includes a game design document. General isometric game development issues are described in the Designing Isometric Adventure Games document that is available at www.forum.nokia.com.

S60 Platform: Scalable Screen-Drawing How-To
This document describes how to develop C++ applications with custom graphics that scale to multiple display resolutions in portrait and landscape orientations supported by the S60 platform (from S60 2nd Edition, Feature Pack 3 onwards). Direct screen access, bitmaps, scalable vector graphics, and other drawing methods are compared and related APIs are presented. The document includes code snippets from S60 Platform: Scalable Screen-Drawing Example. This document is targeted especially at games and multimedia developers who prefer developing a custom UI instead of using the automatically scaling UI, such as S60 Avkon components.

S60 Platform: Vector Graphics Optimization
This document gives instructions for optimizing vector graphics for the S60 3rd Edition user interface. The S60 3rd Edition SVG rasterizing engine supports the SVG Tiny 1.1 standard with additional support for line and fill opacity and gradient.

S60 Platform: Introduction to 3D Graphics in C++ (with Example) v1.1
This updated document provides an introduction to rendering 3D graphics on S60 devices using C++. Sample code is included in the package.