add some comments to Canvas::Image and ensure that the canvas redraws after a put_image() call is handled in the GUI thread

This commit is contained in:
Paul Davis 2013-04-15 22:34:36 -04:00
parent 37dd7e952b
commit be23e48e7f
2 changed files with 30 additions and 0 deletions

View file

@ -48,7 +48,28 @@ public:
Cairo::Format format;
};
/**
* Returns a shared_ptr to a Data object that can be used to
* write image data to. The Data object will contain a pointer
* to the buffer, along with image properties that may be
* useful during the data writing.
*
* Can be called from any thread BUT ..
*
* ... to avoid collisions with Image deletion, some synchronization method
* may be required or the use of shared_ptr<Image> or similar.
*/
boost::shared_ptr<Data> get_image ();
/**
* Queues a Data object to be used to redraw this Image item
* at the earliest possible opportunity.
*
* May be called from any thread BUT ...
*
* ... to avoid collisions with Image deletion, some synchronization method
* may be required or the use of shared_ptr<Image> or similar.
*/
void put_image (boost::shared_ptr<Data>);
void render (Rect const &, Cairo::RefPtr<Cairo::Context>) const;