--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/m2g_akn/inc/MM2GSVGProxy.h Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,846 @@
+/*
+* 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 interface
+*
+*/
+
+#ifndef MM2GSVGPROXY_H
+#define MM2GSVGPROXY_H
+
+// INCLUDES
+#include "M2GUtils.h"
+
+M2G_NS_START
+
+// CONSTANTS
+
+// MACROS
+
+// DATA TYPES
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+/**
+ * Interface class
+ */
+class MM2GSVGProxy
+{
+public: // METHODS
+
+ /**
+ * Dtor
+ */
+ virtual ~MM2GSVGProxy() {};
+
+ /**
+ * Add close to the given path.
+ * @since Series S60 3.1
+ * @param aPathHandle Path handle.
+ * @throws exception if not ok
+ */
+ virtual void AddCloseL(const TM2GSvgPathHandle& aPathHandle) = 0;
+
+ /**
+ * Add curve to the given path.
+ * @since Series S60 3.1
+ * @param aPathHandle Path handle.
+ * @param aPathCurveData Curve data
+ * @throws exception if not ok
+ */
+ virtual void AddCurveToL(
+ const TM2GSvgPathHandle& aPathHandle,
+ const TM2GPathCurveData& aPathCurveData) = 0;
+
+ /**
+ * Add line to the given path.
+ * @since Series S60 3.1
+ * @param aPathHandle Path handle.
+ * @param aX -
+ * @param aY -
+ * @throws exception if not ok
+ */
+ virtual void AddLineToL(
+ const TM2GSvgPathHandle& aPathHandle,
+ const TReal32& aX, const TReal32& aY) = 0;
+ /**
+ * Add move to the given path.
+ * @since Series S60 3.1
+ * @param aPathHandle Path handle.
+ * @param aX -
+ * @param aY -
+ * @throws exception if not ok
+ */
+ virtual void AddMoveToL(
+ const TM2GSvgPathHandle& aPathHandle,
+ const TReal32& aX, const TReal32& aY) = 0;
+
+ /**
+ * Add quad to the given path.
+ * @since Series S60 3.1
+ * @param aPathHandle Path handle.
+ * @param aX1 -
+ * @param aY1 -
+ * @param aX2 -
+ * @param aY2 -
+ * @throws exception if not ok
+ */
+ virtual void AddQuadToL(
+ const TM2GSvgPathHandle& aPathHandle,
+ const TReal32& aX1, const TReal32& aY1,
+ const TReal32& aX2, const TReal32& aY2) = 0;
+
+ /**
+ * Append child
+ * @since Series S60 3.1
+ * @param aElementHandle
+ * @param aChildElementHandle
+ * @throws exception if not ok
+ */
+ virtual void AppendChildL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgElementHandle& aChildElementHandle) = 0;
+
+ /**
+ * Set the begin animation time for the given element.
+ * @since Series S60 3.1
+ * @param aDocumentHandle
+ * @param aElementHandle
+ * @param aOffset
+ * @throws exception if not ok
+ */
+ virtual void BeginElementAtL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ const TM2GSvgElementHandle& aElementHandle,
+ const TReal32& aOffset) = 0;
+
+ /**
+ * Check if element is removable
+ * @since Series S60 3.1
+ * @param aSurfaceHandle
+ * @param aRemoveable Result
+ * @throws exception if not ok
+ */
+ virtual void CheckRemoveableL(
+ const TM2GSvgElementHandle& aElementHandle,
+ TInt& aRemoveable) = 0;
+
+
+ /**
+ * Clear svg surface
+ * @since Series S60 3.1
+ * @param aSurfaceHandle Surface handle
+ * @throws exception if not ok
+ */
+ virtual void ClearSvgSurfaceL(const TM2GSvgDocumentHandle& aSurfaceHandle) = 0;
+
+ /**
+ * Create document
+ * @since Series S60 3.1
+ * @param aData Document content
+ * @param aDocumentHandle Document handle to be returned
+ * @throws exception if not ok
+ */
+ virtual void CreateDocumentL(
+ const TPtrC16& aData,
+ TM2GSvgDocumentHandle& aDocumentHandle) = 0;
+
+ /**
+ * Create svg engine
+ * @since Series S60 3.1
+ * @param aEngineHandle Svg engine handle
+ * @throws exception if not ok
+ */
+ virtual void CreateSvgEngineL(TM2GSvgEngineHandle& aEngineHandle) = 0;
+
+ /**
+ * Create path
+ * @since Series S60 3.1
+ * @param aPathHandle Path handle to be returned
+ * @throws exception if not ok
+ */
+ virtual void CreatePathL(TM2GSvgPathHandle& aPathHandle) = 0;
+
+ /**
+ * Create svg surface
+ * @since Series S60 3.1
+ * @param aWidth Surface width
+ * @param aHeight Surface height
+ * @return Svg surface
+ * @throws exception if not ok
+ */
+ virtual TM2GBitmapHandle CreateSvgSurfaceL(TInt aWidth, TInt aHeight) = 0;
+
+ /**
+ * Create new element
+ * @since Series S60 3.1
+ * @param aType Element type id
+ * @param aParentHandle Parent of the new element.
+ * Note: Can be '0' if element is not added to DOM.
+ * @param aDocumentHandle Document handle.
+ * @param aRootHandle Root element handle.
+ * @param aEngineHandle Element handle to be returned
+ * @throws exception if not ok
+ */
+ virtual void CreateElementNsL(
+ const TM2GSvgAttrType& aType,
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ TM2GSvgElementHandle& aEngineHandle) = 0;
+
+ /**
+ * Delete document
+ * @since Series S60 3.1
+ * @param aDocumentHandle Document handle
+ * @throws exception if not ok
+ */
+ virtual void DeleteDocumentL(const TM2GSvgDocumentHandle& aDocumentHandle) = 0;
+
+ /**
+ * Delete svg engine
+ * @since Series S60 3.1
+ * @param aEngineHandle Engine handle
+ * @throws exception if not ok
+ */
+ virtual void DeleteSvgEngineL(const TM2GSvgEngineHandle& aEngineHandle) = 0;
+
+ /**
+ * Deletes svg surface
+ * @since Series S60 3.1
+ * @param aSurfaceHandle Surface handle
+ * @throws exception if not ok
+ */
+ virtual void DeleteSvgSurfaceL(const TM2GSvgDocumentHandle& aSurfaceHandle) = 0;
+
+ /**
+ * Delete path
+ * @since Series S60 3.1
+ * @param aPathHandle Path handle
+ * @throws exception if not ok
+ */
+ virtual void DestroyPathL(const TM2GSvgPathHandle& aPathHandle) = 0;
+
+ /**
+ * Dispatches a mouse event
+ * @since Series S60 3.1
+ * @param aDocumentHandle Document handle.
+ * @param aX X coordinate.
+ * @param aY Y coordinate
+ * @param aElementHandle Target element handle
+ * @throws exception if not ok
+ */
+ virtual void DispatchMouseEventL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ TInt aX, TInt aY, TM2GSvgElementHandle& aElementHandle) = 0;
+
+ /**
+ * Set the end animation time for the given element.
+ * @since Series S60 3.1
+ * @param aDocumentHandle
+ * @param aElementHandle
+ * @param aOffset
+ * @throws exception if not ok
+ */
+ virtual void EndElementAtL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ const TM2GSvgElementHandle& aElementHandle,
+ const TReal32& aOffset) = 0;
+
+
+ /**
+ * Set focus on.
+ * @since Series S60 3.1
+ * @param aDocumentHandle
+ * @param aElementHandle
+ * @throws exception if not ok
+ */
+ virtual void FocusOnL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ const TM2GSvgElementHandle& aElementHandle) = 0;
+
+ /**
+ * Set focus out.
+ * @since Series S60 3.1
+ * @param aDocumentHandle
+ * @param aElementHandle
+ * @throws exception if not ok
+ */
+ virtual void FocusOutL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ const TM2GSvgElementHandle& aElementHandle) = 0;
+
+ /**
+ * Get a bounding box
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aAttributeType Attribute type
+ * @param aRectData Rect components are saved to this parameter
+ * @param aResult Result
+ * @throws exception if not ok
+ */
+ virtual void GetBBoxL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgAttrType& aAttributeType,
+ TM2GRectData& aRectData, TInt& aResult) = 0;
+
+ /**
+ * Get colors
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle
+ * @param aAttributeType Attribute type
+ * @param aColor Result
+ * @param aResult Extra result info
+ * @throws exception if not ok
+ */
+ virtual void GetColorTraitL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgAttrType& aAttributeType,
+ TM2GColorData& aColor,
+ TInt& aResult) = 0;
+
+ /**
+ * Get element by id
+ * @since Series S60 3.1
+ * @param aDocumentHandle Document handle.
+ * @param aId Element id
+ * @param aElementHandle Element handle to be returned
+ * @throws exception if not ok
+ */
+ virtual void GetElementByIdL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ const TPtrC16& aId,
+ TM2GSvgElementHandle& aElementHandle) = 0;
+
+ /**
+ * Get element by id
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aId Result element type id.
+ * @throws exception if not ok
+ */
+ virtual void GetElementTypeIdL(const TM2GSvgElementHandle& aElementHandle, TInt16& aId) = 0;
+
+ /**
+ * Get an enumeration value of the specified attribute.
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aAttributeType Attribute type
+ * @param aEnumTraiT Enum attribute.
+ * @throws exception if not ok
+ */
+ virtual void GetEnumTraitL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgAttrType& aAttributeType,
+ TInt16& aEnumTrait) = 0;
+
+ /**
+ * Get external list item
+ * @since Series S60 3.1
+ * @param aDocumentHandle Document handle.
+ * @param aIndex Index.
+ * @param aItem Returns external item according to a given index
+ * @return KErrNone if no error
+ * @throws Exception if not ok
+ */
+ virtual TInt GetExternalListItemL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ TInt aIndex,
+ TPtrC16& aItem) = 0;
+
+ /**
+ * Get external list size
+ * @since Series S60 3.1
+ * @param aDocumentHandle Document handle.
+ * @param aListSz Size.
+ * @throws exception if not ok
+ */
+ virtual void GetExternalListSizeL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ TInt& aListSz) = 0;
+
+ /**
+ * Get a first chlid element
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aChildHandle Returns child element handle.
+ * @throws exception if not ok
+ */
+ virtual void GetFirstElementChildL(
+ const TM2GSvgElementHandle& aElementHandle,
+ TM2GSvgElementHandle& aChildHandle) = 0;
+
+ /**
+ * Get a float trait
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aAttributeType Attribute type
+ * @param Float trait
+ * @throws exception if not ok
+ */
+ virtual void GetFloatTraitL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgAttrType& aAttributeType,
+ TReal32& aFloatTrait) = 0;
+
+ /**
+ * Get a matrix trait
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aAttributeType Attribute type
+ * @param aMatrix Matrix trait
+ * @param aResult
+ * @throws exception if not ok
+ */
+ virtual void GetMatrixTraitL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgAttrType& aAttributeType,
+ TM2GMatrixData& aMatrix, TInt& aResult) = 0;
+
+ /**
+ * Get a media time
+ * @since Series S60 3.1
+ * @param aDocumentHandle Document handle.
+ * @param aSeconds Media time to be returned
+ * @throws exception if not ok
+ */
+ virtual void GetMediaTimeL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ TReal32& aSeconds) = 0;
+
+ /**
+ * Get a next element sibling
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aSiblingElementHandle Sibling handle
+ * @throws exception if not ok
+ */
+ virtual void GetNextElementSiblingL(
+ const TM2GSvgElementHandle& aElementHandle,
+ TM2GSvgElementHandle& aSiblingElementHandle) = 0;
+
+ /**
+ * Get the segment count for the given path.
+ * @since Series S60 3.1
+ * @param aPathHandle Path handle.
+ * @param aNumberOfSegments Segment count
+ * @throws exception if not ok
+ */
+ virtual void GetNumberOfSegmentsL(
+ const TM2GSvgPathHandle& aPathHandle,
+ TInt& aNumberOfSegments) = 0;
+
+ /**
+ * Get a parent
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aParentElementHandle Parent Element handle
+ * @throws exception if not ok
+ */
+ virtual void GetParentL(
+ const TM2GSvgElementHandle& aElementHandle,
+ TM2GSvgElementHandle& aParentElementHandle) = 0;
+
+ /**
+ * Get a path trait
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aAttributeType Attribute type
+ * @param aPathTrait Path trait
+ * @throws exception if not ok
+ */
+ virtual void GetPathTraitL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgAttrType& aAttributeType,
+ TInt& aPathTrait) = 0;
+
+ /**
+ * Get a rect trait
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aAttributeType Attribute type
+ * @param aRectData Rect components are saved to this parameter
+ * @param aResult Result
+ * @throws exception if not ok
+ */
+ virtual void GetRectTraitL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgAttrType& aAttributeType,
+ TM2GRectData& aRectData, TInt& aResult) = 0;
+
+ /**
+ * Get a root element
+ * @since Series S60 3.1
+ * @param aDocumentHandle Document handle.
+ * @param aRootElementHandle Root element handle
+ * @throws exception if not ok
+ */
+ virtual void GetRootElementL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ TM2GSvgElementHandle& aRootElementHandle) = 0;
+
+ /**
+ * Get screen b box
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle
+ * @param aScreenBBoxData Screen box data out
+ * @throws exception if not ok
+ */
+ virtual void GetScreenBBoxL(
+ const TM2GSvgElementHandle& aElementHandle,
+ TM2GScreenBBoxData& aScreenBBoxData) = 0;
+
+ /**
+ * Get the segment parameter for the given path.
+ * @since Series S60 3.1
+ * @param aPathHandle Path handle.
+ * @param aSegmentIndex -
+ * @param aParamIndex -
+ * @param aSegmentParam Segment parameter to be returned.
+ * @throws exception if not ok
+ */
+ virtual void GetSegmentParameterL(
+ const TM2GSvgPathHandle& aPathHandle,
+ TInt aSegmentIndex, TInt aParamIndex,
+ TReal32& aSegmentParam) = 0;
+
+ /**
+ * Get the segment type for the given path.
+ * @since Series S60 3.1
+ * @param aPathHandle Path handle.
+ * @param aSegmentIndex -
+ * @param aSegmentType Segment type
+ * @throws exception if not ok
+ */
+ virtual void GetSegmentTypeL(
+ const TM2GSvgPathHandle& aPathHandle,
+ TInt aSegmentIndex,
+ TInt16& aSegmentType) = 0;
+
+ /**
+ * Get a string trait
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aAttributeType Attribute type.
+ * @param aStr Returns a string attribute
+
+ * @throws exception if not ok
+ */
+ virtual TInt GetStringTraitL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgAttrType& aAttributeType,
+ TPtrC16& aStr) = 0;
+ /**
+ * Get a svg surface height
+ * @since Series S60 3.1
+ * @param aSurfaceHandle Surface handle.
+ * @return Svg surface height
+ * @throws exception if not ok
+ */
+ virtual TInt GetSvgSurfaceHeightL(const TM2GBitmapHandle& aSurfaceHandle) = 0;
+
+ /**
+ * Get a svg surface width
+ * @since Series S60 3.1
+ * @param aSurfaceHandle Surface handle.
+ * @return Svg surface width
+ * @throws exception if not ok
+ */
+ virtual TInt GetSvgSurfaceWidthL(const TM2GBitmapHandle& aSurfaceHandle) = 0;
+
+ /**
+ * Finds handle to the actual cloned element
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aHandle Element handle to be returned
+ * @throws exception if not ok
+ */
+ virtual void GetUsedFromElementL(
+ const TM2GSvgElementHandle& aElementHandle,
+ TM2GSvgElementHandle& aHandle) = 0;
+
+ /**
+ * Viewport height.
+ * @since Series S60 3.1
+ * @param aDocumentHandle Document handle.
+ * @param aHeight Wieport height to be returned.
+ * @throws exception if not ok
+ */
+ virtual void GetViewportHeightL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ TInt& aHeight) = 0;
+
+ /**
+ * Viewport width.
+ * @since Series S60 3.1
+ * @param aDocumentHandle Document handle.
+ * @param aWidth Viewport width.
+ * @throws exception if not ok
+ */
+ virtual void GetViewportWidthL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ TInt& aWidth) = 0;
+
+ /**
+ * Init native engine & document
+ * @since Series S60 3.1
+ * @param aDocumentHandle Document handle
+ * @throws exception if not ok
+ */
+ virtual void InitViewportL(
+ const TM2GSvgDocumentHandle& aDocumentHandle) = 0;
+
+ /**
+ * Add given child element to the given element before
+ * the given reference element.
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aNewChildElementHandle Child element handle.
+ * @param aReferenceElementHandle Child element handle.
+ * @throws exception if not ok
+ */
+ virtual void InsertBeforeL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgElementHandle& aNewChildElementHandle,
+ const TM2GSvgElementHandle& aReferenceElementHandle) = 0;
+
+ /**
+ * Check if element is active.
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aActive Return "1" if active
+ * @throws exception if not ok
+ */
+ virtual void IsActiveL(
+ const TM2GSvgElementHandle& aElementHandle,
+ TInt& aActive) = 0;
+
+ /**
+ * Checks if an element in DOM.
+ * @since Series S60 3.1
+ * @param aDocumentHandle Document handle.
+ * @param aElementHandle Element handle.
+ * @param aIsElementInDom Result.
+ * @throws exception if not ok
+ */
+ virtual void IsElementInDomL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ const TM2GSvgElementHandle& aElementHandle,
+ TInt& aIsElementInDom) = 0;
+
+ /**
+ * Checks whether this element is child of a use element
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aResult Return "1" if used otherwise returns "0"
+ * @throws exception if not ok
+ */
+ virtual void IsUsedL(
+ const TM2GSvgElementHandle& aElementHandle,
+ TInt& aResult) = 0;
+
+ /**
+ * Remove child
+ * @since Series S60 3.1
+ * @param aDocumentHandle Document handle.
+ * @param aURI Uri
+ * @param aResourceData Resource
+ * @param aHandle Removed element handle
+ * @throws exception if not ok
+ */
+ virtual void RemoveChildL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgElementHandle& aChildElementHandle,
+ TM2GSvgElementHandle& aHandle) = 0;
+ /**
+ * Render document
+ * @since Series S60 3.1
+ * @param aEngineHandle Engine handle.
+ * @param aDocumentHandle Document handle.
+ * @param aSurfaceHandle Surface.
+ * @param aSurfaceMaskHandle Mask.
+ * @throws exception if not ok
+ */
+ virtual void RenderDocumentL(
+ const TM2GSvgEngineHandle& aEngineHandle,
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ const TM2GBitmapHandle& aSurfaceHandle,
+ TM2GBitmapHandle aSurfaceMaskHandle,
+ TReal32 aCurrentTime) = 0;
+
+ /**
+ * Sets render quality
+ * @since Series S60 3.1
+ * @param aEngineHandle Engine handle.
+ * @param aQuality Quality.
+ * @throws exception if not ok
+ */
+ virtual void RenderQualityL(
+ const TM2GSvgEngineHandle& aEngineHandle,
+ TInt aQuality) = 0;
+
+ /**
+ * Request completed
+ * @since Series S60 3.1
+ * @param aDocumentHandle Document handle.
+ * @param aURI -
+ * @param aResourceData -
+ * @param aCompeleted Result
+ * @throws exception if not ok
+ */
+ virtual void RequestCompletedL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ const TPtrC16& aURI,
+ const TPtrC8& aResourceData,
+ TInt& aCompleted) = 0;
+
+ /**
+ * Set color trait
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aAttributeType Attribute type
+ * @param aColor Color components: RGB
+ * @throws exception if not ok
+ */
+ virtual void SetColorTraitL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgAttrType& aAttributeType,
+ const TM2GColorData& aColor) = 0;
+
+ /**
+ * Set enum trait
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aAttributeType Attribute type
+ * @param aValue Value
+ * @throws exception if not ok
+ */
+ virtual void SetEnumTraitL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgAttrType& aAttributeType,
+ TInt16 aValue) = 0;
+
+ /**
+ * Set float attribute
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aAttributeType Attribute type
+ * @param aValue Value
+ * @throws exception if not ok
+ */
+ virtual void SetFloatTraitL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgAttrType& aAttributeType,
+ const TReal32& aValue) = 0;
+
+ /**
+ * Set matrix attribute
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aAttributeType Attribute type
+ * @param aMatrix -
+ * @throws exception if not ok
+ */
+ virtual void SetMatrixTraitL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgAttrType& aAttributeType,
+ const TM2GMatrixData& aMatrix) = 0;
+
+ /**
+ * Set media time
+ * @since Series S60 3.1
+ * @param aDocumentHandle Document handle.
+ * @param aSeconds Media time
+ * @throws exception if not ok
+ */
+ virtual void SetMediaTimeL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ const TReal32& aSeconds) = 0;
+
+ /**
+ * Set path attribute
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aAttributeType Attribute type
+ * @param aPathHandle -
+ * @throws exception if not ok
+ */
+ virtual void SetPathTraitL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgAttrType& aAttributeType,
+ const TM2GSvgPathHandle& aPathHandle) = 0;
+
+ /**
+ * Set rect attribute
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aAttributeType Attribute type
+ * @param aRect Rect trait to be set
+ * @throws exception if not ok
+ */
+ virtual void SetRectTraitL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgAttrType& aAttributeType,
+ const TM2GRectData& aRect) = 0;
+
+ /**
+ * Set render quality
+ * @since Series S60 3.1
+ * @param aEngineHandle Engine handle.
+ * @param aMode
+ * @throws exception if not ok
+ */
+ virtual void SetRenderingQualityL(
+ const TM2GSvgEngineHandle& aEngineHandle,
+ TInt aMode) = 0;
+
+ /**
+ * Set string attribute
+ * @since Series S60 3.1
+ * @param aElementHandle Element handle.
+ * @param aAttributeType Attribute type
+ * @param aStr String trait to be set
+ * @throws exception if not ok
+ */
+ virtual void SetStringTraitL(
+ const TM2GSvgElementHandle& aElementHandle,
+ const TM2GSvgAttrType& aAttributeTypeId,
+ const TPtrC16& aStr) = 0;
+
+ /**
+ * Set viewport height
+ * @since Series S60 3.1
+ * @param aDocumentHandle Document
+ * @param aWidth Width
+ * @throws exception if not ok
+ */
+ virtual void SetViewportHeightL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ TInt aHeight) = 0;
+
+ /**
+ * Set viewport width
+ * @since Series S60 3.1
+ * @param aDocumentHandle Document
+ * @param aWidth Width
+ * @throws exception if not ok
+ */
+ virtual void SetViewportWidthL(
+ const TM2GSvgDocumentHandle& aDocumentHandle,
+ TInt aWidth) = 0;
+};
+
+M2G_NS_END
+
+#endif // MM2GSVGPROXY_H