diff -r 000000000000 -r 2014ca87e772 imagehandlinglib/Src/CIHLBitmap.h --- /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 +#include + +// 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