CSvgEngineImpl Class Reference

class CSvgEngineImpl : public CBase

Class description goes here.

SVGEngine.lib
Since
1.0

Inherits from

Public Member Functions
~CSvgEngineImpl ()
void AddAnimationListener (MSvgAnimationListener *)
void AddHyperlinkListener (MSvgHyperlinkListener *)
void AddInteractiveElementListener ( MSvgInteractiveElementListener *)
void AddMouseListener (const MSvgMouseListener *)
void AddTextAreaListener ( MSvgTextAreaListener *)
void AddTextListener ( MSvgTextListener *)
void AddViewPortListener ( MSvgViewPortListener *)
void ChangeDuration ( TUint32 )
void CheckForHyperlinkMouseover ( TInt , TInt )
void ConstructL ( CSvgBitmapFontProvider *)
TInt32 CurrentTIme ()
void CustomOption ( TBool )
void Destroy ()
CSvgDocumentImpl * Document ()
void DrawElementsL ( CSvgElementImpl *)
TUint32 Duration ( CSvgDocumentImpl *)
HBufC8 * FetchExternalDataL (const TDesC &)
TBool FetchFont (const TDesC &, RFs &, RFile &)
TBool FetchImage (const TDesC &, RFs &, RFile &)
void FindAllNonViewableElements ( CSvgElementImpl *, RPointerArray < CSvgElementImpl > &)
void FindAllViewableElements ( CSvgElementImpl *, RPointerArray < CSvgElementImpl > &)
void FindBBoxesForRotatedText (const TDesC &, RPointerArray < MRect > &, RArray < TPtrC > &, RArray < TInt > &, TBool )
void GenerateMask ( CFbsBitmap *)
TSize GetSize ()
void GetViewPort ( TInt , TInt , TBool , TBool , TInt &, TInt &)
void GetViewableElementsAtPoint ( CSvgDocumentImpl *, RPointerArray < CSvgElementImpl > &, TInt , TInt )
CGfx2dGc * GraphicsContext ()
void ImageLoadingCompleted ( TInt )
void InitializeEngineL ()
TBool IsElementVisible ( TInt )
TBool IsSVGEnginePaused ()
void LinkRequest (const TDesC &)
void LinkRequestWithShow (const TDesC &, const TDesC &)
TInt MouseListenerCount ()
CSvgEngineImpl * NewL ( CSvgBitmapFontProvider *)
CSvgEngineImpl * NewL ( CFbsBitmap *, MSvgRequestObserver *, TFontSpec &, CSvgBitmapFontProvider *)
CSvgEngineImpl * NewL ( CFbsBitmap *, MSvgRequestObserver *, TFontSpec &, CSvgBitmapFontProvider *, SVGRendererId )
CSvgEngineImpl * NewLC ( CSvgBitmapFontProvider *)
CSvgEngineImpl * NewLC ( CFbsBitmap *, MSvgRequestObserver *, TFontSpec &, CSvgBitmapFontProvider *)
CSvgEngineImpl * NewLC ( CFbsBitmap *, MSvgRequestObserver *, TFontSpec &, CSvgBitmapFontProvider *, SVGRendererId )
void NotifyAnimationEnded ()
void NotifyAnimationPaused ()
void NotifyAnimationStarted ()
void NotifyElementActivatedLinkEntered ( CSvgElementImpl *)
void NotifyElementActivatedLinkExited ( CSvgElementImpl *)
void NotifyHyperlinkActivated ( CSvgAElementImpl *)
void NotifyHyperlinkActivated (const TDesC &)
void NotifyHyperlinkActivatedWithShow (const TDesC &, const TDesC &)
void NotifyHyperlinkEntered ( CSvgAElementImpl *)
void NotifyHyperlinkEntered (const TDesC &)
void NotifyHyperlinkExited ( CSvgAElementImpl *)
void NotifyHyperlinkExited (const TDesC &)
void NotifyInteractiveElementEntered ( CSvgElementImpl *)
void NotifyInteractiveElementExited ( CSvgElementImpl *)
void NotifyMouseEntered ( RPointerArray < CSvgElementImpl > &, TInt , TInt )
void NotifyMouseExited ( RPointerArray < CSvgElementImpl > &, TInt , TInt )
void NotifyMouseMoved ( RPointerArray < CSvgElementImpl > &, TInt , TInt )
void NotifyMousePressed ( RPointerArray < CSvgElementImpl > &, TInt , TInt )
void NotifyMouseReleased ( RPointerArray < CSvgElementImpl > &, TInt , TInt )
void NotifyTextActivated ( CSvgTextElementImpl *)
void NotifyTextAreaActivated ( CSvgTextAreaElementImpl *)
void NotifyTextAreaEntered ( CSvgTextAreaElementImpl *)
void NotifyTextAreaExited ( CSvgTextAreaElementImpl *)
void NotifyTextEntered ( CSvgTextElementImpl *)
void NotifyTextExited ( CSvgTextElementImpl *)
TBool PassesThumbNailRestriction ()
void ProcessEventL ( CSvgDocumentImpl *, MSvgEvent *, TBool )
TBool ReadyToRender ()
void RedrawL ()
void RemoveAnimationListener (MSvgAnimationListener *)
void RemoveHyperlinkListener (MSvgHyperlinkListener *)
void RemoveInteractiveElementListener ( MSvgInteractiveElementListener *)
void RemoveMouseListener (const MSvgMouseListener *)
void RemoveTextAreaListener ( MSvgTextAreaListener *)
void RemoveTextListener ( MSvgTextListener *)
void RemoveViewPortListener ( MSvgViewPortListener *)
void RenderFileL (const TDesC8 &, CFbsBitmap *, CFbsBitmap *, TBool )
TInt RenderFileToBuffer (const TDesC8 &, CFbsBitmap *, CFbsBitmap *, TBool )
void RenderFrame ( TUint )
void ResetContext ()
void ResetTimer ()
void Resume ( TInt32 )
TSvgEngineState SVGEngineState ()
void SaveSvgL (const TDesC &)
TBool ScriptCall (const TDesC &, CSvgElementImpl *)
void SeekEngine ( TUint32 )
void SetAudioVolume ( TInt )
void SetBackgroundColor ( TUint32 )
void SetBitmapHeader (const TDesC *)
void SetDocument ( CSvgDocumentImpl *)
void SetGdiContextL ( CFbsBitmap *, CFbsBitmap *)
void SetGdiContextL ( CFbsBitmap *, CFbsBitmap *, TSize , TDisplayMode , TDisplayMode )
void SetIgnoreUpdateScreen ( TBool )
void SetMediaTime ( TUint32 )
void SetRenderingQuality (const TInt32 )
void SetSVGEngineState ( TSvgEngineState )
void SetSvgDimensionToFrameBufferL ( TUint , TUint )
void StartEngine ( CSvgErrorImpl *)
TBool StartFrameLoopL ()
void SwitchDebugInfo ( TBool )
const TPtrC8 TLVEncodedData ()
HBufC * TextAreaTagProcessingL ( TPtrC *, TInt &, TInt , TBool )
HBufC * TextTagProcessingL ( TPtrC *, TInt &, TInt , TBool )
void UpdateCTM ( CSvgDocumentImpl *)
void UpdatePath ( CGfxGeneralPath *, CSvgElementImpl *)
void UpdatePresentation (const TInt32 &)
TInt WriteToStream ( RFileWriteStream &, TPtrC )
Private Member Functions
CSvgEngineImpl ()
CSvgEngineImpl ( CFbsBitmap *, MSvgRequestObserver *)
void ConstructL ( TFontSpec &, CSvgBitmapFontProvider *)
void ConstructL ( TFontSpec &, CSvgBitmapFontProvider *, SVGRendererId )
void CopyBuffer ( TUint32 *, TUint32 *, const TSize )
CFbsBitmap * CreateOpacityFrameBufferL ()
void DoHyperLinkingL ()
void FilteredBlitRGB565 ()
void FilteredBlitXRGB4444 ()
void FindEditableElements ( CSvgElementImpl *, RPointerArray < CSvgElementImpl > &)
void InitializeEventReceiverListL ( CSvgElementImpl *)
TBool IsAnimationElement ( CSvgElementImpl *)
TBool IsEndedWithCompleteTextTag ( TDes &, TInt )
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Public Attributes
TFontSpec iBitmapFontSpec
TBool iClientDefinedViewPort
TBool iCustomOption
CSvgFontHashMap * iFontHashMap
CFbsBitmap * iFrameBuffer
TBool iFrameBufferOverridesViewport
TSize iFrameBufferSize
CFbsBitmap * iMask
TDisplayMode iMaskDspMode
TDisplayMode iRenderDspMode
MSvgRequestObserver * iRequestObserver
CDesC16ArrayFlat * iSvgNames
RPointerArray < TSvgFourPointRect > iSvgTextBoundingBoxes
CSvgElementImpl * iTextAreaHandle
CSvgTimer * iTimer
Private Attributes
TBufC < 1 > NullString
RPointerArray < MSvgAnimationListener > iAnimationListeners
TAnimStatus iAnimationState
TUint32 iBackgroundColor
TGfxRectangle2D iClipRect
CGfx2dGc * iGfxContext
RPointerArray < MSvgHyperlinkListener > iHyperlinkListeners
TBool iIgnoreUpdateScreen
RPointerArray < MSvgInteractiveElementListener > iInteractiveElementListeners
TPtrC iLinkShow
TPtrC iLinkUri
CSvgElementImpl * iMouseoverElement
TInt iRenderQuality
TBool iShowDebugInfo
CSvgBitmapFontProvider * iSvgBitmapFontProvider
CSvgDocumentImpl * iSvgDocument
TSvgEngineState iSvgEngineState
CSvgErrorImpl * iSvgError
RPointerArray < MSvgMouseListener > iSvgMouseListeners
RPointerArray < MSvgTextAreaListener > iTextAreaListeners
RPointerArray < MSvgTextListener > iTextListeners
TUint iTimeoutSeconds
MSvgViewPortListener * iViewPortListener

Constructor & Destructor Documentation

CSvgEngineImpl()

CSvgEngineImpl ( ) [private]

Private constructor

Since
1.0

CSvgEngineImpl(CFbsBitmap *, MSvgRequestObserver *)

CSvgEngineImpl ( CFbsBitmap * aFrameBuffer,
MSvgRequestObserver * aReqObserver
) [private]

Private constructor

Since
1.0

Parameters

CFbsBitmap * aFrameBuffer - Pointer to a buffer where the SVG document raster is drawn
MSvgRequestObserver * aReqObserver - Pointer to a client side object that implements the MSvgRequestObserver interface

~CSvgEngineImpl()

~CSvgEngineImpl ( ) [virtual]

Destructor

Since
1.0

Member Functions Documentation

AddAnimationListener(MSvgAnimationListener *)

void AddAnimationListener ( MSvgAnimationListener * aListener )

Add a hyperlink listener.

Parameters

MSvgAnimationListener * aListener

AddHyperlinkListener(MSvgHyperlinkListener *)

void AddHyperlinkListener ( MSvgHyperlinkListener * aListener )

Add a hyperlink listener.

Parameters

MSvgHyperlinkListener * aListener

AddInteractiveElementListener(MSvgInteractiveElementListener *)

void AddInteractiveElementListener ( MSvgInteractiveElementListener * aListener )
Add an interactive element listener.
Since
v3.2

Parameters

MSvgInteractiveElementListener * aListener

AddMouseListener(const MSvgMouseListener *)

void AddMouseListener ( const MSvgMouseListener * aListener )

Add a MSvgMouseListener to this SvgEngine

Parameters

const MSvgMouseListener * aListener

AddTextAreaListener(MSvgTextAreaListener *)

void AddTextAreaListener ( MSvgTextAreaListener * aListener )

Add a textbox listener.

Parameters

MSvgTextAreaListener * aListener

AddTextListener(MSvgTextListener *)

void AddTextListener ( MSvgTextListener * aListener )

Parameters

MSvgTextListener * aListener

AddViewPortListener(MSvgViewPortListener *)

void AddViewPortListener ( MSvgViewPortListener * aListener )

Parameters

MSvgViewPortListener * aListener

ChangeDuration(TUint32)

void ChangeDuration ( TUint32 aTimerDuration )

Given a document handle and a url this call attaches the given data (ldata) to every element that references that url

Parameters

TUint32 aTimerDuration

CheckForHyperlinkMouseover(TInt, TInt)

void CheckForHyperlinkMouseover ( TInt aX,
TInt aY
)

Process the given coordinate to determine if it is inside/outside a hyperlink; then, notify the hyperlink listeners.

Parameters

TInt aX
TInt aY

ConstructL(CSvgBitmapFontProvider *)

void ConstructL ( CSvgBitmapFontProvider * aSvgBitmapFontProvider )

Parameters

CSvgBitmapFontProvider * aSvgBitmapFontProvider

ConstructL(TFontSpec &, CSvgBitmapFontProvider *)

void ConstructL ( TFontSpec & aFontSpec,
CSvgBitmapFontProvider * aSvgBitmapFontProvider
) [private]

A private constructor that constructs heap objects

Since
1.0

Parameters

TFontSpec & aFontSpec
CSvgBitmapFontProvider * aSvgBitmapFontProvider

ConstructL(TFontSpec &, CSvgBitmapFontProvider *, SVGRendererId)

void ConstructL ( TFontSpec & aFontSpec,
CSvgBitmapFontProvider * aSvgBitmapFontProvider,
SVGRendererId aRendererType
) [private]

Parameters

TFontSpec & aFontSpec
CSvgBitmapFontProvider * aSvgBitmapFontProvider
SVGRendererId aRendererType

CopyBuffer(TUint32 *, TUint32 *, const TSize)

void CopyBuffer ( TUint32 * aSrc,
TUint32 * aDest,
const TSize aSize
) [private]

Parameters

TUint32 * aSrc
TUint32 * aDest
const TSize aSize

CreateOpacityFrameBufferL()

CFbsBitmap * CreateOpacityFrameBufferL ( ) [private]

CurrentTIme()

TInt32 CurrentTIme ( )

Accessor for the current engine time

Since
1.0

CustomOption(TBool)

void CustomOption ( TBool aCustomOption )

A private method that switch between OpenVG and VGR implementation

Since
1.0

Parameters

TBool aCustomOption

Destroy()

void Destroy ( )

Destroy the current representation of the SVG document

Since
1.0

DoHyperLinkingL()

void DoHyperLinkingL ( ) [private]

Initiate the process of opening embedded links in the SVG source

Since
1.0

Document()

CSvgDocumentImpl * Document ( )

An acessor to the document object that represents the current SVG source

Since
1.0

DrawElementsL(CSvgElementImpl *)

void DrawElementsL ( CSvgElementImpl * aRootElement )

Kick off the process of rasterizing the SVG document elements

Since
1.0

Parameters

CSvgElementImpl * aRootElement - Root element of the SVG document

Duration(CSvgDocumentImpl *)

TUint32 Duration ( CSvgDocumentImpl * aDocumentElement = NULL )

Return the animation duration for the given document, if NULL (default) then use the document attached to engine. The value 0xFFFFFFFF is return is the animation is indefinite.

Since
1.0

Parameters

CSvgDocumentImpl * aDocumentElement = NULL - document to find animation duration.

FetchExternalDataL(const TDesC &)

HBufC8 * FetchExternalDataL ( const TDesC & aUri )

Return the data pointed to by the given URI string, from an external source. Calling client takes ownership of returned HBufC8 pointer.

Since
1.0

Parameters

const TDesC & aUri

FetchFont(const TDesC &, RFs &, RFile &)

TBool FetchFont ( const TDesC & aUri,
RFs & aSession,
RFile & aFileHandle
)

Obtain a font source embedded within an SVG source

Since
1.0

Parameters

const TDesC & aUri - A string buffer with the URI of the font source
RFs & aSession
RFile & aFileHandle

FetchImage(const TDesC &, RFs &, RFile &)

TBool FetchImage ( const TDesC & aUri,
RFs & aSession,
RFile & aFileHandle
)

Obtain an image source embedded within a SVG source (JPEG, PNG)

Since
1.0

Parameters

const TDesC & aUri - A string buffer with the URI of the image source
RFs & aSession
RFile & aFileHandle

FilteredBlitRGB565()

void FilteredBlitRGB565 ( ) const [private]

A complex method that does color calculations for anti aliasing

Since
1.0

FilteredBlitXRGB4444()

void FilteredBlitXRGB4444 ( ) const [private]

A complex method that does color calculations for anti aliasing

Since
1.0

FindAllNonViewableElements(CSvgElementImpl *, RPointerArray< CSvgElementImpl > &)

void FindAllNonViewableElements ( CSvgElementImpl * aStartElement,
RPointerArray < CSvgElementImpl > & iElementList
)

Find all elements in the subtree for non-viewable elements, including the given starting node element. Viewable element are abstract elements that are not drawn, such as <g>, <animate>, <animateMotion>, etc.

Parameters

CSvgElementImpl * aStartElement
RPointerArray < CSvgElementImpl > & iElementList

FindAllViewableElements(CSvgElementImpl *, RPointerArray< CSvgElementImpl > &)

void FindAllViewableElements ( CSvgElementImpl * aStartElement,
RPointerArray < CSvgElementImpl > & iElementList
)

Find all elements in the subtree for "viewable" elements, including the given starting node element. Viewable element are concrete elements that are drawn, such as <rect>, <circle>, <path>, etc. This function only checks for containing of the elements' bounding-boxes.

Parameters

CSvgElementImpl * aStartElement
RPointerArray < CSvgElementImpl > & iElementList

FindBBoxesForRotatedText(const TDesC &, RPointerArray< MRect > &, RArray< TPtrC > &, RArray< TInt > &, TBool)

void FindBBoxesForRotatedText ( const TDesC & aString,
RPointerArray < MRect > & aBoundingBoxes,
RArray < TPtrC > & aTexts,
RArray < TInt > & aElementIds,
TBool aCaseSensitive
)

Get all the bounding-boxes for the given text and the contexts include the text was found. The bounding-boxes are transformed, taking zooming/panning in account.

Parameters

const TDesC & aString
RPointerArray < MRect > & aBoundingBoxes
RArray < TPtrC > & aTexts
RArray < TInt > & aElementIds
TBool aCaseSensitive

FindEditableElements(CSvgElementImpl *, RPointerArray< CSvgElementImpl > &)

void FindEditableElements ( CSvgElementImpl * aStartElement,
RPointerArray < CSvgElementImpl > & aList
) [private]

Parameters

CSvgElementImpl * aStartElement
RPointerArray < CSvgElementImpl > & aList

GenerateMask(CFbsBitmap *)

void GenerateMask ( CFbsBitmap * aMask )

Generate mask bitmap from alpha channel of the framebuffer

Since

Parameters

CFbsBitmap * aMask

GetSize()

TSize GetSize ( )

Get Size

Since
1.0

GetViewPort(TInt, TInt, TBool, TBool, TInt &, TInt &)

void GetViewPort ( TInt getWidth,
TInt getHeight,
TBool isWidthInPer,
TBool isHeightInPer,
TInt & setWidth,
TInt & setHeight
)

Parameters

TInt getWidth
TInt getHeight
TBool isWidthInPer
TBool isHeightInPer
TInt & setWidth
TInt & setHeight

GetViewableElementsAtPoint(CSvgDocumentImpl *, RPointerArray< CSvgElementImpl > &, TInt, TInt)

void GetViewableElementsAtPoint ( CSvgDocumentImpl * aSvgDocument,
RPointerArray < CSvgElementImpl > & aElements,
TInt aX,
TInt aY
)

Return the (first) viewable element at the given point. visible svg element.

Parameters

CSvgDocumentImpl * aSvgDocument
RPointerArray < CSvgElementImpl > & aElements
TInt aX
TInt aY

GraphicsContext()

CGfx2dGc * GraphicsContext ( )

Accessor for the Graphics Context object

Since
1.0

ImageLoadingCompleted(TInt)

void ImageLoadingCompleted ( TInt )

Parameters

TInt

InitializeEngineL()

void InitializeEngineL ( )

Initializes the SVG Engine primarily with width and height informtion This is based on the attribute specifications for the root 'svg' element

Since
1.0

InitializeEventReceiverListL(CSvgElementImpl *)

void InitializeEventReceiverListL ( CSvgElementImpl * aElement ) [private]

Parameters

CSvgElementImpl * aElement

IsAnimationElement(CSvgElementImpl *)

TBool IsAnimationElement ( CSvgElementImpl * aElement ) [private]

FInd out whether a given element is animation type

Since
1.0

Parameters

CSvgElementImpl * aElement - A pointer to an element

IsElementVisible(TInt)

TBool IsElementVisible ( TInt aElementId )

Parameters

TInt aElementId

IsEndedWithCompleteTextTag(TDes &, TInt)

TBool IsEndedWithCompleteTextTag ( TDes & bufferptr,
TInt EndOffset
) [private]

Parameters

TDes & bufferptr
TInt EndOffset

IsSVGEnginePaused()

TBool IsSVGEnginePaused ( )

LinkRequest(const TDesC &)

void LinkRequest ( const TDesC & aUri )

Set the URI information in the Engine

Since
1.0

Parameters

const TDesC & aUri

LinkRequestWithShow(const TDesC &, const TDesC &)

void LinkRequestWithShow ( const TDesC & aUri,
const TDesC & aLinkShow
)

Need method description

Since
1.0

Parameters

const TDesC & aUri
const TDesC & aLinkShow

MouseListenerCount()

TInt MouseListenerCount ( )

Return number of mouselisteners.

NewL(CSvgBitmapFontProvider *)

CSvgEngineImpl * NewL ( CSvgBitmapFontProvider * aSvgBitmapFontProvider ) [static]

Parameters

CSvgBitmapFontProvider * aSvgBitmapFontProvider

NewL(CFbsBitmap *, MSvgRequestObserver *, TFontSpec &, CSvgBitmapFontProvider *)

CSvgEngineImpl * NewL ( CFbsBitmap * aFrameBuffer,
MSvgRequestObserver * aReqObserver,
TFontSpec & aFontSpec,
CSvgBitmapFontProvider * aSvgBitmapFontProvider
) [static]

Two phase constructor

Since
1.0

Parameters

CFbsBitmap * aFrameBuffer - Pointer to a buffer where the SVG document raster is drawn
MSvgRequestObserver * aReqObserver - Pointer to a client side object that implements the MSvgRequestObserver interface
TFontSpec & aFontSpec
CSvgBitmapFontProvider * aSvgBitmapFontProvider

NewL(CFbsBitmap *, MSvgRequestObserver *, TFontSpec &, CSvgBitmapFontProvider *, SVGRendererId)

CSvgEngineImpl * NewL ( CFbsBitmap * aFrameBuffer,
MSvgRequestObserver * aReqObserver,
TFontSpec & aFontSpec,
CSvgBitmapFontProvider * aSvgBitmapFontProvider,
SVGRendererId aRendererType
) [static]

Parameters

CFbsBitmap * aFrameBuffer
MSvgRequestObserver * aReqObserver
TFontSpec & aFontSpec
CSvgBitmapFontProvider * aSvgBitmapFontProvider
SVGRendererId aRendererType

NewLC(CSvgBitmapFontProvider *)

CSvgEngineImpl * NewLC ( CSvgBitmapFontProvider * aSvgBitmapFontProvider ) [static]

Parameters

CSvgBitmapFontProvider * aSvgBitmapFontProvider

NewLC(CFbsBitmap *, MSvgRequestObserver *, TFontSpec &, CSvgBitmapFontProvider *)

CSvgEngineImpl * NewLC ( CFbsBitmap * aFrameBuffer,
MSvgRequestObserver * aReqObserver,
TFontSpec & aFontSpec,
CSvgBitmapFontProvider * aSvgBitmapFontProvider
) [static]

Two phase constructor

Since
1.0

Parameters

CFbsBitmap * aFrameBuffer - Pointer to a buffer where the SVG document raster is drawn
MSvgRequestObserver * aReqObserver - Pointer to a client side object that implements the MSvgRequestObserver interface
TFontSpec & aFontSpec
CSvgBitmapFontProvider * aSvgBitmapFontProvider

NewLC(CFbsBitmap *, MSvgRequestObserver *, TFontSpec &, CSvgBitmapFontProvider *, SVGRendererId)

CSvgEngineImpl * NewLC ( CFbsBitmap * aFrameBuffer,
MSvgRequestObserver * aReqObserver,
TFontSpec & aFontSpec,
CSvgBitmapFontProvider * aSvgBitmapFontProvider,
SVGRendererId aRendererType
) [static]

Parameters

CFbsBitmap * aFrameBuffer
MSvgRequestObserver * aReqObserver
TFontSpec & aFontSpec
CSvgBitmapFontProvider * aSvgBitmapFontProvider
SVGRendererId aRendererType

NotifyAnimationEnded()

void NotifyAnimationEnded ( )

NotifyAnimationPaused()

void NotifyAnimationPaused ( )

NotifyAnimationStarted()

void NotifyAnimationStarted ( )

NotifyElementActivatedLinkEntered(CSvgElementImpl *)

void NotifyElementActivatedLinkEntered ( CSvgElementImpl * aElement )

Parameters

CSvgElementImpl * aElement

NotifyElementActivatedLinkExited(CSvgElementImpl *)

void NotifyElementActivatedLinkExited ( CSvgElementImpl * aElement )

Parameters

CSvgElementImpl * aElement

NotifyHyperlinkActivated(CSvgAElementImpl *)

void NotifyHyperlinkActivated ( CSvgAElementImpl * aAElementHandle )

Parameters

CSvgAElementImpl * aAElementHandle

NotifyHyperlinkActivated(const TDesC &)

void NotifyHyperlinkActivated ( const TDesC & aUri )

Parameters

const TDesC & aUri

NotifyHyperlinkActivatedWithShow(const TDesC &, const TDesC &)

void NotifyHyperlinkActivatedWithShow ( const TDesC & aUri,
const TDesC & aShow
)

Parameters

const TDesC & aUri
const TDesC & aShow

NotifyHyperlinkEntered(CSvgAElementImpl *)

void NotifyHyperlinkEntered ( CSvgAElementImpl * aAElementHandle )

Parameters

CSvgAElementImpl * aAElementHandle

NotifyHyperlinkEntered(const TDesC &)

void NotifyHyperlinkEntered ( const TDesC & aUri )

Parameters

const TDesC & aUri

NotifyHyperlinkExited(CSvgAElementImpl *)

void NotifyHyperlinkExited ( CSvgAElementImpl * aAElementHandle )

Parameters

CSvgAElementImpl * aAElementHandle

NotifyHyperlinkExited(const TDesC &)

void NotifyHyperlinkExited ( const TDesC & aUri )

Parameters

const TDesC & aUri

NotifyInteractiveElementEntered(CSvgElementImpl *)

void NotifyInteractiveElementEntered ( CSvgElementImpl * aElement )
Notify the client when the pointer enters an interactive element.
Since
v3.2

Parameters

CSvgElementImpl * aElement

NotifyInteractiveElementExited(CSvgElementImpl *)

void NotifyInteractiveElementExited ( CSvgElementImpl * aElement )
Notify the client when the pointer exists an interactive element.
Since
v3.2

Parameters

CSvgElementImpl * aElement

NotifyMouseEntered(RPointerArray< CSvgElementImpl > &, TInt, TInt)

void NotifyMouseEntered ( RPointerArray < CSvgElementImpl > & aElements,
TInt aX,
TInt aY
)

Send to mouse listeners of a mouse-entered event.

Parameters

RPointerArray < CSvgElementImpl > & aElements
TInt aX
TInt aY

NotifyMouseExited(RPointerArray< CSvgElementImpl > &, TInt, TInt)

void NotifyMouseExited ( RPointerArray < CSvgElementImpl > & aElements,
TInt aX,
TInt aY
)

Send to mouse listeners of a mouse-exited event.

Parameters

RPointerArray < CSvgElementImpl > & aElements
TInt aX
TInt aY

NotifyMouseMoved(RPointerArray< CSvgElementImpl > &, TInt, TInt)

void NotifyMouseMoved ( RPointerArray < CSvgElementImpl > & aElements,
TInt aX,
TInt aY
)

Send to mouse listeners of a mouse-moved event.

Parameters

RPointerArray < CSvgElementImpl > & aElements
TInt aX
TInt aY

NotifyMousePressed(RPointerArray< CSvgElementImpl > &, TInt, TInt)

void NotifyMousePressed ( RPointerArray < CSvgElementImpl > & aElements,
TInt aX,
TInt aY
)

Send to mouse listeners of a mouse-pressed event.

Parameters

RPointerArray < CSvgElementImpl > & aElements
TInt aX
TInt aY

NotifyMouseReleased(RPointerArray< CSvgElementImpl > &, TInt, TInt)

void NotifyMouseReleased ( RPointerArray < CSvgElementImpl > & aElements,
TInt aX,
TInt aY
)

Send to mouse listeners of a mouse-released event.

Parameters

RPointerArray < CSvgElementImpl > & aElements
TInt aX
TInt aY

NotifyTextActivated(CSvgTextElementImpl *)

void NotifyTextActivated ( CSvgTextElementImpl * aTextElement )

Parameters

CSvgTextElementImpl * aTextElement

NotifyTextAreaActivated(CSvgTextAreaElementImpl *)

void NotifyTextAreaActivated ( CSvgTextAreaElementImpl * aTextArea )

Parameters

CSvgTextAreaElementImpl * aTextArea

NotifyTextAreaEntered(CSvgTextAreaElementImpl *)

void NotifyTextAreaEntered ( CSvgTextAreaElementImpl * aTextAreaElement )

Parameters

CSvgTextAreaElementImpl * aTextAreaElement

NotifyTextAreaExited(CSvgTextAreaElementImpl *)

void NotifyTextAreaExited ( CSvgTextAreaElementImpl * aTextAreaElement )

Parameters

CSvgTextAreaElementImpl * aTextAreaElement

NotifyTextEntered(CSvgTextElementImpl *)

void NotifyTextEntered ( CSvgTextElementImpl * aTextElement )

Parameters

CSvgTextElementImpl * aTextElement

NotifyTextExited(CSvgTextElementImpl *)

void NotifyTextExited ( CSvgTextElementImpl * aTextElement )

Parameters

CSvgTextElementImpl * aTextElement

PassesThumbNailRestriction()

TBool PassesThumbNailRestriction ( )

Returns false only when document was loaded/prepared with in thumbnail mode and the frame buffer is larger than 80x80 Probably move 80x80 size to .mmp file (compiler option)

Since
1.0

ProcessEventL(CSvgDocumentImpl *, MSvgEvent *, TBool)

void ProcessEventL ( CSvgDocumentImpl * aSvgDocument,
MSvgEvent * aEvent,
TBool aRedraw = ETrue
)

Process various events received by the client for the SVG image

Since
1.0

Parameters

CSvgDocumentImpl * aSvgDocument Pointer to the SVG Document on which event is to be processed.
MSvgEvent * aEvent - Pointer to the object that contains SVG event information (implements MSvgEvent interface)
TBool aRedraw = ETrue

ReadyToRender()

TBool ReadyToRender ( )

Returns whether engine is ready to render Used by SvgTimer

RedrawL()

void RedrawL ( )

Invalidate the current raster and hence kick off another round of rasterization process

Since
1.0

RemoveAnimationListener(MSvgAnimationListener *)

void RemoveAnimationListener ( MSvgAnimationListener * aListener )

Add a hyperlink listener.

Parameters

MSvgAnimationListener * aListener

RemoveHyperlinkListener(MSvgHyperlinkListener *)

void RemoveHyperlinkListener ( MSvgHyperlinkListener * aListener )

Add a hyperlink listener.

Parameters

MSvgHyperlinkListener * aListener

RemoveInteractiveElementListener(MSvgInteractiveElementListener *)

void RemoveInteractiveElementListener ( MSvgInteractiveElementListener * aListener )
Remove an interactive element listener.
Since
v3.2

Parameters

MSvgInteractiveElementListener * aListener

RemoveMouseListener(const MSvgMouseListener *)

void RemoveMouseListener ( const MSvgMouseListener * aListener )

Remove a MSvgMouseListener to this SvgEngine

Parameters

const MSvgMouseListener * aListener

RemoveTextAreaListener(MSvgTextAreaListener *)

void RemoveTextAreaListener ( MSvgTextAreaListener * aListener )

Remove a textbox listener.

Parameters

MSvgTextAreaListener * aListener

RemoveTextListener(MSvgTextListener *)

void RemoveTextListener ( MSvgTextListener * aListener )

Parameters

MSvgTextListener * aListener

RemoveViewPortListener(MSvgViewPortListener *)

void RemoveViewPortListener ( MSvgViewPortListener * aListener )

Parameters

MSvgViewPortListener * aListener

RenderFileL(const TDesC8 &, CFbsBitmap *, CFbsBitmap *, TBool)

void RenderFileL ( const TDesC8 & aSvgData,
CFbsBitmap * aFrameBuffer,
CFbsBitmap * aMask,
TBool aPreserveAspectRatio
)

Parameters

const TDesC8 & aSvgData
CFbsBitmap * aFrameBuffer
CFbsBitmap * aMask
TBool aPreserveAspectRatio

RenderFileToBuffer(const TDesC8 &, CFbsBitmap *, CFbsBitmap *, TBool)

TInt RenderFileToBuffer ( const TDesC8 & aSvgData,
CFbsBitmap * aFrameBuffer,
CFbsBitmap * aMask,
TBool aPreserveAspectRatio
)

Internally render SVG source into a buffer (rasterization)

Since
1.0

Parameters

const TDesC8 & aSvgData - A string buffer containing the SVG source
CFbsBitmap * aFrameBuffer - A bitmap passed by the client that will contain the raster
CFbsBitmap * aMask
TBool aPreserveAspectRatio - The aspect ratio (see SVG spec for more) for the raster

RenderFrame(TUint)

void RenderFrame ( TUint aCurrentTime )

Parameters

TUint aCurrentTime

ResetContext()

void ResetContext ( )

ResetTimer()

void ResetTimer ( )

Reset animation timer to the beginning.

Resume(TInt32)

void Resume ( TInt32 aTime )

Parameters

TInt32 aTime

SVGEngineState()

TSvgEngineState SVGEngineState ( )

Returns SVG Engine State

Since
1.0

SaveSvgL(const TDesC &)

void SaveSvgL ( const TDesC & aFileName )

Save Svg File After doing the text editing

Parameters

const TDesC & aFileName

ScriptCall(const TDesC &, CSvgElementImpl *)

TBool ScriptCall ( const TDesC & aScript,
CSvgElementImpl * aCallerElement
)

This method is for future extension, in which an external script engine could be used to evaluate a script description.

Since
1.0

Parameters

const TDesC & aScript
CSvgElementImpl * aCallerElement

SeekEngine(TUint32)

void SeekEngine ( TUint32 aTime )

Parameters

TUint32 aTime

SetAudioVolume(TInt)

void SetAudioVolume ( TInt aPercentage )

This method sets the volume with user input as a percentage value (unsigned between 0 and 100 ) for the currently loaded document

Since
S60 3.1

Parameters

TInt aPercentage percentage value of volume

SetBackgroundColor(TUint32)

void SetBackgroundColor ( TUint32 aRGBA8888Color )

Set background color

Since

Parameters

TUint32 aRGBA8888Color

SetBitmapHeader(const TDesC *)

void SetBitmapHeader ( const TDesC * aHeaderData )

Parameters

const TDesC * aHeaderData

SetDocument(CSvgDocumentImpl *)

void SetDocument ( CSvgDocumentImpl * aDocument )

Set the Document

Parameters

CSvgDocumentImpl * aDocument

SetGdiContextL(CFbsBitmap *, CFbsBitmap *)

void SetGdiContextL ( CFbsBitmap * aCurrentBitmap,
CFbsBitmap * aMask = NULL
)

Sets the GDI context from the Bitmap.

Since
1.0

Parameters

CFbsBitmap * aCurrentBitmap
CFbsBitmap * aMask = NULL

SetGdiContextL(CFbsBitmap *, CFbsBitmap *, TSize, TDisplayMode, TDisplayMode)

void SetGdiContextL ( CFbsBitmap * aCurrentBitmap,
CFbsBitmap * aMask,
TSize aCurrentBitmapSize,
TDisplayMode aRenderDspMode,
TDisplayMode aMaskDspMode
)

Parameters

CFbsBitmap * aCurrentBitmap
CFbsBitmap * aMask
TSize aCurrentBitmapSize
TDisplayMode aRenderDspMode
TDisplayMode aMaskDspMode

SetIgnoreUpdateScreen(TBool)

void SetIgnoreUpdateScreen ( TBool aBool )

Set to ETrue to ignore notification to UpdateScreen in RequestObserver

Parameters

TBool aBool

SetMediaTime(TUint32)

void SetMediaTime ( TUint32 aTimeInMilliSeconds )

Parameters

TUint32 aTimeInMilliSeconds

SetRenderingQuality(const TInt32)

void SetRenderingQuality ( const TInt32 aRenderQuality )

Parameters

const TInt32 aRenderQuality

SetSVGEngineState(TSvgEngineState)

void SetSVGEngineState ( TSvgEngineState aState )

Sets SVG Engine state

Since
1.0

Parameters

TSvgEngineState aState

SetSvgDimensionToFrameBufferL(TUint, TUint)

void SetSvgDimensionToFrameBufferL ( TUint aWidth,
TUint aHeight
)

Set SVG Dimensions to Frame buffer size

Since
1.0

Parameters

TUint aWidth
TUint aHeight

StartEngine(CSvgErrorImpl *)

void StartEngine ( CSvgErrorImpl * aError = NULL )

Start the Engine so that the first frame is drawn when the call is finished.

Parameters

CSvgErrorImpl * aError = NULL

StartFrameLoopL()

TBool StartFrameLoopL ( )

Kick off the processing of SVG source, and animation time frames

Since
1.0

SwitchDebugInfo(TBool)

void SwitchDebugInfo ( TBool debug )

A private method that toggles debug info for developers

Since
1.0

Parameters

TBool debug

TLVEncodedData()

const TPtrC8 TLVEncodedData ( ) const

Get the NVG-TLV data

Since
1.0

TextAreaTagProcessingL(TPtrC *, TInt &, TInt, TBool)

HBufC * TextAreaTagProcessingL ( TPtrC * aCData,
TInt & aStartOffset,
TInt aOrgLength,
TBool aEndingWithTag
)

Parameters

TPtrC * aCData
TInt & aStartOffset
TInt aOrgLength
TBool aEndingWithTag

TextTagProcessingL(TPtrC *, TInt &, TInt, TBool)

HBufC * TextTagProcessingL ( TPtrC * aCData,
TInt & aStartOffset,
TInt aOrgLength,
TBool aEndingWithTag
)

Parameters

TPtrC * aCData
TInt & aStartOffset
TInt aOrgLength
TBool aEndingWithTag

UpdateCTM(CSvgDocumentImpl *)

void UpdateCTM ( CSvgDocumentImpl * aSvgDocument )

Kick off the process of placing graphical objects in their positions for rasterization

Since
1.0

Parameters

CSvgDocumentImpl * aSvgDocument

UpdatePath(CGfxGeneralPath *, CSvgElementImpl *)

void UpdatePath ( CGfxGeneralPath * hPath,
CSvgElementImpl * hElement
)

Overwrite the current path information in the given element

Parameters

CGfxGeneralPath * hPath - handle to a path
CSvgElementImpl * hElement - handle to a path element

UpdatePresentation(const TInt32 &)

void UpdatePresentation ( const TInt32 & aParam )

Need method description

Since
1.0

Parameters

const TInt32 & aParam

WriteToStream(RFileWriteStream &, TPtrC)

TInt WriteToStream ( RFileWriteStream & aStream,
TPtrC aWriteBuffer
)

Parameters

RFileWriteStream & aStream
TPtrC aWriteBuffer

Member Data Documentation

TBufC< 1 > NullString

TBufC < 1 > NullString [private]

RPointerArray< MSvgAnimationListener > iAnimationListeners

RPointerArray < MSvgAnimationListener > iAnimationListeners [private]

TAnimStatus iAnimationState

TAnimStatus iAnimationState [private]

TUint32 iBackgroundColor

TUint32 iBackgroundColor [private]

TFontSpec iBitmapFontSpec

TFontSpec iBitmapFontSpec

TBool iClientDefinedViewPort

TBool iClientDefinedViewPort

TGfxRectangle2D iClipRect

TGfxRectangle2D iClipRect [private]

TBool iCustomOption

TBool iCustomOption

CSvgFontHashMap * iFontHashMap

CSvgFontHashMap * iFontHashMap

CFbsBitmap * iFrameBuffer

CFbsBitmap * iFrameBuffer

TBool iFrameBufferOverridesViewport

TBool iFrameBufferOverridesViewport

TSize iFrameBufferSize

TSize iFrameBufferSize

CGfx2dGc * iGfxContext

CGfx2dGc * iGfxContext [private]

RPointerArray< MSvgHyperlinkListener > iHyperlinkListeners

RPointerArray < MSvgHyperlinkListener > iHyperlinkListeners [private]

TBool iIgnoreUpdateScreen

TBool iIgnoreUpdateScreen [private]

RPointerArray< MSvgInteractiveElementListener > iInteractiveElementListeners

RPointerArray < MSvgInteractiveElementListener > iInteractiveElementListeners [private]

TPtrC iLinkShow

TPtrC iLinkShow [private]

TPtrC iLinkUri

TPtrC iLinkUri [private]

CFbsBitmap * iMask

CFbsBitmap * iMask

TDisplayMode iMaskDspMode

TDisplayMode iMaskDspMode

CSvgElementImpl * iMouseoverElement

CSvgElementImpl * iMouseoverElement [private]

TDisplayMode iRenderDspMode

TDisplayMode iRenderDspMode

TInt iRenderQuality

TInt iRenderQuality [private]

MSvgRequestObserver * iRequestObserver

MSvgRequestObserver * iRequestObserver

TBool iShowDebugInfo

TBool iShowDebugInfo [private]

CSvgBitmapFontProvider * iSvgBitmapFontProvider

CSvgBitmapFontProvider * iSvgBitmapFontProvider [private]

CSvgDocumentImpl * iSvgDocument

CSvgDocumentImpl * iSvgDocument [private]

TSvgEngineState iSvgEngineState

TSvgEngineState iSvgEngineState [private]

CSvgErrorImpl * iSvgError

CSvgErrorImpl * iSvgError [private]

RPointerArray< MSvgMouseListener > iSvgMouseListeners

RPointerArray < MSvgMouseListener > iSvgMouseListeners [private]

CDesC16ArrayFlat * iSvgNames

CDesC16ArrayFlat * iSvgNames

RPointerArray< TSvgFourPointRect > iSvgTextBoundingBoxes

RPointerArray < TSvgFourPointRect > iSvgTextBoundingBoxes

CSvgElementImpl * iTextAreaHandle

CSvgElementImpl * iTextAreaHandle

RPointerArray< MSvgTextAreaListener > iTextAreaListeners

RPointerArray < MSvgTextAreaListener > iTextAreaListeners [private]

RPointerArray< MSvgTextListener > iTextListeners

RPointerArray < MSvgTextListener > iTextListeners [private]

TUint iTimeoutSeconds

TUint iTimeoutSeconds [private]

CSvgTimer * iTimer

CSvgTimer * iTimer

MSvgViewPortListener * iViewPortListener

MSvgViewPortListener * iViewPortListener [private]