Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <GraphicsAccelerator.h>
Link against: _integrator_scdv.lib
Link against: _lubbock_scdv.lib
Link against: _omapqvga_scdv.lib

Class CSoftwareGraphicsAccelerator

class CSoftwareGraphicsAccelerator : public CGraphicsAccelerator;

Description

A factory for creating 2D graphics accelerator objects whose graphics operations are implemented in software.

Objects of derived classes can write to all types of bitmap, not just hardware bitmaps. Note that graphics accelerators may support only a subset of all graphics operations.

Derivation

Members

Defined in CSoftwareGraphicsAccelerator:

Inherited from CBase:


Construction and destruction


NewL(CFbsBitmap *)

IMPORT_C static CSoftwareGraphicsAccelerator* NewL(CFbsBitmap *aBitmap);

Description

Allocates and constructs an instance of a derived class and initialises its capabilities.

Parameters

CFbsBitmap *aBitmap

The bitmap for the accelerator to draw to. This may be any type of bitmap, including a hardware bitmap.

Return value

CSoftwareGraphicsAccelerator *

Pointer to the initialised graphics accelerator object.

Leave codes

KErrNoMemory

There is no memory to allocate the graphics accelerator KErrNotSupported There is no graphics accelerator supporting the display mode given by the bitmap parameter

See also:

[Top]


Member functions


GenericCapabilities()

IMPORT_C static const TGraphicsAcceleratorCaps* GenericCapabilities();

Description

Gets the generic capabilities of the accelerator, including which display modes are supported for the bitmap passed to CSoftwareGraphicsAccelerator::NewL(CFbsBitmap *).

Generic capabilities apply to all software graphics accelerators on the device. The function is static, so it can be used to find out the capabilities of graphics accelerators before deciding on whether or not to create one.

The CGraphicsAccelerator::Capabilities() function provides information about the capabilities of a particular graphics accelerator.

As capabilities may vary depending on the display mode of a bitmap, this method should indicate as supported any features which are only available in some display modes.

Return value

const TGraphicsAcceleratorCaps *

Generic capabilities for software graphics accelerators.


Capabilities()

virtual const TGraphicsAcceleratorCaps* Capabilities()=0;

Description

Returns the capabilities of the graphics accelerator.

Return value

const TGraphicsAcceleratorCaps *

The capabilities of the accelerator.


Operation(const TGraphicsOperation &)

virtual TInt Operation(const TGraphicsOperation &aOperation)=0;

Description

Requests the graphics accelerator to perform a single graphics operation.

Parameters

const TGraphicsOperation &aOperation

An instance of a TGraphicsOperation-derived class that identifies the graphics operation to be performed.

Return value

TInt

KErrNone if successful, otherwise one of the system error codes. The function should return KErrNotSupported if the accelerator does not support the requested operation.


Operation(const TGraphicsOperation &,TInt,TRect *)

virtual TInt Operation(const TGraphicsOperation &aOperation, TInt aNumClipRects, TRect *aClipRects)=0;

Description

Requests the graphics accelerator perform a single graphics operation within a clipping region. This version is of CSoftwareGraphicsAccelerator::Operation(const TGraphicsOperation &) is only usable if the accelerator capabilities returned by CSoftwareGraphicsAccelerator::Capabilities() indicate that clipping to a region is supported.

Parameters

const TGraphicsOperation &aOperation

An instance of a TGraphicsOperation-derived class that identifies the graphics operation to be performed.

TInt aNumClipRects

The number of rectangles in the clipping region.

TRect *aClipRects

A pointer to the first rectangle in the clipping region.

Return value

TInt

KErrNone if successful, otherwise one of the system error codes. The function should return KErrNotSupported if the accelerator does not support the requested operation.

See also:


Operation(TDes8 &)

virtual TInt Operation(TDes8 &aBuffer)=0;

Description

Requests the graphics accelerator perform one or more graphics operations contained in a buffer.

The underlying implementation may be able to process a group of graphics operations more efficiently than if CSoftwareGraphicsAccelerator::Operation(const TGraphicsOperation &) was called for each individually.

This function should be implemented as if CSoftwareGraphicsAccelerator::Operation(const TGraphicsOperation &) was called in turn for each operation contained in the buffer. Each operation should be carried out immediately after the one preceding it. If a method returns an error, the length of aBuffer should be set to indicate the number of operations that have been successfully processed. In this case, the operation in which the error occurred will be indicated by the memory address &aBuffer[aBuffer.Length()].

Parameters

TDes8 &aBuffer

A descriptor which holds a concatenation of graphics operations (TGraphicsOperation-derived objects).

Return value

TInt

KErrNone if successful, otherwise one of the system error codes. The function should return KErrNotSupported if the accelerator does not support any of the requested operations.


Operation(TDes8 &,TInt,TRect *)

virtual TInt Operation(TDes8 &aBuffer, TInt aNumClipRects, TRect *aClipRects)=0;

Description

Requests the graphics accelerator perform one or more graphics operations within a clipping region. This version is of CSoftwareGraphicsAccelerator::Operation(const TGraphicsOperation &) is only usable if the accelerator capabilities returned by CSoftwareGraphicsAccelerator::Capabilities() indicate that clipping to a region is supported.

The underlying implementation may be able to process a group of graphics operations more efficiently than if CSoftwareGraphicsAccelerator::Operation(const TGraphicsOperation &) was called for each individually.

This function should be implemented as if CSoftwareGraphicsAccelerator::Operation(const TGraphicsOperation &) was called in turn for each operation contained in the buffer. Each operation should be carried out immediately after the one preceding it. If a method returns an error, the length of aBuffer should be set to indicate the number of operations that have been successfully processed. In this case, the operation in which the error occurred will be indicated by the memory address &aBuffer[aBuffer.Length()].

Parameters

TDes8 &aBuffer

A descriptor which holds a concatenation of graphics operations (TGraphicsOperation objects).

TInt aNumClipRects

The number of rectangles in the clipping region.

TRect *aClipRects

A pointer to the first rectangle in the clipping region.

Return value

TInt

KErrNone if successful, otherwise one of the system error codes. The function should return KErrNotSupported if the accelerator does not support any of the requested operations.

See also:


Reserved_1()

virtual void Reserved_1()=0;

Description


Reserved_2()

virtual void Reserved_2()=0;

Description


Reserved_3()

virtual void Reserved_3()=0;

Description


Reserved_4()

virtual void Reserved_4()=0;

Description