#ifndef IMAGEDATA_H #define IMAGEDATA_H #include namespace NodeBinding { class ImageData : public Napi::ObjectWrap { 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 &getPixles(); int getWidth(); int getHeight(); private: static Napi::FunctionReference constructor; Napi::ObjectReference mImageDataRef; int width = 0; int height = 0; std::vector 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