| class CSvgEngineImpl : public CBase |
Class description goes here.
| 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 ) |
| CSvgEngineImpl | ( | CFbsBitmap * | aFrameBuffer, |
| MSvgRequestObserver * | aReqObserver | ||
| ) | [private] | ||
Private constructor
| 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 |
| void | AddAnimationListener | ( | MSvgAnimationListener * | aListener | ) |
Add a hyperlink listener.
| MSvgAnimationListener * aListener |
| void | AddHyperlinkListener | ( | MSvgHyperlinkListener * | aListener | ) |
Add a hyperlink listener.
| MSvgHyperlinkListener * aListener |
| void | AddInteractiveElementListener | ( | MSvgInteractiveElementListener * | aListener | ) |
| MSvgInteractiveElementListener * aListener |
| void | AddMouseListener | ( | const MSvgMouseListener * | aListener | ) |
Add a MSvgMouseListener to this SvgEngine
| const MSvgMouseListener * aListener |
| void | AddTextAreaListener | ( | MSvgTextAreaListener * | aListener | ) |
Add a textbox listener.
| MSvgTextAreaListener * aListener |
| void | AddTextListener | ( | MSvgTextListener * | aListener | ) |
| MSvgTextListener * aListener |
| void | AddViewPortListener | ( | MSvgViewPortListener * | aListener | ) |
| MSvgViewPortListener * aListener |
| 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
| TUint32 aTimerDuration |
| void | CheckForHyperlinkMouseover | ( | TInt | aX, |
| TInt | aY | |||
| ) | ||||
Process the given coordinate to determine if it is inside/outside a hyperlink; then, notify the hyperlink listeners.
| void | ConstructL | ( | CSvgBitmapFontProvider * | aSvgBitmapFontProvider | ) |
| CSvgBitmapFontProvider * aSvgBitmapFontProvider |
| void | ConstructL | ( | TFontSpec & | aFontSpec, |
| CSvgBitmapFontProvider * | aSvgBitmapFontProvider | |||
| ) | [private] | |||
A private constructor that constructs heap objects
| TFontSpec & aFontSpec | |
| CSvgBitmapFontProvider * aSvgBitmapFontProvider |
| void | ConstructL | ( | TFontSpec & | aFontSpec, |
| CSvgBitmapFontProvider * | aSvgBitmapFontProvider, | |||
| SVGRendererId | aRendererType | |||
| ) | [private] | |||
| TFontSpec & aFontSpec | |
| CSvgBitmapFontProvider * aSvgBitmapFontProvider | |
| SVGRendererId aRendererType |
| void | CopyBuffer | ( | TUint32 * | aSrc, |
| TUint32 * | aDest, | |||
| const TSize | aSize | |||
| ) | [private] | |||
| void | CustomOption | ( | TBool | aCustomOption | ) |
A private method that switch between OpenVG and VGR implementation
| TBool aCustomOption |
| void | DoHyperLinkingL | ( | ) | [private] |
Initiate the process of opening embedded links in the SVG source
| CSvgDocumentImpl * | Document | ( | ) |
An acessor to the document object that represents the current SVG source
| void | DrawElementsL | ( | CSvgElementImpl * | aRootElement | ) |
Kick off the process of rasterizing the SVG document elements
| CSvgElementImpl * aRootElement | - Root element of the SVG document |
| 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.
| CSvgDocumentImpl * aDocumentElement = NULL | - document to find animation duration. |
| 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.
| const TDesC & aUri |
| TBool | FetchFont | ( | const TDesC & | aUri, |
| RFs & | aSession, | |||
| RFile & | aFileHandle | |||
| ) | ||||
Obtain a font source embedded within an SVG source
| TBool | FetchImage | ( | const TDesC & | aUri, |
| RFs & | aSession, | |||
| RFile & | aFileHandle | |||
| ) | ||||
Obtain an image source embedded within a SVG source (JPEG, PNG)
| void | FilteredBlitRGB565 | ( | ) | const [private] |
A complex method that does color calculations for anti aliasing
| void | FilteredBlitXRGB4444 | ( | ) | const [private] |
A complex method that does color calculations for anti aliasing
| 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.
| CSvgElementImpl * aStartElement | |
| RPointerArray < CSvgElementImpl > & iElementList |
| 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.
| CSvgElementImpl * aStartElement | |
| RPointerArray < CSvgElementImpl > & iElementList |
| 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.
| void | FindEditableElements | ( | CSvgElementImpl * | aStartElement, |
| RPointerArray < CSvgElementImpl > & | aList | |||
| ) | [private] | |||
| CSvgElementImpl * aStartElement | |
| RPointerArray < CSvgElementImpl > & aList |
| void | GenerateMask | ( | CFbsBitmap * | aMask | ) |
Generate mask bitmap from alpha channel of the framebuffer
| CFbsBitmap * aMask |
| void | GetViewPort | ( | TInt | getWidth, |
| TInt | getHeight, | |||
| TBool | isWidthInPer, | |||
| TBool | isHeightInPer, | |||
| TInt & | setWidth, | |||
| TInt & | setHeight | |||
| ) | ||||
| void | GetViewableElementsAtPoint | ( | CSvgDocumentImpl * | aSvgDocument, |
| RPointerArray < CSvgElementImpl > & | aElements, | |||
| TInt | aX, | |||
| TInt | aY | |||
| ) | ||||
Return the (first) viewable element at the given point. visible svg element.
| CSvgDocumentImpl * aSvgDocument | |
| RPointerArray < CSvgElementImpl > & aElements | |
| TInt aX | |
| TInt aY |
| void | InitializeEngineL | ( | ) |
Initializes the SVG Engine primarily with width and height informtion This is based on the attribute specifications for the root 'svg' element
| void | InitializeEventReceiverListL | ( | CSvgElementImpl * | aElement | ) | [private] |
| CSvgElementImpl * aElement |
| TBool | IsAnimationElement | ( | CSvgElementImpl * | aElement | ) | [private] |
FInd out whether a given element is animation type
| CSvgElementImpl * aElement | - A pointer to an element |
| TBool | IsEndedWithCompleteTextTag | ( | TDes & | bufferptr, |
| TInt | EndOffset | |||
| ) | [private] | |||
| void | LinkRequest | ( | const TDesC & | aUri | ) |
Set the URI information in the Engine
| const TDesC & aUri |
| void | LinkRequestWithShow | ( | const TDesC & | aUri, |
| const TDesC & | aLinkShow | |||
| ) | ||||
Need method description
| CSvgEngineImpl * | NewL | ( | CSvgBitmapFontProvider * | aSvgBitmapFontProvider | ) | [static] |
| CSvgBitmapFontProvider * aSvgBitmapFontProvider |
| CSvgEngineImpl * | NewL | ( | CFbsBitmap * | aFrameBuffer, |
| MSvgRequestObserver * | aReqObserver, | |||
| TFontSpec & | aFontSpec, | |||
| CSvgBitmapFontProvider * | aSvgBitmapFontProvider | |||
| ) | [static] | |||
Two phase constructor
| 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 |
| CSvgEngineImpl * | NewL | ( | CFbsBitmap * | aFrameBuffer, |
| MSvgRequestObserver * | aReqObserver, | |||
| TFontSpec & | aFontSpec, | |||
| CSvgBitmapFontProvider * | aSvgBitmapFontProvider, | |||
| SVGRendererId | aRendererType | |||
| ) | [static] | |||
| CFbsBitmap * aFrameBuffer | |
| MSvgRequestObserver * aReqObserver | |
| TFontSpec & aFontSpec | |
| CSvgBitmapFontProvider * aSvgBitmapFontProvider | |
| SVGRendererId aRendererType |
| CSvgEngineImpl * | NewLC | ( | CSvgBitmapFontProvider * | aSvgBitmapFontProvider | ) | [static] |
| CSvgBitmapFontProvider * aSvgBitmapFontProvider |
| CSvgEngineImpl * | NewLC | ( | CFbsBitmap * | aFrameBuffer, |
| MSvgRequestObserver * | aReqObserver, | |||
| TFontSpec & | aFontSpec, | |||
| CSvgBitmapFontProvider * | aSvgBitmapFontProvider | |||
| ) | [static] | |||
Two phase constructor
| 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 |
| CSvgEngineImpl * | NewLC | ( | CFbsBitmap * | aFrameBuffer, |
| MSvgRequestObserver * | aReqObserver, | |||
| TFontSpec & | aFontSpec, | |||
| CSvgBitmapFontProvider * | aSvgBitmapFontProvider, | |||
| SVGRendererId | aRendererType | |||
| ) | [static] | |||
| CFbsBitmap * aFrameBuffer | |
| MSvgRequestObserver * aReqObserver | |
| TFontSpec & aFontSpec | |
| CSvgBitmapFontProvider * aSvgBitmapFontProvider | |
| SVGRendererId aRendererType |
| void | NotifyElementActivatedLinkEntered | ( | CSvgElementImpl * | aElement | ) |
| CSvgElementImpl * aElement |
| void | NotifyElementActivatedLinkExited | ( | CSvgElementImpl * | aElement | ) |
| CSvgElementImpl * aElement |
| void | NotifyHyperlinkActivated | ( | CSvgAElementImpl * | aAElementHandle | ) |
| CSvgAElementImpl * aAElementHandle |
| void | NotifyHyperlinkActivated | ( | const TDesC & | aUri | ) |
| const TDesC & aUri |
| void | NotifyHyperlinkActivatedWithShow | ( | const TDesC & | aUri, |
| const TDesC & | aShow | |||
| ) | ||||
| void | NotifyHyperlinkEntered | ( | CSvgAElementImpl * | aAElementHandle | ) |
| CSvgAElementImpl * aAElementHandle |
| void | NotifyHyperlinkEntered | ( | const TDesC & | aUri | ) |
| const TDesC & aUri |
| void | NotifyHyperlinkExited | ( | CSvgAElementImpl * | aAElementHandle | ) |
| CSvgAElementImpl * aAElementHandle |
| void | NotifyHyperlinkExited | ( | const TDesC & | aUri | ) |
| const TDesC & aUri |
| void | NotifyInteractiveElementEntered | ( | CSvgElementImpl * | aElement | ) |
| CSvgElementImpl * aElement |
| void | NotifyInteractiveElementExited | ( | CSvgElementImpl * | aElement | ) |
| CSvgElementImpl * aElement |
| void | NotifyMouseEntered | ( | RPointerArray < CSvgElementImpl > & | aElements, |
| TInt | aX, | |||
| TInt | aY | |||
| ) | ||||
Send to mouse listeners of a mouse-entered event.
| RPointerArray < CSvgElementImpl > & aElements | |
| TInt aX | |
| TInt aY |
| void | NotifyMouseExited | ( | RPointerArray < CSvgElementImpl > & | aElements, |
| TInt | aX, | |||
| TInt | aY | |||
| ) | ||||
Send to mouse listeners of a mouse-exited event.
| RPointerArray < CSvgElementImpl > & aElements | |
| TInt aX | |
| TInt aY |
| void | NotifyMouseMoved | ( | RPointerArray < CSvgElementImpl > & | aElements, |
| TInt | aX, | |||
| TInt | aY | |||
| ) | ||||
Send to mouse listeners of a mouse-moved event.
| RPointerArray < CSvgElementImpl > & aElements | |
| TInt aX | |
| TInt aY |
| void | NotifyMousePressed | ( | RPointerArray < CSvgElementImpl > & | aElements, |
| TInt | aX, | |||
| TInt | aY | |||
| ) | ||||
Send to mouse listeners of a mouse-pressed event.
| RPointerArray < CSvgElementImpl > & aElements | |
| TInt aX | |
| TInt aY |
| void | NotifyMouseReleased | ( | RPointerArray < CSvgElementImpl > & | aElements, |
| TInt | aX, | |||
| TInt | aY | |||
| ) | ||||
Send to mouse listeners of a mouse-released event.
| RPointerArray < CSvgElementImpl > & aElements | |
| TInt aX | |
| TInt aY |
| void | NotifyTextActivated | ( | CSvgTextElementImpl * | aTextElement | ) |
| CSvgTextElementImpl * aTextElement |
| void | NotifyTextAreaActivated | ( | CSvgTextAreaElementImpl * | aTextArea | ) |
| CSvgTextAreaElementImpl * aTextArea |
| void | NotifyTextAreaEntered | ( | CSvgTextAreaElementImpl * | aTextAreaElement | ) |
| CSvgTextAreaElementImpl * aTextAreaElement |
| void | NotifyTextAreaExited | ( | CSvgTextAreaElementImpl * | aTextAreaElement | ) |
| CSvgTextAreaElementImpl * aTextAreaElement |
| void | NotifyTextEntered | ( | CSvgTextElementImpl * | aTextElement | ) |
| CSvgTextElementImpl * aTextElement |
| void | NotifyTextExited | ( | CSvgTextElementImpl * | aTextElement | ) |
| CSvgTextElementImpl * aTextElement |
| 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)
| void | ProcessEventL | ( | CSvgDocumentImpl * | aSvgDocument, |
| MSvgEvent * | aEvent, | |||
| TBool | aRedraw = ETrue | |||
| ) | ||||
Process various events received by the client for the SVG image
| 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 |
| void | RedrawL | ( | ) |
Invalidate the current raster and hence kick off another round of rasterization process
| void | RemoveAnimationListener | ( | MSvgAnimationListener * | aListener | ) |
Add a hyperlink listener.
| MSvgAnimationListener * aListener |
| void | RemoveHyperlinkListener | ( | MSvgHyperlinkListener * | aListener | ) |
Add a hyperlink listener.
| MSvgHyperlinkListener * aListener |
| void | RemoveInteractiveElementListener | ( | MSvgInteractiveElementListener * | aListener | ) |
| MSvgInteractiveElementListener * aListener |
| void | RemoveMouseListener | ( | const MSvgMouseListener * | aListener | ) |
Remove a MSvgMouseListener to this SvgEngine
| const MSvgMouseListener * aListener |
| void | RemoveTextAreaListener | ( | MSvgTextAreaListener * | aListener | ) |
Remove a textbox listener.
| MSvgTextAreaListener * aListener |
| void | RemoveTextListener | ( | MSvgTextListener * | aListener | ) |
| MSvgTextListener * aListener |
| void | RemoveViewPortListener | ( | MSvgViewPortListener * | aListener | ) |
| MSvgViewPortListener * aListener |
| void | RenderFileL | ( | const TDesC8 & | aSvgData, |
| CFbsBitmap * | aFrameBuffer, | |||
| CFbsBitmap * | aMask, | |||
| TBool | aPreserveAspectRatio | |||
| ) | ||||
| const TDesC8 & aSvgData | |
| CFbsBitmap * aFrameBuffer | |
| CFbsBitmap * aMask | |
| TBool aPreserveAspectRatio |
| TInt | RenderFileToBuffer | ( | const TDesC8 & | aSvgData, |
| CFbsBitmap * | aFrameBuffer, | |||
| CFbsBitmap * | aMask, | |||
| TBool | aPreserveAspectRatio | |||
| ) | ||||
Internally render SVG source into a buffer (rasterization)
| 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 |
| void | SaveSvgL | ( | const TDesC & | aFileName | ) |
Save Svg File After doing the text editing
| const TDesC & aFileName |
| 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.
| const TDesC & aScript | |
| CSvgElementImpl * aCallerElement |
| 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
| TInt aPercentage | percentage value of volume |
| void | SetBackgroundColor | ( | TUint32 | aRGBA8888Color | ) |
Set background color
| TUint32 aRGBA8888Color |
| void | SetBitmapHeader | ( | const TDesC * | aHeaderData | ) |
| const TDesC * aHeaderData |
| void | SetDocument | ( | CSvgDocumentImpl * | aDocument | ) |
Set the Document
| CSvgDocumentImpl * aDocument |
| void | SetGdiContextL | ( | CFbsBitmap * | aCurrentBitmap, |
| CFbsBitmap * | aMask = NULL | |||
| ) | ||||
Sets the GDI context from the Bitmap.
| CFbsBitmap * aCurrentBitmap | |
| CFbsBitmap * aMask = NULL |
| void | SetGdiContextL | ( | CFbsBitmap * | aCurrentBitmap, |
| CFbsBitmap * | aMask, | |||
| TSize | aCurrentBitmapSize, | |||
| TDisplayMode | aRenderDspMode, | |||
| TDisplayMode | aMaskDspMode | |||
| ) | ||||
| CFbsBitmap * aCurrentBitmap | |
| CFbsBitmap * aMask | |
| TSize aCurrentBitmapSize | |
| TDisplayMode aRenderDspMode | |
| TDisplayMode aMaskDspMode |
| void | SetIgnoreUpdateScreen | ( | TBool | aBool | ) |
Set to ETrue to ignore notification to UpdateScreen in RequestObserver
| TBool aBool |
| void | SetMediaTime | ( | TUint32 | aTimeInMilliSeconds | ) |
| TUint32 aTimeInMilliSeconds |
| void | SetRenderingQuality | ( | const TInt32 | aRenderQuality | ) |
| const TInt32 aRenderQuality |
| void | SetSVGEngineState | ( | TSvgEngineState | aState | ) |
Sets SVG Engine state
| TSvgEngineState aState |
| void | SetSvgDimensionToFrameBufferL | ( | TUint | aWidth, |
| TUint | aHeight | |||
| ) | ||||
Set SVG Dimensions to Frame buffer size
| void | StartEngine | ( | CSvgErrorImpl * | aError = NULL | ) |
Start the Engine so that the first frame is drawn when the call is finished.
| CSvgErrorImpl * aError = NULL |
| TBool | StartFrameLoopL | ( | ) |
Kick off the processing of SVG source, and animation time frames
| void | SwitchDebugInfo | ( | TBool | debug | ) |
A private method that toggles debug info for developers
| TBool debug |
| HBufC * | TextAreaTagProcessingL | ( | TPtrC * | aCData, |
| TInt & | aStartOffset, | |||
| TInt | aOrgLength, | |||
| TBool | aEndingWithTag | |||
| ) | ||||
| HBufC * | TextTagProcessingL | ( | TPtrC * | aCData, |
| TInt & | aStartOffset, | |||
| TInt | aOrgLength, | |||
| TBool | aEndingWithTag | |||
| ) | ||||
| void | UpdateCTM | ( | CSvgDocumentImpl * | aSvgDocument | ) |
Kick off the process of placing graphical objects in their positions for rasterization
| CSvgDocumentImpl * aSvgDocument |
| void | UpdatePath | ( | CGfxGeneralPath * | hPath, |
| CSvgElementImpl * | hElement | |||
| ) | ||||
Overwrite the current path information in the given element
| CGfxGeneralPath * hPath | - handle to a path |
| CSvgElementImpl * hElement | - handle to a path element |
| void | UpdatePresentation | ( | const TInt32 & | aParam | ) |
Need method description
| const TInt32 & aParam |
| TInt | WriteToStream | ( | RFileWriteStream & | aStream, |
| TPtrC | aWriteBuffer | |||
| ) | ||||
| RFileWriteStream & aStream | |
| TPtrC aWriteBuffer |
| RPointerArray < MSvgAnimationListener > | iAnimationListeners | [private] |
| RPointerArray < MSvgHyperlinkListener > | iHyperlinkListeners | [private] |
| RPointerArray < MSvgInteractiveElementListener > | iInteractiveElementListeners | [private] |
| CSvgBitmapFontProvider * | iSvgBitmapFontProvider | [private] |
| RPointerArray < MSvgMouseListener > | iSvgMouseListeners | [private] |
| RPointerArray < TSvgFourPointRect > | iSvgTextBoundingBoxes |
| RPointerArray < MSvgTextAreaListener > | iTextAreaListeners | [private] |
| RPointerArray < MSvgTextListener > | iTextListeners | [private] |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.