imageeditor/inc/DrawUtils.h
changeset 1 edfc90759b9f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/imageeditor/inc/DrawUtils.h	Fri Jan 29 13:53:17 2010 +0200
@@ -0,0 +1,344 @@
+/*
+* Copyright (c) 2010 Ixonos Plc.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the "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:
+* Ixonos Plc
+*
+* Description: 
+* Draw utility class header file.
+*
+*/
+
+
+#ifndef DRAWUTILS_H
+#define DRAWUTILS_H
+
+// INCLUDES
+#include <gdi.h>
+#include <e32base.h>
+#include <badesca.h>
+
+// FORWARD DECLARATIONS
+class CAknWaitDialog;
+class CAknProgressDialog;
+class MProgressDialogCallback;
+class CAknInfoPopupNoteController;
+
+/*  CLASS: SDrawUtils
+*
+*	SDrawUtils wraps often used UI drawing utilities into single class
+*/ 
+class SDrawUtils
+{
+
+public:
+
+/** @name TypeDefs:*/
+//@{
+    enum TGuideType
+    {
+        //  Invalid
+        EGuideTypeMin,
+        //  Guide arrow up
+        EGuideTypeUp,
+        //  Guide arrow down
+        EGuideTypeDown,
+        //  Guide arrow left
+        EGuideTypeLeft,
+        //  Guide arrow right
+        EGuideTypeRight,
+        //  Invalid
+        EGuideTypeMax
+    };
+
+//@}
+
+/** @name Methods:*/
+//@{
+
+	/** DrawGuide
+	*
+    *   Draws arrow guide to CWindowGc.
+    *
+	*	@param aGc -		grapics context
+	*	@param aRect -		surrouding rectangle
+	*	@param aType -		guide type
+	*	@param aColor -		guide color
+	*	@return -
+	*/
+    IMPORT_C static void DrawGuide (
+        CGraphicsContext &  aGc,
+        const TRect &       aRect,
+        const TGuideType    aType,
+        const TRgb &        aColor
+        );
+
+	/** DrawBeveledRect
+	*
+    *   Draws a 3D beveled rectangle.
+    *
+	*	@param aGc -		grapics context
+	*	@param aRect -		surrouding rectangle (includes the borders)
+	*	@param aColor -		rectangle color
+	*	@param aLight -		light color
+	*	@param aShadow -	shadow color
+	*	@return -
+	*/
+    IMPORT_C static void DrawBeveledRect (
+        CGraphicsContext &  aGc,
+        const TRect &       aRect,
+        const TRgb &        aColor,
+        const TRgb &        aLight,
+        const TRgb &        aShadow
+        );
+
+	/** DrawFlatRect
+	*
+    *   Draws a 3D flat rectangle.
+    *
+	*	@param aGc -		grapics context
+	*	@param aRect -		surrouding rectangle (includes the borders)
+	*	@param aColor -		rectangle color
+	*	@param aLight -		light color
+	*	@param aShadow -	shadow color
+	*	@return -
+	*/
+    IMPORT_C static void DrawFlatRect (
+        CGraphicsContext &  aGc,
+        const TRect &       aRect,
+        const TRgb &        aColor,
+        const TRgb &        aLight,
+        const TRgb &        aShadow
+        );
+
+	/** LaunchQueryDialogL
+	*
+    *   Launches a confirmation query dialog.
+    *
+	*	@param aPrompt - dialog prompt descriptor
+	*	@return -
+	*/
+    IMPORT_C static TInt LaunchQueryDialogL (const TDesC & aPrompt);
+
+	/** LaunchQueryDialogOkOnlyL
+	*
+    *   Launches a confirmation query dialog with only OK softkey
+    *   available.
+    *
+	*	@param aPrompt - dialog prompt descriptor
+	*	@return -
+	*/
+    IMPORT_C static TInt LaunchQueryDialogOkOnlyL (const TDesC & aPrompt);
+
+	/** LaunchTextQueryDialogL
+	*
+    *   Launches a text query dialog and returns the queried descriptor.
+	*	aData includes the data shown in the edit window and on return,
+	*	includes the edited text data.
+    *
+	*	@param aData -		data descriptor
+	*	@param aPrompt -	dialog prompt descriptor
+	*	@return -
+	*/
+    IMPORT_C static TInt LaunchTextQueryDialogL (
+        TDes &			aData,
+	    const TDesC &	aPrompt
+        );
+
+	/** LaunchMultiLineTextQueryDialogL
+	*
+    *   Launches a multiline text query dialog and returns the queried descriptor.
+	*	aData includes the data shown in the edit window and on return,
+	*	includes the edited text data.
+    *
+	*	@param aData -		data descriptor
+	*	@param aPrompt -	dialog prompt descriptor
+	*	@return -
+	*/
+    IMPORT_C static TInt LaunchMultiLineTextQueryDialogL (
+        TDes &			aData,
+	    const TDesC &	aPrompt
+        );
+
+    /** LaunchListQueryDialogL
+	*
+    *   Launches a list query dialog and returns the selected index.
+	*	aData includes the descriptor array of selection items.
+    *
+	*	@param aTextItems - text item descriptor array
+	*	@param aPrompt - dialog prompt descriptor
+	*	@return -
+	*/
+    IMPORT_C static TInt LaunchListQueryDialogL (
+		MDesCArray *		aTextItems,
+		const TDesC &		aPrompt
+        );
+
+	/** LaunchWaitNoteL
+	*
+    *   Creates and launches a wait note dialog and returns a pointer to
+	*	it.
+	*   @param -	aSelfPtr
+    *				The wait dialog is allocated at this pointer.
+	*				The pointer needs to be valid when the dialog 
+	*				is dismissed and must be a class member.
+	*	@param 		aResourceID - resource ID for prompt
+	*	@param 		aPrompt - wait dialog prompt
+	*   @param 		aCallback
+	*				The wait dialog callback.
+	*				Pass NULL if no callback is needed.
+	*	@return - pointer to wait dialog
+	*/
+	IMPORT_C static void LaunchWaitNoteL (
+		CAknWaitDialog** 			aSelfPtr,
+		TInt						aResourceID,
+		const TDesC &				aPrompt,
+        MProgressDialogCallback*	aCallback = NULL
+		);
+
+	/** LaunchProgressNoteL
+	*
+    *   Creates and launches a wait note dialog and returns a pointer to
+	*	it.
+	*   @param -	aSelfPtr
+    *				The wait dialog is allocated at this pointer.
+	*				The pointer needs to be valid when the dialog 
+	*				is dismissed and must be a class member.
+	*	@param 		aResourceID - resource ID for prompt
+	*	@param 		aPrompt - wait dialog prompt
+	*	@param 		aFinalValue     Final value for the process
+	*   @param 		aCallback
+	*				The wait dialog callback.
+	*				Pass NULL if no callback is needed.
+	*	@return - pointer to wait dialog
+	*/
+	IMPORT_C static void LaunchProgressNoteL (
+		CAknProgressDialog** 		aSelfPtr,
+		TInt						aResourceID,
+		const TDesC &				aPrompt,
+		TInt						aFinalValue = 0,
+        MProgressDialogCallback*	aCallback = NULL
+		);
+
+	/** LaunchColorSelectionGridL
+	*
+    *   Launches a color selection grid inside a pop-up list. Returns 
+    *   KErrNone if color was selected.
+    *
+	*	@param aColor - includes the selected color on return
+	*	@return - KErrNone if color selected
+	*/
+    IMPORT_C static TInt LaunchColorSelectionGridL (TRgb & aColor);
+    
+    /** LaunchColorSelectionPopupL
+	*
+    *   Launches a semi-transparent 35 color selection popup component. 
+    *   Color grid is launched via a dialog. 
+    *   
+    *	@param aPreview - a constant pointer to a bitmap image that should be
+    *                     drawn to background
+    *	@param aRect - rectangle of calling control (use main pane rect)
+	*	@param aColor - includes the selected color on return
+	*	@return - KErrNone if color selected
+	*/
+    IMPORT_C static TInt LaunchColorSelectionPopupL (const CFbsBitmap* aPreview,
+                                                           TRect aRect, 
+                                                           TRgb & aColor);
+    
+    
+	/** GetIndicatorBitmapL
+	*
+    *   Load the indicator cursor bitmap and mask.
+    *
+	*	@param aChBitmap	- reference to cursor bitmap pointer
+	*	@param aChMask		- reference to cursor mask pointer
+	*	@param aBmpIndex	- bitmap MBM index
+	*	@param aMaskIndex	- mask MBM index
+	*	@return - KErrNone if successful
+	*/
+    IMPORT_C static TInt GetIndicatorBitmapL (
+		CFbsBitmap *&	aChBitmap,
+		CFbsBitmap *&	aChMask,
+		TInt			aBmpIndex,
+		TInt			aMaskIndex
+		);
+		
+    /** ShowToolTip
+    *
+    *   Show a tooltip note on the screen. This function calculates the
+    *   relative position on the screen for the tooltip.
+    *
+    *   @param aPopupController - pointer to popup note controller
+    *   @param aCallingControl - pointer to a calling control
+    *   @param aPositionRect - position rect where the tooltip should be shown
+    *   @param aText - text to be shown
+    *   @return - 
+    */
+    IMPORT_C static void ShowToolTip ( 
+        CAknInfoPopupNoteController* aPopupController,
+        CCoeControl* aCallingControl, 
+        TRect aPositionRect,
+        const TDesC& aText
+        );
+    
+    /** ShowToolTip
+    *
+    *   Show a tooltip note on the screen. This function calculates the
+    *   relative position on the screen for the tooltip.
+    *
+    *   @param aPopupController - pointer to popup note controller
+    *   @param aCallingControl - pointer to a calling control
+    *   @param aPosition - position where the tooltip should be shown
+    *   @param aAlignment - GUI alignment to use
+    *   @param aText - text to be shown
+    *   @return - 
+    */
+    IMPORT_C static void ShowToolTip ( 
+        CAknInfoPopupNoteController* aPopupController,
+        CCoeControl* aCallingControl,
+        TPoint aPosition, 
+        TGulAlignmentValue aAlignment,
+        const TDesC& aText
+        );  
+
+//@}
+
+protected:
+
+/** @name Methods:*/
+//@{
+
+//@}
+
+/** @name Members:*/
+//@{
+	/// 
+//@}
+
+private:
+
+/** @name Methods:*/
+//@{
+
+//@}
+
+/** @name Members:*/
+//@{
+
+//@}
+
+};
+
+
+#endif
+
+// End of File
+