Week 12 contribution of API Specs and fix SDK submission
<?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-22E46647-D677-5A47-A7E0-E1E0AE736B27" xml:lang="en"><title>DirectGDIAdaptation Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The DirectGDI Adaptation component, together with the DirectGDI Interfacecomponent, forms the DirectGDI adaptation layer. The DirectGDI Interface componentdefines the interfaces that the adaptations must implement and the DirectGDIAdaptation component consists of the two DirectGDI implementations that areprovided in the Graphics package. </p><p><b>Target audience</b>: Device creators. </p><note type="note">DirectGDI is deprecated in Symbian^3.</note><p>The <xref href="GUID-A2E07A3C-B3A8-50B9-BD60-F1F01795FA24.dita">DirectGDI component</xref> providesa framework that enables graphics hardware acceleration and interleaved rendering.This framework provides an API for client applications and a Hardware AdaptationInterface (HAI), which defines interfaces that must be implemented by deviceand hardware manufacturers in order to provide the API functionality. Theframework has a dependency on the <xref href="GUID-82B0B4B9-6BC2-5BEF-B3B0-D57AC57F8D8A.dita">GraphicsResource Component</xref>. </p><p>The Graphics package includes two DirectGDI adaptations: </p><ul><li id="GUID-B0C72AE2-2A06-59AD-98AA-BCE881ECD460"><p>A purely software adaptationthat uses existing components to draw to the screen in a similar manner toBitGDI. This is suitable for use in phones that do not include graphics accelerationhardware. </p> </li><li id="GUID-FB34D088-0046-5A1B-9C23-39D11C448ECD"><p>A hardware adaptationthat uses OpenVG and EGL APIs on the H4 platform. This is provided for referencepurposes and there is no requirement that the implementation use OpenVG. Hardwaremanufacturers can in fact use any third-party rendering system that is suitablefor use with the target hardware. </p> </li></ul><p>The following diagram shows the generic DirectGDI API and implementation,with one software and two hardware implementations. Although shown on thesame diagram, in fact only one implementation can exist on the same phone.A configuration at ROM build time decides which implementation is used. </p><fig id="GUID-E4CD5B76-03E0-5F4C-8C65-C2F2B52969F5"><title> DirectGDI architecture </title><image href="GUID-912643B5-0B8D-5836-B864-9A2DBAC86B00_d0e268181_href.png" placement="inline"/></fig><p>Notice that all three of the implementations implement the common <xref href="GUID-97E3E8DD-A2DA-3961-96E3-41AEAFFDD275.dita"><apiname>MDirectGdiEngine</apiname></xref> interface.Also notice that the hardware implementation uses asynchronous calls to thegraphic acceleration hardware driver. This means that the CPU can continuewith other processing while the GPU is busy processing the rendering request.This improves the parallelism between the CPU and the GPU. </p><p>The software implementation does not use asynchronous calls, because therendering is performed by the CPU. </p><section id="GUID-134818CD-B113-4AE1-8C48-CDF9CB38C46E"><title>Generic layer</title> <p>Thefollowing figure shows the classes in the DirectGDI generic layer (which isshaded green). Classes that are provided by other components are shown inred. Classes that cross the generic layer boundary have some parts that cannotbe modified (such as a fixed API), but have other parts that can be modified. </p> <fig id="GUID-1A830274-D596-586A-B469-0CB7619FB391"><title> The DirectGDI generic layer classes </title><image href="GUID-26B3BB7B-53CC-518F-85DA-CBAAD52DCE1C_d0e268206_href.png" placement="inline"/></fig> </section></conbody><related-links><link href="GUID-A2E07A3C-B3A8-50B9-BD60-F1F01795FA24.dita"><linktext>DirectGDIComponent</linktext></link><link href="GUID-7B511CC2-CE38-5888-AF12-3568BEB416A6.dita"><linktext>DirectGDIInterface Component</linktext></link><link href="GUID-EBE2D1D3-3A99-54BF-B5C0-08E9267F5750.dita"><linktext>Creatinga DirectGDI Adaptation</linktext></link></related-links></concept>