sl@0: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #ifndef __OSBWIN_H__ sl@0: #define __OSBWIN_H__ sl@0: sl@0: /** sl@0: @file sl@0: @internalComponent sl@0: */ sl@0: sl@0: #include <gdi.h> sl@0: sl@0: struct TWin32Info; sl@0: class CPalette; sl@0: sl@0: NONSHARABLE_CLASS(CDebugOsbWin): public CBase sl@0: { sl@0: public: sl@0: IMPORT_C static CDebugOsbWin* NewL(const TDesC& aName, TSize aSize); sl@0: IMPORT_C void Refresh(TSize aSize, TDisplayMode aDisplayMode, const TUint32* aDataAddress); sl@0: IMPORT_C ~CDebugOsbWin(); sl@0: public: sl@0: static TInt iId; sl@0: private: sl@0: static TInt ThreadMain(TAny* aArg); sl@0: CDebugOsbWin(const TDesC& aName, TSize aSize); sl@0: void ConstructL(); sl@0: void Copy2Bpp(const TUint32* aDataAddress); sl@0: void Copy8Bpp(const TUint32* aDataAddress); sl@0: void Copy12Bpp(const TUint32* aDataAddress); sl@0: void Copy16Bpp(const TUint32* aDataAddress); sl@0: void Copy24Bpp(const TUint32* aDataAddress); sl@0: void CopyU24Bpp(const TUint32* aDataAddress); sl@0: private: sl@0: RThread iThread; sl@0: TBool iThreadCreated; sl@0: TSize iSize; sl@0: TBuf<32> iName; sl@0: RSemaphore iSem; sl@0: TWin32Info* iWin32; sl@0: TUint8* iBitmapBits; sl@0: CPalette* iPalette; sl@0: TInt iHExtra; sl@0: TInt iVExtra; sl@0: }; sl@0: sl@0: #endif sl@0: sl@0: