File tree Expand file tree Collapse file tree 2 files changed +13
-0
lines changed
Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -92,6 +92,18 @@ Buffer* Buffer::New(size_t size) {
9292}
9393
9494
95+ Buffer* Buffer::New (char * data, size_t len) {
96+ HandleScope scope;
97+
98+ Local<Value> arg = Integer::NewFromUnsigned (len);
99+ Local<Object> obj = constructor_template->GetFunction ()->NewInstance (1 , &arg);
100+
101+ Buffer *buffer = ObjectWrap::Unwrap<Buffer>(obj);
102+
103+ memcpy (buffer->data_ , data, len);
104+ }
105+
106+
95107char * Buffer::Data (Handle<Object> obj) {
96108 if (obj->HasIndexedPropertiesInPixelData ()) {
97109 return (char *)obj->GetIndexedPropertiesPixelData ();
Original file line number Diff line number Diff line change @@ -35,6 +35,7 @@ class Buffer : public ObjectWrap {
3535
3636 static void Initialize (v8::Handle<v8::Object> target);
3737 static Buffer* New (size_t length); // public constructor
38+ static Buffer* New (char *data, size_t len); // public constructor
3839 static bool HasInstance (v8::Handle<v8::Value> val);
3940
4041 static char * Data (v8::Handle<v8::Object>);
You can’t perform that action at this time.
0 commit comments