GCanvas/node/binding/ImageData.h

30 lines
908 B
C++

#ifndef IMAGEDATA_H
#define IMAGEDATA_H
#include <napi.h>
namespace NodeBinding
{
class ImageData : public Napi::ObjectWrap<ImageData>
{
public:
ImageData(const Napi::CallbackInfo &info);
static void Init(Napi::Env env);
static Napi::Object NewInstance(Napi::Env env, const Napi::Value width, const Napi::Value height);
std::vector<u_int8_t> &getPixles();
int getWidth();
int getHeight();
private:
static Napi::FunctionReference constructor;
Napi::ObjectReference mImageDataRef;
int width = 0;
int height = 0;
std::vector<u_int8_t> pixels;
Napi::Value getData(const Napi::CallbackInfo &info);
void setData(const Napi::CallbackInfo &info, const Napi::Value &value);
Napi::Value getWidth(const Napi::CallbackInfo &info);
Napi::Value getHeight(const Napi::CallbackInfo &info);
bool hasImageDataWrite = false;
};
} // namespace NodeBinding
#endif