MGD::DEVICE_RASTER_RGB24 Class Reference

#include <mi32/mg2rast.h>

Inheritance diagram for MGD::DEVICE_RASTER_RGB24:

Inheritance graph
[legend]
List of all members.

Public Member Functions

ERRVALUE Create (int fhandle, RVCRASTINFO *rastinfo, const COLOR *bgcolor=0)
 DEVICE_RASTER_RGB24 ()
void SetVirtualWindow (INT32 dx, INT32 dy, INT32 fullheight, INT32 fullwidth)
ERRVALUE WritePixArray ()
virtual ~DEVICE_RASTER_RGB24 ()

Protected Member Functions

ERRVALUE ReadPixArray ()
virtual UINT8v_GetImagePointer (INT32 x, INT32 y, INT32 len)
virtual UINT8v_GetImagePointerNoRead (INT32 x, INT32 y, INT32 len)
virtual ERRVALUE v_WriteImageBuffer (INT32 x, INT32 y, INT32 len, UINT8 *buf)

Private Member Functions

virtual CONTEXTv_CreateContext ()

Constructor & Destructor Documentation

MGD::DEVICE_RASTER_RGB24::DEVICE_RASTER_RGB24  ) 
 

Construct a 24-bit RGB raster device.

After constructing, you should call Create()

virtual MGD::DEVICE_RASTER_RGB24::~DEVICE_RASTER_RGB24  )  [virtual]
 

Destructor.


Member Function Documentation

ERRVALUE MGD::DEVICE_RASTER_RGB24::Create int  fhandle,
RVCRASTINFO rastinfo,
const COLOR bgcolor = 0
 

Create open or create a raster to draw into.

Parameters:
bgcolor  Initial background color, NULL for black

ERRVALUE MGD::DEVICE_RASTER_RGB24::ReadPixArray  )  [protected]
 

Write the pixel array from raster to buffer.

If the raster is small (less than 1024x1024), we just allocate a buffer big enough for the whole raster.

void MGD::DEVICE_RASTER_RGB24::SetVirtualWindow INT32  dx,
INT32  dy,
INT32  fullheight,
INT32  fullwidth
[inline]
 

Setup a virtual window.

Allows an MGD::RASTER to behave as a subset of a larger device even though the raster only covers a part of it. dx and dy should be the coordinates of the upper-left corner of the raster in the virtual space and fullheight/fullwidth is the size of the virtual space.

Definition at line 114 of file mg2rast.h.

virtual CONTEXT* MGD::DEVICE_RASTER_RGB24::v_CreateContext  )  [private, virtual]
 

Create a GC for drawing.

Derived classes may override this and make it return anything derived from MGD_GC. MGD_GC's constructor is private, so this is the only way for calling code to create a GC.

Reimplemented from MGD::DEVICE_MEM24.

virtual UINT8* MGD::DEVICE_RASTER_RGB24::v_GetImagePointer INT32  x,
INT32  y,
INT32  len
[protected, virtual]
 

In the Raster case, this will actually read the raster.

Reimplemented from MGD::DEVICE_MEM24.

virtual UINT8* MGD::DEVICE_RASTER_RGB24::v_GetImagePointerNoRead INT32  x,
INT32  y,
INT32  len
[protected, virtual]
 

If GetImagePointer returns a pointer directly into the frame buffer, this function does not need to be overridden.

If GetImagePointer has to actually read something (say via an X call to the display or reading out of a raster, then this version should just return a temporary buffer big enough to hold a single line.

Reimplemented from MGD::DEVICE.

virtual ERRVALUE MGD::DEVICE_RASTER_RGB24::v_WriteImageBuffer INT32  x,
INT32  y,
INT32  len,
UINT8 buf
[protected, virtual]
 

Write an image buffer to the display If GetImagePointer reutrns a pointer directly into the frame buffer, this method can just return 0.

If GetImagePointer has to actually read something, this method is used to write the result back out. Typically used when drawing to a raster

Reimplemented from MGD::DEVICE.

ERRVALUE MGD::DEVICE_RASTER_RGB24::WritePixArray  ) 
 

Write the pixel array back to the raster.

If the raster is small (less than 1024x1024), we just allocate a buffer big enough for the whole raster. In this case, nothing gets flushed until we call WritePixArray() (which the destructor will do if necessary)


The documentation for this class was generated from the following file:
Generated on Tue Dec 14 13:20:40 2004 for TNTsdk by  doxygen 1.3.8-20040913