From 3dae57f51cd4149b39fe17a20233213c797e5e78 Mon Sep 17 00:00:00 2001 From: Peter Braden Date: Thu, 19 Jan 2012 23:12:38 -0800 Subject: [PATCH] screwing around --- lib/opencv.js | 2 -- smoketest.js | 4 +++- src/Image.cc | 18 ++++++++++++------ src/Matrix.cc | 14 +++++++++----- 4 files changed, 24 insertions(+), 14 deletions(-) diff --git a/lib/opencv.js b/lib/opencv.js index 0642b1a..9eea470 100644 --- a/lib/opencv.js +++ b/lib/opencv.js @@ -4,6 +4,4 @@ var opencv = require('./bindings') , Matrix = opencv.Matrix - - var oc = exports = module.exports = opencv; \ No newline at end of file diff --git a/smoketest.js b/smoketest.js index a87cd49..f7ab97e 100755 --- a/smoketest.js +++ b/smoketest.js @@ -3,7 +3,9 @@ var cv = require('./lib/opencv') console.log(cv.version) +//console.log(cv.Image.prototype); +/* var im = new cv.Image("./examples/test.jpg") , face_cascade = new cv.CascadeClassifier("./examples/haarcascade_frontalface_alt.xml") @@ -15,4 +17,4 @@ var faces = face_cascade.detectMultiScale(im, function(err, faces){ im.save('./out.jpg'); -}); \ No newline at end of file +});*/ \ No newline at end of file diff --git a/src/Image.cc b/src/Image.cc index ecbf881..b4ae8dd 100644 --- a/src/Image.cc +++ b/src/Image.cc @@ -7,30 +7,36 @@ void Image::Init(Handle target) { HandleScope scope; + //Class + v8::Local t = v8::FunctionTemplate::New(New); + t->SetClassName(v8::String::NewSymbol("Image")); + // Constructor - constructor = Persistent::New(FunctionTemplate::New(Image::New)); + constructor = Persistent::New(t); constructor->InstanceTemplate()->SetInternalFieldCount(1); - constructor->SetClassName(String::NewSymbol("Image")); constructor->Inherit(Matrix::constructor); + // Prototype Local proto = constructor->PrototypeTemplate(); + proto->SetAccessor(String::NewSymbol("width"), GetWidth); proto->SetAccessor(String::NewSymbol("height"), GetHeight); NODE_SET_PROTOTYPE_METHOD(constructor, "save", Save); NODE_SET_PROTOTYPE_METHOD(constructor, "ellipse", Ellipse); + target->Set(String::NewSymbol("Image"), t->GetFunction()); + + + + /*proto->SetAccessor(String::NewSymbol("source"), GetSource, SetSource); proto->SetAccessor(String::NewSymbol("complete"), GetComplete); proto->SetAccessor(String::NewSymbol("onload"), GetOnload, SetOnload); proto->SetAccessor(String::NewSymbol("onerror"), GetOnerror, SetOnerror);*/ - target->Set(String::NewSymbol("Image"), constructor->GetFunction()); - - - }; diff --git a/src/Matrix.cc b/src/Matrix.cc index 34fb11b..7f75f24 100644 --- a/src/Matrix.cc +++ b/src/Matrix.cc @@ -8,10 +8,14 @@ void Matrix::Init(Handle target) { HandleScope scope; + //Class + v8::Local m = v8::FunctionTemplate::New(New); + m->SetClassName(v8::String::NewSymbol("Matrix")); + // Constructor - constructor = Persistent::New(FunctionTemplate::New(Matrix::New)); + constructor = Persistent::New(m); constructor->InstanceTemplate()->SetInternalFieldCount(1); - constructor->SetClassName(String::NewSymbol("Matrix")); + //constructor->SetClassName(String::NewSymbol("Matrix")); // Prototype Local proto = constructor->PrototypeTemplate(); @@ -19,7 +23,7 @@ Matrix::Init(Handle target) { NODE_SET_PROTOTYPE_METHOD(constructor, "empty", Empty); - target->Set(String::NewSymbol("Matrix"), constructor->GetFunction()); + target->Set(String::NewSymbol("Matrix"), m->GetFunction()); }; @@ -32,8 +36,8 @@ Matrix::New(const Arguments &args) { Matrix *mat = new Matrix; - mat->Wrap(args.This()); - return args.This(); + mat->Wrap(args.Holder()); + return scope.Close(args.Holder()); } Matrix::Matrix(): ObjectWrap() {