diff -r 57d4cdd99204 -r edfc90759b9f imageeditor/inc/DrawUtils.h --- /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 +#include +#include + +// 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 +