--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsuis_plat/svgt_viewer_ui_api/inc/SVGTThumbnailUtil.h Wed Sep 01 12:29:59 2010 +0100
@@ -0,0 +1,214 @@
+/*
+* Copyright (c) 2004,2005 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: SVGT Thumbnail Utility Class implements the thumbnail
+* used to display SVGT content.
+*
+*/
+
+
+
+#ifndef __SVGTTHUMBNAILUTIL_H__
+#define __SVGTTHUMBNAILUTIL_H__
+
+// INCLUDES
+
+#include <SVGRequestObserver.h>
+
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+class CSvgEngineInterfaceImpl;
+class CFbsBitmap;
+// CLASS DECLARATION
+
+/**
+* CSVGTThumbnailUtil is a utility class used to generate thumbnails.
+* It is used through dialog provided by CSVGTUIDialog.
+*
+* @lib SVGTUIControl.lib
+* @since 3.0
+*/
+
+class CSVGTThumbnailUtil : public CBase,
+ public MSvgRequestObserver
+ {
+ public: // Constructors and destructor
+ /**
+ * Generate thumbnails for SVGT content.
+ * @since 3.0
+ * @param aFileHandle File Handle to the SVGT file.
+ * @param aThumbnailBitmap Bitmap - Client provided bitmap to render
+ * the SVGT contents opening screen.
+ * @param aThumbnailBitmap Bitmap - Client provided bitmap mask.
+ * @return Boolean ETrue indicates thumbnail generated successfully,
+ * EFalse otherwise.
+ */
+ IMPORT_C static TBool GenerateThumbnailLD( RFile& aFileHandle,
+ CFbsBitmap& aThumbnailBitmap,
+ CFbsBitmap& aThumbnailBitmapMask );
+
+ public: // New functions
+
+ public: // Functions from base classes
+
+
+ /**
+ * This function is called to initialize the SVGT-Engine interface.
+ * @since 3.0
+ */
+ void InitializeEngineL();
+
+ /**
+ * Generates Thumbnail of initial screen of SVG content.
+ * @since 3.0
+ * @return Boolean ETrue indicates thumbnail generated successfully,
+ * EFalse otherwise.
+ */
+
+ TBool GenerateThumbnail();
+
+
+ protected: // Functions from base classes
+
+ /**
+ * From MSvgRequestObserver Method called by SVG Engine
+ * after it has rendered a frame.
+ * @since 3.0
+ */
+ void UpdateScreen();
+
+ /**
+ * From MSvgRequestObserver This method is for future extension,
+ * in which an external script engine could be used to evaluate
+ * a script description.
+ * @since 3.0
+ * @param aScript Descriptor containing script
+ * @param aCallerElement SVG Element that calls the script by a
+ * an event of the "on" attribute.
+ * @return TBool.
+ */
+ TBool ScriptCall( const TDesC& aScript,
+ CSvgElementImpl* aCallerElement );
+
+ /**
+ * From MSvgRequestObserver This method is called by the SVG engine
+ * to retrieve the absolute path of the image file.
+ * @since 3.0
+ * @param aUri Descriptor containing the relative path of the image.
+ * @param aFilePath Descriptor which contains absolute path that is
+ * to be used by the Engine to retrieve the image.
+ * @return TBool -
+ * ETrue indicates absolute path is present in aFilePath.
+ * EFalse otherwise.
+ */
+ TInt FetchImage( const TDesC& aUri,
+ RFs& aSession, RFile& aFileHandle ) ;
+
+ TInt FetchFont( const TDesC& /* aUri */,
+ RFs& /* aSession */, RFile& /* aFileHandle */ );
+
+ /**
+ * From MSvgRequestObserver This method is called by the SVG engine
+ * to get the SMIL Fit attribute value.
+ * @since 3.0
+ * @param aSmilValue Descriptor containing the SMIL Fit attribute.
+ */
+ void GetSmilFitValue( TDes& aSmilValue );
+
+ /**
+ * From MSvgRequestObserver This method is called by the SVG engine
+ * to update the presentation status.
+ * @since 3.0
+ * @param aNoOfAnimation Integer. When called for the first time
+ * it indicates total number of animations.
+ * Subsequently it contains number of animations that were completed.
+ */
+ void UpdatePresentation( const TInt32& aNoOfAnimation );
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CSVGTThumbnailUtil( RFile& aFileHandle );
+
+ /**
+ * Second Phase constructor.
+ * @param aThumbnailBitmap Client provided bitmap to render the SVGT
+ * contents opening screen.
+ * @param aThumbnailBitmapMask Bitmap - Client provided bitmap for SVGT
+ * bitmap mask.
+ */
+ void ConstructL( CFbsBitmap& aThumbnailBitmap,
+ CFbsBitmap& aThumbnailBitmapMask );
+
+ /**
+ * Two-phased constructor for thumbnail creation.
+ * @since 3.0
+ * @param aFileHandle file handle to the SVGT file.
+ * @param aThumbnailBitmap Bitmap - Client provided bitmap to render
+ * the SVGT contents opening screen.
+ * @param aThumbnailBitmapMask Bitmap - Client provided bitmap for SVGT
+ * bitmap mask.
+ * @return CSVGTThumbnailUtil*
+ */
+
+ static CSVGTThumbnailUtil* NewL( RFile& aFileHandle,
+ CFbsBitmap& aThumbnailBitmap,
+ CFbsBitmap& aThumbnailBitmapMask );
+
+ /**
+ * Two-phased constructor for thumbnail creation that pushes the
+ * object on the cleanup stack.
+ * @since 3.0
+ * @param aFileHandle file handle to the SVGT file.
+ * @param aThumbnailBitmap Client provided bitmap to render the SVGT
+ * contents opening screen.
+ * @param aThumbnailBitmapMask Bitmap - Client provided bitmap for SVGT
+ * bitmap mask.
+ * @return CSVGTThumbnailUtil*
+ */
+
+ static CSVGTThumbnailUtil* NewLC( RFile& aFileHandle,
+ CFbsBitmap& aThumbnailBitmap,
+ CFbsBitmap& aThumbnailBitmapMask );
+ /**
+ * Destructor.
+ */
+
+ virtual ~CSVGTThumbnailUtil();
+
+ private: // Data
+ // Dummy Bitmap used by SVG Engine to render content.
+ CFbsBitmap* iSVGTBitMapDummy;
+
+ // SVG Engine Interface Implementation pointer
+ CSvgEngineInterfaceImpl* iSvgModule;
+
+ // Thumbnail bitmap used by SVG Engine to render content.
+ CFbsBitmap* iThumbnailBitmap;
+
+ // Thumbnail bitmap mask used by SVG Engine to render content mask.
+ CFbsBitmap* iThumbnailBitmapMask;
+
+ // SVG Thumbnail Handle
+ TInt iThumbnailHandle;
+
+ // SVGT content filename descriptor
+ RFile& iContentFileHandle;
+ };
+
+#endif // __SVGTTHUMBNAILUTIL_H__
+
+// End of File