author | Gareth Stockwell <gareth.stockwell@accenture.com> |
Fri, 22 Oct 2010 11:38:29 +0100 | |
branch | bug235_bringup_0 |
changeset 206 | c170e304623f |
parent 0 | 5d03bc08d59c |
permissions | -rw-r--r-- |
// Copyright (c) 2003-2009 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: // #if !defined(__OFFSCREENBITMAP_H__) #define __OFFSCREENBITMAP_H__ #include <e32std.h> #include <e32base.h> #include <gdi.h> #include <Graphics/WSGRAPHICDRAWERINTERFACE.H> class CFbsBitmapDevice; class CWsClientWindow; class CWsWindow; class CWsWindowBase; class CWsClient; class CScreen; class DWsBitmap; #if defined(__WINS__) && defined(_DEBUG) class CDebugOsbWin; #endif class CWsOffScreenBitmap : public CBase, public MWsBackBuffer { public: // Construction / Destruction static CWsOffScreenBitmap* NewL(CScreen* aScreen); ~CWsOffScreenBitmap(); protected: CWsOffScreenBitmap(CScreen* aScreen); void ConstructL(); public: // Bitmap TInt DisplayModeChanged(TBool aSwapWidthAndHeight); void UpdateGc(const TBool aSwapWidthAndHeight); public: CFbsBitmap* Bitmap(); CFbsDevice* BitmapDevice(); public: // implementing MWsObjectProvider TAny* ResolveObjectInterface(TUint aTypeId); public: // implementing MWsBackBuffer CFbsBitmap* GetBitmap(); CFbsBitGc* GetBitGc(); CFbsBitGc* GetBitGcCurrent(); TInt SetBitGc(CFbsBitGc* aBitGc); TInt RedirectTo(MWsBackBuffer* aTarget); void SetObserver(MWsFlickerFreeBufferObserver* aObserver); MWsFlickerFreeBufferObserver* Observer(); #if defined(__WINS__) && defined(_DEBUG) void Update(); #endif protected: // Data CFbsBitGc* iBitmapGc; CFbsBitmap* iBitmap; CFbsBitmapDevice* iBitmapDevice; CScreen* iScreen; private: // Data #if defined(__WINS__) && defined(_DEBUG) CDebugOsbWin* iOsbWin; #endif private: // Data // used by MWsBackBuffer to redirect OSB output CFbsBitGc* iRedirectGc; MWsBackBuffer* iRedirectBuffer; MWsFlickerFreeBufferObserver* iObserver; }; #endif // __OFFSCREENBITMAP__