Symbian3/SDK/Source/GUID-7EFBEEAD-3E74-5165-B305-313F7DE4BEB4.dita
changeset 7 51a74ef9ed63
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/SDK/Source/GUID-7EFBEEAD-3E74-5165-B305-313F7DE4BEB4.dita	Wed Mar 31 11:11:55 2010 +0100
@@ -0,0 +1,158 @@
+<?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-7EFBEEAD-3E74-5165-B305-313F7DE4BEB4" xml:lang="en"><title>OpenVG
+Interface Component Overview</title><shortdesc>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.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<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 id="GUID-4EEEC806-7C29-4D4B-963B-50311687F480"><title>Supported APIs</title> <p>The OpenVG specifications are defined
+by the Khronos Group (<xref href="http://www.khronos.org" scope="external">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 href="http://www.khronos.org/registry/vg/specs/openvg_1_0_1.pdf" scope="external">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 href="http://www.khronos.org/registry/vg/specs/openvg-1.1.pdf" scope="external">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 id="GUID-81AD9891-73BD-4AEB-A975-2B65011CA801"><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 id="GUID-6C35C182-B177-4646-9C5B-DD753E16425B"><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 id="GUID-7B98DA1E-B9F7-4A6B-8B9E-498785340B47"><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 id="GUID-2F975C84-2420-450D-ADAB-D4DDF709AB05"><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>
\ No newline at end of file