/* 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