--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/imagehandlinglib/Src/CIHLBitmap.h Tue Jan 26 15:18:05 2010 +0200
@@ -0,0 +1,184 @@
+/*
+* Copyright (c) 2004 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: Default implementation of bitmap class.
+*
+*/
+
+
+#ifndef CIHLBITMAP_H
+#define CIHLBITMAP_H
+
+// INCLUDES
+#include <MIHLBitmap.h>
+#include <e32base.h>
+
+// CLASS DECLARATION
+/**
+* CIHLBitmap
+*
+* Default implementation of bitmap class.
+* @lib IHL.lib
+* @since 3.0
+*/
+NONSHARABLE_CLASS( CIHLBitmap ) : public CBase, public MIHLBitmap
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructors
+ */
+ static CIHLBitmap* NewL();
+
+ /**
+ * Virtual destructor.
+ */
+ virtual ~CIHLBitmap();
+
+ public: // From base class MIHLBitmap
+
+ /**
+ * From MIHLBitmap, see base class header.
+ */
+ TInt Create( const TSize& aSize, TDisplayMode aDisplayMode );
+
+ /**
+ * From MIHLBitmap, see base class header.
+ */
+ TInt Create( const TSize& aSize, TDisplayMode aBitmapDisplayMode,
+ TDisplayMode aMaskDisplayMode );
+
+ /**
+ * From MIHLBitmap, see base class header.
+ */
+ TInt Copy( const CFbsBitmap& aBitmap, TBool aDuplicate );
+
+ /**
+ * From MIHLBitmap, see base class header.
+ */
+ TInt Copy( const CFbsBitmap& aBitmap, const CFbsBitmap& aMask, TBool aDuplicate );
+
+ /**
+ * From MIHLBitmap, see base class header.
+ */
+ TInt Copy( const MIHLBitmap& aBitmap, TBool aDuplicate );
+
+ /**
+ * From MIHLBitmap, see base class header.
+ */
+ void Reset();
+
+ /**
+ * From MIHLBitmap, see base class header.
+ */
+ TBool IsCreated() const;
+
+ /**
+ * From MIHLBitmap, see base class header.
+ */
+ const CFbsBitmap& Bitmap() const;
+
+ /**
+ * From MIHLBitmap, see base class header.
+ */
+ TBool HasMask() const;
+
+ /**
+ * From MIHLBitmap, see base class header.
+ */
+ const CFbsBitmap& Mask() const;
+
+ /**
+ * From MIHLBitmap, see base class header.
+ */
+ void Draw( CBitmapContext& aContext, const TPoint& aPoint ) const;
+
+ /**
+ * From MIHLBitmap, see base class header.
+ */
+ void Draw( CBitmapContext& aContext, const TPoint& aPoint, const TRect& aSourceRect ) const;
+
+ public: // Internal interface
+
+ /**
+ * Non-const bitmap reference.
+ * @since 3.0
+ * @return Non-const bitmap reference.
+ */
+ CFbsBitmap& BitmapModifyable();
+
+ /**
+ * Non-const bitmap reference.
+ * @since 3.0
+ * @return Non-const bitmap reference.
+ */
+ CFbsBitmap& MaskModifyable();
+
+ /**
+ * Set editor pointer. This information is used
+ * internally to detect what class has made changes to bitmap data.
+ * @since 3.0
+ * @param aEditorPtr Editor pointer
+ */
+ void SetEditorPtr( const TAny* aEditorPtr );
+
+ /**
+ * Set editor value. Meaning of this value may vary depending
+ * on type of editor class.
+ * @since 3.0
+ * @param aEditorValue Editor custom value
+ */
+ void SetEditorValue( TInt aEditorValue );
+
+ /**
+ * Return Editor pointer. NULL if just created or reseted.
+ * @return Editor pointer.
+ */
+ const TAny* EditorPtr() const;
+
+ /**
+ * Return editor value.
+ * @since 3.0
+ * @return Editor custom value.
+ */
+ TInt EditorValue() const;
+
+ public: // Private methods
+
+ TInt CopyBitmap( const CFbsBitmap& aSource, CFbsBitmap& aDestination );
+
+ TInt CopyBitmapData( const CFbsBitmap& aSource, CFbsBitmap& aDestination,
+ const TSize& aSize, const TDisplayMode& aDisplayMode );
+
+ private: // Private constructors
+
+ CIHLBitmap();
+ void ConstructL();
+
+ private: // Data
+
+ // Own: Bitmap pointers
+ CFbsBitmap* iBitmap;
+ CFbsBitmap* iMask;
+
+ // Ref: Editor ptr
+ const TAny* iEditorPtr;
+
+ // Editor value
+ TInt iEditorValue;
+
+ };
+
+#endif // CIHLBITMAP_H
+
+// End of File