imageeditor/ImageEditorUI/inc/ColorSelectionGrid.h
changeset 1 edfc90759b9f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/imageeditor/ImageEditorUI/inc/ColorSelectionGrid.h	Fri Jan 29 13:53:17 2010 +0200
@@ -0,0 +1,161 @@
+/*
+* 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:  
+*
+*/
+
+
+#ifndef COLORSELECTIONGRID_H
+#define COLORSELECTIONGRID_H
+
+//  INCLUDES
+#include <akngrid.h>
+
+
+/*	CLASS: CColorSelectionGrid
+*
+*   CColorSelectionGrid represents a color selection grid control in
+*	Nokia Still Image Editor.
+*/
+class CColorSelectionGrid : public CAknGrid
+{
+
+public:
+	
+/** @name Methods:*/
+//@{
+	
+	/** Default constructor
+	*
+	*	@param aParent - parent control
+	*	@param aFlags - grid flags
+	*	@return -
+	*/
+	IMPORT_C CColorSelectionGrid ();
+
+	/** Destructor
+	*
+	*	@param -
+	*	@return -
+	*/
+	IMPORT_C virtual ~CColorSelectionGrid ();
+	
+    /** Second phase constructor
+	*
+	*	@param aParent - parent control
+	*	@param aFlags - grid flags
+	*	@return -
+	*/
+	IMPORT_C virtual void ConstructL (
+        const CCoeControl *     aParent,  
+        TInt                    aFlags 
+        );
+
+	
+//@}
+	
+protected:
+	
+/** @name Methods:*/
+//@{
+	
+	/*	SizeChanged
+	*
+	*   @see CImageEditorControlBase
+	*/
+	IMPORT_C virtual void SizeChanged();
+	
+//@}
+	
+/** @name Members:*/
+//@{
+
+//@}
+	
+private:
+	
+/** @name Methods:*/
+//@{
+
+	/*	SetupGridIconsL
+	*
+	*	Sets up grid icons.
+	*
+	*   @param -
+	*   @return -
+	*/
+	void SetupGridIconsL ();
+
+	/*	SetupGrid
+	*
+	*	Sets up grid every time the grid size changes.
+	*
+	*   @param -
+	*   @return -
+	*/
+	void SetupGrid();
+
+	/*	HSLtoRGB
+	*
+	*	HSL to RGB color conversion
+	*
+	*   @param aH - hue				[0.0 - 360.0]
+	*   @param aS - saturation		[0.0 - 1.0]
+	*   @param aL - luminance		[0.0 - 1.0]
+	*   @return TRgb
+	*/
+	TRgb HSLtoRGB (
+		const TReal aH, 
+		const TReal aS, 
+		const TReal aL
+		) const;
+
+	/*	ToRGB
+	*
+	*	Helper function in color conversion.
+	*
+	*   @param aRM1 - helper variable
+	*   @param aRM2 - helper variable
+	*   @param aRH - helper variable
+	*   @return TInt
+	*/
+	TInt ToRGB (
+		TReal aRM1, 
+		TReal aRM2, 
+		TReal aRH
+		) const;
+
+	/** Copy constructor, disabled
+	*/
+	CColorSelectionGrid (const CColorSelectionGrid & rhs);
+	
+	/** Assignment operator, disabled 
+	*/
+	CColorSelectionGrid & operator= (const CColorSelectionGrid & rhs);
+	
+//@}
+
+private:
+
+/** @name Members:*/
+//@{
+    TSize iGridSize;
+    TSize iIconSize;
+//@}
+
+};
+
+
+#endif // EOF ColorSelectionGrid.h