Symbian3/SDK/Source/GUID-7EFBEEAD-3E74-5165-B305-313F7DE4BEB4.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 21 Jan 2010 18:18:20 +0000
changeset 0 89d6a7a84779
permissions -rw-r--r--
Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     6
<!-- Initial Contributors:
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     7
    Nokia Corporation - initial contribution.
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     8
Contributors: 
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     9
-->
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    10
<!DOCTYPE concept
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    12
<concept xml:lang="en" id="GUID-7EFBEEAD-3E74-5165-B305-313F7DE4BEB4"><title>OpenVG Interface Component Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The OpenVG Interface component defines the interface to OpenVG on the Symbian platform. The component standardizes the source and binary interfaces in order to encourage both source and binary compatibility between Symbian-based OpenVG implementations. </p> <p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref> and <xref href="GUID-F64E6551-670E-5E12-8103-DE504D3EC94F.dita">non-ScreenPlay</xref>. </p> <section><title>Supported APIs</title> <p>The OpenVG specifications are defined by the Khronos Group (<xref scope="external" href="http://www.khronos.org">www.khronos.org</xref>). The following table provides links to the relevant specifications. </p> <table id="GUID-5B734E4C-E838-5478-990F-817F4D0971FB"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>APIs</entry> <entry>Specification</entry> </row> </thead> <tbody><row><entry><p>OpenVG 1.0.1 and VGU 1.0 </p> </entry> <entry><p> <xref scope="external" href="http://www.khronos.org/registry/vg/specs/openvg_1_0_1.pdf">http://www.khronos.org/registry/vg/specs/openvg_1_0_1.pdf </xref>  </p> </entry> </row> <row><entry><p>OpenVG 1.1 and VGU 1.1 </p> </entry> <entry><p> <xref scope="external" href="http://www.khronos.org/registry/vg/specs/openvg-1.1.pdf">http://www.khronos.org/registry/vg/specs/openvg-1.1.pdf </xref>  </p> </entry> </row> </tbody> </tgroup> </table> <p>VGU provides some handy functions that can be used by OpenVG applications. For example, it provides functions for drawing primitives (such as lines, polygons, rectangles and arcs) and for computing warp matrixes. The latter transform the drawing surface from one shape to another (for example, from a square to an arbitrary quadrilateral defined by points). </p> </section> <section><title>Header files</title> <p>The OpenVG Interface component includes the Khronos-released header files <filepath>openvg.h</filepath> and <filepath>vgu.h</filepath>. These header files incorporate minor changes such as Doxygen tags (<codeph>/**</codeph> comments) and the Symbian-defined macro <xref href="GUID-95CD96CA-70FD-325A-9D97-0E2BCB4C92FF.dita"><apiname>__SOFTFP</apiname></xref>, which is described below. Use of these standard header files helps to ensure binary compatibility for applications across different Symbian platforms. It also provides source compatibility between different operating systems. </p> <p>The header files are provided for both OpenVG 1.0 and OpenVG 1.1. Stub <filepath>openvg.h</filepath> and <filepath>vgu.h</filepath> files redirect to the OpenVG 1.0 headers by default. However a variability point can be used to expose the OpenVG 1.1 headers. </p> <p>The Symbian-defined header file <filepath>/epoc32/include/khronos_types.h</filepath> maps the Khronos-defined basic types to native Symbian types. </p> </section> <section><title>Floating point conventions</title> <p>Within the Khronos-supplied header files, the Symbian-defined macro <xref href="GUID-95CD96CA-70FD-325A-9D97-0E2BCB4C92FF.dita"><apiname>__SOFTFP</apiname></xref> has been added to the declaration of all functions that pass, or return, floating point numbers by value. This means that: </p> <ul><li id="GUID-85D70C88-01C9-5ACF-A39E-F2DC74158FD8"><p>When using the API both clients and the OpenVG implementation must use software floating point calling conventions, regardless whether hardware or software floating point compiler options are actually used. </p> </li> <li id="GUID-C755520B-8CC8-55E0-A47F-584A7C3A19C5"><p>If suitable hardware is available, the OpenVG implementation can use hardware-accelerated floating point features internally without a risk of binary incompatibility with client programs. </p> </li> <li id="GUID-6C5F4FDE-7C69-5C47-9D10-4CB6A43EB0B8"><p>If suitable hardware is available, OpenVG client programs can use hardware-accelerated floating point features internally without a risk of binary incompatibility with the OpenVG implementation. </p> </li> </ul> </section> <section><title>Library names</title> <p>The OpenVG Interface component includes the following LIB files: </p> <table id="GUID-DB65C429-5A67-5D4B-A42D-D48883BEB94F"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Library</entry> <entry>Name</entry> </row> </thead> <tbody><row><entry><p>OpenVG </p> </entry> <entry><p> <filepath>libOpenVG.lib</filepath>  </p> </entry> </row> <row><entry><p>VGU </p> </entry> <entry><p> <filepath> libOpenVGU.lib</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> <p>The corresponding DLL files must be delivered by the implementation. </p> </section> <section><title>DEF files</title> <p>The OpenVG Interface component supplies DEF files to further ensure binary compatibility between different platforms. These files exist for the WINS and WINSCW emulator and ARM hardware platforms as shown in the following tables. Although the names have a trailing "u", this is not specified in the MMP file because it is appended automatically. </p> <p><b>DEF files for WINS and WINSCW </b> </p> <table id="GUID-2F4052FB-DEB3-5849-954A-8D6A333E3916"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Library</entry> <entry>Name</entry> </row> </thead> <tbody><row><entry><p>OpenVG 1.0.1 </p> </entry> <entry><p> <filepath>\epoc32\include\platform\def\win32\libopenvg10u.def</filepath> </p> </entry> </row> <row><entry><p>VGU 1.0.1 </p> </entry> <entry><p> <filepath>\epoc32\include\platform\def\win32\libopenvgu10u.def</filepath> </p> </entry> </row> <row><entry><p>OpenVG 1.1 </p> </entry> <entry><p> <filepath>\epoc32\include\platform\def\win32\libopenvg11u.def</filepath>  </p> </entry> </row> <row><entry><p>VGU 1.1 </p> </entry> <entry><p> <filepath>\epoc32\include\platform\def\win32\libopenvgu11u.def</filepath> </p> </entry> </row> </tbody> </tgroup> </table> <p><b>DEF files for ARM </b> </p> <table id="GUID-B067511D-B957-5BC1-9967-04FADE5EF079"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Library</entry> <entry>Name</entry> </row> </thead> <tbody><row><entry><p>OpenVG 1.0.1 </p> </entry> <entry><p> <filepath>\epoc32\include\platform\def\eabi\libopenvg10u.def</filepath>  </p> </entry> </row> <row><entry><p>VGU 1.0.1 </p> </entry> <entry><p> <filepath> \epoc32\include\platform\def\eabi\libopenvgu10u.def</filepath> </p> </entry> </row> <row><entry><p>OpenVG 1.1 </p> </entry> <entry><p> <filepath>\epoc32\include\platform\def\eabi\libopenvg11u.def</filepath>  </p> </entry> </row> <row><entry><p>VGU 1.1 </p> </entry> <entry><p> <filepath> \epoc32\include\platform\def\eabi\libopenvgu11u.def</filepath> </p> </entry> </row> </tbody> </tgroup> </table> </section> </conbody><related-links><link href="GUID-1A8ED0EB-B3B7-553F-95E3-2120D877966B.dita"><linktext>OpenVG Collection Overview</linktext> </link> <link href="GUID-C2E24953-3D83-59FB-8B7A-C850474406DB.dita"><linktext>OpenVG Interface Component</linktext> </link> </related-links></concept>