diff -r 000000000000 -r 5d03bc08d59c graphicsdeviceinterface/bitgdi/sbit/accelsoftbc.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/graphicsdeviceinterface/bitgdi/sbit/accelsoftbc.cpp Tue Feb 02 01:47:50 2010 +0200 @@ -0,0 +1,81 @@ +// Copyright (c) 2001-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: +// ACCELSOFT.CPP +// +// + +#include +#include + +/** +A wrapper around the screendriver implementation of a factory for creating 2D +graphics accelerator objects whose graphics operations are implemented in software. + +Do not use, link against scdv.lib, here for BC. + +@internalComponent +@see CSoftwareGraphicsAccelerator +*/ +class CSoftwareGraphicsAcceleratorBC : public CGraphicsAccelerator + { +public: + // Create a new CSoftwareGraphicsAccelerator for use with a given bitmap + IMPORT_C static CSoftwareGraphicsAccelerator* NewL(CFbsBitmap* aBitmap); + + // Get the non-bitmap-specific capabilities of the hardware accelerator. + IMPORT_C static const TGraphicsAcceleratorCaps* GenericCapabilities(); +public: + // From CGraphicsAccelerator + virtual const TGraphicsAcceleratorCaps* Capabilities() = 0; + virtual TInt Operation(const TGraphicsOperation& aOperation) = 0; + virtual TInt Operation(const TGraphicsOperation& aOperation,TInt aNumClipRects,TRect* aClipRects) = 0; + virtual TInt Operation(TDes8& aBuffer) = 0; + virtual TInt Operation(TDes8& aBuffer,TInt aNumClipRects,TRect* aClipRects) = 0; + // From CGraphicsAccelerator + virtual void Reserved_1() = 0; + virtual void Reserved_2() = 0; + virtual void Reserved_3() = 0; + virtual void Reserved_4() = 0; + }; + +/** +Allocates and constructs an instance of a derived class and initialises its +capabilities. + +Do not use, link against scdv.lib, here for BC. + +@param aBitmap The bitmap for the accelerator to draw to. This may be any +type of bitmap, including a hardware bitmap. +@return Pointer to the initialised graphics accelerator object. +@see CSoftwareGraphicsAccelerator::NewL +*/ +EXPORT_C CSoftwareGraphicsAccelerator* CSoftwareGraphicsAcceleratorBC::NewL(CFbsBitmap* aBitmap) + { + return CSoftwareGraphicsAccelerator::NewL(aBitmap); + } + +/** +Gets the generic capabilities of the accelerator, including which display modes +are supported for the bitmap passed to NewL(). + +Do not use, link against scdv.lib, here for BC. + +@return Generic capabilities for software graphics accelerators. +@see CSoftwareGraphicsAccelerator::GenericCapabilities +*/ +EXPORT_C const TGraphicsAcceleratorCaps* CSoftwareGraphicsAcceleratorBC::GenericCapabilities() + { + return CSoftwareGraphicsAccelerator::GenericCapabilities(); + } +