20 #ifndef __CANVAS_IMAGE__
21 #define __CANVAS_IMAGE__
41 Data (uint8_t *d,
int w,
int h,
int s, Cairo::Format fmt)
47 , destroy_callback(NULL)
52 if (destroy_callback) {
53 destroy_callback(data, destroy_arg);
79 std::shared_ptr<Data>
get_image (
bool allocate_data =
true);
93 void render (
Rect const &, Cairo::RefPtr<Cairo::Context>)
const;
void(* ImageReleaseCallback)(uint8_t *d, void *arg)
void put_image(std::shared_ptr< Data >)
std::shared_ptr< Data > get_image(bool allocate_data=true)
Cairo::RefPtr< Cairo::Surface > _surface
void render(Rect const &, Cairo::RefPtr< Cairo::Context >) const
std::shared_ptr< Data > _pending
PBD::Signal< void()> DataReady
void compute_bounding_box() const
Image(Canvas *, Cairo::Format, int width, int height)
Image(Item *, Cairo::Format, int width, int height)
std::shared_ptr< Data > _current
PBD::ScopedConnectionList data_connections
ImageReleaseCallback destroy_callback
Data(uint8_t *d, int w, int h, int s, Cairo::Format fmt)