CachingDisplayMethod.h

Classes

CachingDisplayMethod -- Assistance class for auto-caching of DisplayData objects. (full description)

class CachingDisplayMethod : public DisplayMethod

Interface

Public Members
CachingDisplayMethod(WorldCanvas *worldCanvas, AttributeBuffer *wchAttributes, AttributeBuffer *ddAttributes, CachingDisplayData *parentDisplayData)
virtual ~CachingDisplayMethod()
virtual WorldCanvas *worldCanvas()
virtual void draw(Display::RefreshReason reason, WorldCanvasHolder &wcHolder)
Protected Members
CachingDisplayMethod()
CachingDisplayMethod(const CachingDisplayMethod &other)
void operator=(const CachingDisplayMethod &other)
virtual Bool drawIntoList(Display::RefreshReason reason, WorldCanvasHolder &wcHolder) = 0

Description

Prerequisite

Etymology

"CachingDisplayMethod" is an implementation of a DisplayMethod which provides a single element in a cache of individual depictions of some data.

Synopsis

Member Description

CachingDisplayMethod(WorldCanvas *worldCanvas, AttributeBuffer *wchAttributes, AttributeBuffer *ddAttributes, CachingDisplayData *parentDisplayData)

Constructor. A single instance of a CachingDisplayMethod is setup to draw on a particular WorldCanvas, and only when particular conditions, as stored in the provided AttributeBuffers, are met. The parent DisplayData is given in parentDisplayData.

virtual ~CachingDisplayMethod()

Destructor.

virtual WorldCanvas *worldCanvas()

Return the WorldCanvas recorded in this CachingDisplayMethod.

virtual void draw(Display::RefreshReason reason, WorldCanvasHolder &wcHolder)

Draw this slice of data on the supplied WorldCanvasHolder.

CachingDisplayMethod()

(Required) default constructor.

CachingDisplayMethod(const CachingDisplayMethod &other)

(Required) copy constructor.

void operator=(const CachingDisplayMethod &other)

(Required) copy assignment.

virtual Bool drawIntoList(Display::RefreshReason reason, WorldCanvasHolder &wcHolder) = 0

Draw into a cached drawing list, called by draw function. The return value is set False if the DM could not draw or does not wish a drawlist to be saved.