CSvgEngineImpl Class Reference

class CSvgEngineImpl : public CBase

Class description goes here.

SVGEngine.lib
Since
1.0

Inherits from

Public Member Functions
~CSvgEngineImpl()
voidAddAnimationListener(MSvgAnimationListener *)
voidAddHyperlinkListener(MSvgHyperlinkListener *)
voidAddInteractiveElementListener(MSvgInteractiveElementListener *)
voidAddMouseListener(const MSvgMouseListener *)
voidAddTextAreaListener(MSvgTextAreaListener *)
voidAddTextListener(MSvgTextListener *)
voidAddViewPortListener(MSvgViewPortListener *)
voidChangeDuration(TUint32)
voidCheckForHyperlinkMouseover(TInt, TInt)
voidConstructL(CSvgBitmapFontProvider *)
TInt32 CurrentTIme()
voidCustomOption(TBool)
voidDestroy()
CSvgDocumentImpl *Document()
voidDrawElementsL(CSvgElementImpl *)
TUint32 Duration(CSvgDocumentImpl *)
HBufC8 *FetchExternalDataL(const TDesC &)
TBool FetchFont(const TDesC &, RFs &, RFile &)
TBool FetchImage(const TDesC &, RFs &, RFile &)
voidFindAllNonViewableElements(CSvgElementImpl *, RPointerArray< CSvgElementImpl > &)
voidFindAllViewableElements(CSvgElementImpl *, RPointerArray< CSvgElementImpl > &)
voidFindBBoxesForRotatedText(const TDesC &, RPointerArray< MRect > &, RArray< TPtrC > &, RArray< TInt > &, TBool)
voidGenerateMask(CFbsBitmap *)
TSize GetSize()
voidGetViewPort(TInt, TInt, TBool, TBool, TInt &, TInt &)
voidGetViewableElementsAtPoint(CSvgDocumentImpl *, RPointerArray< CSvgElementImpl > &, TInt, TInt)
CGfx2dGc *GraphicsContext()
voidImageLoadingCompleted(TInt)
voidInitializeEngineL()
TBool IsElementVisible(TInt)
TBool IsSVGEnginePaused()
voidLinkRequest(const TDesC &)
voidLinkRequestWithShow(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)
voidNotifyAnimationEnded()
voidNotifyAnimationPaused()
voidNotifyAnimationStarted()
voidNotifyElementActivatedLinkEntered(CSvgElementImpl *)
voidNotifyElementActivatedLinkExited(CSvgElementImpl *)
voidNotifyHyperlinkActivated(CSvgAElementImpl *)
voidNotifyHyperlinkActivated(const TDesC &)
voidNotifyHyperlinkActivatedWithShow(const TDesC &, const TDesC &)
voidNotifyHyperlinkEntered(CSvgAElementImpl *)
voidNotifyHyperlinkEntered(const TDesC &)
voidNotifyHyperlinkExited(CSvgAElementImpl *)
voidNotifyHyperlinkExited(const TDesC &)
voidNotifyInteractiveElementEntered(CSvgElementImpl *)
voidNotifyInteractiveElementExited(CSvgElementImpl *)
voidNotifyMouseEntered(RPointerArray< CSvgElementImpl > &, TInt, TInt)
voidNotifyMouseExited(RPointerArray< CSvgElementImpl > &, TInt, TInt)
voidNotifyMouseMoved(RPointerArray< CSvgElementImpl > &, TInt, TInt)
voidNotifyMousePressed(RPointerArray< CSvgElementImpl > &, TInt, TInt)
voidNotifyMouseReleased(RPointerArray< CSvgElementImpl > &, TInt, TInt)
voidNotifyTextActivated(CSvgTextElementImpl *)
voidNotifyTextAreaActivated(CSvgTextAreaElementImpl *)
voidNotifyTextAreaEntered(CSvgTextAreaElementImpl *)
voidNotifyTextAreaExited(CSvgTextAreaElementImpl *)
voidNotifyTextEntered(CSvgTextElementImpl *)
voidNotifyTextExited(CSvgTextElementImpl *)
TBool PassesThumbNailRestriction()
voidProcessEventL(CSvgDocumentImpl *, MSvgEvent *, TBool)
TBool ReadyToRender()
voidRedrawL()
voidRemoveAnimationListener(MSvgAnimationListener *)
voidRemoveHyperlinkListener(MSvgHyperlinkListener *)
voidRemoveInteractiveElementListener(MSvgInteractiveElementListener *)
voidRemoveMouseListener(const MSvgMouseListener *)
voidRemoveTextAreaListener(MSvgTextAreaListener *)
voidRemoveTextListener(MSvgTextListener *)
voidRemoveViewPortListener(MSvgViewPortListener *)
voidRenderFileL(const TDesC8 &, CFbsBitmap *, CFbsBitmap *, TBool)
TInt RenderFileToBuffer(const TDesC8 &, CFbsBitmap *, CFbsBitmap *, TBool)
voidRenderFrame(TUint)
voidResetContext()
voidResetTimer()
voidResume(TInt32)
TSvgEngineState SVGEngineState()
voidSaveSvgL(const TDesC &)
TBool ScriptCall(const TDesC &, CSvgElementImpl *)
voidSeekEngine(TUint32)
voidSetAudioVolume(TInt)
voidSetBackgroundColor(TUint32)
voidSetBitmapHeader(const TDesC *)
voidSetDocument(CSvgDocumentImpl *)
voidSetGdiContextL(CFbsBitmap *, CFbsBitmap *)
voidSetGdiContextL(CFbsBitmap *, CFbsBitmap *, TSize, TDisplayMode, TDisplayMode)
voidSetIgnoreUpdateScreen(TBool)
voidSetMediaTime(TUint32)
voidSetRenderingQuality(const TInt32)
voidSetSVGEngineState(TSvgEngineState)
voidSetSvgDimensionToFrameBufferL(TUint, TUint)
voidStartEngine(CSvgErrorImpl *)
TBool StartFrameLoopL()
voidSwitchDebugInfo(TBool)
const TPtrC8TLVEncodedData()
HBufC *TextAreaTagProcessingL(TPtrC *, TInt &, TInt, TBool)
HBufC *TextTagProcessingL(TPtrC *, TInt &, TInt, TBool)
voidUpdateCTM(CSvgDocumentImpl *)
voidUpdatePath(CGfxGeneralPath *, CSvgElementImpl *)
voidUpdatePresentation(const TInt32 &)
TInt WriteToStream(RFileWriteStream &, TPtrC)
Private Member Functions
CSvgEngineImpl()
CSvgEngineImpl(CFbsBitmap *, MSvgRequestObserver *)
voidConstructL(TFontSpec &, CSvgBitmapFontProvider *)
voidConstructL(TFontSpec &, CSvgBitmapFontProvider *, SVGRendererId)
voidCopyBuffer(TUint32 *, TUint32 *, const TSize)
CFbsBitmap *CreateOpacityFrameBufferL()
voidDoHyperLinkingL()
voidFilteredBlitRGB565()
voidFilteredBlitXRGB4444()
voidFindEditableElements(CSvgElementImpl *, RPointerArray< CSvgElementImpl > &)
voidInitializeEventReceiverListL(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 *)

voidAddAnimationListener(MSvgAnimationListener *aListener)

Add a hyperlink listener.

Parameters

MSvgAnimationListener * aListener

AddHyperlinkListener(MSvgHyperlinkListener *)

voidAddHyperlinkListener(MSvgHyperlinkListener *aListener)

Add a hyperlink listener.

Parameters

MSvgHyperlinkListener * aListener

AddInteractiveElementListener(MSvgInteractiveElementListener *)

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

Parameters

MSvgInteractiveElementListener * aListener

AddMouseListener(const MSvgMouseListener *)

voidAddMouseListener(const MSvgMouseListener *aListener)

Add a MSvgMouseListener to this SvgEngine

Parameters

const MSvgMouseListener * aListener

AddTextAreaListener(MSvgTextAreaListener *)

voidAddTextAreaListener(MSvgTextAreaListener *aListener)

Add a textbox listener.

Parameters

MSvgTextAreaListener * aListener

AddTextListener(MSvgTextListener *)

voidAddTextListener(MSvgTextListener *aListener)

Parameters

MSvgTextListener * aListener

AddViewPortListener(MSvgViewPortListener *)

voidAddViewPortListener(MSvgViewPortListener *aListener)

Parameters

MSvgViewPortListener * aListener

ChangeDuration(TUint32)

voidChangeDuration(TUint32aTimerDuration)

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)

voidCheckForHyperlinkMouseover(TIntaX,
TIntaY
)

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 *)

voidConstructL(CSvgBitmapFontProvider *aSvgBitmapFontProvider)

Parameters

CSvgBitmapFontProvider * aSvgBitmapFontProvider

ConstructL(TFontSpec &, CSvgBitmapFontProvider *)

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

A private constructor that constructs heap objects

Since
1.0

Parameters

TFontSpec & aFontSpec
CSvgBitmapFontProvider * aSvgBitmapFontProvider

ConstructL(TFontSpec &, CSvgBitmapFontProvider *, SVGRendererId)

voidConstructL(TFontSpec &aFontSpec,
CSvgBitmapFontProvider *aSvgBitmapFontProvider,
SVGRendererIdaRendererType
)[private]

Parameters

TFontSpec & aFontSpec
CSvgBitmapFontProvider * aSvgBitmapFontProvider
SVGRendererId aRendererType

CopyBuffer(TUint32 *, TUint32 *, const TSize)

voidCopyBuffer(TUint32 *aSrc,
TUint32 *aDest,
const TSizeaSize
)[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)

voidCustomOption(TBoolaCustomOption)

A private method that switch between OpenVG and VGR implementation

Since
1.0

Parameters

TBool aCustomOption

Destroy()

voidDestroy()

Destroy the current representation of the SVG document

Since
1.0

DoHyperLinkingL()

voidDoHyperLinkingL()[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 *)

voidDrawElementsL(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()

voidFilteredBlitRGB565()const [private]

A complex method that does color calculations for anti aliasing

Since
1.0

FilteredBlitXRGB4444()

voidFilteredBlitXRGB4444()const [private]

A complex method that does color calculations for anti aliasing

Since
1.0

FindAllNonViewableElements(CSvgElementImpl *, RPointerArray< CSvgElementImpl > &)

voidFindAllNonViewableElements(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 > &)

voidFindAllViewableElements(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)

voidFindBBoxesForRotatedText(const TDesC &aString,
RPointerArray< MRect > &aBoundingBoxes,
RArray< TPtrC > &aTexts,
RArray< TInt > &aElementIds,
TBoolaCaseSensitive
)

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 > &)

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

Parameters

CSvgElementImpl * aStartElement
RPointerArray< CSvgElementImpl > & aList

GenerateMask(CFbsBitmap *)

voidGenerateMask(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 &)

voidGetViewPort(TIntgetWidth,
TIntgetHeight,
TBoolisWidthInPer,
TBoolisHeightInPer,
TInt &setWidth,
TInt &setHeight
)

Parameters

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

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

voidGetViewableElementsAtPoint(CSvgDocumentImpl *aSvgDocument,
RPointerArray< CSvgElementImpl > &aElements,
TIntaX,
TIntaY
)

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)

voidImageLoadingCompleted(TInt)

Parameters

TInt

InitializeEngineL()

voidInitializeEngineL()

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 *)

voidInitializeEventReceiverListL(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(TIntaElementId)

Parameters

TInt aElementId

IsEndedWithCompleteTextTag(TDes &, TInt)

TBool IsEndedWithCompleteTextTag(TDes &bufferptr,
TIntEndOffset
)[private]

Parameters

TDes & bufferptr
TInt EndOffset

IsSVGEnginePaused()

TBool IsSVGEnginePaused()

LinkRequest(const TDesC &)

voidLinkRequest(const TDesC &aUri)

Set the URI information in the Engine

Since
1.0

Parameters

const TDesC & aUri

LinkRequestWithShow(const TDesC &, const TDesC &)

voidLinkRequestWithShow(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,
SVGRendererIdaRendererType
)[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,
SVGRendererIdaRendererType
)[static]

Parameters

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

NotifyAnimationEnded()

voidNotifyAnimationEnded()

NotifyAnimationPaused()

voidNotifyAnimationPaused()

NotifyAnimationStarted()

voidNotifyAnimationStarted()

NotifyElementActivatedLinkEntered(CSvgElementImpl *)

voidNotifyElementActivatedLinkEntered(CSvgElementImpl *aElement)

Parameters

CSvgElementImpl * aElement

NotifyElementActivatedLinkExited(CSvgElementImpl *)

voidNotifyElementActivatedLinkExited(CSvgElementImpl *aElement)

Parameters

CSvgElementImpl * aElement

NotifyHyperlinkActivated(CSvgAElementImpl *)

voidNotifyHyperlinkActivated(CSvgAElementImpl *aAElementHandle)

Parameters

CSvgAElementImpl * aAElementHandle

NotifyHyperlinkActivated(const TDesC &)

voidNotifyHyperlinkActivated(const TDesC &aUri)

Parameters

const TDesC & aUri

NotifyHyperlinkActivatedWithShow(const TDesC &, const TDesC &)

voidNotifyHyperlinkActivatedWithShow(const TDesC &aUri,
const TDesC &aShow
)

Parameters

const TDesC & aUri
const TDesC & aShow

NotifyHyperlinkEntered(CSvgAElementImpl *)

voidNotifyHyperlinkEntered(CSvgAElementImpl *aAElementHandle)

Parameters

CSvgAElementImpl * aAElementHandle

NotifyHyperlinkEntered(const TDesC &)

voidNotifyHyperlinkEntered(const TDesC &aUri)

Parameters

const TDesC & aUri

NotifyHyperlinkExited(CSvgAElementImpl *)

voidNotifyHyperlinkExited(CSvgAElementImpl *aAElementHandle)

Parameters

CSvgAElementImpl * aAElementHandle

NotifyHyperlinkExited(const TDesC &)

voidNotifyHyperlinkExited(const TDesC &aUri)

Parameters

const TDesC & aUri

NotifyInteractiveElementEntered(CSvgElementImpl *)

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

Parameters

CSvgElementImpl * aElement

NotifyInteractiveElementExited(CSvgElementImpl *)

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

Parameters

CSvgElementImpl * aElement

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

voidNotifyMouseEntered(RPointerArray< CSvgElementImpl > &aElements,
TIntaX,
TIntaY
)

Send to mouse listeners of a mouse-entered event.

Parameters

RPointerArray< CSvgElementImpl > & aElements
TInt aX
TInt aY

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

voidNotifyMouseExited(RPointerArray< CSvgElementImpl > &aElements,
TIntaX,
TIntaY
)

Send to mouse listeners of a mouse-exited event.

Parameters

RPointerArray< CSvgElementImpl > & aElements
TInt aX
TInt aY

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

voidNotifyMouseMoved(RPointerArray< CSvgElementImpl > &aElements,
TIntaX,
TIntaY
)

Send to mouse listeners of a mouse-moved event.

Parameters

RPointerArray< CSvgElementImpl > & aElements
TInt aX
TInt aY

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

voidNotifyMousePressed(RPointerArray< CSvgElementImpl > &aElements,
TIntaX,
TIntaY
)

Send to mouse listeners of a mouse-pressed event.

Parameters

RPointerArray< CSvgElementImpl > & aElements
TInt aX
TInt aY

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

voidNotifyMouseReleased(RPointerArray< CSvgElementImpl > &aElements,
TIntaX,
TIntaY
)

Send to mouse listeners of a mouse-released event.

Parameters

RPointerArray< CSvgElementImpl > & aElements
TInt aX
TInt aY

NotifyTextActivated(CSvgTextElementImpl *)

voidNotifyTextActivated(CSvgTextElementImpl *aTextElement)

Parameters

CSvgTextElementImpl * aTextElement

NotifyTextAreaActivated(CSvgTextAreaElementImpl *)

voidNotifyTextAreaActivated(CSvgTextAreaElementImpl *aTextArea)

Parameters

CSvgTextAreaElementImpl * aTextArea

NotifyTextAreaEntered(CSvgTextAreaElementImpl *)

voidNotifyTextAreaEntered(CSvgTextAreaElementImpl *aTextAreaElement)

Parameters

CSvgTextAreaElementImpl * aTextAreaElement

NotifyTextAreaExited(CSvgTextAreaElementImpl *)

voidNotifyTextAreaExited(CSvgTextAreaElementImpl *aTextAreaElement)

Parameters

CSvgTextAreaElementImpl * aTextAreaElement

NotifyTextEntered(CSvgTextElementImpl *)

voidNotifyTextEntered(CSvgTextElementImpl *aTextElement)

Parameters

CSvgTextElementImpl * aTextElement

NotifyTextExited(CSvgTextElementImpl *)

voidNotifyTextExited(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)

voidProcessEventL(CSvgDocumentImpl *aSvgDocument,
MSvgEvent *aEvent,
TBoolaRedraw = ETrue
)

Process various events received by the client for the SVG image

Since
1.0

Parameters

CSvgDocumentImpl * aSvgDocumentPointer 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()

voidRedrawL()

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

Since
1.0

RemoveAnimationListener(MSvgAnimationListener *)

voidRemoveAnimationListener(MSvgAnimationListener *aListener)

Add a hyperlink listener.

Parameters

MSvgAnimationListener * aListener

RemoveHyperlinkListener(MSvgHyperlinkListener *)

voidRemoveHyperlinkListener(MSvgHyperlinkListener *aListener)

Add a hyperlink listener.

Parameters

MSvgHyperlinkListener * aListener

RemoveInteractiveElementListener(MSvgInteractiveElementListener *)

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

Parameters

MSvgInteractiveElementListener * aListener

RemoveMouseListener(const MSvgMouseListener *)

voidRemoveMouseListener(const MSvgMouseListener *aListener)

Remove a MSvgMouseListener to this SvgEngine

Parameters

const MSvgMouseListener * aListener

RemoveTextAreaListener(MSvgTextAreaListener *)

voidRemoveTextAreaListener(MSvgTextAreaListener *aListener)

Remove a textbox listener.

Parameters

MSvgTextAreaListener * aListener

RemoveTextListener(MSvgTextListener *)

voidRemoveTextListener(MSvgTextListener *aListener)

Parameters

MSvgTextListener * aListener

RemoveViewPortListener(MSvgViewPortListener *)

voidRemoveViewPortListener(MSvgViewPortListener *aListener)

Parameters

MSvgViewPortListener * aListener

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

voidRenderFileL(const TDesC8 &aSvgData,
CFbsBitmap *aFrameBuffer,
CFbsBitmap *aMask,
TBoolaPreserveAspectRatio
)

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,
TBoolaPreserveAspectRatio
)

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)

voidRenderFrame(TUintaCurrentTime)

Parameters

TUint aCurrentTime

ResetContext()

voidResetContext()

ResetTimer()

voidResetTimer()

Reset animation timer to the beginning.

Resume(TInt32)

voidResume(TInt32aTime)

Parameters

TInt32 aTime

SVGEngineState()

TSvgEngineState SVGEngineState()

Returns SVG Engine State

Since
1.0

SaveSvgL(const TDesC &)

voidSaveSvgL(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)

voidSeekEngine(TUint32aTime)

Parameters

TUint32 aTime

SetAudioVolume(TInt)

voidSetAudioVolume(TIntaPercentage)

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 aPercentagepercentage value of volume

SetBackgroundColor(TUint32)

voidSetBackgroundColor(TUint32aRGBA8888Color)

Set background color

Since

Parameters

TUint32 aRGBA8888Color

SetBitmapHeader(const TDesC *)

voidSetBitmapHeader(const TDesC *aHeaderData)

Parameters

const TDesC * aHeaderData

SetDocument(CSvgDocumentImpl *)

voidSetDocument(CSvgDocumentImpl *aDocument)

Set the Document

Parameters

CSvgDocumentImpl * aDocument

SetGdiContextL(CFbsBitmap *, CFbsBitmap *)

voidSetGdiContextL(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)

voidSetGdiContextL(CFbsBitmap *aCurrentBitmap,
CFbsBitmap *aMask,
TSizeaCurrentBitmapSize,
TDisplayModeaRenderDspMode,
TDisplayModeaMaskDspMode
)

Parameters

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

SetIgnoreUpdateScreen(TBool)

voidSetIgnoreUpdateScreen(TBoolaBool)

Set to ETrue to ignore notification to UpdateScreen in RequestObserver

Parameters

TBool aBool

SetMediaTime(TUint32)

voidSetMediaTime(TUint32aTimeInMilliSeconds)

Parameters

TUint32 aTimeInMilliSeconds

SetRenderingQuality(const TInt32)

voidSetRenderingQuality(const TInt32aRenderQuality)

Parameters

const TInt32 aRenderQuality

SetSVGEngineState(TSvgEngineState)

voidSetSVGEngineState(TSvgEngineStateaState)

Sets SVG Engine state

Since
1.0

Parameters

TSvgEngineState aState

SetSvgDimensionToFrameBufferL(TUint, TUint)

voidSetSvgDimensionToFrameBufferL(TUintaWidth,
TUintaHeight
)

Set SVG Dimensions to Frame buffer size

Since
1.0

Parameters

TUint aWidth
TUint aHeight

StartEngine(CSvgErrorImpl *)

voidStartEngine(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)

voidSwitchDebugInfo(TBooldebug)

A private method that toggles debug info for developers

Since
1.0

Parameters

TBool debug

TLVEncodedData()

const TPtrC8TLVEncodedData()const

Get the NVG-TLV data

Since
1.0

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

HBufC *TextAreaTagProcessingL(TPtrC *aCData,
TInt &aStartOffset,
TIntaOrgLength,
TBoolaEndingWithTag
)

Parameters

TPtrC * aCData
TInt & aStartOffset
TInt aOrgLength
TBool aEndingWithTag

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

HBufC *TextTagProcessingL(TPtrC *aCData,
TInt &aStartOffset,
TIntaOrgLength,
TBoolaEndingWithTag
)

Parameters

TPtrC * aCData
TInt & aStartOffset
TInt aOrgLength
TBool aEndingWithTag

UpdateCTM(CSvgDocumentImpl *)

voidUpdateCTM(CSvgDocumentImpl *aSvgDocument)

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

Since
1.0

Parameters

CSvgDocumentImpl * aSvgDocument

UpdatePath(CGfxGeneralPath *, CSvgElementImpl *)

voidUpdatePath(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 &)

voidUpdatePresentation(const TInt32 &aParam)

Need method description

Since
1.0

Parameters

const TInt32 & aParam

WriteToStream(RFileWriteStream &, TPtrC)

TInt WriteToStream(RFileWriteStream &aStream,
TPtrCaWriteBuffer
)

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]