MSgImageAdapter Class Reference

class MSgImageAdapter : public MSgDrawableAdapter

This interface must be implemented by all the user-side objects in the adaptation layer of the Graphics subsystem which are referenced by instances of RSgImage. The interface between the user-side and the kernel-side parts of the adaptation layer is outside the scope of the specification of the Graphics Resource API.

RSgImage

Inherits from

Member Functions Documentation

GetInfo(TSgImageInfo &)

TInt GetInfo(TSgImageInfo &aInfo)const [pure virtual]

Retrieves the values of the attributes of the image represented by this adapter object.

Pre-condition
If aInfo.iUserAttributes is not null then it points to an array of aInfo.iUserAttributeCount elements with globally unique identifiers corresponding to user-defined attributes attached to the image.
RSgImage::GetInfo()

Parameters

TSgImageInfo & aInfoOn input, the globally unique identifiers of the user-defined attributes to be retrieved from the image, if any. On return, the values of the attributes of the image and the values of the selected user-defined attributes.

MapReadOnly(const TAny *&, TInt &)

TInt MapReadOnly(const TAny *&aDataAddress,
TInt &aDataStride
)[pure virtual]

Temporarily makes the pixel data of the image represented by this adapter object accessible for reading by the CPU.

Pre-condition
The image is not mapped yet.
The image was created with CPU access ESgCpuAccessReadOnly or ESgCpuAccessReadWrite.
The image was created by the calling process.
Post-condition
The pixel data of the image is directly accessible in the address space of the calling process for reading only, until Unmap() is called.
RSgImage::MapReadOnly()

Parameters

const TAny *& aDataAddressOn return, the base address of the pixel data in the address space of the calling process.
TInt & aDataStrideOn return, the number of bytes between rows of the pixel data.

MapReadWrite(TAny *&, TInt &)

TInt MapReadWrite(TAny *&aDataAddress,
TInt &aDataStride
)[pure virtual]

Temporarily makes the pixel data of the image represented by this adapter object accessible for reading and writing by the CPU.

Pre-condition
The image is not mapped yet.
The image was created with CPU access ESgCpuAccessReadWrite.
The image was created by the calling process.
Post-condition
The pixel data of the image is directly accessible in the address space of the calling process for reading and writing, until Unmap() is called.
RSgImage::MapReadWrite()

Parameters

TAny *& aDataAddressOn return, the base address of the pixel data in the address space of the calling process.
TInt & aDataStrideOn return, the number of bytes between rows of the pixel data.

MapWriteOnly(TAny *&, TInt &)

TInt MapWriteOnly(TAny *&aDataAddress,
TInt &aDataStride
)[pure virtual]

Temporarily makes the pixel data of the image represented by this adapter object accessible for writing by the CPU.

Pre-condition
The image is not mapped yet.
The image was created with CPU access ESgCpuAccessWriteOnly or ESgCpuAccessReadWrite.
The image was created by the calling process.
Post-condition
The pixel data of the image is directly accessible in the address space of the calling process for writing only, until Unmap() is called.
RSgImage::MapWriteOnly()

Parameters

TAny *& aDataAddressOn return, the base address of the pixel data in the address space of the calling process.
TInt & aDataStrideOn return, the number of bytes between rows of the pixel data.

Unmap()

TInt Unmap()[pure virtual]

Makes the pixel data of the image represented by this adapter object no longer accessible by the CPU.

Pre-condition
The image is mapped for CPU access by a previous call to MapReadOnly(), MapWriteOnly() or MapReadWrite().
Post-condition
The GPU is guaranteed to be able to get access to the image.
The address range in the calling process used for the mapping is no longer valid.
RSgImage::Unmap()