sl@0: // Copyright (c) 2007-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: // This class represents the body part of CDirectGdiDriver that defines the HAI. sl@0: // sl@0: // sl@0: sl@0: sl@0: #ifndef __DIRECTGDIDRIVERINTERNAL_H__ sl@0: #define __DIRECTGDIDRIVERINTERNAL_H__ sl@0: sl@0: /** sl@0: @file sl@0: @publishedPartner sl@0: @prototype sl@0: */ sl@0: sl@0: #include sl@0: sl@0: //forward declarations sl@0: class RSgDrawable; sl@0: class RSgImage; sl@0: class MDirectGdiEngine; sl@0: sl@0: /** sl@0: This class represents the body part of CDirectGdiDriver that defines the HAI. sl@0: An adaptation must derive from this class and implement all the interfaces to sl@0: provide the functionality required by the generic layer. sl@0: sl@0: @publishedPartner sl@0: @prototype sl@0: @deprecated sl@0: */ sl@0: class CDirectGdiDriverInternal : public CBase sl@0: { sl@0: public: sl@0: IMPORT_C static TInt New(CDirectGdiDriverInternal*& aInternal, RLibrary aLibrary); sl@0: inline RLibrary Library() const; sl@0: sl@0: /** sl@0: @see CDirectGdiDriver::Flush() sl@0: */ sl@0: virtual void Flush() = 0; sl@0: sl@0: /** sl@0: @see CDirectGdiDriver::Finish() sl@0: */ sl@0: virtual void Finish() = 0; sl@0: sl@0: /** sl@0: @see CDirectGdiDriver::GetError() sl@0: */ sl@0: virtual TInt GetError() = 0; sl@0: sl@0: /** sl@0: @see CDirectGdiDriver::SetError() sl@0: */ sl@0: virtual void SetError(TInt aErr) = 0; sl@0: sl@0: /** sl@0: @see CDirectGdiDriver::CreateDrawableSource() sl@0: sl@0: @param aHandle Handle of the newly created drawable source. sl@0: @param aRSgDrawable The RSgDrawable object to use when creating the drawable source. sl@0: */ sl@0: virtual TInt CreateDrawableSource(TInt& aHandle, const RSgDrawable& aRSgDrawable) = 0; sl@0: sl@0: /** sl@0: @see CDirectGdiDriver::CloseDrawableSource() sl@0: sl@0: @param aHandle A handle to a RDirectGdiDrawableSource object to be closed. sl@0: */ sl@0: virtual void CloseDrawableSource(TInt& aHandle) = 0; sl@0: sl@0: /** sl@0: @see CDirectGdiDriver::CreateImageTarget() sl@0: sl@0: @param aHandle Handle of the newly created image target. sl@0: @param aRSgImage The RSgImage to use when creating the image target. sl@0: */ sl@0: virtual TInt CreateImageTarget(TInt& aHandle, const RSgImage& aRSgImage) = 0; sl@0: sl@0: /** sl@0: @see CDirectGdiDriver::CloseImageTarget() sl@0: sl@0: @param aHandle A handle to a RDirectGdiImageTarget object to be closed. sl@0: */ sl@0: virtual void CloseImageTarget(TInt& aHandle) = 0; sl@0: sl@0: /** sl@0: @see CDirectGdiDriver::CreateEngine() sl@0: */ sl@0: virtual TInt CreateEngine(MDirectGdiEngine*& aEngine) = 0; sl@0: sl@0: /** sl@0: @see CDirectGdiDriver::DestroyEngine() sl@0: */ sl@0: virtual void DestroyEngine(MDirectGdiEngine* aEngine) = 0; sl@0: sl@0: /** sl@0: @see CDirectGdiDriver::GetInterface() sl@0: */ sl@0: virtual TInt GetInterface(TUid aInterfaceId, TAny*& aInterface) = 0; sl@0: sl@0: protected: sl@0: inline CDirectGdiDriverInternal(RLibrary aLibrary); sl@0: private: sl@0: /** Handle to the DirectGDI adapter DLL owned by this thread.*/ sl@0: const RLibrary iAdapterLibrary; sl@0: }; sl@0: sl@0: #include sl@0: sl@0: sl@0: #endif //__DIRECTGDIDRIVERINTERNAL_H__