00001 // EIKIMAGE.H 00002 // 00003 // Copyright (c) 1997-1999 Symbian Ltd. All rights reserved. 00004 // 00005 00006 #if !defined(__EIKIMAGE_H__) 00007 #define __EIKIMAGE_H__ 00008 00009 #if !defined(__EIKALIGN_H__) 00010 #include <eikalign.h> 00011 #endif 00012 00013 class CFbsBitmap; 00014 class CBitmapContext; 00015 00021 class CEikImage : public CEikAlignedControl 00022 { 00023 00024 public: 00025 00029 IMPORT_C CEikImage(); 00030 00034 IMPORT_C ~CEikImage(); 00035 00036 public: // framework 00037 00043 IMPORT_C TSize MinimumSize(); 00044 00050 IMPORT_C void ConstructFromResourceL(TResourceReader& aReader); 00051 00052 public: // new functions 00053 00072 IMPORT_C void CreatePictureFromFileL(const TDesC& aFilename, 00073 TInt aMainId, 00074 TInt aMaskId=-1); 00075 00082 IMPORT_C void SetPicture(const CFbsBitmap* aBitmap, 00083 const CFbsBitmap* aMaskBitmap=NULL); 00084 00090 IMPORT_C void SetEmphasis(TBool aEmphasis); 00091 00097 IMPORT_C void SetPictureOwnedExternally(TBool aOwnership); 00098 00104 IMPORT_C const CFbsBitmap* Bitmap() const; 00105 00111 IMPORT_C const CFbsBitmap* Mask() const; 00112 00118 IMPORT_C void SetBitmap(const CFbsBitmap* aBitmap); 00119 00126 IMPORT_C void SetMask(const CFbsBitmap* aMaskBitmap); 00127 00134 IMPORT_C void SetNewBitmaps(const CFbsBitmap* aNewBitmap, 00135 const CFbsBitmap* aNewMask); 00136 00143 IMPORT_C TBool IsPictureOwnedExternally(); 00144 00150 IMPORT_C void SetBrushStyle(CGraphicsContext::TBrushStyle aBrushStyle); 00151 00152 public: // from CCoeControl 00153 00173 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); 00174 00175 protected: // from CCoeControl 00176 00187 IMPORT_C void WriteInternalStateL(RWriteStream& aWriteStream) const; 00188 00189 private: // from CCoeControl 00190 00191 IMPORT_C void Draw(const TRect& aRect) const; 00192 IMPORT_C void Reserved_2(); 00193 00194 private: 00195 00199 IMPORT_C void* ExtensionInterface( TUid aInterface ); 00200 00201 private: 00202 00203 const CFbsBitmap* iBitmap; 00204 const CFbsBitmap* iMaskBitmap; 00205 TInt iImFlags; 00206 TInt iSpare; 00207 CGraphicsContext::TBrushStyle iBrushStyle; 00208 }; 00209 00210 // __EIKIMAGE_H__ 00211 #endif