Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-B02C762B-C452-4184-ABEA-4753E6CD47D2" xml:lang="en"><title>Scalability</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>The term <i>scalability</i> refers to the ability of an application
UI to function as designed in mobile devices with different screen resolutions
or orientations. For example, in the figure below, the UI scales to fit both
portrait and landscape orientations.</p>
<fig id="GUID-D889D539-AD96-4E67-A52A-EC14FF98E299"><title>Scaling</title><image href="GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e40733_href.png"/></fig>
<p>When you enable scaling in your application, you allow your application
to support the different display sizes, resolutions, and layouts for different
devices based on the Symbian platform. The Symbian platform provides APIs
and other support to enable scaling in applications. Some scaling issues are
handled by the application framework if support is enabled, while other issues
need to be handled by the application. The details of what can be handled
where depend on the nature of your UI architecture. A general rule of thumb
is that the greater the degree of customization in your application, the more
you need to handle scalability issues in the application.</p>
<p>You are not required to enable scaling in your applications, although
it is recommended as it enhances usability for mobile device users.</p>
<p>The following issues should be kept in mind when enabling your application
for scaling:</p>
<ul>
<li><p>Layout information should not be hard-coded.</p>
<itemgroup>
<p> The Symbian platform provides the <parmname>AknLayoutUtils</parmname> class
for building layouts from resource files.</p>
<p>Note that you also need to <xref href="GUID-DD15F24B-0786-4531-A6C5-A5E70EBE2732.dita">override <apiname>CCoeControl::HandleResourceChange()</apiname> and <apiname>CEikAppUi::HandleResourceChangeL()</apiname></xref> in your
application to draw your application again in the event that the orientation
of the display changes.</p>
</itemgroup>
</li>
<li><p>Scalable fonts should be used.</p>
<itemgroup>
<p>The Symbian platform provides methods in the <parmname>AknLayoutUtils</parmname> for
using logical fonts from an enumeration in the <parmname>avkon.hrh</parmname> file.</p>
</itemgroup>
</li>
<li><p>Scalable icons should be used.</p>
<itemgroup>
<p>Scalable icons are based on SVG Tiny (SVG-T) format <xref href="GUID-D76B1001-BAF5-4557-A07E-61065523ECBE.dita">graphics</xref>.</p>
</itemgroup>
</li>
</ul>
</conbody></concept>