Adaptation/GUID-552530EB-1287-542D-AED3-125387B485C1.dita
changeset 15 307f4279f433
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Adaptation/GUID-552530EB-1287-542D-AED3-125387B485C1.dita	Fri Oct 15 14:32:18 2010 +0100
@@ -0,0 +1,59 @@
+<?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-552530EB-1287-542D-AED3-125387B485C1" xml:lang="en"><title>Architecture</title><shortdesc>Describes the architecture of the Digitizer Driver. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The architecture has two layers: </p>
+<table id="GUID-66F9A575-14A6-5F98-9166-CF5F5B03BF67">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<tbody>
+<row>
+<entry><p>A platform-independent layer that: </p> </entry>
+<entry><ul>
+<li id="GUID-1F3AAAB4-181C-54EF-83AA-CEBE00590934"><p>processes digitiser
+samples </p> </li>
+<li id="GUID-F8D8BC65-0D80-5D5A-9F87-B8C34FEE70A2"><p>issues pen movement
+events to the kernel </p> </li>
+<li id="GUID-75A10183-BFCE-5D3D-B167-6D884EED335F"><p>maintains a buffer of
+digitiser readings </p> </li>
+</ul> <p>This layer implements behaviour that can be expected to be the same
+across all platforms. </p> <p> <i>Symbian provides this.</i>  </p> </entry>
+</row>
+<row>
+<entry><p>A platform specific layer that is responsible for: </p> </entry>
+<entry><ul>
+<li id="GUID-5D268750-7FF8-527F-B670-02A2605F610E"><p>the conversion between
+screen and digitiser coordinates </p> </li>
+<li id="GUID-65D85059-ED68-5AEF-BA1C-8255D5AAADC1"><p>the implementation of
+low level calibration </p> </li>
+<li id="GUID-98D55CC6-946B-5396-A518-65AF137684D3"><p>the gathering of raw
+digitiser data samples </p> </li>
+<li id="GUID-6E3D68AF-4EF8-50CA-90EA-814820C15ACA"><p>power management. </p> </li>
+</ul> <p>This layer implements behaviour that can vary between platforms and
+therefore needs to be implemented by the port. </p> <p>The bulk of the effort
+here is the definition and implementation of a class derived from the Symbian
+defined <xref href="GUID-2EDAF642-2399-3594-986A-5E8A5EEA01B9.dita"><apiname>DDigitiser</apiname></xref> class; the derived class implements
+the pure virtual functions defined by <codeph>DDigitiser</codeph>. </p> <p> <i>You
+provide this.</i>  </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+<p>The template port provides a framework for implementing the platform specific
+part of the digitiser. The diagram below shows the overall relationship: </p>
+<fig id="GUID-25F301AD-9B05-51BF-A96B-C99AB5B2D2E4">
+<image href="GUID-904C9C5A-5FDB-5978-88CF-E30D6C0DBB61_d0e8869_href.png" placement="inline"/>
+</fig>
+<p>The standard Symbian platform ports all follow the same general pattern,
+including the H2. However, the H2 board implementation has two levels in its
+platform specific layer (an ASSP and a variant layer) and uses different source
+file names (e.g. <filepath>digitizer.cpp</filepath>), but, nevertheless, the
+same general pattern applies. </p>
+</conbody></concept>
\ No newline at end of file