Symbian3/SDK/Source/GUID-1A8ED0EB-B3B7-553F-95E3-2120D877966B.dita
changeset 8 ae94777fff8f
parent 7 51a74ef9ed63
child 13 48780e181b38
equal deleted inserted replaced
7:51a74ef9ed63 8:ae94777fff8f
     9 -->
     9 -->
    10 <!DOCTYPE concept
    10 <!DOCTYPE concept
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    12 <concept xml:lang="en" id="GUID-1A8ED0EB-B3B7-553F-95E3-2120D877966B"><title>OpenVG Collection Overview</title><shortdesc>OpenVG is a royalty-free, cross-platform API that provides a low-level hardware acceleration interface for vector graphics libraries such as Flash and SVG. OpenVG is targeted primarily at handheld devices that require portable acceleration of high-quality vector graphics for user interfaces and text on small screen devices—while enabling hardware acceleration to provide fluidly interactive performance at very low power levels. </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> <p>OpenVG is an open standard developed by the Khronos Group (<xref scope="external" href="http://www.khronos.org">www.khronos.org</xref>). OpenVG features include: </p> <ul><li id="GUID-B267EBF8-8507-5200-A988-E9473421C7AE"><p>Coordinate systems and transformations (image drawing uses a 3x3 perspective transformation matrix) </p> </li> <li id="GUID-9DD01326-63A6-548E-A245-61118D1751D1"><p>Viewport clipping, scissoring and alpha masking </p> </li> <li id="GUID-E265A325-F47B-5D5E-B98E-4DC7113000FB"><p>Paths </p> </li> <li id="GUID-AAB66D89-68F2-59A5-BB29-E49932FEFB13"><p>Images and image filters </p> </li> <li id="GUID-DEB27EED-13F2-5B2D-AADD-2BA0F2A4A872"><p>Paint (gradient and pattern) </p> </li> <li id="GUID-9CC84B3A-2891-5D2C-909E-F0C12F96569E"><p>Blending. </p> </li> </ul> <p>In addition, the associated VGU utility library provides features such as higher-level geometric primitives and image warping. </p> <section><title>Architecture</title> <p>OpenVG only defines rendering functionality and therefore cannot be used in isolation. It requires EGL to establish an environment in which OpenVG can be used. For example, EGL tells OpenVG where its rendered output should go. OpenVG depends on a standalone implementation of EGL. </p> <p>The following diagram shows the direct use of OpenVG by an application through the public OpenVG interface together with EGL. On the Symbian platform, both OpenVG and EGL have a component (shown in blue) that declares the interface, and both require an implementation that implements that interface (shown in green). </p> <fig id="GUID-2BCC3100-9644-55D1-A26E-C3510A148E66"><title>
    12 <concept xml:lang="en" id="GUID-1A8ED0EB-B3B7-553F-95E3-2120D877966B"><title>OpenVG Collection Overview</title><shortdesc>OpenVG is a royalty-free, cross-platform API that provides a low-level hardware acceleration interface for vector graphics libraries such as Flash and SVG. OpenVG is targeted primarily at handheld devices that require portable acceleration of high-quality vector graphics for user interfaces and text on small screen devices—while enabling hardware acceleration to provide fluidly interactive performance at very low power levels. </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> <p>OpenVG is an open standard developed by the Khronos Group (<xref scope="external" href="http://www.khronos.org">www.khronos.org</xref>). OpenVG features include: </p> <ul><li id="GUID-B267EBF8-8507-5200-A988-E9473421C7AE"><p>Coordinate systems and transformations (image drawing uses a 3x3 perspective transformation matrix) </p> </li> <li id="GUID-9DD01326-63A6-548E-A245-61118D1751D1"><p>Viewport clipping, scissoring and alpha masking </p> </li> <li id="GUID-E265A325-F47B-5D5E-B98E-4DC7113000FB"><p>Paths </p> </li> <li id="GUID-AAB66D89-68F2-59A5-BB29-E49932FEFB13"><p>Images and image filters </p> </li> <li id="GUID-DEB27EED-13F2-5B2D-AADD-2BA0F2A4A872"><p>Paint (gradient and pattern) </p> </li> <li id="GUID-9CC84B3A-2891-5D2C-909E-F0C12F96569E"><p>Blending. </p> </li> </ul> <p>In addition, the associated VGU utility library provides features such as higher-level geometric primitives and image warping. </p> <section><title>Architecture</title> <p>OpenVG only defines rendering functionality and therefore cannot be used in isolation. It requires EGL to establish an environment in which OpenVG can be used. For example, EGL tells OpenVG where its rendered output should go. OpenVG depends on a standalone implementation of EGL. </p> <p>The following diagram shows the direct use of OpenVG by an application through the public OpenVG interface together with EGL. On the Symbian platform, both OpenVG and EGL have a component (shown in blue) that declares the interface, and both require an implementation that implements that interface (shown in green). </p> <fig id="GUID-2BCC3100-9644-55D1-A26E-C3510A148E66"><title>
    13              OpenVG external relationships 
    13              OpenVG external relationships 
    14           </title> <image href="GUID-B783AF18-FF14-5864-A92C-8BE62E07C68D_d0e209850_href.png" placement="inline"/></fig> <p>It is possible for the OpenVG and EGL implementations to communicate through a private interface that is not standardized by Symbian. </p> <p>The <xref href="GUID-C2E24953-3D83-59FB-8B7A-C850474406DB.dita">OpenVG Interface</xref> provides a consistent interface to OpenVG on the Symbian platform, enabling cross-device compatibility. The component includes the Khronos-released header files (which incorporate some minor changes, such as to the comments). It also provides some Symbian-specific header files and some other files (such as LIB, DEF and MMP files) and UIDs. It does not provide any implementations of the APIs. </p> </section> <section><title>Description</title> <p>OpenVG is designed to be the primary 2D and vector graphics API for use by mobile devices. By providing a consistent interface to OpenVG, the Symbian platform allows OpenVG applications and middleware (such as an SVG engine) to automatically benefit from hardware acceleration when it is present without losing compatibility when it is not available. In addition device and hardware manufacturers benefit from a standard Hardware Adaptation Interface (HAI) to plug into. This means that OpenVG has the potential to provide end users with improved quality and responsiveness of graphics features. </p> </section> </conbody><related-links><link href="GUID-1B1C6D35-FFDF-55B3-BCE2-DD0295858E49.dita"><linktext>OpenVG Collection</linktext> </link> <link href="GUID-8C6D4350-A38D-57A1-8C8D-C777EA7E8A3E.dita"><linktext>EGL
    14           </title> <image href="GUID-B783AF18-FF14-5864-A92C-8BE62E07C68D_d0e204842_href.png" placement="inline"/></fig> <p>It is possible for the OpenVG and EGL implementations to communicate through a private interface that is not standardized by Symbian. </p> <p>The <xref href="GUID-C2E24953-3D83-59FB-8B7A-C850474406DB.dita">OpenVG Interface</xref> provides a consistent interface to OpenVG on the Symbian platform, enabling cross-device compatibility. The component includes the Khronos-released header files (which incorporate some minor changes, such as to the comments). It also provides some Symbian-specific header files and some other files (such as LIB, DEF and MMP files) and UIDs. It does not provide any implementations of the APIs. </p> </section> <section><title>Description</title> <p>OpenVG is designed to be the primary 2D and vector graphics API for use by mobile devices. By providing a consistent interface to OpenVG, the Symbian platform allows OpenVG applications and middleware (such as an SVG engine) to automatically benefit from hardware acceleration when it is present without losing compatibility when it is not available. In addition device and hardware manufacturers benefit from a standard Hardware Adaptation Interface (HAI) to plug into. This means that OpenVG has the potential to provide end users with improved quality and responsiveness of graphics features. </p> </section> </conbody><related-links><link href="GUID-1B1C6D35-FFDF-55B3-BCE2-DD0295858E49.dita"><linktext>OpenVG Collection</linktext> </link> <link href="GUID-8C6D4350-A38D-57A1-8C8D-C777EA7E8A3E.dita"><linktext>EGL
    15                 Collection</linktext> </link> </related-links></concept>
    15                 Collection</linktext> </link> </related-links></concept>