/* agg_buffer.h -- John D. Hunter */ #ifndef _AGG_BUFFER_H #define _AGG_BUFFER_H #include <iostream> #include "agg_basics.h" namespace agg { typedef struct binary_data { int size; unsigned char* data; } binary_data; struct buffer { public: buffer(unsigned width, unsigned height, unsigned stride, bool freemem=true) : width(width), height(height), stride(stride), freemem(freemem) { data = new int8u[height*stride]; } ~buffer() { //std::cout << "bye bye " << freemem << std::endl; if (freemem) { delete [] data; data = NULL; } } binary_data to_string() { binary_data result; result.size = height*stride; result.data = data; return result; } const unsigned width, height, stride; int8u *data; bool freemem; }; } #endif