--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/lcdui_akn/lcdgr/inc/LcdFbsImage.h Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 2005 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:
+*
+*/
+
+#ifndef LCDFBSIMAGE_H
+#define LCDFBSIMAGE_H
+
+#include <fbs.h>
+#include <lcdgr.h>
+#include <lcdgdrv.h>
+
+/**
+ * Image represented by SymbianOS color bitmap + mask/alpha bitmap where
+ * transparency is present.
+ *
+ */
+NONSHARABLE_CLASS(CLcdFbsImage) : public CBase
+{
+public:
+ /**
+ * Construct a new image of size aSize and color bitmap of mode aColorMode with optional mask/alpha
+ * bitmap of mode aAlphaMode. An alpha bitmap mode of ENone indicates no alpha bitmap should be
+ * created.
+ */
+ static CLcdFbsImage* NewL(const TSize& aSize, TDisplayMode aColorMode, TDisplayMode aAlphaMode);
+
+ /**
+ * Construct a new image, duplicating the bitmap handles aColorBitmap and optional aAlphaBitmap.
+ */
+ static CLcdFbsImage* NewL(CFbsBitmap* aColorBitmap, CFbsBitmap* aAlphaBitmap);
+
+ /**
+ * Dup a bitmap handle. Allocates a new CFbsBitmap instance to hold the handle. Requires an FBSERV ipc.
+ */
+ static CFbsBitmap* DuplicateBitmapL(CFbsBitmap*);
+
+ /**
+ * Create a new bitmap in a given mode and copy the data, optionally inverted.
+ */
+ static CFbsBitmap* CopyBitmapL(CFbsBitmap*, TDisplayMode, TBool);
+
+ /**
+ * Copies pixel data from aSource to aTarget, optionally inverting. Uses BITGDI
+ * for closest match.
+ */
+ static void CopyBitmapL(CFbsBitmap* aTarget, CFbsBitmap* aSource, TBool aInvert);
+
+ ~CLcdFbsImage();
+
+ /**
+ *
+ */
+ TSize Size() const;
+
+ /**
+ * Increment ref count
+ */
+ void AddRef();
+
+ /**
+ * Decrement ref count
+ */
+ void RemoveRef();
+
+ /**
+ *@return the color bitmap
+ */
+ CFbsBitmap* ColorBitmap() const;
+
+ /**
+ *@return the alpha bitmap if any
+ */
+ CFbsBitmap* AlphaBitmap() const;
+
+ /**
+ * Create an alpha bitmap for this image.
+ *
+ * Temporarily required to support setTransparencyType.
+ */
+ void CreateAlphaBitmapL();
+
+private:
+ CFbsBitmap* iColorBitmap;
+ CFbsBitmap* iAlphaBitmap;
+ TInt iRefCount;
+};
+
+#endif // LCDFBSIMAGE_H