X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fcanvas%2Fcanvas%2Fimage.h;h=292de567230b8faea47ec1d5a4cc77a0050a5e89;hb=aacb2d7be7f9c34b39f1acf9a408e05addab409e;hp=0dcf8e51b33f4ef01133d8a2bbd265e84d7386a5;hpb=7a30e63eaad66ded1c47f5cdb2e0f28c3b0a1d4a;p=ardour.git diff --git a/libs/canvas/canvas/image.h b/libs/canvas/canvas/image.h index 0dcf8e51b3..292de56723 100644 --- a/libs/canvas/canvas/image.h +++ b/libs/canvas/canvas/image.h @@ -23,6 +23,7 @@ #include #include +#include "canvas/visibility.h" #include "canvas/item.h" typedef void (*ImageReleaseCallback)(uint8_t *d, void *arg); @@ -30,11 +31,12 @@ typedef void (*ImageReleaseCallback)(uint8_t *d, void *arg); namespace ArdourCanvas { -class Image : public Item +class LIBCANVAS_API Image : public Item { public: - Image (Group *, Cairo::Format, int width, int height); - + Image (Canvas *, Cairo::Format, int width, int height); + Image (Item*, Cairo::Format, int width, int height); + struct Data { Data (uint8_t *d, int w, int h, int s, Cairo::Format fmt) : data (d) @@ -63,12 +65,12 @@ public: void* destroy_arg; }; - /** - * Returns a shared_ptr to a Data object that can be used to + /** + * 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 @@ -90,12 +92,11 @@ public: void render (Rect const &, Cairo::RefPtr) const; void compute_bounding_box () const; - + private: Cairo::Format _format; int _width; int _height; - int _data; mutable boost::shared_ptr _current; boost::shared_ptr _pending; mutable bool _need_render;