diff options
Diffstat (limited to 'rotord/nodes_drawing.h')
| -rw-r--r-- | rotord/nodes_drawing.h | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/rotord/nodes_drawing.h b/rotord/nodes_drawing.h deleted file mode 100644 index 11df2d6..0000000 --- a/rotord/nodes_drawing.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef ROTOR_NODES_DRAWING -#define ROTOR_NODES_DRAWING - -#include "rotor.h" -#include <cairo.h> - -namespace Rotor { - class Draw: public Image_node { - public: - Draw(){image=nullptr;}; - Draw(map<string,string> &settings) { - base_settings(settings); - }; - ~Draw(){ if (image) delete image;}; - Draw* clone(map<string,string> &_settings) { return new Draw(_settings);}; - Image *output(const Frame_spec &frame){ - if (image_inputs.size()) { - if (image_inputs[0]->connection){ - //copy incoming image **writable - if (image) delete image; - image=(((Image_node*)image_inputs[0]->connection)->get_output(frame))->clone(); - } - else image->setup(frame.w,frame.h); - } - else image->setup(frame.w,frame.h); //do this twice or use a goto - //draw onto new or input image - cairo_surface_t * cs = cairo_image_surface_create_for_data (image->RGBdata, - CAIRO_FORMAT_RGB24, - image->w, - image->h, - image->getStride()); - cairo_t *c=cairo_create(cs); - cairo_rectangle(c, image->w/2, image->h/2, image->w, image->h); - cairo_set_source_rgb(c, 1.0, 0.0, 0.0); - cairo_fill(c); - return image; - } - private: - Image *image; //is an image generator - }; -} - -#endif
\ No newline at end of file |
