--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/inc/camlinevfgriddrawer.h Thu Jan 07 16:18:56 2010 +0200
@@ -0,0 +1,142 @@
+/*
+* Copyright (c) 2007 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: Header file for CCamLineVfGridDrawer class.
+*
+* Copyright © 2007 Nokia. All rights reserved.
+* This material, including documentation and any related computer
+* programs, is protected by copyright controlled by Nokia. All
+* rights are reserved. Copying, including reproducing, storing,
+* adapting or translating, any or all of this material requires the
+* prior written consent of Nokia. This material also contains
+* confidential information which may not be disclosed to others
+* without the prior written consent of Nokia.
+
+*
+*
+*/
+
+
+
+#ifndef CAMLINEDRAWVFGRID_H
+#define CAMLINEDRAWVFGRID_H
+
+#include <gdi.h> // TRgb
+#include "camvfgridinterface.h"
+
+const TInt KCamLineDrawVfGridUid = 0x07700770;
+
+
+class CBitmapContext;
+/**
+*
+* CCamLineVfGridDrawer class.
+*
+*/
+class CCamLineVfGridDrawer : public CBase,
+ public MCamVfGridDrawer
+ {
+ // ------------------------------------------------------------------------
+ // Public part
+ public:
+
+ typedef RArray<TRect> RLineArray;
+
+ public: // Construction / destruction --------------------
+
+ static CCamLineVfGridDrawer* NewL();
+
+ virtual ~CCamLineVfGridDrawer();
+
+ public: // From MCamVFGridDrawer -------------------------
+
+ /**
+ * Init the drawer.
+ * @param aParam Not used.
+ */
+ virtual void InitL( TAny* aParam );
+
+ /**
+ * Draw the full grid.
+ */
+ virtual void Draw( CBitmapContext& aGc ) const;
+
+ /**
+ * Draw part of the grid.
+ * Only pure horizontal and pure vertical lines are
+ * supported if partial redraw is used.
+ */
+ virtual void Draw( const TRect& aRect,
+ CBitmapContext& aGc ) const;
+
+ /**
+ * Set the grid visibility.
+ * If visibility is set to false, drawing is not done.
+ * @param aVisible Is the grid visible.
+ */
+ virtual void SetVisible( TBool aVisible );
+ /**
+ * Get the grid visibility setting.
+ * @return Is grid visible.
+ */
+ virtual TBool IsVisible() const;
+
+ public: // New methods
+
+ /**
+ * SetLines
+ * @param aLineArray Pointer to array containing the new lines
+ * to be used when drawing VF grid.
+ * TRect::iTL and TRect::iTL define the end
+ * points of a line.
+ * @param aLineCount Line count is array. Ignored if aLineArray is NULL.
+ * @param aTakeOwnerShip Is ownership of aLineArray transferred.
+ *
+ */
+ void SetLinesL( const RLineArray& aLineArray );
+
+ void SetLinesL( const TRect& aDrawingRect,
+ TInt aHorizontalLines,
+ TInt aVerticalLines,
+ TBool aBorderedGrid = EFalse );
+
+ void SetPenStyle( const CGraphicsContext::TPenStyle& aPenStyle );
+ void SetPenSize ( const TSize& aPenSize );
+ void SetPenColor( const TRgb aPenColor );
+
+ // ------------------------------------------------------------------------
+ // Protected part
+ protected:
+
+ void ConstructL();
+
+ // ------------------------------------------------------------------------
+ // Private part
+ private:
+
+ CCamLineVfGridDrawer();
+
+ private: // Data
+
+ // Line properties
+ RLineArray iLineArray; // Line end locations
+ TBool iVisible; // Visibility of lines
+
+ // Drawing parameters
+ CGraphicsContext::TPenStyle iPenStyle;
+ TSize iPenSize;
+ TRgb iPenColor;
+
+ };
+
+#endif
\ No newline at end of file