javauis/m2g_akn/inc/CM2GSVGProxy.h
branchRCL_3
changeset 19 04becd199f91
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/m2g_akn/inc/CM2GSVGProxy.h	Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,578 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+*
+* Description:  SVGTopt proxy
+*
+*/
+
+#ifndef CM2GSVGPROXY_H
+#define CM2GSVGPROXY_H
+
+//  INCLUDES
+#include "MM2GSVGProxy.h"
+
+M2G_NS_START
+
+// CONSTANTS
+
+// MACROS
+
+// DATA TYPES
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+class CSvgJavaInterfaceImpl;
+
+// CLASS DECLARATION
+/**
+ *
+ */
+class CM2GSVGProxy : public CBase, public MM2GSVGProxy
+{
+public: // METHODS
+    /**
+     * Two-phased constructor.
+     * @return Reference counted proxy wrapper
+     */
+    static CM2GSVGProxy* NewL();
+
+    /**
+     * Destructor.
+     */
+    virtual ~CM2GSVGProxy();
+
+    /**
+     * @see MM2GSVGProxy::AddCloseL
+     */
+    virtual void AddCloseL(const TM2GSvgPathHandle& aPathHandle);
+
+    /**
+     * @see MM2GSVGProxy::AddCurveToL
+     */
+    virtual void AddCurveToL(
+        const TM2GSvgPathHandle& aPathHandle,
+        const TM2GPathCurveData& aPathCurveData);
+
+    /**
+     * @see MM2GSVGProxy::AddLineToL
+     */
+    virtual void AddLineToL(
+        const TM2GSvgPathHandle& aPathHandle,
+        const TReal32& aX, const TReal32& aY);
+
+    /**
+     * @see MM2GSVGProxy::AddMoveToL
+     */
+    virtual void AddMoveToL(
+        const TM2GSvgPathHandle& aPathHandle,
+        const TReal32& aX, const TReal32& aY);
+
+    /**
+     * @see MM2GSVGProxy::AddQuadToL
+     */
+    virtual void AddQuadToL(
+        const TM2GSvgPathHandle& aPathHandle,
+        const TReal32& aX1, const TReal32& aY1,
+        const TReal32& aX2, const TReal32& aY2);
+
+    /**
+     * @see MM2GSVGProxy::AppendChildL
+     */
+    virtual void AppendChildL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgElementHandle& aChildElementHandle);
+
+    /**
+     * @see MM2GSVGProxy::BeginElementAtL
+     */
+    virtual void BeginElementAtL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        const TM2GSvgElementHandle& aElementHandle,
+        const TReal32& aOffset);
+
+    /**
+     * @see MM2GSVGProxy::CheckRemoveableL
+     */
+    virtual void CheckRemoveableL(
+        const TM2GSvgElementHandle& aElementHandle,
+        TInt& aRemoveable);
+
+    /**
+     * @see MM2GSVGProxy::ClearSvgSurfaceL
+     */
+    virtual void ClearSvgSurfaceL(const TM2GBitmapHandle& aSurfaceHandle);
+
+    /**
+     * @see MM2GSVGProxy::CreateDocumentL
+     */
+    virtual void CreateDocumentL(
+        const TPtrC16& aData,
+        TM2GSvgDocumentHandle& aDocumentHandle);
+
+    /**
+     * @see MM2GSVGProxy::CreateElementNsL
+     */
+    virtual void CreateElementNsL(
+        const TM2GSvgAttrType& aType,
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        TM2GSvgElementHandle& aElementHandle);
+
+    /**
+     * @see MM2GSVGProxy::CreatePathL
+     */
+    virtual void CreatePathL(TM2GSvgPathHandle& aPathHandle);
+
+
+    /**
+     * @see MM2GSVGProxy::CreateSvgEngineL
+     */
+    virtual void CreateSvgEngineL(TM2GSvgEngineHandle& aEngineHandle);
+
+
+    /**
+     * @see MM2GSVGProxy::TSvgSurfaceHandleL
+     */
+    virtual TM2GBitmapHandle CreateSvgSurfaceL(TInt aWidth, TInt aHeight);
+
+    /**
+     * @see MM2GSVGProxy::DeleteDocumentL
+     */
+    virtual void DeleteDocumentL(const TM2GSvgDocumentHandle& aDocumentHandle);
+
+    /**
+     * @see MM2GSVGProxy::DeleteSvgEngineL
+     */
+    virtual void DeleteSvgEngineL(const TM2GSvgEngineHandle& aEngineHandle);
+
+    /**
+     * @see MM2GSVGProxy::DeleteSvgSurfaceL
+     */
+    virtual void DeleteSvgSurfaceL(const TM2GBitmapHandle& aSurfaceHandle);
+
+    /**
+     * @see MM2GSVGProxy::DestroyPathL
+     */
+    virtual void DestroyPathL(const TM2GSvgPathHandle& aPathHandle);
+
+    /**
+     * @see MM2GSVGProxy::DispatchMouseEventL
+     */
+    virtual void DispatchMouseEventL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        TInt aX, TInt aY, TM2GSvgElementHandle& aElementHandle);
+
+    /**
+     * @see MM2GSVGProxy::EndElementAtL
+     */
+    virtual void EndElementAtL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        const TM2GSvgElementHandle& aElementHandle,
+        const TReal32& aOffset);
+
+    /**
+     * @see MM2GSVGProxy::FocusOnL
+     */
+    virtual void FocusOnL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        const TM2GSvgElementHandle& aElementHandle);
+
+    /**
+     * @see MM2GSVGProxy::FocusOutL
+     */
+    virtual void FocusOutL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        const TM2GSvgElementHandle& aElementHandle);
+
+    /**
+     * @see MM2GSVGProxy::GetBBoxL
+     */
+    virtual void GetBBoxL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgAttrType& aAttributeType,
+        TM2GRectData& aRectData, TInt& aResult);
+
+    /**
+     * @see MM2GSVGProxy::GetColorTraitL
+     */
+    virtual void GetColorTraitL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgAttrType& aAttributeType,
+        TM2GColorData& aColor,
+        TInt& aResult);
+
+    /**
+     * @see MM2GSVGProxy::GetElementByIdL
+     */
+    virtual void GetElementByIdL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        const TPtrC16& aId,
+        TM2GSvgElementHandle& aElementHandle);
+
+    /**
+     * @see MM2GSVGProxy::GetElementTypeIdL
+     */
+    virtual void GetElementTypeIdL(const TM2GSvgElementHandle& aElementHandle, TInt16& aId);
+
+    /**
+     * @see MM2GSVGProxy::GetEnumAttributeL
+     */
+    virtual void GetEnumTraitL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgAttrType& aAttributeType,
+        TInt16& aEnumTrait);
+
+    /**
+     * @see MM2GSVGProxy::GetExternalItemL
+     */
+    virtual TInt GetExternalListItemL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        TInt aIndex,
+        TPtrC16& aItem);
+
+    /**
+     * @see MM2GSVGProxy::GetExternalListSizeL
+     */
+    virtual void GetExternalListSizeL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        TInt& aListSz);
+
+    /**
+     * @see MM2GSVGProxy::GetFirstElementChildL
+     */
+    virtual void GetFirstElementChildL(
+        const TM2GSvgElementHandle& aElementHandle,
+        TM2GSvgElementHandle& aChildHandle);
+
+    /**
+     * @see MM2GSVGProxy::GetFloatTraitL
+     */
+    virtual void GetFloatTraitL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgAttrType& aAttributeType,
+        TReal32& aFloatTrait);
+
+    /**
+     * @see MM2GSVGProxy::GetMatrixTraitL
+     */
+    virtual void GetMatrixTraitL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgAttrType& aAttributeType,
+        TM2GMatrixData& aMatrix, TInt& aResult);
+
+    /**
+     * @see MM2GSVGProxy::GetMediaTimeL
+     */
+    virtual void GetMediaTimeL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        TReal32& aSeconds);
+
+    /**
+     * @see MM2GSVGProxy::GetNextElementSiblingL
+     */
+    virtual void GetNextElementSiblingL(
+        const TM2GSvgElementHandle& aElementHandle,
+        TM2GSvgElementHandle& aSiblingElementHandle);
+
+    /**
+     * @see MM2GSVGProxy::GetNumberOfSegmentsL
+     */
+    virtual void GetNumberOfSegmentsL(
+        const TM2GSvgPathHandle& aPathHandle,
+        TInt& aNumberOfSegments);
+
+    /**
+     * @see MM2GSVGProxy::GetParentL
+     */
+    virtual void GetParentL(
+        const TM2GSvgElementHandle& aElementHandle,
+        TM2GSvgElementHandle& aParentElementHandle);
+
+    /**
+     * @see MM2GSVGProxy::GetPathTraitL
+     */
+    virtual void GetPathTraitL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgAttrType& aAttributeType,
+        TInt& aPathTrait);
+
+    /**
+     * @see MM2GSVGProxy::GetRectTraitL
+     */
+    virtual void GetRectTraitL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgAttrType& aAttributeType,
+        TM2GRectData& aRectData, TInt& aResult);
+
+    /**
+     * @see MM2GSVGProxy::GetRootElementL
+     */
+    virtual void GetRootElementL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        TM2GSvgElementHandle& aRootElementHandle);
+
+    /**
+     * @see MM2GSVGProxy::GetScreenBBoxL
+     */
+    virtual void GetScreenBBoxL(
+        const TM2GSvgElementHandle& aElementHandle,
+        TM2GScreenBBoxData& aScreenBBoxData);
+
+    /**
+     * @see MM2GSVGProxy::GetSegmentParameterL
+     */
+    virtual void GetSegmentParameterL(
+        const TM2GSvgPathHandle& aPathHandle,
+        TInt aSegmentIndex, TInt aParamIndex,
+        TReal32& aSegmentParam);
+
+    /**
+     * @see MM2GSVGProxy::GetSegmentTypeL
+     */
+    virtual void GetSegmentTypeL(
+        const TM2GSvgPathHandle& aPathHandle,
+        TInt aSegmentIndex,
+        TInt16& aSegmentType);
+
+    /**
+     * @see MM2GSVGProxy::GetStringTraitL
+     */
+    virtual TInt GetStringTraitL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgAttrType& aAttributeType,
+        TPtrC16& aStr);
+
+
+    /**
+     * @see MM2GSVGProxy::GetSvgSurfaceHeightL
+     */
+    virtual TInt GetSvgSurfaceHeightL(const TM2GBitmapHandle& aSurfaceHandle);
+
+    /**
+     * @see MM2GSVGProxy::GetSvgSurfaceWidthL
+     */
+    virtual TInt GetSvgSurfaceWidthL(const TM2GBitmapHandle& aSurfaceHandle);
+
+    /**
+     * @see MM2GSVGProxy::GetUsedFromElement
+     */
+    virtual void GetUsedFromElementL(
+        const TM2GSvgElementHandle& aElementHandle,
+        TM2GSvgElementHandle& aHandle);
+
+    /**
+     * @see MM2GSVGProxy::GetViewportHeightL
+     */
+    virtual void GetViewportHeightL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        TInt& aHeight);
+
+    /**
+     * @see MM2GSVGProxy::GetViewportWidthL
+     */
+    virtual void GetViewportWidthL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        TInt& aWidth);
+
+    /**
+     * @see MM2GSVGProxy::InitViewportL
+     */
+    virtual void InitViewportL(
+        const TM2GSvgDocumentHandle& aDocumentHandle);
+
+    /**
+     * @see MM2GSVGProxy::InsertBeforeL
+     */
+    virtual void InsertBeforeL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgElementHandle& aNewChildElementHandle,
+        const TM2GSvgElementHandle& aReferenceElementHandle);
+
+    /**
+     * @see MM2GSVGProxy::IsActiveL
+     */
+    virtual void IsActiveL(
+        const TM2GSvgElementHandle& aElementHandle,
+        TInt& aActive);
+
+    /**
+     * @see MM2GSVGProxy::IsElementInDomL
+     */
+    virtual void IsElementInDomL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        const TM2GSvgElementHandle& aElementHandle,
+        TInt& aIsElementInDom);
+
+    /**
+     * @see MM2GSVGProxy::IsUsedL
+     */
+    virtual void IsUsedL(
+        const TM2GSvgElementHandle& aElementHandle,
+        TInt& aResult);
+
+    /**
+     * @see MM2GSVGProxy::RemoveChildL
+     */
+    virtual void RemoveChildL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgElementHandle& aChildElementHandle,
+        TM2GSvgElementHandle& aHandle);
+
+    /**
+     * @see MM2GSVGProxy::RenderDocumentL
+     */
+    virtual void RenderDocumentL(
+        const TM2GSvgEngineHandle& aEngineHandle,
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        const TM2GBitmapHandle& aSurfaceHandle,
+        TM2GBitmapHandle aSurfaceMaskHandle,
+        TReal32 aCurrentTime);
+
+    /**
+     * @see MM2GSVGProxy::RenderQualityL
+     */
+    virtual void RenderQualityL(
+        const TM2GSvgEngineHandle& aEngineHandle,
+        TInt aQuality);
+    /**
+     * @see MM2GSVGProxy::RequestCompletedL
+     */
+    virtual void RequestCompletedL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        const TPtrC16& aURI,
+        const TPtrC8& aResourceData,
+        TInt& aCompleted);
+
+    /**
+     * @see MM2GSVGProxy::SetColorTraitL
+     */
+    virtual void SetColorTraitL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgAttrType& aAttributeType,
+        const TM2GColorData& aColor);
+
+    /**
+     * @see MM2GSVGProxy::SetEnumTraitL
+     */
+    virtual void SetEnumTraitL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgAttrType& aAttributeType,
+        TInt16 aValue);
+
+    /**
+     * @see MM2GSVGProxy::SetFloatTraitL
+     */
+    virtual void SetFloatTraitL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgAttrType& aAttributeType,
+        const TReal32& aValue);
+
+    /**
+     * @see MM2GSVGProxy::SetMatrixTraitL
+     */
+    virtual void SetMatrixTraitL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgAttrType& aAttributeType,
+        const TM2GMatrixData& aMatrix);
+
+    /**
+     * @see MM2GSVGProxy::SetMediaTimeL
+     */
+    virtual void SetMediaTimeL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        const TReal32& aSeconds);
+
+    /**
+     * @see MM2GSVGProxy::SetPathTraitL
+     */
+    virtual void SetPathTraitL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgAttrType& aAttributeType,
+        const TM2GSvgPathHandle& aPathHandle);
+
+    /**
+     * @see MM2GSVGProxy::SetRectTraitL
+     */
+    virtual void SetRectTraitL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgAttrType& aAttributeType,
+        const TM2GRectData& aRect);
+
+    /**
+     * @see MM2GSVGProxy::SetRenderingQualityL
+     */
+    virtual void SetRenderingQualityL(
+        const TM2GSvgEngineHandle& aEngineHandle,
+        TInt aMode);
+
+    /**
+     * @see MM2GSVGProxy::SetStringTraitL
+     */
+    virtual void SetStringTraitL(
+        const TM2GSvgElementHandle& aElementHandle,
+        const TM2GSvgAttrType& aAttributeTypeId,
+        const TPtrC16& aStr);
+
+    /**
+     * @see MM2GSVGProxy::SetViewportHeightL
+     */
+    virtual void SetViewportHeightL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        TInt aHeight);
+
+
+    /**
+     * @see MM2GSVGProxy::SetViewportWidthL
+     */
+    virtual void SetViewportWidthL(
+        const TM2GSvgDocumentHandle& aDocumentHandle,
+        TInt aWidth);
+
+protected: // METHODS
+    /**
+     * Close engine & document containers
+     */
+    virtual void CloseContainers();
+
+private: // METHODS
+    /**
+     * C++ default constructor.
+     */
+    CM2GSVGProxy();
+
+    /**
+     * Initialization.
+     */
+    void ConstructL();
+
+    /**
+     * C++ copy constructor
+     */
+    CM2GSVGProxy(const CM2GSVGProxy&);
+
+    /**
+     * C++ assignment operator
+     */
+    CM2GSVGProxy& operator=(const CM2GSVGProxy&);
+
+private: // VARIABLES
+    CSvgJavaInterfaceImpl* iNative;
+    RArray<TM2GSvgEngineHandle> iSvgEngines;
+    RArray<TM2GSvgDocumentHandle> iSvgDocuments;
+};
+
+M2G_NS_END
+
+#endif // CM2GSVGPROXY_H
+
+