mirror of
https://github.com/peterbraden/node-opencv.git
synced 2025-12-08 19:45:55 +00:00
5334 lines
300 KiB
HTML
5334 lines
300 KiB
HTML
<html>
|
|
<head>
|
|
<title>Upgrade utils report</title>
|
|
<meta charset="UTF-8">
|
|
<link rel="stylesheet" href="/usr/lib/node_modules/upgrade-utils/lib/assets/editor.css">
|
|
<link rel="stylesheet" href="/usr/lib/node_modules/upgrade-utils/lib/assets/markdownPreview.css">
|
|
<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic' rel='stylesheet' type='text/css'>
|
|
</head>
|
|
<body>
|
|
<div class="nav">
|
|
<a href="http://nodesource.com" target="_blank"><img src="/usr/lib/node_modules/upgrade-utils/lib/assets/logo-white.svg"/></a>
|
|
<p>Upgrade utils report</p>
|
|
</div>
|
|
|
|
<section id="diffs">
|
|
<div>
|
|
<h3 class="updated">Your files were updated according to the changes described below, to complete the update follow these steps:</h3>
|
|
<ul>
|
|
<li>Remove your Nan dependency with <code>npm remove nan --save</code>
|
|
<li>Add Nan with <code>npm install nan --save</code> to get the last version
|
|
<li>Rebuild your module <code>node-gyp rebuild</code>
|
|
<li>Check if there are errors and manually fix those</li>
|
|
</ul>
|
|
<hr>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/BackgroundSubtractor.cc</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- Persistent<FunctionTemplate> BackgroundSubtractorWrap::constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Persistent<FunctionTemplate> BackgroundSubtractorWrap::constructor;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<FunctionTemplate> ctor = NanNew<FunctionTemplate>(BackgroundSubtractorWrap::New);
|
|
NanAssignPersistent(constructor, ctor);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<FunctionTemplate> ctor = Nan::New<FunctionTemplate>(BackgroundSubtractorWrap::New);
|
|
constructor.Reset(ctor);
|
|
</code></pre>
|
|
<pre><code class="removed">- ctor->SetClassName(NanNew("BackgroundSubtractor"));
|
|
</code></pre>
|
|
<pre><code class="added">+ ctor->SetClassName(Nan::New("BackgroundSubtractor").ToLocalChecked());
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_METHOD(ctor, "createMOG", CreateMOG);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "applyMOG", ApplyMOG);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetMethod(ctor, "createMOG", CreateMOG);
|
|
Nan::SetPrototypeMethod(ctor, "applyMOG", ApplyMOG);
|
|
</code></pre>
|
|
<pre><code class="removed">- target->Set(NanNew("BackgroundSubtractor"), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="added">+ target->Set(Nan::New("BackgroundSubtractor").ToLocalChecked(), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.This()->InternalFieldCount() == 0) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.This()->InternalFieldCount() == 0) {
|
|
</code></pre>
|
|
<pre><code class="removed">- pt->Wrap(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ pt->Wrap(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- // if(args.Length() > 1){
|
|
</code></pre>
|
|
<pre><code class="added">+ // if(info.Length() > 1){
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> n = NanNew(BackgroundSubtractorWrap::constructor)->GetFunction()->NewInstance();
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> n = Nan::New(BackgroundSubtractorWrap::constructor)->GetFunction()->NewInstance();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue( n );
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set( n );
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() == 0) {
|
|
argv[0] = NanNew("Input image missing");
|
|
argv[1] = NanNull();
|
|
cb->Call(NanGetCurrentContext()->Global(), 2, argv);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() == 0) {
|
|
argv[0] = Nan::New("Input image missing").ToLocalChecked();
|
|
argv[1] = Nan::Null();
|
|
cb->Call(Nan::GetCurrentContext()->Global(), 2, argv);
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = ObjectWrap::Unwrap<Matrix>(fgMask);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = Nan::ObjectWrap::Unwrap<Matrix>(fgMask);
|
|
</code></pre>
|
|
<pre><code class="removed">- if (Buffer::HasInstance(args[0])) {
|
|
uint8_t *buf = (uint8_t *) Buffer::Data(args[0]->ToObject());
|
|
unsigned len = Buffer::Length(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ if (Buffer::HasInstance(info[0])) {
|
|
uint8_t *buf = (uint8_t *) Buffer::Data(info[0]->ToObject());
|
|
unsigned len = Buffer::Length(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *_img = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *_img = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- return NanThrowTypeError("Error loading file");
|
|
</code></pre>
|
|
<pre><code class="added">+ return Nan::ThrowTypeError("Error loading file");
|
|
</code></pre>
|
|
<pre><code class="removed">- argv[0] = NanNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ argv[0] = Nan::Null();
|
|
</code></pre>
|
|
<pre><code class="removed">- cb->Call(NanGetCurrentContext()->Global(), 2, argv);
|
|
</code></pre>
|
|
<pre><code class="added">+ cb->Call(Nan::GetCurrentContext()->Global(), 2, argv);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
return;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/Calib3D.cc</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *matrix = ObjectWrap::Unwrap<Matrix>(matrixWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *matrix = Nan::ObjectWrap::Unwrap<Matrix>(matrixWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m = ObjectWrap::Unwrap<Matrix>(matrix->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m = Nan::ObjectWrap::Unwrap<Matrix>(matrix->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Point2f(pt->Get(NanNew<String>("x"))->ToNumber()->Value(),
|
|
pt->Get(NanNew<String>("y"))->ToNumber()->Value()));
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Point2f(pt->Get(Nan::New<String>("x").ToLocalChecked())->ToNumber()->Value(),
|
|
pt->Get(Nan::New<String>("y").ToLocalChecked())->ToNumber()->Value()));
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Point3f(pt->Get(NanNew<String>("x"))->ToNumber()->Value(),
|
|
pt->Get(NanNew<String>("y"))->ToNumber()->Value(),
|
|
pt->Get(NanNew<String>("z"))->ToNumber()->Value()));
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Point3f(pt->Get(Nan::New<String>("x").ToLocalChecked())->ToNumber()->Value(),
|
|
pt->Get(Nan::New<String>("y").ToLocalChecked())->ToNumber()->Value(),
|
|
pt->Get(Nan::New<String>("z").ToLocalChecked())->ToNumber()->Value()));
|
|
</code></pre>
|
|
<pre><code class="removed">- Persistent<Object> inner;
|
|
Local<Object> obj = NanNew<Object>();
|
|
NanAssignPersistent(inner, obj);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Persistent<Object> inner;
|
|
Local<Object> obj = Nan::New<Object>();
|
|
inner.Reset(obj);
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_METHOD(obj, "findChessboardCorners", FindChessboardCorners);
|
|
NODE_SET_METHOD(obj, "drawChessboardCorners", DrawChessboardCorners);
|
|
NODE_SET_METHOD(obj, "calibrateCamera", CalibrateCamera);
|
|
NODE_SET_METHOD(obj, "solvePnP", SolvePnP);
|
|
NODE_SET_METHOD(obj, "getOptimalNewCameraMatrix", GetOptimalNewCameraMatrix);
|
|
NODE_SET_METHOD(obj, "stereoCalibrate", StereoCalibrate);
|
|
NODE_SET_METHOD(obj, "stereoRectify", StereoRectify);
|
|
NODE_SET_METHOD(obj, "computeCorrespondEpilines", ComputeCorrespondEpilines);
|
|
NODE_SET_METHOD(obj, "reprojectImageTo3d", ReprojectImageTo3D);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetMethod(obj, "findChessboardCorners", FindChessboardCorners);
|
|
Nan::SetMethod(obj, "drawChessboardCorners", DrawChessboardCorners);
|
|
Nan::SetMethod(obj, "calibrateCamera", CalibrateCamera);
|
|
Nan::SetMethod(obj, "solvePnP", SolvePnP);
|
|
Nan::SetMethod(obj, "getOptimalNewCameraMatrix", GetOptimalNewCameraMatrix);
|
|
Nan::SetMethod(obj, "stereoCalibrate", StereoCalibrate);
|
|
Nan::SetMethod(obj, "stereoRectify", StereoRectify);
|
|
Nan::SetMethod(obj, "computeCorrespondEpilines", ComputeCorrespondEpilines);
|
|
Nan::SetMethod(obj, "reprojectImageTo3d", ReprojectImageTo3D);
|
|
</code></pre>
|
|
<pre><code class="removed">- target->Set(NanNew("calib3d"), obj);
|
|
</code></pre>
|
|
<pre><code class="added">+ target->Set(Nan::New("calib3d").ToLocalChecked(), obj);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanEscapableScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::EscapableHandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat mat = matFromMatrix(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat mat = matFromMatrix(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Size patternSize = sizeFromArray(args[1]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Size patternSize = sizeFromArray(info[1]);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> ret = NanNew<Object>();
|
|
ret->Set(NanNew<String>("found"), NanNew<Boolean>(found));
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> ret = Nan::New<Object>();
|
|
ret->Set(Nan::New<String>("found").ToLocalChecked(), Nan::New<Boolean>(found));
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Array> cornersArray = NanNew<Array>(corners.size());
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Array> cornersArray = Nan::New<Array>(corners.size());
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> point_data = NanNew<Object>();
|
|
point_data->Set(NanNew<String>("x"), NanNew<Number>(corners[i].x));
|
|
point_data->Set(NanNew<String>("y"), NanNew<Number>(corners[i].y));
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> point_data = Nan::New<Object>();
|
|
point_data->Set(Nan::New<String>("x").ToLocalChecked(), Nan::New<Number>(corners[i].x));
|
|
point_data->Set(Nan::New<String>("y").ToLocalChecked(), Nan::New<Number>(corners[i].y));
|
|
</code></pre>
|
|
<pre><code class="removed">- cornersArray->Set(NanNew<Number>(i), point_data);
|
|
</code></pre>
|
|
<pre><code class="added">+ cornersArray->Set(Nan::New<Number>(i), point_data);
|
|
</code></pre>
|
|
<pre><code class="removed">- ret->Set(NanNew<String>("corners"), cornersArray);
|
|
</code></pre>
|
|
<pre><code class="added">+ ret->Set(Nan::New<String>("corners").ToLocalChecked(), cornersArray);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(ret);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(ret);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanEscapableScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::EscapableHandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat mat = matFromMatrix(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat mat = matFromMatrix(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Size patternSize = sizeFromArray(args[1]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Size patternSize = sizeFromArray(info[1]);
|
|
</code></pre>
|
|
<pre><code class="removed">- std::vector<cv::Point2f> corners = points2fFromArray(args[2]);
|
|
</code></pre>
|
|
<pre><code class="added">+ std::vector<cv::Point2f> corners = points2fFromArray(info[2]);
|
|
</code></pre>
|
|
<pre><code class="removed">- bool patternWasFound = args[3]->ToBoolean()->Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ bool patternWasFound = info[3]->ToBoolean()->Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanEscapableScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::EscapableHandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- points3fFromArrayOfArrays(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ points3fFromArrayOfArrays(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- points2fFromArrayOfArrays(args[1]);
|
|
</code></pre>
|
|
<pre><code class="added">+ points2fFromArrayOfArrays(info[1]);
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Size imageSize = sizeFromArray(args[2]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Size imageSize = sizeFromArray(info[2]);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> ret = NanNew<Object>();
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> ret = Nan::New<Object>();
|
|
</code></pre>
|
|
<pre><code class="removed">- ret->Set(NanNew<String>("reprojectionError"), NanNew<Number>(error));
|
|
</code></pre>
|
|
<pre><code class="added">+ ret->Set(Nan::New<String>("reprojectionError").ToLocalChecked(), Nan::New<Number>(error));
|
|
</code></pre>
|
|
<pre><code class="removed">- ret->Set(NanNew<String>("K"), KMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ ret->Set(Nan::New<String>("K").ToLocalChecked(), KMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- ret->Set(NanNew<String>("distortion"), distMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ ret->Set(Nan::New<String>("distortion").ToLocalChecked(), distMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(ret);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(ret);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanEscapableScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::EscapableHandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- std::vector<cv::Point3f> objectPoints = points3fFromArray(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ std::vector<cv::Point3f> objectPoints = points3fFromArray(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- std::vector<cv::Point2f> imagePoints = points2fFromArray(args[1]);
|
|
</code></pre>
|
|
<pre><code class="added">+ std::vector<cv::Point2f> imagePoints = points2fFromArray(info[1]);
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat K = matFromMatrix(args[2]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat K = matFromMatrix(info[2]);
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat dist = matFromMatrix(args[3]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat dist = matFromMatrix(info[3]);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> ret = NanNew<Object>();
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> ret = Nan::New<Object>();
|
|
</code></pre>
|
|
<pre><code class="removed">- ret->Set(NanNew<String>("rvec"), rMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ ret->Set(Nan::New<String>("rvec").ToLocalChecked(), rMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- ret->Set(NanNew<String>("tvec"), tMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ ret->Set(Nan::New<String>("tvec").ToLocalChecked(), tMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(ret);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(ret);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanEscapableScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::EscapableHandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat Kin = matFromMatrix(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat Kin = matFromMatrix(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat dist = matFromMatrix(args[1]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat dist = matFromMatrix(info[1]);
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Size imageSize = sizeFromArray(args[2]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Size imageSize = sizeFromArray(info[2]);
|
|
</code></pre>
|
|
<pre><code class="removed">- double alpha = args[3]->ToNumber()->Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ double alpha = info[3]->ToNumber()->Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Size newImageSize = sizeFromArray(args[4]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Size newImageSize = sizeFromArray(info[4]);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(KMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(KMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanEscapableScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::EscapableHandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- points3fFromArrayOfArrays(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ points3fFromArrayOfArrays(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- points2fFromArrayOfArrays(args[1]);
|
|
</code></pre>
|
|
<pre><code class="added">+ points2fFromArrayOfArrays(info[1]);
|
|
</code></pre>
|
|
<pre><code class="removed">- points2fFromArrayOfArrays(args[2]);
|
|
</code></pre>
|
|
<pre><code class="added">+ points2fFromArrayOfArrays(info[2]);
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Size imageSize = sizeFromArray(args[3]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Size imageSize = sizeFromArray(info[3]);
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() >= 8) {
|
|
k1 = matFromMatrix(args[4]);
|
|
d1 = matFromMatrix(args[5]);
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() >= 8) {
|
|
k1 = matFromMatrix(info[4]);
|
|
d1 = matFromMatrix(info[5]);
|
|
</code></pre>
|
|
<pre><code class="removed">- k2 = matFromMatrix(args[6]);
|
|
d2 = matFromMatrix(args[7]);
|
|
</code></pre>
|
|
<pre><code class="added">+ k2 = matFromMatrix(info[6]);
|
|
d2 = matFromMatrix(info[7]);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> ret = NanNew<Object>();
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> ret = Nan::New<Object>();
|
|
</code></pre>
|
|
<pre><code class="removed">- ret->Set(NanNew<String>("K1"), K1MatrixWrap);
|
|
ret->Set(NanNew<String>("distortion1"), d1MatrixWrap);
|
|
ret->Set(NanNew<String>("K2"), K2MatrixWrap);
|
|
ret->Set(NanNew<String>("distortion2"), d2MatrixWrap);
|
|
ret->Set(NanNew<String>("R"), RMatrixWrap);
|
|
ret->Set(NanNew<String>("t"), tMatrixWrap);
|
|
ret->Set(NanNew<String>("E"), EMatrixWrap);
|
|
ret->Set(NanNew<String>("F"), FMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ ret->Set(Nan::New<String>("K1").ToLocalChecked(), K1MatrixWrap);
|
|
ret->Set(Nan::New<String>("distortion1").ToLocalChecked(), d1MatrixWrap);
|
|
ret->Set(Nan::New<String>("K2").ToLocalChecked(), K2MatrixWrap);
|
|
ret->Set(Nan::New<String>("distortion2").ToLocalChecked(), d2MatrixWrap);
|
|
ret->Set(Nan::New<String>("R").ToLocalChecked(), RMatrixWrap);
|
|
ret->Set(Nan::New<String>("t").ToLocalChecked(), tMatrixWrap);
|
|
ret->Set(Nan::New<String>("E").ToLocalChecked(), EMatrixWrap);
|
|
ret->Set(Nan::New<String>("F").ToLocalChecked(), FMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(ret);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(ret);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanEscapableScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::EscapableHandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat K1 = matFromMatrix(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat K1 = matFromMatrix(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat d1 = matFromMatrix(args[1]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat d1 = matFromMatrix(info[1]);
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat K2 = matFromMatrix(args[2]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat K2 = matFromMatrix(info[2]);
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat d2 = matFromMatrix(args[3]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat d2 = matFromMatrix(info[3]);
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Size imageSize = sizeFromArray(args[4]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Size imageSize = sizeFromArray(info[4]);
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat R = matFromMatrix(args[5]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat R = matFromMatrix(info[5]);
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat t = matFromMatrix(args[6]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat t = matFromMatrix(info[6]);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> ret = NanNew<Object>();
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> ret = Nan::New<Object>();
|
|
</code></pre>
|
|
<pre><code class="removed">- ret->Set(NanNew<String>("R1"), matrixFromMat(R1));
|
|
ret->Set(NanNew<String>("R2"), matrixFromMat(R2));
|
|
ret->Set(NanNew<String>("P1"), matrixFromMat(P1));
|
|
ret->Set(NanNew<String>("P2"), matrixFromMat(P2));
|
|
ret->Set(NanNew<String>("Q"), matrixFromMat(Q));
|
|
</code></pre>
|
|
<pre><code class="added">+ ret->Set(Nan::New<String>("R1").ToLocalChecked(), matrixFromMat(R1));
|
|
ret->Set(Nan::New<String>("R2").ToLocalChecked(), matrixFromMat(R2));
|
|
ret->Set(Nan::New<String>("P1").ToLocalChecked(), matrixFromMat(P1));
|
|
ret->Set(Nan::New<String>("P2").ToLocalChecked(), matrixFromMat(P2));
|
|
ret->Set(Nan::New<String>("Q").ToLocalChecked(), matrixFromMat(Q));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(ret);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(ret);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanEscapableScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::EscapableHandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- std::vector<cv::Point2f> points = points2fFromArray(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ std::vector<cv::Point2f> points = points2fFromArray(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- int whichImage = int(args[1]->ToNumber()->Value());
|
|
</code></pre>
|
|
<pre><code class="added">+ int whichImage = int(info[1]->ToNumber()->Value());
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat F = matFromMatrix(args[2]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat F = matFromMatrix(info[2]);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Array> linesArray = NanNew<Array>(lines.size());
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Array> linesArray = Nan::New<Array>(lines.size());
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> line_data = NanNew<Object>();
|
|
line_data->Set(NanNew<String>("a"), NanNew<Number>(lines[i][0]));
|
|
line_data->Set(NanNew<String>("b"), NanNew<Number>(lines[i][1]));
|
|
line_data->Set(NanNew<String>("c"), NanNew<Number>(lines[i][2]));
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> line_data = Nan::New<Object>();
|
|
line_data->Set(Nan::New<String>("a").ToLocalChecked(), Nan::New<Number>(lines[i][0]));
|
|
line_data->Set(Nan::New<String>("b").ToLocalChecked(), Nan::New<Number>(lines[i][1]));
|
|
line_data->Set(Nan::New<String>("c").ToLocalChecked(), Nan::New<Number>(lines[i][2]));
|
|
</code></pre>
|
|
<pre><code class="removed">- linesArray->Set(NanNew<Number>(i), line_data);
|
|
</code></pre>
|
|
<pre><code class="added">+ linesArray->Set(Nan::New<Number>(i), line_data);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(linesArray);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(linesArray);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanEscapableScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::EscapableHandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat disparity = matFromMatrix(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat disparity = matFromMatrix(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat Q = matFromMatrix(args[1]);
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat Q = matFromMatrix(info[1]);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(depthImageMatrix);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(depthImageMatrix);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
return;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/BackgroundSubtractor.h</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- class BackgroundSubtractorWrap: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class BackgroundSubtractorWrap: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="removed">- static Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ static Nan::Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/CamShift.cc</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- Persistent<FunctionTemplate> TrackedObject::constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Persistent<FunctionTemplate> TrackedObject::constructor;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<FunctionTemplate> ctor = NanNew<FunctionTemplate>(TrackedObject::New);
|
|
NanAssignPersistent(constructor, ctor);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<FunctionTemplate> ctor = Nan::New<FunctionTemplate>(TrackedObject::New);
|
|
constructor.Reset(ctor);
|
|
</code></pre>
|
|
<pre><code class="removed">- ctor->SetClassName(NanNew("TrackedObject"));
|
|
</code></pre>
|
|
<pre><code class="added">+ ctor->SetClassName(Nan::New("TrackedObject").ToLocalChecked());
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_PROTOTYPE_METHOD(ctor, "track", Track);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetPrototypeMethod(ctor, "track", Track);
|
|
</code></pre>
|
|
<pre><code class="removed">- target->Set(NanNew("TrackedObject"), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="added">+ target->Set(Nan::New("TrackedObject").ToLocalChecked(), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.This()->InternalFieldCount() == 0) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.This()->InternalFieldCount() == 0) {
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[1]->IsArray()) {
|
|
Local<Object> v8rec = args[1]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[1]->IsArray()) {
|
|
Local<Object> v8rec = info[1]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[2]->IsObject()) {
|
|
Local<Object> opts = args[2]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[2]->IsObject()) {
|
|
Local<Object> opts = info[2]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (opts->Get(NanNew("channel"))->IsString()) {
|
|
v8::String::Utf8Value c(opts->Get(NanNew("channel"))->ToString());
|
|
</code></pre>
|
|
<pre><code class="added">+ if (opts->Get(Nan::New("channel").ToLocalChecked())->IsString()) {
|
|
v8::String::Utf8Value c(opts->Get(Nan::New("channel").ToLocalChecked())->ToString());
|
|
</code></pre>
|
|
<pre><code class="removed">- to->Wrap(args.This());
|
|
NanReturnValue(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ to->Wrap(info.This());
|
|
info.GetReturnValue().Set(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() != 1) {
|
|
NanThrowTypeError("track takes an image param");
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() != 1) {
|
|
Nan::ThrowTypeError("track takes an image param");
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *im = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *im = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- return NanThrowTypeError("OPENCV ERROR: prev rectangle is illogical");
|
|
</code></pre>
|
|
<pre><code class="added">+ return Nan::ThrowTypeError("OPENCV ERROR: prev rectangle is illogical");
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local<v8::Array> arr = NanNew<Array>(4);
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local<v8::Array> arr = Nan::New<Array>(4);
|
|
</code></pre>
|
|
<pre><code class="removed">- arr->Set(0, NanNew<Number>(bounds.x));
|
|
arr->Set(1, NanNew<Number>(bounds.y));
|
|
arr->Set(2, NanNew<Number>(bounds.x + bounds.width));
|
|
arr->Set(3, NanNew<Number>(bounds.y + bounds.height));
|
|
</code></pre>
|
|
<pre><code class="added">+ arr->Set(0, Nan::New<Number>(bounds.x));
|
|
arr->Set(1, Nan::New<Number>(bounds.y));
|
|
arr->Set(2, Nan::New<Number>(bounds.x + bounds.width));
|
|
arr->Set(3, Nan::New<Number>(bounds.y + bounds.height));
|
|
</code></pre>
|
|
<pre><code class="removed">- arr->Set(i, NanNew<Number>(pts[i].x));
|
|
arr->Set(i + 1, NanNew<Number>(pts[i].y));
|
|
</code></pre>
|
|
<pre><code class="added">+ arr->Set(i, Nan::New<Number>(pts[i].x));
|
|
arr->Set(i + 1, Nan::New<Number>(pts[i].y));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(arr);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(arr);
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/Calib3D.h</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- class Calib3D: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class Calib3D: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/CascadeClassifierWrap.cc</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- Persistent<FunctionTemplate> CascadeClassifierWrap::constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Persistent<FunctionTemplate> CascadeClassifierWrap::constructor;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<FunctionTemplate> ctor = NanNew<FunctionTemplate> (CascadeClassifierWrap::New);
|
|
NanAssignPersistent(constructor, ctor);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<FunctionTemplate> ctor = Nan::New<FunctionTemplate> (CascadeClassifierWrap::New);
|
|
constructor.Reset(ctor);
|
|
</code></pre>
|
|
<pre><code class="removed">- ctor->SetClassName(NanNew("CascadeClassifier"));
|
|
</code></pre>
|
|
<pre><code class="added">+ ctor->SetClassName(Nan::New("CascadeClassifier").ToLocalChecked());
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_PROTOTYPE_METHOD(ctor, "detectMultiScale", DetectMultiScale);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetPrototypeMethod(ctor, "detectMultiScale", DetectMultiScale);
|
|
</code></pre>
|
|
<pre><code class="removed">- target->Set(NanNew("CascadeClassifier"), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="added">+ target->Set(Nan::New("CascadeClassifier").ToLocalChecked(), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.This()->InternalFieldCount() == 0) {
|
|
NanThrowTypeError("Cannot instantiate without new");
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.This()->InternalFieldCount() == 0) {
|
|
Nan::ThrowTypeError("Cannot instantiate without new");
|
|
</code></pre>
|
|
<pre><code class="removed">- CascadeClassifierWrap *pt = new CascadeClassifierWrap(*args[0]);
|
|
pt->Wrap(args.This());
|
|
NanReturnValue( args.This() );
|
|
</code></pre>
|
|
<pre><code class="added">+ CascadeClassifierWrap *pt = new CascadeClassifierWrap(*info[0]);
|
|
pt->Wrap(info.This());
|
|
info.GetReturnValue().Set( info.This() );
|
|
</code></pre>
|
|
<pre><code class="removed">- filename = std::string(*NanAsciiString(fileName->ToString()));
|
|
</code></pre>
|
|
<pre><code class="added">+ filename = std::string(*Nan::Utf8String(fileName->ToString()));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowTypeError("Error loading file");
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowTypeError("Error loading file");
|
|
</code></pre>
|
|
<pre><code class="removed">- class AsyncDetectMultiScale: public NanAsyncWorker {
|
|
</code></pre>
|
|
<pre><code class="added">+ class AsyncDetectMultiScale: public Nan::AsyncWorker {
|
|
</code></pre>
|
|
<pre><code class="removed">- AsyncDetectMultiScale(NanCallback *callback, CascadeClassifierWrap *cc,
|
|
</code></pre>
|
|
<pre><code class="added">+ AsyncDetectMultiScale(Nan::Callback *callback, CascadeClassifierWrap *cc,
|
|
</code></pre>
|
|
<pre><code class="removed">- NanAsyncWorker(callback),
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::AsyncWorker(callback),
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local < v8::Array > arr = NanNew < v8::Array > (this->res.size());
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local < v8::Array > arr = Nan::New < v8::Array > (this->res.size());
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local < v8::Object > x = NanNew<v8::Object>();
|
|
x->Set(NanNew("x"), NanNew < Number > (this->res[i].x));
|
|
x->Set(NanNew("y"), NanNew < Number > (this->res[i].y));
|
|
x->Set(NanNew("width"), NanNew < Number > (this->res[i].width));
|
|
x->Set(NanNew("height"), NanNew < Number > (this->res[i].height));
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local < v8::Object > x = Nan::New<v8::Object>();
|
|
x->Set(Nan::New("x").ToLocalChecked(), Nan::New < Number > (this->res[i].x));
|
|
x->Set(Nan::New("y").ToLocalChecked(), Nan::New < Number > (this->res[i].y));
|
|
x->Set(Nan::New("width").ToLocalChecked(), Nan::New < Number > (this->res[i].width));
|
|
x->Set(Nan::New("height").ToLocalChecked(), Nan::New < Number > (this->res[i].height));
|
|
</code></pre>
|
|
<pre><code class="removed">- argv[0] = NanNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ argv[0] = Nan::Null();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- CascadeClassifierWrap *self = ObjectWrap::Unwrap<CascadeClassifierWrap> (args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ CascadeClassifierWrap *self = Nan::ObjectWrap::Unwrap<CascadeClassifierWrap> (info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() < 2) {
|
|
NanThrowTypeError("detectMultiScale takes at least 2 args");
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() < 2) {
|
|
Nan::ThrowTypeError("detectMultiScale takes at least 2 info");
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *im = ObjectWrap::Unwrap < Matrix > (args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *im = Nan::ObjectWrap::Unwrap < Matrix > (info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() > 2 && args[2]->IsNumber()) {
|
|
scale = args[2]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() > 2 && info[2]->IsNumber()) {
|
|
scale = info[2]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() > 3 && args[3]->IsInt32()) {
|
|
neighbors = args[3]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() > 3 && info[3]->IsInt32()) {
|
|
neighbors = info[3]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() > 5 && args[4]->IsInt32() && args[5]->IsInt32()) {
|
|
minw = args[4]->IntegerValue();
|
|
minh = args[5]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() > 5 && info[4]->IsInt32() && info[5]->IsInt32()) {
|
|
minw = info[4]->IntegerValue();
|
|
minh = info[5]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanCallback *callback = new NanCallback(cb.As<Function>());
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Callback *callback = new Nan::Callback(cb.As<Function>());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanAsyncQueueWorker( new AsyncDetectMultiScale(callback, self, im, scale,
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::AsyncQueueWorker( new AsyncDetectMultiScale(callback, self, im, scale,
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/CascadeClassifierWrap.h</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- class CascadeClassifierWrap: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class CascadeClassifierWrap: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="removed">- static Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ static Nan::Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/CamShift.h</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- class TrackedObject: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class TrackedObject: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="removed">- static Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ static Nan::Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/Constants.h</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- class Constants: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class Constants: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/Constants.cc</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- obj->Set(NanNew<String>(#C), NanNew<Integer>(C));
|
|
</code></pre>
|
|
<pre><code class="added">+ obj->Set(Nan::New<String>(#C), Nan::New<Integer>(C));
|
|
</code></pre>
|
|
<pre><code class="removed">- obj->Set(NanNew<String>(#C), NanNew<Integer>((int)(cv::C)));
|
|
</code></pre>
|
|
<pre><code class="added">+ obj->Set(Nan::New<String>(#C), Nan::New<Integer>((int)(cv::C)));
|
|
</code></pre>
|
|
<pre><code class="removed">- Persistent<Object> inner;
|
|
Local<Object> obj = NanNew<Object>();
|
|
NanAssignPersistent(inner, obj);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Persistent<Object> inner;
|
|
Local<Object> obj = Nan::New<Object>();
|
|
inner.Reset(obj);
|
|
</code></pre>
|
|
<pre><code class="removed">- target->Set(NanNew("Constants"), obj);
|
|
</code></pre>
|
|
<pre><code class="added">+ target->Set(Nan::New("Constants").ToLocalChecked(), obj);
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/Contours.cc</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- v8::Persistent<FunctionTemplate> Contour::constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Persistent<FunctionTemplate> Contour::constructor;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<FunctionTemplate> ctor = NanNew<FunctionTemplate>(Contour::New);
|
|
NanAssignPersistent(constructor, ctor);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<FunctionTemplate> ctor = Nan::New<FunctionTemplate>(Contour::New);
|
|
constructor.Reset(ctor);
|
|
</code></pre>
|
|
<pre><code class="removed">- ctor->SetClassName(NanNew("Contours"));
|
|
</code></pre>
|
|
<pre><code class="added">+ ctor->SetClassName(Nan::New("Contours").ToLocalChecked());
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_PROTOTYPE_METHOD(ctor, "point", Point);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "size", Size);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "cornerCount", CornerCount);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "area", Area);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "arcLength", ArcLength);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "approxPolyDP", ApproxPolyDP);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "convexHull", ConvexHull);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "boundingRect", BoundingRect);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "minAreaRect", MinAreaRect);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "fitEllipse", FitEllipse);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "isConvex", IsConvex);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "moments", Moments);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "hierarchy", Hierarchy);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "serialize", Serialize);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "deserialize", Deserialize);
|
|
target->Set(NanNew("Contours"), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetPrototypeMethod(ctor, "point", Point);
|
|
Nan::SetPrototypeMethod(ctor, "size", Size);
|
|
Nan::SetPrototypeMethod(ctor, "cornerCount", CornerCount);
|
|
Nan::SetPrototypeMethod(ctor, "area", Area);
|
|
Nan::SetPrototypeMethod(ctor, "arcLength", ArcLength);
|
|
Nan::SetPrototypeMethod(ctor, "approxPolyDP", ApproxPolyDP);
|
|
Nan::SetPrototypeMethod(ctor, "convexHull", ConvexHull);
|
|
Nan::SetPrototypeMethod(ctor, "boundingRect", BoundingRect);
|
|
Nan::SetPrototypeMethod(ctor, "minAreaRect", MinAreaRect);
|
|
Nan::SetPrototypeMethod(ctor, "fitEllipse", FitEllipse);
|
|
Nan::SetPrototypeMethod(ctor, "isConvex", IsConvex);
|
|
Nan::SetPrototypeMethod(ctor, "moments", Moments);
|
|
Nan::SetPrototypeMethod(ctor, "hierarchy", Hierarchy);
|
|
Nan::SetPrototypeMethod(ctor, "serialize", Serialize);
|
|
Nan::SetPrototypeMethod(ctor, "deserialize", Deserialize);
|
|
target->Set(Nan::New("Contours").ToLocalChecked(), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.This()->InternalFieldCount() == 0) {
|
|
NanThrowTypeError("Cannot instantiate without new");
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.This()->InternalFieldCount() == 0) {
|
|
Nan::ThrowTypeError("Cannot instantiate without new");
|
|
</code></pre>
|
|
<pre><code class="removed">- contours->Wrap(args.Holder());
|
|
NanReturnValue(args.Holder());
|
|
</code></pre>
|
|
<pre><code class="added">+ contours->Wrap(info.Holder());
|
|
info.GetReturnValue().Set(info.Holder());
|
|
</code></pre>
|
|
<pre><code class="removed">- ObjectWrap() {
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ObjectWrap() {
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Contour *self = ObjectWrap::Unwrap<Contour>(args.This());
|
|
int pos = args[0]->NumberValue();
|
|
int index = args[1]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Contour *self = Nan::ObjectWrap::Unwrap<Contour>(info.This());
|
|
int pos = info[0]->NumberValue();
|
|
int index = info[1]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> data = NanNew<Object>();
|
|
data->Set(NanNew("x"), NanNew<Number>(point.x));
|
|
data->Set(NanNew("y"), NanNew<Number>(point.y));
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> data = Nan::New<Object>();
|
|
data->Set(Nan::New("x").ToLocalChecked(), Nan::New<Number>(point.x));
|
|
data->Set(Nan::New("y").ToLocalChecked(), Nan::New<Number>(point.y));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(data);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(data);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Contour *self = ObjectWrap::Unwrap<Contour>(args.This());
|
|
int pos = args[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Contour *self = Nan::ObjectWrap::Unwrap<Contour>(info.This());
|
|
int pos = info[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Array> data = NanNew<Array>(points.size());
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Array> data = Nan::New<Array>(points.size());
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> point_data = NanNew<Object>();
|
|
point_data->Set(NanNew<String>("x"), NanNew<Number>(points[i].x));
|
|
point_data->Set(NanNew<String>("y"), NanNew<Number>(points[i].y));
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> point_data = Nan::New<Object>();
|
|
point_data->Set(Nan::New<String>("x").ToLocalChecked(), Nan::New<Number>(points[i].x));
|
|
point_data->Set(Nan::New<String>("y").ToLocalChecked(), Nan::New<Number>(points[i].y));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(data);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(data);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Contour *self = ObjectWrap::Unwrap<Contour>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Contour *self = Nan::ObjectWrap::Unwrap<Contour>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew<Number>(self->contours.size()));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New<Number>(self->contours.size()));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Contour *self = ObjectWrap::Unwrap<Contour>(args.This());
|
|
int pos = args[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Contour *self = Nan::ObjectWrap::Unwrap<Contour>(info.This());
|
|
int pos = info[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew<Number>(self->contours[pos].size()));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New<Number>(self->contours[pos].size()));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Contour *self = ObjectWrap::Unwrap<Contour>(args.This());
|
|
int pos = args[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Contour *self = Nan::ObjectWrap::Unwrap<Contour>(info.This());
|
|
int pos = info[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- // NanReturnValue(NanNew<Number>(contourArea(self->contours)));
|
|
NanReturnValue(NanNew<Number>(contourArea(cv::Mat(self->contours[pos]))));
|
|
</code></pre>
|
|
<pre><code class="added">+ // info.GetReturnValue().Set(Nan::New<Number>(contourArea(self->contours)));
|
|
info.GetReturnValue().Set(Nan::New<Number>(contourArea(cv::Mat(self->contours[pos]))));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Contour *self = ObjectWrap::Unwrap<Contour>(args.This());
|
|
int pos = args[0]->NumberValue();
|
|
bool isClosed = args[1]->BooleanValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Contour *self = Nan::ObjectWrap::Unwrap<Contour>(info.This());
|
|
int pos = info[0]->NumberValue();
|
|
bool isClosed = info[1]->BooleanValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew<Number>(arcLength(cv::Mat(self->contours[pos]), isClosed)));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New<Number>(arcLength(cv::Mat(self->contours[pos]), isClosed)));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Contour *self = ObjectWrap::Unwrap<Contour>(args.This());
|
|
int pos = args[0]->NumberValue();
|
|
double epsilon = args[1]->NumberValue();
|
|
bool isClosed = args[2]->BooleanValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Contour *self = Nan::ObjectWrap::Unwrap<Contour>(info.This());
|
|
int pos = info[0]->NumberValue();
|
|
double epsilon = info[1]->NumberValue();
|
|
bool isClosed = info[2]->BooleanValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Contour *self = ObjectWrap::Unwrap<Contour>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Contour *self = Nan::ObjectWrap::Unwrap<Contour>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- int pos = args[0]->NumberValue();
|
|
bool clockwise = args[1]->BooleanValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int pos = info[0]->NumberValue();
|
|
bool clockwise = info[1]->BooleanValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Contour *self = ObjectWrap::Unwrap<Contour>(args.This());
|
|
int pos = args[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Contour *self = Nan::ObjectWrap::Unwrap<Contour>(info.This());
|
|
int pos = info[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> rect = NanNew<Object>();
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> rect = Nan::New<Object>();
|
|
</code></pre>
|
|
<pre><code class="removed">- rect->Set(NanNew("x"), NanNew<Number>(bounding.x));
|
|
rect->Set(NanNew("y"), NanNew<Number>(bounding.y));
|
|
rect->Set(NanNew("width"), NanNew<Number>(bounding.width));
|
|
rect->Set(NanNew("height"), NanNew<Number>(bounding.height));
|
|
</code></pre>
|
|
<pre><code class="added">+ rect->Set(Nan::New("x").ToLocalChecked(), Nan::New<Number>(bounding.x));
|
|
rect->Set(Nan::New("y").ToLocalChecked(), Nan::New<Number>(bounding.y));
|
|
rect->Set(Nan::New("width").ToLocalChecked(), Nan::New<Number>(bounding.width));
|
|
rect->Set(Nan::New("height").ToLocalChecked(), Nan::New<Number>(bounding.height));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(rect);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(rect);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Contour *self = ObjectWrap::Unwrap<Contour>(args.This());
|
|
int pos = args[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Contour *self = Nan::ObjectWrap::Unwrap<Contour>(info.This());
|
|
int pos = info[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> rect = NanNew<Object>();
|
|
rect->Set(NanNew("angle"), NanNew<Number>(minimum.angle));
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> rect = Nan::New<Object>();
|
|
rect->Set(Nan::New("angle").ToLocalChecked(), Nan::New<Number>(minimum.angle));
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> size = NanNew<Object>();
|
|
size->Set(NanNew("height"), NanNew<Number>(minimum.size.height));
|
|
size->Set(NanNew("width"), NanNew<Number>(minimum.size.width));
|
|
rect->Set(NanNew("size"), size);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> size = Nan::New<Object>();
|
|
size->Set(Nan::New("height").ToLocalChecked(), Nan::New<Number>(minimum.size.height));
|
|
size->Set(Nan::New("width").ToLocalChecked(), Nan::New<Number>(minimum.size.width));
|
|
rect->Set(Nan::New("size").ToLocalChecked(), size);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> center = NanNew<Object>();
|
|
center->Set(NanNew("x"), NanNew<Number>(minimum.center.x));
|
|
center->Set(NanNew("y"), NanNew<Number>(minimum.center.y));
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> center = Nan::New<Object>();
|
|
center->Set(Nan::New("x").ToLocalChecked(), Nan::New<Number>(minimum.center.x));
|
|
center->Set(Nan::New("y").ToLocalChecked(), Nan::New<Number>(minimum.center.y));
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local<v8::Array> points = NanNew<Array>(4);
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local<v8::Array> points = Nan::New<Array>(4);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> point = NanNew<Object>();
|
|
point->Set(NanNew("x"), NanNew<Number>(rect_points[i].x));
|
|
point->Set(NanNew("y"), NanNew<Number>(rect_points[i].y));
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> point = Nan::New<Object>();
|
|
point->Set(Nan::New("x").ToLocalChecked(), Nan::New<Number>(rect_points[i].x));
|
|
point->Set(Nan::New("y").ToLocalChecked(), Nan::New<Number>(rect_points[i].y));
|
|
</code></pre>
|
|
<pre><code class="removed">- rect->Set(NanNew("points"), points);
|
|
</code></pre>
|
|
<pre><code class="added">+ rect->Set(Nan::New("points").ToLocalChecked(), points);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(rect);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(rect);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Contour *self = ObjectWrap::Unwrap<Contour>(args.This());
|
|
int pos = args[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Contour *self = Nan::ObjectWrap::Unwrap<Contour>(info.This());
|
|
int pos = info[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> jsEllipse = NanNew<Object>();
|
|
jsEllipse->Set(NanNew("angle"), NanNew<Number>(ellipse.angle));
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> jsEllipse = Nan::New<Object>();
|
|
jsEllipse->Set(Nan::New("angle").ToLocalChecked(), Nan::New<Number>(ellipse.angle));
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> size = NanNew<Object>();
|
|
size->Set(NanNew("height"), NanNew<Number>(ellipse.size.height));
|
|
size->Set(NanNew("width"), NanNew<Number>(ellipse.size.width));
|
|
jsEllipse->Set(NanNew("size"), size);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> size = Nan::New<Object>();
|
|
size->Set(Nan::New("height").ToLocalChecked(), Nan::New<Number>(ellipse.size.height));
|
|
size->Set(Nan::New("width").ToLocalChecked(), Nan::New<Number>(ellipse.size.width));
|
|
jsEllipse->Set(Nan::New("size").ToLocalChecked(), size);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> center = NanNew<Object>();
|
|
center->Set(NanNew("x"), NanNew<Number>(ellipse.center.x));
|
|
center->Set(NanNew("y"), NanNew<Number>(ellipse.center.y));
|
|
jsEllipse->Set(NanNew("center"), center);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> center = Nan::New<Object>();
|
|
center->Set(Nan::New("x").ToLocalChecked(), Nan::New<Number>(ellipse.center.x));
|
|
center->Set(Nan::New("y").ToLocalChecked(), Nan::New<Number>(ellipse.center.y));
|
|
jsEllipse->Set(Nan::New("center").ToLocalChecked(), center);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(jsEllipse);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(jsEllipse);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Contour *self = ObjectWrap::Unwrap<Contour>(args.This());
|
|
int pos = args[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Contour *self = Nan::ObjectWrap::Unwrap<Contour>(info.This());
|
|
int pos = info[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew<Boolean>(isContourConvex(cv::Mat(self->contours[pos]))));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New<Boolean>(isContourConvex(cv::Mat(self->contours[pos]))));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Contour *self = ObjectWrap::Unwrap<Contour>(args.This());
|
|
int pos = args[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Contour *self = Nan::ObjectWrap::Unwrap<Contour>(info.This());
|
|
int pos = info[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> res = NanNew<Object>();
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> res = Nan::New<Object>();
|
|
</code></pre>
|
|
<pre><code class="removed">- res->Set(NanNew("m00"), NanNew<Number>(mu.m00));
|
|
res->Set(NanNew("m10"), NanNew<Number>(mu.m10));
|
|
res->Set(NanNew("m01"), NanNew<Number>(mu.m01));
|
|
res->Set(NanNew("m11"), NanNew<Number>(mu.m11));
|
|
</code></pre>
|
|
<pre><code class="added">+ res->Set(Nan::New("m00").ToLocalChecked(), Nan::New<Number>(mu.m00));
|
|
res->Set(Nan::New("m10").ToLocalChecked(), Nan::New<Number>(mu.m10));
|
|
res->Set(Nan::New("m01").ToLocalChecked(), Nan::New<Number>(mu.m01));
|
|
res->Set(Nan::New("m11").ToLocalChecked(), Nan::New<Number>(mu.m11));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(res);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(res);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Contour *self = ObjectWrap::Unwrap<Contour>(args.This());
|
|
int pos = args[0]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Contour *self = Nan::ObjectWrap::Unwrap<Contour>(info.This());
|
|
int pos = info[0]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Array> res = NanNew<Array>(4);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Array> res = Nan::New<Array>(4);
|
|
</code></pre>
|
|
<pre><code class="removed">- res->Set(0, NanNew<Number>(hierarchy[0]));
|
|
res->Set(1, NanNew<Number>(hierarchy[1]));
|
|
res->Set(2, NanNew<Number>(hierarchy[2]));
|
|
res->Set(3, NanNew<Number>(hierarchy[3]));
|
|
</code></pre>
|
|
<pre><code class="added">+ res->Set(0, Nan::New<Number>(hierarchy[0]));
|
|
res->Set(1, Nan::New<Number>(hierarchy[1]));
|
|
res->Set(2, Nan::New<Number>(hierarchy[2]));
|
|
res->Set(3, Nan::New<Number>(hierarchy[3]));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(res);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(res);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Contour *self = ObjectWrap::Unwrap<Contour>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Contour *self = Nan::ObjectWrap::Unwrap<Contour>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Array> contours_data = NanNew<Array>(self->contours.size());
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Array> contours_data = Nan::New<Array>(self->contours.size());
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Array> contour_data = NanNew<Array>(points.size());
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Array> contour_data = Nan::New<Array>(points.size());
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Array> point_data = NanNew<Array>(2);
|
|
point_data->Set(0, NanNew<Number>(points[j].x));
|
|
point_data->Set(1, NanNew<Number>(points[j].y));
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Array> point_data = Nan::New<Array>(2);
|
|
point_data->Set(0, Nan::New<Number>(points[j].x));
|
|
point_data->Set(1, Nan::New<Number>(points[j].y));
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Array> hierarchy_data = NanNew<Array>(self->hierarchy.size());
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Array> hierarchy_data = Nan::New<Array>(self->hierarchy.size());
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Array> contour_data = NanNew<Array>(4);
|
|
contour_data->Set(0, NanNew<Number>(self->hierarchy[i][0]));
|
|
contour_data->Set(1, NanNew<Number>(self->hierarchy[i][1]));
|
|
contour_data->Set(2, NanNew<Number>(self->hierarchy[i][2]));
|
|
contour_data->Set(3, NanNew<Number>(self->hierarchy[i][3]));
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Array> contour_data = Nan::New<Array>(4);
|
|
contour_data->Set(0, Nan::New<Number>(self->hierarchy[i][0]));
|
|
contour_data->Set(1, Nan::New<Number>(self->hierarchy[i][1]));
|
|
contour_data->Set(2, Nan::New<Number>(self->hierarchy[i][2]));
|
|
contour_data->Set(3, Nan::New<Number>(self->hierarchy[i][3]));
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> data = NanNew<Object>();
|
|
data->Set(NanNew<String>("contours"), contours_data);
|
|
data->Set(NanNew<String>("hierarchy"), hierarchy_data);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> data = Nan::New<Object>();
|
|
data->Set(Nan::New<String>("contours").ToLocalChecked(), contours_data);
|
|
data->Set(Nan::New<String>("hierarchy").ToLocalChecked(), hierarchy_data);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(data);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(data);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Contour *self = ObjectWrap::Unwrap<Contour>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Contour *self = Nan::ObjectWrap::Unwrap<Contour>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- Handle<Object> data = Handle<Object>::Cast(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ Handle<Object> data = Handle<Object>::Cast(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- Handle<Array> contours_data = Handle<Array>::Cast(data->Get(NanNew<String>("contours")));
|
|
Handle<Array> hierarchy_data = Handle<Array>::Cast(data->Get(NanNew<String>("hierarchy")));
|
|
</code></pre>
|
|
<pre><code class="added">+ Handle<Array> contours_data = Handle<Array>::Cast(data->Get(Nan::New<String>("contours").ToLocalChecked()));
|
|
Handle<Array> hierarchy_data = Handle<Array>::Cast(data->Get(Nan::New<String>("hierarchy").ToLocalChecked()));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/Contours.h</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- class Contour: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class Contour: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="removed">- static Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ static Nan::Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/FaceRecognizer.cc</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- std::string filename = std::string(*NanAsciiString(v->ToString()));
|
|
</code></pre>
|
|
<pre><code class="added">+ std::string filename = std::string(*Nan::Utf8String(v->ToString()));
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *img = ObjectWrap::Unwrap<Matrix>(v->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *img = Nan::ObjectWrap::Unwrap<Matrix>(v->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- Persistent<FunctionTemplate> FaceRecognizerWrap::constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Persistent<FunctionTemplate> FaceRecognizerWrap::constructor;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<FunctionTemplate> ctor = NanNew<FunctionTemplate>(FaceRecognizerWrap::New);
|
|
NanAssignPersistent(constructor, ctor);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<FunctionTemplate> ctor = Nan::New<FunctionTemplate>(FaceRecognizerWrap::New);
|
|
constructor.Reset(ctor);
|
|
</code></pre>
|
|
<pre><code class="removed">- ctor->SetClassName(NanNew("FaceRecognizer"));
|
|
</code></pre>
|
|
<pre><code class="added">+ ctor->SetClassName(Nan::New("FaceRecognizer").ToLocalChecked());
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_METHOD(ctor, "createLBPHFaceRecognizer", CreateLBPH);
|
|
NODE_SET_METHOD(ctor, "createEigenFaceRecognizer", CreateEigen);
|
|
NODE_SET_METHOD(ctor, "createFisherFaceRecognizer", CreateFisher);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetMethod(ctor, "createLBPHFaceRecognizer", CreateLBPH);
|
|
Nan::SetMethod(ctor, "createEigenFaceRecognizer", CreateEigen);
|
|
Nan::SetMethod(ctor, "createFisherFaceRecognizer", CreateFisher);
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_PROTOTYPE_METHOD(ctor, "trainSync", TrainSync);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "updateSync", UpdateSync);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "predictSync", PredictSync);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "saveSync", SaveSync);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "loadSync", LoadSync);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetPrototypeMethod(ctor, "trainSync", TrainSync);
|
|
Nan::SetPrototypeMethod(ctor, "updateSync", UpdateSync);
|
|
Nan::SetPrototypeMethod(ctor, "predictSync", PredictSync);
|
|
Nan::SetPrototypeMethod(ctor, "saveSync", SaveSync);
|
|
Nan::SetPrototypeMethod(ctor, "loadSync", LoadSync);
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_PROTOTYPE_METHOD(ctor, "getMat", GetMat);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetPrototypeMethod(ctor, "getMat", GetMat);
|
|
</code></pre>
|
|
<pre><code class="removed">- target->Set(NanNew("FaceRecognizer"), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="added">+ target->Set(Nan::New("FaceRecognizer").ToLocalChecked(), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.This()->InternalFieldCount() == 0) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.This()->InternalFieldCount() == 0) {
|
|
</code></pre>
|
|
<pre><code class="removed">- pt->Wrap(args.This());
|
|
NanReturnValue(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ pt->Wrap(info.This());
|
|
info.GetReturnValue().Set(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> n = NanNew(FaceRecognizerWrap::constructor)->GetFunction()->NewInstance();
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> n = Nan::New(FaceRecognizerWrap::constructor)->GetFunction()->NewInstance();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue( n );
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set( n );
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> n = NanNew(FaceRecognizerWrap::constructor)->GetFunction()->NewInstance();
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> n = Nan::New(FaceRecognizerWrap::constructor)->GetFunction()->NewInstance();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue( n );
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set( n );
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> n = NanNew(FaceRecognizerWrap::constructor)->GetFunction()->NewInstance();
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> n = Nan::New(FaceRecognizerWrap::constructor)->GetFunction()->NewInstance();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue( n );
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set( n );
|
|
</code></pre>
|
|
<pre><code class="removed">- Handle<Value> UnwrapTrainingData(_NAN_METHOD_ARGS_TYPE args,
|
|
</code></pre>
|
|
<pre><code class="added">+ Handle<Value> UnwrapTrainingData(Nan::NAN_METHOD_ARGS_TYPE info,
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() < 1 || !args[0]->IsArray()) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() < 1 || !info[0]->IsArray()) {
|
|
</code></pre>
|
|
<pre><code class="removed">- // const Local<Array> tuples = v8::Array::Cast(*args[0]);
|
|
const Local<Array> tuples = Local<Array>::Cast(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ // const Local<Array> tuples = v8::Array::Cast(*info[0]);
|
|
const Local<Array> tuples = Local<Array>::Cast(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- return NanUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return Nan::Undefined();
|
|
</code></pre>
|
|
<pre><code class="removed">- Handle<Value> exception = UnwrapTrainingData(args, &images, &labels);
|
|
</code></pre>
|
|
<pre><code class="added">+ Handle<Value> exception = UnwrapTrainingData(info, &images, &labels);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(exception); // FIXME: not too sure about returning exceptions like this
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(exception); // FIXME: not too sure about returning exceptions like this
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- Handle<Value> exception = UnwrapTrainingData(args, &images, &labels);
|
|
</code></pre>
|
|
<pre><code class="added">+ Handle<Value> exception = UnwrapTrainingData(info, &images, &labels);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat im = fromMatrixOrFilename(args[0]); // TODO CHECK!
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat im = fromMatrixOrFilename(info[0]); // TODO CHECK!
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local<v8::Object> res = NanNew<Object>();
|
|
res->Set(NanNew("id"), NanNew<Number>(predictedLabel));
|
|
res->Set(NanNew("confidence"), NanNew<Number>(confidence));
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local<v8::Object> res = Nan::New<Object>();
|
|
res->Set(Nan::New("id").ToLocalChecked(), Nan::New<Number>(predictedLabel));
|
|
res->Set(Nan::New("confidence").ToLocalChecked(), Nan::New<Number>(confidence));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(res);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(res);
|
|
</code></pre>
|
|
<pre><code class="removed">- if (!args[0]->IsString()) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (!info[0]->IsString()) {
|
|
</code></pre>
|
|
<pre><code class="removed">- std::string filename = std::string(*NanAsciiString(args[0]->ToString()));
|
|
</code></pre>
|
|
<pre><code class="added">+ std::string filename = std::string(*Nan::Utf8String(info[0]->ToString()));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (!args[0]->IsString()) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (!info[0]->IsString()) {
|
|
</code></pre>
|
|
<pre><code class="removed">- std::string filename = std::string(*NanAsciiString(args[0]->ToString()));
|
|
</code></pre>
|
|
<pre><code class="added">+ std::string filename = std::string(*Nan::Utf8String(info[0]->ToString()));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (!args[0]->IsString()) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (!info[0]->IsString()) {
|
|
</code></pre>
|
|
<pre><code class="removed">- std::string key = std::string(*NanAsciiString(args[0]->ToString()));
|
|
</code></pre>
|
|
<pre><code class="added">+ std::string key = std::string(*Nan::Utf8String(info[0]->ToString()));
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> im = NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = ObjectWrap::Unwrap<Matrix>(im);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> im = Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = Nan::ObjectWrap::Unwrap<Matrix>(im);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(im);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(im);
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/FaceRecognizer.h</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- class FaceRecognizerWrap: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class FaceRecognizerWrap: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="removed">- static Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ static Nan::Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/Features2d.cc</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_METHOD(target, "ImageSimilarity", Similarity);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetMethod(target, "ImageSimilarity", Similarity);
|
|
</code></pre>
|
|
<pre><code class="removed">- class AsyncDetectSimilarity: public NanAsyncWorker {
|
|
</code></pre>
|
|
<pre><code class="added">+ class AsyncDetectSimilarity: public Nan::AsyncWorker {
|
|
</code></pre>
|
|
<pre><code class="removed">- AsyncDetectSimilarity(NanCallback *callback, cv::Mat image1, cv::Mat image2) :
|
|
NanAsyncWorker(callback),
|
|
</code></pre>
|
|
<pre><code class="added">+ AsyncDetectSimilarity(Nan::Callback *callback, cv::Mat image1, cv::Mat image2) :
|
|
Nan::AsyncWorker(callback),
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- argv[0] = NanNull();
|
|
argv[1] = NanNew<Number>(dissimilarity);
|
|
</code></pre>
|
|
<pre><code class="added">+ argv[0] = Nan::Null();
|
|
argv[1] = Nan::New<Number>(dissimilarity);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- cv::Mat image1 = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject())->mat;
|
|
cv::Mat image2 = ObjectWrap::Unwrap<Matrix>(args[1]->ToObject())->mat;
|
|
</code></pre>
|
|
<pre><code class="added">+ cv::Mat image1 = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject())->mat;
|
|
cv::Mat image2 = Nan::ObjectWrap::Unwrap<Matrix>(info[1]->ToObject())->mat;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanCallback *callback = new NanCallback(cb.As<Function>());
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Callback *callback = new Nan::Callback(cb.As<Function>());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanAsyncQueueWorker( new AsyncDetectSimilarity(callback, image1, image2) );
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::AsyncQueueWorker( new AsyncDetectSimilarity(callback, image1, image2) );
|
|
return;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/Features2d.h</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- class Features: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class Features: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="removed">- static Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ static Nan::Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/HighGUI.cc</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- Persistent<FunctionTemplate> NamedWindow::constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Persistent<FunctionTemplate> NamedWindow::constructor;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<FunctionTemplate> ctor = NanNew<FunctionTemplate>(NamedWindow::New);
|
|
NanAssignPersistent(constructor, ctor);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<FunctionTemplate> ctor = Nan::New<FunctionTemplate>(NamedWindow::New);
|
|
constructor.Reset(ctor);
|
|
</code></pre>
|
|
<pre><code class="removed">- ctor->SetClassName(NanNew("NamedWindow"));
|
|
</code></pre>
|
|
<pre><code class="added">+ ctor->SetClassName(Nan::New("NamedWindow").ToLocalChecked());
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_PROTOTYPE_METHOD(ctor, "show", Show);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "destroy", Destroy);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "blockingWaitKey", BlockingWaitKey);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetPrototypeMethod(ctor, "show", Show);
|
|
Nan::SetPrototypeMethod(ctor, "destroy", Destroy);
|
|
Nan::SetPrototypeMethod(ctor, "blockingWaitKey", BlockingWaitKey);
|
|
</code></pre>
|
|
<pre><code class="removed">- target->Set(NanNew("NamedWindow"), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="added">+ target->Set(Nan::New("NamedWindow").ToLocalChecked(), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.This()->InternalFieldCount() == 0) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.This()->InternalFieldCount() == 0) {
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() == 1) {
|
|
win = new NamedWindow(std::string(*NanAsciiString(args[0]->ToString())), 0);
|
|
} else { //if (args.Length() == 2){
|
|
win = new NamedWindow(std::string(*NanAsciiString(args[0]->ToString())), 0);
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() == 1) {
|
|
win = new NamedWindow(std::string(*Nan::Utf8String(info[0]->ToString())), 0);
|
|
} else { //if (info.Length() == 2){
|
|
win = new NamedWindow(std::string(*Nan::Utf8String(info[0]->ToString())), 0);
|
|
</code></pre>
|
|
<pre><code class="removed">- win->Wrap(args.Holder());
|
|
NanReturnValue(args.Holder());
|
|
</code></pre>
|
|
<pre><code class="added">+ win->Wrap(info.Holder());
|
|
info.GetReturnValue().Set(info.Holder());
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *im = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *im = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(args.Holder());
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(info.Holder());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(args.Holder());
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(info.Holder());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() > 1) {
|
|
time = args[1]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() > 1) {
|
|
time = info[1]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() > 0) {
|
|
time = args[0]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() > 0) {
|
|
time = info[0]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew<Number>(res));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New<Number>(res));
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/HighGUI.h</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- class NamedWindow: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class NamedWindow: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="removed">- static Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ static Nan::Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/ImgProc.cc</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- Persistent<Object> inner;
|
|
Local<Object> obj = NanNew<Object>();
|
|
NanAssignPersistent(inner, obj);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Persistent<Object> inner;
|
|
Local<Object> obj = Nan::New<Object>();
|
|
inner.Reset(obj);
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_METHOD(obj, "undistort", Undistort);
|
|
NODE_SET_METHOD(obj, "initUndistortRectifyMap", InitUndistortRectifyMap);
|
|
NODE_SET_METHOD(obj, "remap", Remap);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetMethod(obj, "undistort", Undistort);
|
|
Nan::SetMethod(obj, "initUndistortRectifyMap", InitUndistortRectifyMap);
|
|
Nan::SetMethod(obj, "remap", Remap);
|
|
</code></pre>
|
|
<pre><code class="removed">- target->Set(NanNew("imgproc"), obj);
|
|
</code></pre>
|
|
<pre><code class="added">+ target->Set(Nan::New("imgproc").ToLocalChecked(), obj);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanEscapableScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::EscapableHandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m0 = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m0 = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m1 = ObjectWrap::Unwrap<Matrix>(args[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m1 = Nan::ObjectWrap::Unwrap<Matrix>(info[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m2 = ObjectWrap::Unwrap<Matrix>(args[2]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m2 = Nan::ObjectWrap::Unwrap<Matrix>(info[2]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> outMatrixWrap = NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *outMatrix = ObjectWrap::Unwrap<Matrix>(outMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> outMatrixWrap = Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *outMatrix = Nan::ObjectWrap::Unwrap<Matrix>(outMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(outMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(outMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanEscapableScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::EscapableHandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m0 = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m0 = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m1 = ObjectWrap::Unwrap<Matrix>(args[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m1 = Nan::ObjectWrap::Unwrap<Matrix>(info[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m2 = ObjectWrap::Unwrap<Matrix>(args[2]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m2 = Nan::ObjectWrap::Unwrap<Matrix>(info[2]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m3 = ObjectWrap::Unwrap<Matrix>(args[3]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m3 = Nan::ObjectWrap::Unwrap<Matrix>(info[3]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[4]->IsArray()) {
|
|
Local<Object> v8sz = args[4]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[4]->IsArray()) {
|
|
Local<Object> v8sz = info[4]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- int m1type = args[5]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int m1type = info[5]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> map1Wrap = NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *map1Matrix = ObjectWrap::Unwrap<Matrix>(map1Wrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> map1Wrap = Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *map1Matrix = Nan::ObjectWrap::Unwrap<Matrix>(map1Wrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> map2Wrap = NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *map2Matrix = ObjectWrap::Unwrap<Matrix>(map2Wrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> map2Wrap = Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *map2Matrix = Nan::ObjectWrap::Unwrap<Matrix>(map2Wrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> ret = NanNew<Object>();
|
|
ret->Set(NanNew<String>("map1"), map1Wrap);
|
|
ret->Set(NanNew<String>("map2"), map2Wrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> ret = Nan::New<Object>();
|
|
ret->Set(Nan::New<String>("map1").ToLocalChecked(), map1Wrap);
|
|
ret->Set(Nan::New<String>("map2").ToLocalChecked(), map2Wrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(ret);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(ret);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanEscapableScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::EscapableHandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m0 = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m0 = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m1 = ObjectWrap::Unwrap<Matrix>(args[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m1 = Nan::ObjectWrap::Unwrap<Matrix>(info[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m2 = ObjectWrap::Unwrap<Matrix>(args[2]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m2 = Nan::ObjectWrap::Unwrap<Matrix>(info[2]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- int interpolation = args[3]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int interpolation = info[3]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> outMatrixWrap = NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *outMatrix = ObjectWrap::Unwrap<Matrix>(outMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> outMatrixWrap = Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *outMatrix = Nan::ObjectWrap::Unwrap<Matrix>(outMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(outMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(outMatrixWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
return;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/ImgProc.h</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- class ImgProc: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class ImgProc: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/Matrix.h</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- class Matrix: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class Matrix: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="removed">- static Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ static Nan::Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
<pre><code class="removed">- static Handle<Value> Val(const Arguments& args);
|
|
static Handle<Value> RowRange(const Arguments& args);
|
|
static Handle<Value> ColRange(const Arguments& args);
|
|
static Handle<Value> Diag(const Arguments& args);
|
|
static Handle<Value> Clone(const Arguments& args);
|
|
static Handle<Value> CopyTo(const Arguments& args);
|
|
static Handle<Value> ConvertTo(const Arguments& args);
|
|
static Handle<Value> AssignTo(const Arguments& args);
|
|
static Handle<Value> SetTo(const Arguments& args);
|
|
static Handle<Value> Reshape(const Arguments& args);
|
|
static Handle<Value> Transpose(const Arguments& args);
|
|
static Handle<Value> Invert(const Arguments& args);
|
|
static Handle<Value> Multiply(const Arguments& args);
|
|
static Handle<Value> Cross(const Arguments& args);
|
|
static Handle<Value> Dot(const Arguments& args);
|
|
static Handle<Value> Zeroes(const Arguments& args);
|
|
static Handle<Value> Ones(const Arguments& args);
|
|
</code></pre>
|
|
<pre><code class="added">+ static Handle<Value> Val(const Arguments& info);
|
|
static Handle<Value> RowRange(const Arguments& info);
|
|
static Handle<Value> ColRange(const Arguments& info);
|
|
static Handle<Value> Diag(const Arguments& info);
|
|
static Handle<Value> Clone(const Arguments& info);
|
|
static Handle<Value> CopyTo(const Arguments& info);
|
|
static Handle<Value> ConvertTo(const Arguments& info);
|
|
static Handle<Value> AssignTo(const Arguments& info);
|
|
static Handle<Value> SetTo(const Arguments& info);
|
|
static Handle<Value> Reshape(const Arguments& info);
|
|
static Handle<Value> Transpose(const Arguments& info);
|
|
static Handle<Value> Invert(const Arguments& info);
|
|
static Handle<Value> Multiply(const Arguments& info);
|
|
static Handle<Value> Cross(const Arguments& info);
|
|
static Handle<Value> Dot(const Arguments& info);
|
|
static Handle<Value> Zeroes(const Arguments& info);
|
|
static Handle<Value> Ones(const Arguments& info);
|
|
</code></pre>
|
|
<pre><code class="removed">- static Handle<Value> PushBack(const Arguments& args);
|
|
static Handle<Value> PopBack(const Arguments& args);
|
|
static Handle<Value> Total(const Arguments& args);
|
|
static Handle<Value> IsContinous(const Arguments& args);
|
|
static Handle<Value> Type(const Arguments& args);
|
|
static Handle<Value> Depth(const Arguments& args);
|
|
static Handle<Value> Channels(const Arguments& args);
|
|
static Handle<Value> StepOne(const Arguments& args);
|
|
static Handle<Value> GetPerspectiveTransform(const Arguments& args);
|
|
static Handle<Value> WarpPerspective(const Arguments& args);
|
|
</code></pre>
|
|
<pre><code class="added">+ static Handle<Value> PushBack(const Arguments& info);
|
|
static Handle<Value> PopBack(const Arguments& info);
|
|
static Handle<Value> Total(const Arguments& info);
|
|
static Handle<Value> IsContinous(const Arguments& info);
|
|
static Handle<Value> Type(const Arguments& info);
|
|
static Handle<Value> Depth(const Arguments& info);
|
|
static Handle<Value> Channels(const Arguments& info);
|
|
static Handle<Value> StepOne(const Arguments& info);
|
|
static Handle<Value> GetPerspectiveTransform(const Arguments& info);
|
|
static Handle<Value> WarpPerspective(const Arguments& info);
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/OpenCV.cc</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- target->Set(NanNew<String>("version"), NanNew<String>(out, n));
|
|
</code></pre>
|
|
<pre><code class="added">+ target->Set(Nan::New<String>("version").ToLocalChecked(), Nan::New<String>(out, n));
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_METHOD(target, "readImage", ReadImage);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetMethod(target, "readImage", ReadImage);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanEscapableScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::EscapableHandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- argv[0] = NanNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ argv[0] = Nan::Null();
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> im_h = NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = ObjectWrap::Unwrap<Matrix>(im_h);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> im_h = Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = Nan::ObjectWrap::Unwrap<Matrix>(im_h);
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[0]->IsNumber() && args[1]->IsNumber()) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[0]->IsNumber() && info[1]->IsNumber()) {
|
|
</code></pre>
|
|
<pre><code class="removed">- width = args[0]->Uint32Value();
|
|
height = args[1]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ width = info[0]->Uint32Value();
|
|
height = info[1]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- } else if (args[0]->IsString()) {
|
|
std::string filename = std::string(*NanUtf8String(args[0]->ToString()));
|
|
</code></pre>
|
|
<pre><code class="added">+ } else if (info[0]->IsString()) {
|
|
std::string filename = std::string(*Nan::Utf8String(info[0]->ToString()));
|
|
</code></pre>
|
|
<pre><code class="removed">- } else if (Buffer::HasInstance(args[0])) {
|
|
uint8_t *buf = (uint8_t *) Buffer::Data(args[0]->ToObject());
|
|
unsigned len = Buffer::Length(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ } else if (Buffer::HasInstance(info[0])) {
|
|
uint8_t *buf = (uint8_t *) Buffer::Data(info[0]->ToObject());
|
|
unsigned len = Buffer::Length(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- argv[0] = NanError("Error loading file");
|
|
</code></pre>
|
|
<pre><code class="added">+ argv[0] = Nan::Error("Error loading file");
|
|
</code></pre>
|
|
<pre><code class="removed">- argv[0] = NanError(e.what());
|
|
argv[1] = NanNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ argv[0] = Nan::Error(e.what());
|
|
argv[1] = Nan::Null();
|
|
</code></pre>
|
|
<pre><code class="removed">- cb->Call(NanGetCurrentContext()->Global(), 2, argv);
|
|
</code></pre>
|
|
<pre><code class="added">+ cb->Call(Nan::GetCurrentContext()->Global(), 2, argv);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/OpenCV.h</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- if (args.Length() <= (I) || !args[I]->IsFunction()) \
|
|
return NanThrowTypeError("Argument " #I " must be a function"); \
|
|
Local<Function> VAR = Local<Function>::Cast(args[I]);
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() <= (I) || !info[I]->IsFunction()) \
|
|
return Nan::ThrowTypeError("Argument " #I " must be a function"); \
|
|
Local<Function> VAR = Local<Function>::Cast(info[I]);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope(); \
|
|
TYP *self = ObjectWrap::Unwrap<TYP>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope; \
|
|
TYP *self = Nan::ObjectWrap::Unwrap<TYP>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowTypeError( ERR );
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowTypeError( ERR );
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError( ERR );
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError( ERR );
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[IND]->IsInt32()){ \
|
|
NAME = args[IND]->Uint32Value(); \
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[IND]->IsInt32()){ \
|
|
NAME = info[IND]->Uint32Value(); \
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[IND]->IsInt32()){ \
|
|
NAME = args[IND]->NumberValue(); \
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[IND]->IsInt32()){ \
|
|
NAME = info[IND]->NumberValue(); \
|
|
</code></pre>
|
|
<pre><code class="removed">- class OpenCV: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class OpenCV: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/Matrix.cc</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- v8::Persistent<FunctionTemplate> Matrix::constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Persistent<FunctionTemplate> Matrix::constructor;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<FunctionTemplate> ctor = NanNew<FunctionTemplate>(Matrix::New);
|
|
NanAssignPersistent(constructor, ctor);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<FunctionTemplate> ctor = Nan::New<FunctionTemplate>(Matrix::New);
|
|
constructor.Reset(ctor);
|
|
</code></pre>
|
|
<pre><code class="removed">- ctor->SetClassName(NanNew("Matrix"));
|
|
</code></pre>
|
|
<pre><code class="added">+ ctor->SetClassName(Nan::New("Matrix").ToLocalChecked());
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_PROTOTYPE_METHOD(ctor, "row", Row);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "col", Col);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "pixelRow", PixelRow);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "pixelCol", PixelCol);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "empty", Empty);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "get", Get);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "set", Set);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "put", Put);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "brightness", Brightness);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "normalize", Normalize);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "getData", GetData);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "pixel", Pixel);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "width", Width);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "height", Height);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "size", Size);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "clone", Clone);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "crop", Crop);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "toBuffer", ToBuffer);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "toBufferAsync", ToBufferAsync);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "ellipse", Ellipse);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "rectangle", Rectangle);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "line", Line);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "fillPoly", FillPoly);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "save", Save);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "saveAsync", SaveAsync);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "resize", Resize);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "rotate", Rotate);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "copyTo", CopyTo);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "pyrDown", PyrDown);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "pyrUp", PyrUp);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "channels", Channels);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "convertGrayscale", ConvertGrayscale);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "convertHSVscale", ConvertHSVscale);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "gaussianBlur", GaussianBlur);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "medianBlur", MedianBlur);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "bilateralFilter", BilateralFilter);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "copy", Copy);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "flip", Flip);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "roi", ROI);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "ptr", Ptr);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "absDiff", AbsDiff);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "addWeighted", AddWeighted);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "bitwiseXor", BitwiseXor);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "bitwiseNot", BitwiseNot);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "bitwiseAnd", BitwiseAnd);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "countNonZero", CountNonZero);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "canny", Canny);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "dilate", Dilate);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "erode", Erode);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "findContours", FindContours);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "drawContour", DrawContour);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "drawAllContours", DrawAllContours);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "goodFeaturesToTrack", GoodFeaturesToTrack);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "houghLinesP", HoughLinesP);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "crop", Crop);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "houghCircles", HoughCircles);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "inRange", inRange);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "adjustROI", AdjustROI);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "locateROI", LocateROI);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "threshold", Threshold);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "adaptiveThreshold", AdaptiveThreshold);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "meanStdDev", MeanStdDev);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "cvtColor", CvtColor);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "split", Split);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "merge", Merge);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "equalizeHist", EqualizeHist);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "floodFill", FloodFill);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "matchTemplate", MatchTemplate);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "templateMatches", TemplateMatches);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "minMaxLoc", MinMaxLoc);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "pushBack", PushBack);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "putText", PutText);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "getPerspectiveTransform", GetPerspectiveTransform);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "warpPerspective", WarpPerspective);
|
|
NODE_SET_METHOD(ctor, "Zeros", Zeros);
|
|
NODE_SET_METHOD(ctor, "Ones", Ones);
|
|
NODE_SET_METHOD(ctor, "Eye", Eye);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "copyWithMask", CopyWithMask);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "setWithMask", SetWithMask);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "meanWithMask", MeanWithMask);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "shift", Shift);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "release", Release);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetPrototypeMethod(ctor, "row", Row);
|
|
Nan::SetPrototypeMethod(ctor, "col", Col);
|
|
Nan::SetPrototypeMethod(ctor, "pixelRow", PixelRow);
|
|
Nan::SetPrototypeMethod(ctor, "pixelCol", PixelCol);
|
|
Nan::SetPrototypeMethod(ctor, "empty", Empty);
|
|
Nan::SetPrototypeMethod(ctor, "get", Get);
|
|
Nan::SetPrototypeMethod(ctor, "set", Set);
|
|
Nan::SetPrototypeMethod(ctor, "put", Put);
|
|
Nan::SetPrototypeMethod(ctor, "brightness", Brightness);
|
|
Nan::SetPrototypeMethod(ctor, "normalize", Normalize);
|
|
Nan::SetPrototypeMethod(ctor, "getData", GetData);
|
|
Nan::SetPrototypeMethod(ctor, "pixel", Pixel);
|
|
Nan::SetPrototypeMethod(ctor, "width", Width);
|
|
Nan::SetPrototypeMethod(ctor, "height", Height);
|
|
Nan::SetPrototypeMethod(ctor, "size", Size);
|
|
Nan::SetPrototypeMethod(ctor, "clone", Clone);
|
|
Nan::SetPrototypeMethod(ctor, "crop", Crop);
|
|
Nan::SetPrototypeMethod(ctor, "toBuffer", ToBuffer);
|
|
Nan::SetPrototypeMethod(ctor, "toBufferAsync", ToBufferAsync);
|
|
Nan::SetPrototypeMethod(ctor, "ellipse", Ellipse);
|
|
Nan::SetPrototypeMethod(ctor, "rectangle", Rectangle);
|
|
Nan::SetPrototypeMethod(ctor, "line", Line);
|
|
Nan::SetPrototypeMethod(ctor, "fillPoly", FillPoly);
|
|
Nan::SetPrototypeMethod(ctor, "save", Save);
|
|
Nan::SetPrototypeMethod(ctor, "saveAsync", SaveAsync);
|
|
Nan::SetPrototypeMethod(ctor, "resize", Resize);
|
|
Nan::SetPrototypeMethod(ctor, "rotate", Rotate);
|
|
Nan::SetPrototypeMethod(ctor, "copyTo", CopyTo);
|
|
Nan::SetPrototypeMethod(ctor, "pyrDown", PyrDown);
|
|
Nan::SetPrototypeMethod(ctor, "pyrUp", PyrUp);
|
|
Nan::SetPrototypeMethod(ctor, "channels", Channels);
|
|
Nan::SetPrototypeMethod(ctor, "convertGrayscale", ConvertGrayscale);
|
|
Nan::SetPrototypeMethod(ctor, "convertHSVscale", ConvertHSVscale);
|
|
Nan::SetPrototypeMethod(ctor, "gaussianBlur", GaussianBlur);
|
|
Nan::SetPrototypeMethod(ctor, "medianBlur", MedianBlur);
|
|
Nan::SetPrototypeMethod(ctor, "bilateralFilter", BilateralFilter);
|
|
Nan::SetPrototypeMethod(ctor, "copy", Copy);
|
|
Nan::SetPrototypeMethod(ctor, "flip", Flip);
|
|
Nan::SetPrototypeMethod(ctor, "roi", ROI);
|
|
Nan::SetPrototypeMethod(ctor, "ptr", Ptr);
|
|
Nan::SetPrototypeMethod(ctor, "absDiff", AbsDiff);
|
|
Nan::SetPrototypeMethod(ctor, "addWeighted", AddWeighted);
|
|
Nan::SetPrototypeMethod(ctor, "bitwiseXor", BitwiseXor);
|
|
Nan::SetPrototypeMethod(ctor, "bitwiseNot", BitwiseNot);
|
|
Nan::SetPrototypeMethod(ctor, "bitwiseAnd", BitwiseAnd);
|
|
Nan::SetPrototypeMethod(ctor, "countNonZero", CountNonZero);
|
|
Nan::SetPrototypeMethod(ctor, "canny", Canny);
|
|
Nan::SetPrototypeMethod(ctor, "dilate", Dilate);
|
|
Nan::SetPrototypeMethod(ctor, "erode", Erode);
|
|
Nan::SetPrototypeMethod(ctor, "findContours", FindContours);
|
|
Nan::SetPrototypeMethod(ctor, "drawContour", DrawContour);
|
|
Nan::SetPrototypeMethod(ctor, "drawAllContours", DrawAllContours);
|
|
Nan::SetPrototypeMethod(ctor, "goodFeaturesToTrack", GoodFeaturesToTrack);
|
|
Nan::SetPrototypeMethod(ctor, "houghLinesP", HoughLinesP);
|
|
Nan::SetPrototypeMethod(ctor, "crop", Crop);
|
|
Nan::SetPrototypeMethod(ctor, "houghCircles", HoughCircles);
|
|
Nan::SetPrototypeMethod(ctor, "inRange", inRange);
|
|
Nan::SetPrototypeMethod(ctor, "adjustROI", AdjustROI);
|
|
Nan::SetPrototypeMethod(ctor, "locateROI", LocateROI);
|
|
Nan::SetPrototypeMethod(ctor, "threshold", Threshold);
|
|
Nan::SetPrototypeMethod(ctor, "adaptiveThreshold", AdaptiveThreshold);
|
|
Nan::SetPrototypeMethod(ctor, "meanStdDev", MeanStdDev);
|
|
Nan::SetPrototypeMethod(ctor, "cvtColor", CvtColor);
|
|
Nan::SetPrototypeMethod(ctor, "split", Split);
|
|
Nan::SetPrototypeMethod(ctor, "merge", Merge);
|
|
Nan::SetPrototypeMethod(ctor, "equalizeHist", EqualizeHist);
|
|
Nan::SetPrototypeMethod(ctor, "floodFill", FloodFill);
|
|
Nan::SetPrototypeMethod(ctor, "matchTemplate", MatchTemplate);
|
|
Nan::SetPrototypeMethod(ctor, "templateMatches", TemplateMatches);
|
|
Nan::SetPrototypeMethod(ctor, "minMaxLoc", MinMaxLoc);
|
|
Nan::SetPrototypeMethod(ctor, "pushBack", PushBack);
|
|
Nan::SetPrototypeMethod(ctor, "putText", PutText);
|
|
Nan::SetPrototypeMethod(ctor, "getPerspectiveTransform", GetPerspectiveTransform);
|
|
Nan::SetPrototypeMethod(ctor, "warpPerspective", WarpPerspective);
|
|
Nan::SetMethod(ctor, "Zeros", Zeros);
|
|
Nan::SetMethod(ctor, "Ones", Ones);
|
|
Nan::SetMethod(ctor, "Eye", Eye);
|
|
Nan::SetPrototypeMethod(ctor, "copyWithMask", CopyWithMask);
|
|
Nan::SetPrototypeMethod(ctor, "setWithMask", SetWithMask);
|
|
Nan::SetPrototypeMethod(ctor, "meanWithMask", MeanWithMask);
|
|
Nan::SetPrototypeMethod(ctor, "shift", Shift);
|
|
Nan::SetPrototypeMethod(ctor, "release", Release);
|
|
</code></pre>
|
|
<pre><code class="removed">- target->Set(NanNew("Matrix"), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="added">+ target->Set(Nan::New("Matrix").ToLocalChecked(), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
if (args.This()->InternalFieldCount() == 0) {
|
|
NanThrowTypeError("Cannot instantiate without new");
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
if (info.This()->InternalFieldCount() == 0) {
|
|
Nan::ThrowTypeError("Cannot instantiate without new");
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() == 0) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() == 0) {
|
|
</code></pre>
|
|
<pre><code class="removed">- } else if (args.Length() == 2 && args[0]->IsInt32() && args[1]->IsInt32()) {
|
|
mat = new Matrix(args[0]->IntegerValue(), args[1]->IntegerValue());
|
|
} else if (args.Length() == 3 && args[0]->IsInt32() && args[1]->IsInt32()
|
|
&& args[2]->IsInt32()) {
|
|
mat = new Matrix(args[0]->IntegerValue(), args[1]->IntegerValue(),
|
|
args[2]->IntegerValue());
|
|
} else if (args.Length() == 4 && args[0]->IsInt32() && args[1]->IsInt32() &&
|
|
args[2]->IsInt32() && args[3]->IsArray()) {
|
|
} else { // if (args.Length() == 5) {
|
|
Matrix *other = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
int x = args[1]->IntegerValue();
|
|
int y = args[2]->IntegerValue();
|
|
int w = args[3]->IntegerValue();
|
|
int h = args[4]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ } else if (info.Length() == 2 && info[0]->IsInt32() && info[1]->IsInt32()) {
|
|
mat = new Matrix(info[0]->IntegerValue(), info[1]->IntegerValue());
|
|
} else if (info.Length() == 3 && info[0]->IsInt32() && info[1]->IsInt32()
|
|
&& info[2]->IsInt32()) {
|
|
mat = new Matrix(info[0]->IntegerValue(), info[1]->IntegerValue(),
|
|
info[2]->IntegerValue());
|
|
} else if (info.Length() == 4 && info[0]->IsInt32() && info[1]->IsInt32() &&
|
|
info[2]->IsInt32() && info[3]->IsArray()) {
|
|
} else { // if (info.Length() == 5) {
|
|
Matrix *other = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
int x = info[1]->IntegerValue();
|
|
int y = info[2]->IntegerValue();
|
|
int w = info[3]->IntegerValue();
|
|
int h = info[4]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- mat->Wrap(args.Holder());
|
|
NanReturnValue(args.Holder());
|
|
</code></pre>
|
|
<pre><code class="added">+ mat->Wrap(info.Holder());
|
|
info.GetReturnValue().Set(info.Holder());
|
|
</code></pre>
|
|
<pre><code class="removed">- ObjectWrap() {
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ObjectWrap() {
|
|
</code></pre>
|
|
<pre><code class="removed">- ObjectWrap() {
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ObjectWrap() {
|
|
</code></pre>
|
|
<pre><code class="removed">- ObjectWrap() {
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ObjectWrap() {
|
|
</code></pre>
|
|
<pre><code class="removed">- ObjectWrap() {
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ObjectWrap() {
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError("Only 1-3 channels are supported");
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError("Only 1-3 channels are supported");
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew<Boolean>(self->mat.empty()));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New<Boolean>(self->mat.empty()));
|
|
</code></pre>
|
|
<pre><code class="removed">- int y = args[0]->IntegerValue();
|
|
int x = args[1]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int y = info[0]->IntegerValue();
|
|
int x = info[1]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() == 3) {
|
|
Local < Object > objColor = args[2]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() == 3) {
|
|
Local < Object > objColor = info[2]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(args[2]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(info[2]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local < v8::Array > arr = NanNew<v8::Array>(3);
|
|
arr->Set(0, NanNew<Number>(intensity[0]));
|
|
arr->Set(1, NanNew<Number>(intensity[1]));
|
|
arr->Set(2, NanNew<Number>(intensity[2]));
|
|
NanReturnValue(arr);
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local < v8::Array > arr = Nan::New<v8::Array>(3);
|
|
arr->Set(0, Nan::New<Number>(intensity[0]));
|
|
arr->Set(1, Nan::New<Number>(intensity[1]));
|
|
arr->Set(2, Nan::New<Number>(intensity[2]));
|
|
info.GetReturnValue().Set(arr);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew<Number>(intensity));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New<Number>(intensity));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- // NanReturnValue(NanNew<Number>(val));
|
|
</code></pre>
|
|
<pre><code class="added">+ // info.GetReturnValue().Set(Nan::New<Number>(val));
|
|
</code></pre>
|
|
<pre><code class="removed">- int i = args[0]->IntegerValue();
|
|
int j = args[1]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int i = info[0]->IntegerValue();
|
|
int j = info[1]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew<Number>(val));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New<Number>(val));
|
|
</code></pre>
|
|
<pre><code class="removed">- int i = args[0]->IntegerValue();
|
|
int j = args[1]->IntegerValue();
|
|
double val = args[2]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int i = info[0]->IntegerValue();
|
|
int j = info[1]->IntegerValue();
|
|
double val = info[2]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() == 4) {
|
|
self->mat.at<cv::Vec3b>(i, j)[args[3]->NumberValue()] = val;
|
|
} else if (args.Length() == 3) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() == 4) {
|
|
self->mat.at<cv::Vec3b>(i, j)[info[3]->NumberValue()] = val;
|
|
} else if (info.Length() == 3) {
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowTypeError("Invalid number of arguments");
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowTypeError("Invalid number of arguments");
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (!Buffer::HasInstance(args[0])) {
|
|
NanThrowTypeError("Not a buffer");
|
|
</code></pre>
|
|
<pre><code class="added">+ if (!Buffer::HasInstance(info[0])) {
|
|
Nan::ThrowTypeError("Not a buffer");
|
|
</code></pre>
|
|
<pre><code class="removed">- const char* buffer_data = Buffer::Data(args[0]);
|
|
size_t buffer_length = Buffer::Length(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ const char* buffer_data = Buffer::Data(info[0]);
|
|
size_t buffer_length = Buffer::Length(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> buf = NanNewBufferHandle(size);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> buf = Nan::NewBuffer(size).ToLocalChecked();
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local<v8::Object> globalObj = NanGetCurrentContext()->Global();
|
|
v8::Local<v8::Function> bufferConstructor = v8::Local<v8::Function>::Cast(globalObj->Get(NanNew<String>("Buffer")));
|
|
v8::Handle<v8::Value> constructorArgs[3] = {buf, NanNew<v8::Integer>((unsigned) size), NanNew<v8::Integer>(0)};
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local<v8::Object> globalObj = Nan::GetCurrentContext()->Global();
|
|
v8::Local<v8::Function> bufferConstructor = v8::Local<v8::Function>::Cast(globalObj->Get(Nan::New<String>("Buffer").ToLocalChecked()));
|
|
v8::Handle<v8::Value> constructorArgs[3] = {buf, Nan::New<v8::Integer>((unsigned) size), Nan::New<v8::Integer>(0)};
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(actualBuffer);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(actualBuffer);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() == 2) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() == 2) {
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError("those channels are not supported");
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError("those channels are not supported");
|
|
</code></pre>
|
|
<pre><code class="removed">- double alpha = args[0]->NumberValue();
|
|
int beta = args[1]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ double alpha = info[0]->NumberValue();
|
|
int beta = info[1]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() == 1) {
|
|
int diff = args[0]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() == 1) {
|
|
int diff = info[0]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew("Insufficient or wrong arguments"));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New("Insufficient or wrong arguments").ToLocalChecked());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (!args[0]->IsNumber()) {
|
|
NanThrowTypeError("min is required (argument 1)");
|
|
</code></pre>
|
|
<pre><code class="added">+ if (!info[0]->IsNumber()) {
|
|
Nan::ThrowTypeError("min is required (argument 1)");
|
|
</code></pre>
|
|
<pre><code class="removed">- if (!args[1]->IsNumber()) {
|
|
NanThrowTypeError("max is required (argument 2)");
|
|
</code></pre>
|
|
<pre><code class="added">+ if (!info[1]->IsNumber()) {
|
|
Nan::ThrowTypeError("max is required (argument 2)");
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[2]->IsNumber()) {
|
|
type = args[2]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[2]->IsNumber()) {
|
|
type = info[2]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowTypeError("type value must be NORM_INF=1, NORM_L1=2, NORM_L2=4,"
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowTypeError("type value must be NORM_INF=1, NORM_L1=2, NORM_L2=4,"
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[3]->IsNumber()) {
|
|
dtype = args[3]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[3]->IsNumber()) {
|
|
dtype = info[3]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- double min = args[0]->NumberValue();
|
|
double max = args[1]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ double min = info[0]->NumberValue();
|
|
double max = info[1]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[4]->IsObject()) {
|
|
Matrix *mmask = ObjectWrap::Unwrap<Matrix>(args[4]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[4]->IsObject()) {
|
|
Matrix *mmask = Nan::ObjectWrap::Unwrap<Matrix>(info[4]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local < v8::Array > arr = NanNew<Array>(2);
|
|
arr->Set(0, NanNew<Number>(self->mat.size().height));
|
|
arr->Set(1, NanNew<Number>(self->mat.size().width));
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local < v8::Array > arr = Nan::New<Array>(2);
|
|
arr->Set(0, Nan::New<Number>(self->mat.size().height));
|
|
arr->Set(1, Nan::New<Number>(self->mat.size().width));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(arr);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(arr);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *m = ObjectWrap::Unwrap<Matrix>(im_h);
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *m = Nan::ObjectWrap::Unwrap<Matrix>(im_h);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(im_h);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(im_h);
|
|
</code></pre>
|
|
<pre><code class="removed">- if ((args.Length() == 4) && (args[0]->IsNumber()) && (args[1]->IsNumber())
|
|
&& (args[2]->IsNumber()) && (args[3]->IsNumber())) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if ((info.Length() == 4) && (info[0]->IsNumber()) && (info[1]->IsNumber())
|
|
&& (info[2]->IsNumber()) && (info[3]->IsNumber())) {
|
|
</code></pre>
|
|
<pre><code class="removed">- int x = args[0]->IntegerValue();
|
|
int y = args[1]->IntegerValue();
|
|
int width = args[2]->IntegerValue();
|
|
int height = args[3]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int x = info[0]->IntegerValue();
|
|
int y = info[1]->IntegerValue();
|
|
int width = info[2]->IntegerValue();
|
|
int height = info[3]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *m = ObjectWrap::Unwrap<Matrix>(im_h);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *m = Nan::ObjectWrap::Unwrap<Matrix>(im_h);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(im_h);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(im_h);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew("Insufficient or wrong arguments"));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New("Insufficient or wrong arguments").ToLocalChecked());
|
|
</code></pre>
|
|
<pre><code class="removed">- int y = args[0]->IntegerValue();
|
|
v8::Local < v8::Array > arr = NanNew<Array>(width);
|
|
</code></pre>
|
|
<pre><code class="added">+ int y = info[0]->IntegerValue();
|
|
v8::Local < v8::Array > arr = Nan::New<Array>(width);
|
|
</code></pre>
|
|
<pre><code class="removed">- arr->Set(x, NanNew<Number>(v));
|
|
</code></pre>
|
|
<pre><code class="added">+ arr->Set(x, Nan::New<Number>(v));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(arr);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(arr);
|
|
</code></pre>
|
|
<pre><code class="removed">- int y = args[0]->IntegerValue();
|
|
v8::Local < v8::Array > arr = NanNew<Array>(width * 3);
|
|
</code></pre>
|
|
<pre><code class="added">+ int y = info[0]->IntegerValue();
|
|
v8::Local < v8::Array > arr = Nan::New<Array>(width * 3);
|
|
</code></pre>
|
|
<pre><code class="removed">- arr->Set(offset, NanNew<Number>((double) pixel.val[0]));
|
|
arr->Set(offset + 1, NanNew<Number>((double) pixel.val[1]));
|
|
arr->Set(offset + 2, NanNew<Number>((double) pixel.val[2]));
|
|
</code></pre>
|
|
<pre><code class="added">+ arr->Set(offset, Nan::New<Number>((double) pixel.val[0]));
|
|
arr->Set(offset + 1, Nan::New<Number>((double) pixel.val[1]));
|
|
arr->Set(offset + 2, Nan::New<Number>((double) pixel.val[2]));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(arr);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(arr);
|
|
</code></pre>
|
|
<pre><code class="removed">- int x = args[0]->IntegerValue();
|
|
v8::Local < v8::Array > arr = NanNew<Array>(height);
|
|
</code></pre>
|
|
<pre><code class="added">+ int x = info[0]->IntegerValue();
|
|
v8::Local < v8::Array > arr = Nan::New<Array>(height);
|
|
</code></pre>
|
|
<pre><code class="removed">- arr->Set(y, NanNew<Number>(v));
|
|
</code></pre>
|
|
<pre><code class="added">+ arr->Set(y, Nan::New<Number>(v));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(arr);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(arr);
|
|
</code></pre>
|
|
<pre><code class="removed">- int x = args[0]->IntegerValue();
|
|
v8::Local < v8::Array > arr = NanNew<Array>(height * 3);
|
|
</code></pre>
|
|
<pre><code class="added">+ int x = info[0]->IntegerValue();
|
|
v8::Local < v8::Array > arr = Nan::New<Array>(height * 3);
|
|
</code></pre>
|
|
<pre><code class="removed">- arr->Set(offset, NanNew<Number>((double) pixel.val[0]));
|
|
arr->Set(offset + 1, NanNew<Number>((double) pixel.val[1]));
|
|
arr->Set(offset + 2, NanNew<Number>((double) pixel.val[2]));
|
|
</code></pre>
|
|
<pre><code class="added">+ arr->Set(offset, Nan::New<Number>((double) pixel.val[0]));
|
|
arr->Set(offset + 1, Nan::New<Number>((double) pixel.val[1]));
|
|
arr->Set(offset + 2, Nan::New<Number>((double) pixel.val[2]));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(arr);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(arr);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew<Number>(self->mat.size().width));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New<Number>(self->mat.size().width));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew<Number>(self->mat.size().height));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New<Number>(self->mat.size().height));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew<Number>(self->mat.channels()));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New<Number>(self->mat.channels()));
|
|
</code></pre>
|
|
<pre><code class="removed">- if ((args.Length() > 0) && (args[0]->IsFunction())) {
|
|
return Matrix::ToBufferAsync(args);
|
|
</code></pre>
|
|
<pre><code class="added">+ if ((info.Length() > 0) && (info[0]->IsFunction())) {
|
|
return Matrix::ToBufferAsync(info);
|
|
</code></pre>
|
|
<pre><code class="removed">- if ((args.Length() > 0) && (args[0]->IsObject())) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if ((info.Length() > 0) && (info[0]->IsObject())) {
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Handle < v8::Object > options = v8::Handle<v8::Object>::Cast(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Handle < v8::Object > options = v8::Handle<v8::Object>::Cast(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- if (options->Has(NanNew<String>("ext"))) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (options->Has(Nan::New<String>("ext").ToLocalChecked())) {
|
|
</code></pre>
|
|
<pre><code class="removed">- options->Get(NanNew<String>("ext"))->ToString());
|
|
</code></pre>
|
|
<pre><code class="added">+ options->Get(Nan::New<String>("ext").ToLocalChecked())->ToString());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (options->Has(NanNew<String>("jpegQuality"))) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (options->Has(Nan::New<String>("jpegQuality").ToLocalChecked())) {
|
|
</code></pre>
|
|
<pre><code class="removed">- options->Get(NanNew<String>("jpegQuality"))->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ options->Get(Nan::New<String>("jpegQuality").ToLocalChecked())->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (options->Has(NanNew<String>("pngCompression"))) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (options->Has(Nan::New<String>("pngCompression").ToLocalChecked())) {
|
|
</code></pre>
|
|
<pre><code class="removed">- options->Get(NanNew<String>("pngCompression"))->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ options->Get(Nan::New<String>("pngCompression").ToLocalChecked())->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- Local < Object > buf = NanNewBufferHandle(vec.size());
|
|
</code></pre>
|
|
<pre><code class="added">+ Local < Object > buf = Nan::NewBuffer(vec.size()).ToLocalChecked();
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local < v8::Object > globalObj = NanGetCurrentContext()->Global();
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local < v8::Object > globalObj = Nan::GetCurrentContext()->Global();
|
|
</code></pre>
|
|
<pre><code class="removed">- > ::Cast(globalObj->Get(NanNew<String>("Buffer")));
|
|
</code></pre>
|
|
<pre><code class="added">+ > ::Cast(globalObj->Get(Nan::New<String>("Buffer").ToLocalChecked()));
|
|
</code></pre>
|
|
<pre><code class="removed">- {buf, NanNew<v8::Integer>((unsigned)vec.size()), NanNew<v8::Integer>(0)};
|
|
</code></pre>
|
|
<pre><code class="added">+ {buf, Nan::New<v8::Integer>((unsigned)vec.size()), Nan::New<v8::Integer>(0)};
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(actualBuffer);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(actualBuffer);
|
|
</code></pre>
|
|
<pre><code class="removed">- class AsyncToBufferWorker: public NanAsyncWorker {
|
|
</code></pre>
|
|
<pre><code class="added">+ class AsyncToBufferWorker: public Nan::AsyncWorker {
|
|
</code></pre>
|
|
<pre><code class="removed">- AsyncToBufferWorker(NanCallback *callback, Matrix* matrix, string ext,
|
|
</code></pre>
|
|
<pre><code class="added">+ AsyncToBufferWorker(Nan::Callback *callback, Matrix* matrix, string ext,
|
|
</code></pre>
|
|
<pre><code class="removed">- NanAsyncWorker(callback),
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::AsyncWorker(callback),
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> buf = NanNewBufferHandle(res.size());
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> buf = Nan::NewBuffer(res.size()).ToLocalChecked();
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local<v8::Object> globalObj = NanGetCurrentContext()->Global();
|
|
v8::Local<v8::Function> bufferConstructor = v8::Local<v8::Function>::Cast(globalObj->Get(NanNew<String>("Buffer")));
|
|
v8::Handle<v8::Value> constructorArgs[3] = {buf, NanNew<v8::Integer>((unsigned)res.size()), NanNew<v8::Integer>(0)};
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local<v8::Object> globalObj = Nan::GetCurrentContext()->Global();
|
|
v8::Local<v8::Function> bufferConstructor = v8::Local<v8::Function>::Cast(globalObj->Get(Nan::New<String>("Buffer").ToLocalChecked()));
|
|
v8::Handle<v8::Value> constructorArgs[3] = {buf, Nan::New<v8::Integer>((unsigned)res.size()), Nan::New<v8::Integer>(0)};
|
|
</code></pre>
|
|
<pre><code class="removed">- NanNull(),
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Null(),
|
|
</code></pre>
|
|
<pre><code class="removed">- if ((args.Length() > 1) && (args[1]->IsObject())) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if ((info.Length() > 1) && (info[1]->IsObject())) {
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Handle < v8::Object > options = v8::Handle<v8::Object>::Cast(args[1]);
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Handle < v8::Object > options = v8::Handle<v8::Object>::Cast(info[1]);
|
|
</code></pre>
|
|
<pre><code class="removed">- if (options->Has(NanNew<String>("ext"))) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (options->Has(Nan::New<String>("ext").ToLocalChecked())) {
|
|
</code></pre>
|
|
<pre><code class="removed">- options->Get(NanNew<String>("ext"))->ToString());
|
|
</code></pre>
|
|
<pre><code class="added">+ options->Get(Nan::New<String>("ext").ToLocalChecked())->ToString());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (options->Has(NanNew<String>("jpegQuality"))) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (options->Has(Nan::New<String>("jpegQuality").ToLocalChecked())) {
|
|
</code></pre>
|
|
<pre><code class="removed">- options->Get(NanNew<String>("jpegQuality"))->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ options->Get(Nan::New<String>("jpegQuality").ToLocalChecked())->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (options->Has(NanNew<String>("pngCompression"))) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (options->Has(Nan::New<String>("pngCompression").ToLocalChecked())) {
|
|
</code></pre>
|
|
<pre><code class="removed">- options->Get(NanNew<String>("pngCompression"))->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ options->Get(Nan::New<String>("pngCompression").ToLocalChecked())->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanCallback *callback = new NanCallback(cb.As<Function>());
|
|
NanAsyncQueueWorker(new AsyncToBufferWorker(callback, self, ext, params));
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Callback *callback = new Nan::Callback(cb.As<Function>());
|
|
Nan::AsyncQueueWorker(new AsyncToBufferWorker(callback, self, ext, params));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[0]->IsObject()) {
|
|
v8::Handle < v8::Object > options = v8::Handle<v8::Object>::Cast(args[0]);
|
|
if (options->Has(NanNew<String>("center"))) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[0]->IsObject()) {
|
|
v8::Handle < v8::Object > options = v8::Handle<v8::Object>::Cast(info[0]);
|
|
if (options->Has(Nan::New<String>("center").ToLocalChecked())) {
|
|
</code></pre>
|
|
<pre><code class="removed">- options->Get(NanNew<String>("center"))->ToObject();
|
|
x = center->Get(NanNew<String>("x"))->Uint32Value();
|
|
y = center->Get(NanNew<String>("y"))->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ options->Get(Nan::New<String>("center").ToLocalChecked())->ToObject();
|
|
x = center->Get(Nan::New<String>("x").ToLocalChecked())->Uint32Value();
|
|
y = center->Get(Nan::New<String>("y").ToLocalChecked())->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (options->Has(NanNew<String>("axes"))) {
|
|
Local < Object > axes = options->Get(NanNew<String>("axes"))->ToObject();
|
|
width = axes->Get(NanNew<String>("width"))->Uint32Value();
|
|
height = axes->Get(NanNew<String>("height"))->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (options->Has(Nan::New<String>("axes").ToLocalChecked())) {
|
|
Local < Object > axes = options->Get(Nan::New<String>("axes").ToLocalChecked())->ToObject();
|
|
width = axes->Get(Nan::New<String>("width").ToLocalChecked())->Uint32Value();
|
|
height = axes->Get(Nan::New<String>("height").ToLocalChecked())->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (options->Has(NanNew<String>("thickness"))) {
|
|
thickness = options->Get(NanNew<String>("thickness"))->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (options->Has(Nan::New<String>("thickness").ToLocalChecked())) {
|
|
thickness = options->Get(Nan::New<String>("thickness").ToLocalChecked())->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (options->Has(NanNew<String>("angle"))) {
|
|
angle = options->Get(NanNew<String>("angle"))->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (options->Has(Nan::New<String>("angle").ToLocalChecked())) {
|
|
angle = options->Get(Nan::New<String>("angle").ToLocalChecked())->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (options->Has(NanNew<String>("startAngle"))) {
|
|
startAngle = options->Get(NanNew<String>("startAngle"))->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (options->Has(Nan::New<String>("startAngle").ToLocalChecked())) {
|
|
startAngle = options->Get(Nan::New<String>("startAngle").ToLocalChecked())->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (options->Has(NanNew<String>("endAngle"))) {
|
|
endAngle = options->Get(NanNew<String>("endAngle"))->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (options->Has(Nan::New<String>("endAngle").ToLocalChecked())) {
|
|
endAngle = options->Get(Nan::New<String>("endAngle").ToLocalChecked())->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (options->Has(NanNew<String>("lineType"))) {
|
|
lineType = options->Get(NanNew<String>("lineType"))->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (options->Has(Nan::New<String>("lineType").ToLocalChecked())) {
|
|
lineType = options->Get(Nan::New<String>("lineType").ToLocalChecked())->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (options->Has(NanNew<String>("shift"))) {
|
|
shift = options->Get(NanNew<String>("shift"))->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (options->Has(Nan::New<String>("shift").ToLocalChecked())) {
|
|
shift = options->Get(Nan::New<String>("shift").ToLocalChecked())->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (options->Has(NanNew<String>("color"))) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (options->Has(Nan::New<String>("color").ToLocalChecked())) {
|
|
</code></pre>
|
|
<pre><code class="removed">- options->Get(NanNew<String>("color"))->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ options->Get(Nan::New<String>("color").ToLocalChecked())->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- x = args[0]->Uint32Value();
|
|
y = args[1]->Uint32Value();
|
|
width = args[2]->Uint32Value();
|
|
height = args[3]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ x = info[0]->Uint32Value();
|
|
y = info[1]->Uint32Value();
|
|
width = info[2]->Uint32Value();
|
|
height = info[3]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[4]->IsArray()) {
|
|
Local < Object > objColor = args[4]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[4]->IsArray()) {
|
|
Local < Object > objColor = info[4]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[5]->IntegerValue())
|
|
thickness = args[5]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[5]->IntegerValue())
|
|
thickness = info[5]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[0]->IsArray() && args[1]->IsArray()) {
|
|
Local < Object > xy = args[0]->ToObject();
|
|
Local < Object > width_height = args[1]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[0]->IsArray() && info[1]->IsArray()) {
|
|
Local < Object > xy = info[0]->ToObject();
|
|
Local < Object > width_height = info[1]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[2]->IsArray()) {
|
|
Local < Object > objColor = args[2]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[2]->IsArray()) {
|
|
Local < Object > objColor = info[2]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[3]->IntegerValue())
|
|
thickness = args[3]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[3]->IntegerValue())
|
|
thickness = info[3]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[0]->IsArray() && args[1]->IsArray()) {
|
|
Local < Object > xy1 = args[0]->ToObject();
|
|
Local < Object > xy2 = args[1]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[0]->IsArray() && info[1]->IsArray()) {
|
|
Local < Object > xy1 = info[0]->ToObject();
|
|
Local < Object > xy2 = info[1]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[2]->IsArray()) {
|
|
Local < Object > objColor = args[2]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[2]->IsArray()) {
|
|
Local < Object > objColor = info[2]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[3]->IntegerValue())
|
|
thickness = args[3]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[3]->IntegerValue())
|
|
thickness = info[3]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[0]->IsArray()) {
|
|
Local < Array > polyArray = Local < Array > ::Cast(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[0]->IsArray()) {
|
|
Local < Array > polyArray = Local < Array > ::Cast(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[1]->IsArray()) {
|
|
Local<Object> objColor = args[1]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[1]->IsArray()) {
|
|
Local<Object> objColor = info[1]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() > 1) {
|
|
return SaveAsync(args);
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() > 1) {
|
|
return SaveAsync(info);
|
|
</code></pre>
|
|
<pre><code class="removed">- if (!args[0]->IsString()) {
|
|
NanThrowTypeError("filename required");
|
|
</code></pre>
|
|
<pre><code class="added">+ if (!info[0]->IsString()) {
|
|
Nan::ThrowTypeError("filename required");
|
|
</code></pre>
|
|
<pre><code class="removed">- NanAsciiString filename(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Utf8String filename(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew<Number>(res));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New<Number>(res));
|
|
</code></pre>
|
|
<pre><code class="removed">- class AsyncSaveWorker: public NanAsyncWorker {
|
|
</code></pre>
|
|
<pre><code class="added">+ class AsyncSaveWorker: public Nan::AsyncWorker {
|
|
</code></pre>
|
|
<pre><code class="removed">- AsyncSaveWorker(NanCallback *callback, Matrix* matrix, char* filename) :
|
|
NanAsyncWorker(callback),
|
|
</code></pre>
|
|
<pre><code class="added">+ AsyncSaveWorker(Nan::Callback *callback, Matrix* matrix, char* filename) :
|
|
Nan::AsyncWorker(callback),
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanNull(),
|
|
NanNew<Number>(res)
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Null(),
|
|
Nan::New<Number>(res)
|
|
</code></pre>
|
|
<pre><code class="removed">- if (!args[0]->IsString()) {
|
|
NanThrowTypeError("filename required");
|
|
</code></pre>
|
|
<pre><code class="added">+ if (!info[0]->IsString()) {
|
|
Nan::ThrowTypeError("filename required");
|
|
</code></pre>
|
|
<pre><code class="removed">- NanAsciiString filename(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Utf8String filename(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanCallback *callback = new NanCallback(cb.As<Function>());
|
|
NanAsyncQueueWorker(new AsyncSaveWorker(callback, self, *filename));
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Callback *callback = new Nan::Callback(cb.As<Function>());
|
|
Nan::AsyncQueueWorker(new AsyncSaveWorker(callback, self, *filename));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- int w = args[0]->Uint32Value();
|
|
int h = args[1]->Uint32Value();
|
|
int type = (args.Length() > 2) ? args[2]->IntegerValue() : CV_64FC1;
|
|
</code></pre>
|
|
<pre><code class="added">+ int w = info[0]->Uint32Value();
|
|
int h = info[1]->Uint32Value();
|
|
int type = (info.Length() > 2) ? info[2]->IntegerValue() : CV_64FC1;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> im_h = NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = ObjectWrap::Unwrap<Matrix>(im_h);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> im_h = Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = Nan::ObjectWrap::Unwrap<Matrix>(im_h);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(im_h);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(im_h);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- int w = args[0]->Uint32Value();
|
|
int h = args[1]->Uint32Value();
|
|
int type = (args.Length() > 2) ? args[2]->IntegerValue() : CV_64FC1;
|
|
</code></pre>
|
|
<pre><code class="added">+ int w = info[0]->Uint32Value();
|
|
int h = info[1]->Uint32Value();
|
|
int type = (info.Length() > 2) ? info[2]->IntegerValue() : CV_64FC1;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> im_h = NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = ObjectWrap::Unwrap<Matrix>(im_h);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> im_h = Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = Nan::ObjectWrap::Unwrap<Matrix>(im_h);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(im_h);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(im_h);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- int w = args[0]->Uint32Value();
|
|
int h = args[1]->Uint32Value();
|
|
int type = (args.Length() > 2) ? args[2]->IntegerValue() : CV_64FC1;
|
|
</code></pre>
|
|
<pre><code class="added">+ int w = info[0]->Uint32Value();
|
|
int h = info[1]->Uint32Value();
|
|
int type = (info.Length() > 2) ? info[2]->IntegerValue() : CV_64FC1;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> im_h = NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = ObjectWrap::Unwrap<Matrix>(im_h);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> im_h = Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = Nan::ObjectWrap::Unwrap<Matrix>(im_h);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(im_h);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(im_h);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError("Image is no 3-channel");
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError("Image is no 3-channel");
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError("Image is no 3-channel");
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError("Image is no 3-channel");
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() < 1) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() < 1) {
|
|
</code></pre>
|
|
<pre><code class="removed">- if (!args[0]->IsArray()) {
|
|
NanThrowTypeError("'ksize' argument must be a 2 double array");
|
|
</code></pre>
|
|
<pre><code class="added">+ if (!info[0]->IsArray()) {
|
|
Nan::ThrowTypeError("'ksize' argument must be a 2 double array");
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> array = args[0]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> array = info[0]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowTypeError("'ksize' argument must be a 2 double array");
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowTypeError("'ksize' argument must be a 2 double array");
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[0]->IsNumber()) {
|
|
ksize = args[0]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[0]->IsNumber()) {
|
|
ksize = info[0]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowTypeError("'ksize' argument must be a positive odd integer");
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowTypeError("'ksize' argument must be a positive odd integer");
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowTypeError("'ksize' argument must be a positive odd integer");
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowTypeError("'ksize' argument must be a positive odd integer");
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() != 0) {
|
|
if (args.Length() < 3 || args.Length() > 4) {
|
|
NanThrowTypeError("BilateralFilter takes 0, 3, or 4 arguments");
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() != 0) {
|
|
if (info.Length() < 3 || info.Length() > 4) {
|
|
Nan::ThrowTypeError("BilateralFilter takes 0, 3, or 4 arguments");
|
|
</code></pre>
|
|
<pre><code class="removed">- d = args[0]->IntegerValue();
|
|
sigmaColor = args[1]->NumberValue();
|
|
sigmaSpace = args[2]->NumberValue();
|
|
if (args.Length() == 4) {
|
|
borderType = args[3]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ d = info[0]->IntegerValue();
|
|
sigmaColor = info[1]->NumberValue();
|
|
sigmaSpace = info[2]->NumberValue();
|
|
if (info.Length() == 4) {
|
|
borderType = info[3]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = ObjectWrap::Unwrap<Matrix>(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = Nan::ObjectWrap::Unwrap<Matrix>(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- if ( args.Length() < 1 || !args[0]->IsInt32() ) {
|
|
NanThrowTypeError("Flip requires an integer flipCode argument "
|
|
</code></pre>
|
|
<pre><code class="added">+ if ( info.Length() < 1 || !info[0]->IsInt32() ) {
|
|
Nan::ThrowTypeError("Flip requires an integer flipCode argument "
|
|
</code></pre>
|
|
<pre><code class="removed">- int flipCode = args[0]->ToInt32()->Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ int flipCode = info[0]->ToInt32()->Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> img_to_return = NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = ObjectWrap::Unwrap<Matrix>(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> img_to_return = Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = Nan::ObjectWrap::Unwrap<Matrix>(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- if ( args.Length() != 4 ) {
|
|
NanThrowTypeError("ROI requires x,y,w,h arguments");
|
|
</code></pre>
|
|
<pre><code class="added">+ if ( info.Length() != 4 ) {
|
|
Nan::ThrowTypeError("ROI requires x,y,w,h arguments");
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> img_to_return = NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = ObjectWrap::Unwrap<Matrix>(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> img_to_return = Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = Nan::ObjectWrap::Unwrap<Matrix>(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="removed">- int x = args[0]->IntegerValue();
|
|
int y = args[1]->IntegerValue();
|
|
int w = args[2]->IntegerValue();
|
|
int h = args[3]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int x = info[0]->IntegerValue();
|
|
int y = info[1]->IntegerValue();
|
|
int w = info[2]->IntegerValue();
|
|
int h = info[3]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
int line = args[0]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
int line = info[0]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> return_buffer = NanNewBufferHandle((char*)data, self->mat.step);
|
|
NanReturnValue( return_buffer );
|
|
// NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> return_buffer = Nan::NewBuffer((char*)data, self->mat.step).ToLocalChecked();
|
|
info.GetReturnValue().Set( return_buffer );
|
|
// return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
Matrix *src1 = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
Matrix *src2 = ObjectWrap::Unwrap<Matrix>(args[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
Matrix *src1 = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
Matrix *src2 = Nan::ObjectWrap::Unwrap<Matrix>(info[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
Matrix *src1 = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
Matrix *src2 = ObjectWrap::Unwrap<Matrix>(args[2]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
Matrix *src1 = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
Matrix *src2 = Nan::ObjectWrap::Unwrap<Matrix>(info[2]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- float alpha = args[1]->NumberValue();
|
|
float beta = args[3]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ float alpha = info[1]->NumberValue();
|
|
float beta = info[3]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
Matrix *src1 = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
Matrix *src2 = ObjectWrap::Unwrap<Matrix>(args[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
Matrix *src1 = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
Matrix *src2 = Nan::ObjectWrap::Unwrap<Matrix>(info[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() == 3) {
|
|
Matrix *mask = ObjectWrap::Unwrap<Matrix>(args[2]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() == 3) {
|
|
Matrix *mask = Nan::ObjectWrap::Unwrap<Matrix>(info[2]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
Matrix *dst = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
if (args.Length() == 2) {
|
|
Matrix *mask = ObjectWrap::Unwrap<Matrix>(args[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
Matrix *dst = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
if (info.Length() == 2) {
|
|
Matrix *mask = Nan::ObjectWrap::Unwrap<Matrix>(info[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
Matrix *src1 = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
Matrix *src2 = ObjectWrap::Unwrap<Matrix>(args[1]->ToObject());
|
|
if (args.Length() == 3) {
|
|
Matrix *mask = ObjectWrap::Unwrap<Matrix>(args[2]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
Matrix *src1 = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
Matrix *src2 = Nan::ObjectWrap::Unwrap<Matrix>(info[1]->ToObject());
|
|
if (info.Length() == 3) {
|
|
Matrix *mask = Nan::ObjectWrap::Unwrap<Matrix>(info[2]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew<Number>(count));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New<Number>(count));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- //Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ //Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
int lowThresh = args[0]->NumberValue();
|
|
int highThresh = args[1]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
int lowThresh = info[0]->NumberValue();
|
|
int highThresh = info[1]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
int niters = args[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
int niters = info[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
int niters = args[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
int niters = info[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() > 0) {
|
|
if (args[0]->IsNumber()) mode = args[0]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() > 0) {
|
|
if (info[0]->IsNumber()) mode = info[0]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() > 1) {
|
|
if (args[1]->IsNumber()) chain = args[1]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() > 1) {
|
|
if (info[1]->IsNumber()) chain = info[1]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
Local<Object> conts_to_return= NanNew(Contour::constructor)->GetFunction()->NewInstance();
|
|
Contour *contours = ObjectWrap::Unwrap<Contour>(conts_to_return);
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
Local<Object> conts_to_return= Nan::New(Contour::constructor)->GetFunction()->NewInstance();
|
|
Contour *contours = Nan::ObjectWrap::Unwrap<Contour>(conts_to_return);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(conts_to_return);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(conts_to_return);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
Contour *cont = ObjectWrap::Unwrap<Contour>(args[0]->ToObject());
|
|
int pos = args[1]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
Contour *cont = Nan::ObjectWrap::Unwrap<Contour>(info[0]->ToObject());
|
|
int pos = info[1]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[2]->IsArray()) {
|
|
Local<Object> objColor = args[2]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[2]->IsArray()) {
|
|
Local<Object> objColor = info[2]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- int thickness = args.Length() < 4 ? 1 : args[3]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int thickness = info.Length() < 4 ? 1 : info[3]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
Contour *cont = ObjectWrap::Unwrap<Contour>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
Contour *cont = Nan::ObjectWrap::Unwrap<Contour>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[1]->IsArray()) {
|
|
Local<Object> objColor = args[1]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[1]->IsArray()) {
|
|
Local<Object> objColor = info[1]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- int thickness = args.Length() < 3 ? 1 : args[2]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int thickness = info.Length() < 3 ? 1 : info[2]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local<v8::Array> arr = NanNew<Array>(corners.size());
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local<v8::Array> arr = Nan::New<Array>(corners.size());
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local<v8::Array> pt = NanNew<Array>(2);
|
|
pt->Set(0, NanNew<Number>((double) corners[i].x));
|
|
pt->Set(1, NanNew<Number>((double) corners[i].y));
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local<v8::Array> pt = Nan::New<Array>(2);
|
|
pt->Set(0, Nan::New<Number>((double) corners[i].x));
|
|
pt->Set(1, Nan::New<Number>((double) corners[i].y));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(arr);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(arr);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
double rho = args.Length() < 1 ? 1 : args[0]->NumberValue();
|
|
double theta = args.Length() < 2 ? CV_PI/180 : args[1]->NumberValue();
|
|
int threshold = args.Length() < 3 ? 80 : args[2]->Uint32Value();
|
|
double minLineLength = args.Length() < 4 ? 30 : args[3]->NumberValue();
|
|
double maxLineGap = args.Length() < 5 ? 10 : args[4]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
double rho = info.Length() < 1 ? 1 : info[0]->NumberValue();
|
|
double theta = info.Length() < 2 ? CV_PI/180 : info[1]->NumberValue();
|
|
int threshold = info.Length() < 3 ? 80 : info[2]->Uint32Value();
|
|
double minLineLength = info.Length() < 4 ? 30 : info[3]->NumberValue();
|
|
double maxLineGap = info.Length() < 5 ? 10 : info[4]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local<v8::Array> arr = NanNew<Array>(lines.size());
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local<v8::Array> arr = Nan::New<Array>(lines.size());
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local<v8::Array> pt = NanNew<Array>(4);
|
|
pt->Set(0, NanNew<Number>((double) lines[i][0]));
|
|
pt->Set(1, NanNew<Number>((double) lines[i][1]));
|
|
pt->Set(2, NanNew<Number>((double) lines[i][2]));
|
|
pt->Set(3, NanNew<Number>((double) lines[i][3]));
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local<v8::Array> pt = Nan::New<Array>(4);
|
|
pt->Set(0, Nan::New<Number>((double) lines[i][0]));
|
|
pt->Set(1, Nan::New<Number>((double) lines[i][1]));
|
|
pt->Set(2, Nan::New<Number>((double) lines[i][2]));
|
|
pt->Set(3, Nan::New<Number>((double) lines[i][3]));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(arr);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(arr);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- double dp = args.Length() < 1 ? 1 : args[0]->NumberValue();
|
|
double minDist = args.Length() < 2 ? 1 : args[1]->NumberValue();
|
|
double higherThreshold = args.Length() < 3 ? 100 : args[2]->NumberValue();
|
|
double accumulatorThreshold = args.Length() < 4 ? 100 : args[3]->NumberValue();
|
|
int minRadius = args.Length() < 5 ? 0 : args[4]->Uint32Value();
|
|
int maxRadius = args.Length() < 6 ? 0 : args[5]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ double dp = info.Length() < 1 ? 1 : info[0]->NumberValue();
|
|
double minDist = info.Length() < 2 ? 1 : info[1]->NumberValue();
|
|
double higherThreshold = info.Length() < 3 ? 100 : info[2]->NumberValue();
|
|
double accumulatorThreshold = info.Length() < 4 ? 100 : info[3]->NumberValue();
|
|
int minRadius = info.Length() < 5 ? 0 : info[4]->Uint32Value();
|
|
int maxRadius = info.Length() < 6 ? 0 : info[5]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local<v8::Array> arr = NanNew<Array>(circles.size());
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local<v8::Array> arr = Nan::New<Array>(circles.size());
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local<v8::Array> pt = NanNew<Array>(3);
|
|
pt->Set(0, NanNew<Number>((double) circles[i][0])); // center x
|
|
pt->Set(1, NanNew<Number>((double) circles[i][1]));// center y
|
|
pt->Set(2, NanNew<Number>((double) circles[i][2]));// radius
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local<v8::Array> pt = Nan::New<Array>(3);
|
|
pt->Set(0, Nan::New<Number>((double) circles[i][0])); // center x
|
|
pt->Set(1, Nan::New<Number>((double) circles[i][1]));// center y
|
|
pt->Set(2, Nan::New<Number>((double) circles[i][2]));// radius
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(arr);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(arr);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- int x = args[0]->Uint32Value();
|
|
int y = args[1]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ int x = info[0]->Uint32Value();
|
|
int y = info[1]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- int interpolation = (args.Length() < 3) ? (int)cv::INTER_LINEAR : args[2]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ int interpolation = (info.Length() < 3) ? (int)cv::INTER_LINEAR : info[2]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- float angle = args[0]->ToNumber()->Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ float angle = info[0]->ToNumber()->Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- && (args.Length() == 1);
|
|
</code></pre>
|
|
<pre><code class="added">+ && (info.Length() == 1);
|
|
</code></pre>
|
|
<pre><code class="removed">- if (!angle2) {NanReturnUndefined();}
|
|
</code></pre>
|
|
<pre><code class="added">+ if (!angle2) {return;}
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- int x = args[1]->IsUndefined() ? round(self->mat.size().width / 2) :
|
|
args[1]->Uint32Value();
|
|
int y = args[1]->IsUndefined() ? round(self->mat.size().height / 2) :
|
|
args[2]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ int x = info[1]->IsUndefined() ? round(self->mat.size().width / 2) :
|
|
info[1]->Uint32Value();
|
|
int y = info[1]->IsUndefined() ? round(self->mat.size().height / 2) :
|
|
info[2]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(String::New("Image is no 3-channel"));*/
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(String::New("Image is no 3-channel"));*/
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[0]->IsArray() && args[1]->IsArray()) {
|
|
Local<Object> args_lowerb = args[0]->ToObject();
|
|
Local<Object> args_upperb = args[1]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[0]->IsArray() && info[1]->IsArray()) {
|
|
Local<Object> args_lowerb = info[0]->ToObject();
|
|
Local<Object> args_upperb = info[1]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- int dtop = args[0]->Uint32Value();
|
|
int dbottom = args[1]->Uint32Value();
|
|
int dleft = args[2]->Uint32Value();
|
|
int dright = args[3]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ int dtop = info[0]->Uint32Value();
|
|
int dbottom = info[1]->Uint32Value();
|
|
int dleft = info[2]->Uint32Value();
|
|
int dright = info[3]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local < v8::Array > arr = NanNew<Array>(4);
|
|
arr->Set(0, NanNew<Number>(wholeSize.width));
|
|
arr->Set(1, NanNew<Number>(wholeSize.height));
|
|
arr->Set(2, NanNew<Number>(ofs.x));
|
|
arr->Set(3, NanNew<Number>(ofs.y));
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local < v8::Array > arr = Nan::New<Array>(4);
|
|
arr->Set(0, Nan::New<Number>(wholeSize.width));
|
|
arr->Set(1, Nan::New<Number>(wholeSize.height));
|
|
arr->Set(2, Nan::New<Number>(ofs.x));
|
|
arr->Set(3, Nan::New<Number>(ofs.y));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(arr);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(arr);
|
|
</code></pre>
|
|
<pre><code class="removed">- double threshold = args[0]->NumberValue();
|
|
double maxVal = args[1]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ double threshold = info[0]->NumberValue();
|
|
double maxVal = info[1]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() == 3) {
|
|
// typ = args[2]->IntegerValue();
|
|
NanAsciiString typstr(args[2]);
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() == 3) {
|
|
// typ = info[2]->IntegerValue();
|
|
Nan::Utf8String typstr(info[2]);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = ObjectWrap::Unwrap<Matrix>(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = Nan::ObjectWrap::Unwrap<Matrix>(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="removed">- double maxVal = args[0]->NumberValue();
|
|
double adaptiveMethod = args[1]->NumberValue();
|
|
double thresholdType = args[2]->NumberValue();
|
|
double blockSize = args[3]->NumberValue();
|
|
double C = args[4]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ double maxVal = info[0]->NumberValue();
|
|
double adaptiveMethod = info[1]->NumberValue();
|
|
double thresholdType = info[2]->NumberValue();
|
|
double blockSize = info[3]->NumberValue();
|
|
double C = info[4]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = ObjectWrap::Unwrap<Matrix>(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = Nan::ObjectWrap::Unwrap<Matrix>(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(img_to_return);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> mean = NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *m_mean = ObjectWrap::Unwrap<Matrix>(mean);
|
|
Local<Object> stddev = NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *m_stddev = ObjectWrap::Unwrap<Matrix>(stddev);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> mean = Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *m_mean = Nan::ObjectWrap::Unwrap<Matrix>(mean);
|
|
Local<Object> stddev = Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *m_stddev = Nan::ObjectWrap::Unwrap<Matrix>(stddev);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> data = NanNew<Object>();
|
|
data->Set(NanNew<String>("mean"), mean);
|
|
data->Set(NanNew<String>("stddev"), stddev);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> data = Nan::New<Object>();
|
|
data->Set(Nan::New<String>("mean").ToLocalChecked(), mean);
|
|
data->Set(Nan::New<String>("stddev").ToLocalChecked(), stddev);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(data);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(data);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix * self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix * self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *dest = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *dest = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- int x = args[1]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int x = info[1]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- int y = args[2]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int y = info[2]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix * self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix * self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::String::Utf8Value str (args[0]->ToString());
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::String::Utf8Value str (info[0]->ToString());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowTypeError("Conversion code is unsupported");
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowTypeError("Conversion code is unsupported");
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix * self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix * self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local<v8::Array> arrChannels = NanNew<Array>(size);
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local<v8::Array> arrChannels = Nan::New<Array>(size);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix * m = ObjectWrap::Unwrap<Matrix>(matObject);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix * m = Nan::ObjectWrap::Unwrap<Matrix>(matObject);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(arrChannels);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(arrChannels);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix * self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
if (!args[0]->IsArray()) {
|
|
NanThrowTypeError("The argument must be an array");
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix * self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
if (!info[0]->IsArray()) {
|
|
Nan::ThrowTypeError("The argument must be an array");
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Handle<v8::Array> jsChannels = v8::Handle<v8::Array>::Cast(args[0]);
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Handle<v8::Array> jsChannels = v8::Handle<v8::Array>::Cast(info[0]);
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix * matObject = ObjectWrap::Unwrap<Matrix>(jsChannels->Get(i)->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix * matObject = Nan::ObjectWrap::Unwrap<Matrix>(jsChannels->Get(i)->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
Matrix * self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
Matrix * self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- // obj->Get(NanNew<String>("x"))
|
|
</code></pre>
|
|
<pre><code class="added">+ // obj->Get(Nan::New<String>("x").ToLocalChecked())
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() < 1 || !args[0]->IsObject()) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() < 1 || !info[0]->IsObject()) {
|
|
</code></pre>
|
|
<pre><code class="removed">- Local < Object > obj = args[0]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ Local < Object > obj = info[0]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- setPoint(obj->Get(NanNew<String>("seedPoint"))->ToObject()),
|
|
setColor(obj->Get(NanNew<String>("newColor"))->ToObject()),
|
|
obj->Get(NanNew<String>("rect"))->IsUndefined() ?
|
|
0 : setRect(obj->Get(NanNew<String>("rect"))->ToObject(), rect),
|
|
setColor(obj->Get(NanNew<String>("loDiff"))->ToObject()),
|
|
setColor(obj->Get(NanNew<String>("upDiff"))->ToObject()), 4);
|
|
</code></pre>
|
|
<pre><code class="added">+ setPoint(obj->Get(Nan::New<String>("seedPoint").ToLocalChecked())->ToObject()),
|
|
setColor(obj->Get(Nan::New<String>("newColor").ToLocalChecked())->ToObject()),
|
|
obj->Get(Nan::New<String>("rect").ToLocalChecked())->IsUndefined() ?
|
|
0 : setRect(obj->Get(Nan::New<String>("rect").ToLocalChecked())->ToObject(), rect),
|
|
setColor(obj->Get(Nan::New<String>("loDiff").ToLocalChecked())->ToObject()),
|
|
setColor(obj->Get(Nan::New<String>("upDiff").ToLocalChecked())->ToObject()), 4);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew<Number>(ret));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New<Number>(ret));
|
|
</code></pre>
|
|
<pre><code class="removed">- (args.Length() >= 1) ? args[0]->IsNumber() : false;
|
|
</code></pre>
|
|
<pre><code class="added">+ (info.Length() >= 1) ? info[0]->IsNumber() : false;
|
|
</code></pre>
|
|
<pre><code class="removed">- (args.Length() >= 2) ? args[1]->IsNumber() : false;
|
|
double min_probability = filter_min_probability ? args[0]->NumberValue() : 0;
|
|
double max_probability = filter_max_probability ? args[1]->NumberValue() : 0;
|
|
int limit = (args.Length() >= 3) ? args[2]->IntegerValue() : 0;
|
|
bool ascending = (args.Length() >= 4) ? args[3]->BooleanValue() : false;
|
|
int min_x_distance = (args.Length() >= 5) ? args[4]->IntegerValue() : 0;
|
|
int min_y_distance = (args.Length() >= 6) ? args[5]->IntegerValue() : 0;
|
|
</code></pre>
|
|
<pre><code class="added">+ (info.Length() >= 2) ? info[1]->IsNumber() : false;
|
|
double min_probability = filter_min_probability ? info[0]->NumberValue() : 0;
|
|
double max_probability = filter_max_probability ? info[1]->NumberValue() : 0;
|
|
int limit = (info.Length() >= 3) ? info[2]->IntegerValue() : 0;
|
|
bool ascending = (info.Length() >= 4) ? info[3]->BooleanValue() : false;
|
|
int min_x_distance = (info.Length() >= 5) ? info[4]->IntegerValue() : 0;
|
|
int min_y_distance = (info.Length() >= 6) ? info[5]->IntegerValue() : 0;
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local < v8::Array > probabilites_array = NanNew<v8::Array>(limit);
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local < v8::Array > probabilites_array = Nan::New<v8::Array>(limit);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Value> x_value = NanNew<Number>(pt.x);
|
|
Local<Value> y_value = NanNew<Number>(pt.y);
|
|
Local<Value> probability_value = NanNew<Number>(probability);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Value> x_value = Nan::New<Number>(pt.x);
|
|
Local<Value> y_value = Nan::New<Number>(pt.y);
|
|
Local<Value> probability_value = Nan::New<Number>(probability);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local < Object > probability_object = NanNew<Object>();
|
|
probability_object->Set(NanNew<String>("x"), x_value);
|
|
probability_object->Set(NanNew<String>("y"), y_value);
|
|
probability_object->Set(NanNew<String>("probability"), probability_value);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local < Object > probability_object = Nan::New<Object>();
|
|
probability_object->Set(Nan::New<String>("x").ToLocalChecked(), x_value);
|
|
probability_object->Set(Nan::New<String>("y").ToLocalChecked(), y_value);
|
|
probability_object->Set(Nan::New<String>("probability").ToLocalChecked(), probability_value);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(probabilites_array);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(probabilites_array);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::String::Utf8Value args0(args[0]->ToString());
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::String::Utf8Value args0(info[0]->ToString());
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> out = NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *m_out = ObjectWrap::Unwrap<Matrix>(out);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> out = Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *m_out = Nan::ObjectWrap::Unwrap<Matrix>(out);
|
|
</code></pre>
|
|
<pre><code class="removed">- int method = (args.Length() < 2) ? (int)cv::TM_CCORR_NORMED : args[1]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="added">+ int method = (info.Length() < 2) ? (int)cv::TM_CCORR_NORMED : info[1]->Uint32Value();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(out);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(out);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Value> v_minVal = NanNew<Number>(minVal);
|
|
Local<Value> v_maxVal = NanNew<Number>(maxVal);
|
|
Local<Value> v_minLoc_x = NanNew<Number>(minLoc.x);
|
|
Local<Value> v_minLoc_y = NanNew<Number>(minLoc.y);
|
|
Local<Value> v_maxLoc_x = NanNew<Number>(maxLoc.x);
|
|
Local<Value> v_maxLoc_y = NanNew<Number>(maxLoc.y);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Value> v_minVal = Nan::New<Number>(minVal);
|
|
Local<Value> v_maxVal = Nan::New<Number>(maxVal);
|
|
Local<Value> v_minLoc_x = Nan::New<Number>(minLoc.x);
|
|
Local<Value> v_minLoc_y = Nan::New<Number>(minLoc.y);
|
|
Local<Value> v_maxLoc_x = Nan::New<Number>(maxLoc.x);
|
|
Local<Value> v_maxLoc_y = Nan::New<Number>(maxLoc.y);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> o_minLoc = NanNew<Object>();
|
|
o_minLoc->Set(NanNew<String>("x"), v_minLoc_x);
|
|
o_minLoc->Set(NanNew<String>("y"), v_minLoc_y);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> o_minLoc = Nan::New<Object>();
|
|
o_minLoc->Set(Nan::New<String>("x").ToLocalChecked(), v_minLoc_x);
|
|
o_minLoc->Set(Nan::New<String>("y").ToLocalChecked(), v_minLoc_y);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> o_maxLoc = NanNew<Object>();
|
|
o_maxLoc->Set(NanNew<String>("x"), v_maxLoc_x);
|
|
o_maxLoc->Set(NanNew<String>("y"), v_maxLoc_y);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> o_maxLoc = Nan::New<Object>();
|
|
o_maxLoc->Set(Nan::New<String>("x").ToLocalChecked(), v_maxLoc_x);
|
|
o_maxLoc->Set(Nan::New<String>("y").ToLocalChecked(), v_maxLoc_y);
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> result = NanNew<Object>();
|
|
result->Set(NanNew<String>("minVal"), v_minVal);
|
|
result->Set(NanNew<String>("maxVal"), v_maxVal);
|
|
result->Set(NanNew<String>("minLoc"), o_minLoc);
|
|
result->Set(NanNew<String>("maxLoc"), o_maxLoc);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> result = Nan::New<Object>();
|
|
result->Set(Nan::New<String>("minVal").ToLocalChecked(), v_minVal);
|
|
result->Set(Nan::New<String>("maxVal").ToLocalChecked(), v_maxVal);
|
|
result->Set(Nan::New<String>("minLoc").ToLocalChecked(), o_minLoc);
|
|
result->Set(Nan::New<String>("maxLoc").ToLocalChecked(), o_maxLoc);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(result);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(result);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
Matrix *m_input = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
Matrix *m_input = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
NanAsciiString textString(args[0]); //FIXME: might cause issues, see here https://github.com/rvagg/nan/pull/152
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
Nan::Utf8String textString(info[0]); //FIXME: might cause issues, see here https://github.com/rvagg/nan/pull/152
|
|
</code></pre>
|
|
<pre><code class="removed">- int x = args[1]->IntegerValue();
|
|
int y = args[2]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int x = info[1]->IntegerValue();
|
|
int y = info[2]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanAsciiString fontString(args[3]);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Utf8String fontString(info[3]);
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[4]->IsArray()) {
|
|
Local<Object> objColor = args[4]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[4]->IsArray()) {
|
|
Local<Object> objColor = info[4]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- double scale = args.Length() < 6 ? 1 : args[5]->NumberValue();
|
|
double thickness = args.Length() < 7 ? 1 : args[6]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ double scale = info.Length() < 6 ? 1 : info[5]->NumberValue();
|
|
double thickness = info.Length() < 7 ? 1 : info[6]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- // extract quad args
|
|
Local<Object> srcArray = args[0]->ToObject();
|
|
Local<Object> tgtArray = args[1]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ // extract quad info
|
|
Local<Object> srcArray = info[0]->ToObject();
|
|
Local<Object> tgtArray = info[1]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> xfrm = NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *xfrmmat = ObjectWrap::Unwrap<Matrix>(xfrm);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> xfrm = Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *xfrmmat = Nan::ObjectWrap::Unwrap<Matrix>(xfrm);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(xfrm);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(xfrm);
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *xfrm = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *xfrm = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- int width = args[1]->IntegerValue();
|
|
int height = args[2]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int width = info[1]->IntegerValue();
|
|
int height = info[2]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[3]->IsArray()) {
|
|
Local < Object > objColor = args[3]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[3]->IsArray()) {
|
|
Local < Object > objColor = info[3]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnNull();
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::Null());
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *dest = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *dest = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *mask = ObjectWrap::Unwrap<Matrix>(args[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *mask = Nan::ObjectWrap::Unwrap<Matrix>(info[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local < Object > valArray = args[0]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="added">+ Local < Object > valArray = info[0]->ToObject();
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *mask = ObjectWrap::Unwrap<Matrix>(args[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *mask = Nan::ObjectWrap::Unwrap<Matrix>(info[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *mask = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *mask = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Local < v8::Array > arr = NanNew<Array>(3);
|
|
arr->Set(0, NanNew<Number>(means[0]));
|
|
arr->Set(1, NanNew<Number>(means[1]));
|
|
arr->Set(2, NanNew<Number>(means[2]));
|
|
</code></pre>
|
|
<pre><code class="added">+ v8::Local < v8::Array > arr = Nan::New<Array>(3);
|
|
arr->Set(0, Nan::New<Number>(means[0]));
|
|
arr->Set(1, Nan::New<Number>(means[1]));
|
|
arr->Set(2, Nan::New<Number>(means[2]));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(arr);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(arr);
|
|
</code></pre>
|
|
<pre><code class="removed">- double tx = args[0]->NumberValue();
|
|
double ty = args[1]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ double tx = info[0]->NumberValue();
|
|
double ty = info[1]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- // get the integer values of args
|
|
</code></pre>
|
|
<pre><code class="added">+ // get the integer values of info
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix *self = ObjectWrap::Unwrap<Matrix>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix *self = Nan::ObjectWrap::Unwrap<Matrix>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/Point.cc</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- v8::Persistent<FunctionTemplate> Point::constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Persistent<FunctionTemplate> Point::constructor;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<FunctionTemplate> ctor = NanNew<FunctionTemplate>(Point::New);
|
|
NanAssignPersistent(constructor, ctor);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<FunctionTemplate> ctor = Nan::New<FunctionTemplate>(Point::New);
|
|
constructor.Reset(ctor);
|
|
</code></pre>
|
|
<pre><code class="removed">- ctor->SetClassName(NanNew("Point"));
|
|
</code></pre>
|
|
<pre><code class="added">+ ctor->SetClassName(Nan::New("Point").ToLocalChecked());
|
|
</code></pre>
|
|
<pre><code class="removed">- proto->SetAccessor(NanNew("x"), GetX, RaiseImmutable);
|
|
proto->SetAccessor(NanNew("y"), GetY, RaiseImmutable);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetAccessor(proto, Nan::New("x").ToLocalChecked(), GetX, RaiseImmutable);
|
|
Nan::SetAccessor(proto, Nan::New("y").ToLocalChecked(), GetY, RaiseImmutable);
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_PROTOTYPE_METHOD(ctor, "dot", Dot);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetPrototypeMethod(ctor, "dot", Dot);
|
|
</code></pre>
|
|
<pre><code class="removed">- target->Set(NanNew("Point"), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="added">+ target->Set(Nan::New("Point").ToLocalChecked(), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.This()->InternalFieldCount() == 0) {
|
|
return NanThrowTypeError("Cannot Instantiate without new");
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.This()->InternalFieldCount() == 0) {
|
|
return Nan::ThrowTypeError("Cannot Instantiate without new");
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[0]->IsNumber()) {
|
|
x = args[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[0]->IsNumber()) {
|
|
x = info[0]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[1]->IsNumber()) {
|
|
y = args[1]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[1]->IsNumber()) {
|
|
y = info[1]->NumberValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- pt->Wrap(args.This());
|
|
NanReturnValue(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ pt->Wrap(info.This());
|
|
info.GetReturnValue().Set(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
Point *pt = ObjectWrap::Unwrap<Point>(args.This());
|
|
NanReturnValue(NanNew<Number>(pt->point.x));
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
Point *pt = Nan::ObjectWrap::Unwrap<Point>(info.This());
|
|
info.GetReturnValue().Set(Nan::New<Number>(pt->point.x));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
Point *pt = ObjectWrap::Unwrap<Point>(args.This());
|
|
NanReturnValue(NanNew<Number>(pt->point.y));
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
Point *pt = Nan::ObjectWrap::Unwrap<Point>(info.This());
|
|
info.GetReturnValue().Set(Nan::New<Number>(pt->point.y));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowTypeError("Point is immutable");
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowTypeError("Point is immutable");
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
Point *p1 = ObjectWrap::Unwrap<Point>(args.This());
|
|
Point *p2 = ObjectWrap::Unwrap<Point>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
Point *p1 = Nan::ObjectWrap::Unwrap<Point>(info.This());
|
|
Point *p2 = Nan::ObjectWrap::Unwrap<Point>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(NanNew<Number>(p1->point.x * p2->point.x + p1->point.y * p2->point.y));
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(Nan::New<Number>(p1->point.x * p2->point.x + p1->point.y * p2->point.y));
|
|
</code></pre>
|
|
<pre><code class="removed">- ObjectWrap() {
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ObjectWrap() {
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/Point.h</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- class Point: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class Point: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="removed">- static Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ static Nan::Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/Stereo.cc</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- v8::Persistent<FunctionTemplate> StereoBM::constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Persistent<FunctionTemplate> StereoBM::constructor;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<FunctionTemplate> ctor = NanNew<FunctionTemplate>(StereoBM::New);
|
|
NanAssignPersistent(constructor, ctor);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<FunctionTemplate> ctor = Nan::New<FunctionTemplate>(StereoBM::New);
|
|
constructor.Reset(ctor);
|
|
</code></pre>
|
|
<pre><code class="removed">- ctor->SetClassName(NanNew("StereoBM"));
|
|
</code></pre>
|
|
<pre><code class="added">+ ctor->SetClassName(Nan::New("StereoBM").ToLocalChecked());
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_PROTOTYPE_METHOD(ctor, "compute", Compute);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetPrototypeMethod(ctor, "compute", Compute);
|
|
</code></pre>
|
|
<pre><code class="removed">- ctor->Set(NanNew<String>("BASIC_PRESET"), NanNew<Integer>((int)cv::StereoBM::BASIC_PRESET));
|
|
ctor->Set(NanNew<String>("FISH_EYE_PRESET"), NanNew<Integer>((int)cv::StereoBM::FISH_EYE_PRESET));
|
|
ctor->Set(NanNew<String>("NARROW_PRESET"), NanNew<Integer>((int)cv::StereoBM::NARROW_PRESET));
|
|
</code></pre>
|
|
<pre><code class="added">+ ctor->Set(Nan::New<String>("BASIC_PRESET").ToLocalChecked(), Nan::New<Integer>((int)cv::StereoBM::BASIC_PRESET));
|
|
ctor->Set(Nan::New<String>("FISH_EYE_PRESET").ToLocalChecked(), Nan::New<Integer>((int)cv::StereoBM::FISH_EYE_PRESET));
|
|
ctor->Set(Nan::New<String>("NARROW_PRESET").ToLocalChecked(), Nan::New<Integer>((int)cv::StereoBM::NARROW_PRESET));
|
|
</code></pre>
|
|
<pre><code class="removed">- target->Set(NanNew("StereoBM"), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="added">+ target->Set(Nan::New("StereoBM").ToLocalChecked(), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.This()->InternalFieldCount() == 0) {
|
|
NanThrowTypeError("Cannot instantiate without new");
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.This()->InternalFieldCount() == 0) {
|
|
Nan::ThrowTypeError("Cannot instantiate without new");
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() == 0) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() == 0) {
|
|
</code></pre>
|
|
<pre><code class="removed">- } else if (args.Length() == 1) {
|
|
</code></pre>
|
|
<pre><code class="added">+ } else if (info.Length() == 1) {
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo = new StereoBM(args[0]->IntegerValue());
|
|
} else if (args.Length() == 2) {
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo = new StereoBM(info[0]->IntegerValue());
|
|
} else if (info.Length() == 2) {
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo = new StereoBM(args[0]->IntegerValue(), args[1]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo = new StereoBM(info[0]->IntegerValue(), info[1]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo = new StereoBM(args[0]->IntegerValue(), args[1]->IntegerValue(),
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo = new StereoBM(info[0]->IntegerValue(), info[1]->IntegerValue(),
|
|
</code></pre>
|
|
<pre><code class="removed">- args[2]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="added">+ info[2]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo->Wrap(args.Holder());
|
|
NanReturnValue(args.Holder());
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo->Wrap(info.Holder());
|
|
info.GetReturnValue().Set(info.Holder());
|
|
</code></pre>
|
|
<pre><code class="removed">- ObjectWrap(),
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ObjectWrap(),
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m0 = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m0 = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m1 = ObjectWrap::Unwrap<Matrix>(args[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m1 = Nan::ObjectWrap::Unwrap<Matrix>(info[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() > 2) {
|
|
type = args[2]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() > 2) {
|
|
type = info[2]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *disp = ObjectWrap::Unwrap<Matrix>(disparityWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *disp = Nan::ObjectWrap::Unwrap<Matrix>(disparityWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(disparityWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(disparityWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Persistent<FunctionTemplate> StereoSGBM::constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Persistent<FunctionTemplate> StereoSGBM::constructor;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<FunctionTemplate> ctor = NanNew<FunctionTemplate>(StereoSGBM::New);
|
|
NanAssignPersistent(constructor, ctor);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<FunctionTemplate> ctor = Nan::New<FunctionTemplate>(StereoSGBM::New);
|
|
constructor.Reset(ctor);
|
|
</code></pre>
|
|
<pre><code class="removed">- ctor->SetClassName(NanNew("StereoSGBM"));
|
|
</code></pre>
|
|
<pre><code class="added">+ ctor->SetClassName(Nan::New("StereoSGBM").ToLocalChecked());
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_PROTOTYPE_METHOD(ctor, "compute", Compute);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetPrototypeMethod(ctor, "compute", Compute);
|
|
</code></pre>
|
|
<pre><code class="removed">- target->Set(NanNew("StereoSGBM"), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="added">+ target->Set(Nan::New("StereoSGBM").ToLocalChecked(), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.This()->InternalFieldCount() == 0) {
|
|
NanThrowTypeError("Cannot instantiate without new");
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.This()->InternalFieldCount() == 0) {
|
|
Nan::ThrowTypeError("Cannot instantiate without new");
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() == 0) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() == 0) {
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() >= 3) {
|
|
switch (args.Length()) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() >= 3) {
|
|
switch (info.Length()) {
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo = new StereoSGBM(args[0]->IntegerValue(), args[1]->IntegerValue(),
|
|
args[2]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo = new StereoSGBM(info[0]->IntegerValue(), info[1]->IntegerValue(),
|
|
info[2]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo = new StereoSGBM(args[0]->IntegerValue(), args[1]->IntegerValue(),
|
|
args[2]->IntegerValue(), args[3]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo = new StereoSGBM(info[0]->IntegerValue(), info[1]->IntegerValue(),
|
|
info[2]->IntegerValue(), info[3]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo = new StereoSGBM(args[0]->IntegerValue(), args[1]->IntegerValue(),
|
|
args[2]->IntegerValue(), args[3]->IntegerValue(), args[4]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo = new StereoSGBM(info[0]->IntegerValue(), info[1]->IntegerValue(),
|
|
info[2]->IntegerValue(), info[3]->IntegerValue(), info[4]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo = new StereoSGBM(args[0]->IntegerValue(), args[1]->IntegerValue(),
|
|
args[2]->IntegerValue(), args[3]->IntegerValue(), args[4]->IntegerValue(),
|
|
args[5]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo = new StereoSGBM(info[0]->IntegerValue(), info[1]->IntegerValue(),
|
|
info[2]->IntegerValue(), info[3]->IntegerValue(), info[4]->IntegerValue(),
|
|
info[5]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo = new StereoSGBM(args[0]->IntegerValue(), args[1]->IntegerValue(),
|
|
args[2]->IntegerValue(), args[3]->IntegerValue(), args[4]->IntegerValue(),
|
|
args[5]->IntegerValue(), args[6]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo = new StereoSGBM(info[0]->IntegerValue(), info[1]->IntegerValue(),
|
|
info[2]->IntegerValue(), info[3]->IntegerValue(), info[4]->IntegerValue(),
|
|
info[5]->IntegerValue(), info[6]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo = new StereoSGBM(args[0]->IntegerValue(), args[1]->IntegerValue(),
|
|
args[2]->IntegerValue(), args[3]->IntegerValue(), args[4]->IntegerValue(),
|
|
args[5]->IntegerValue(), args[6]->IntegerValue(), args[7]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo = new StereoSGBM(info[0]->IntegerValue(), info[1]->IntegerValue(),
|
|
info[2]->IntegerValue(), info[3]->IntegerValue(), info[4]->IntegerValue(),
|
|
info[5]->IntegerValue(), info[6]->IntegerValue(), info[7]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo = new StereoSGBM(args[0]->IntegerValue(), args[1]->IntegerValue(),
|
|
args[2]->IntegerValue(), args[3]->IntegerValue(), args[4]->IntegerValue(),
|
|
args[5]->IntegerValue(), args[6]->IntegerValue(), args[7]->IntegerValue(),
|
|
args[8]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo = new StereoSGBM(info[0]->IntegerValue(), info[1]->IntegerValue(),
|
|
info[2]->IntegerValue(), info[3]->IntegerValue(), info[4]->IntegerValue(),
|
|
info[5]->IntegerValue(), info[6]->IntegerValue(), info[7]->IntegerValue(),
|
|
info[8]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo = new StereoSGBM(args[0]->IntegerValue(), args[1]->IntegerValue(),
|
|
args[2]->IntegerValue(), args[3]->IntegerValue(), args[4]->IntegerValue(),
|
|
args[5]->IntegerValue(), args[6]->IntegerValue(), args[7]->IntegerValue(),
|
|
args[8]->IntegerValue(), args[9]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo = new StereoSGBM(info[0]->IntegerValue(), info[1]->IntegerValue(),
|
|
info[2]->IntegerValue(), info[3]->IntegerValue(), info[4]->IntegerValue(),
|
|
info[5]->IntegerValue(), info[6]->IntegerValue(), info[7]->IntegerValue(),
|
|
info[8]->IntegerValue(), info[9]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo = new StereoSGBM(args[0]->IntegerValue(), args[1]->IntegerValue(),
|
|
args[2]->IntegerValue(), args[3]->IntegerValue(), args[4]->IntegerValue(),
|
|
args[5]->IntegerValue(), args[6]->IntegerValue(), args[7]->IntegerValue(),
|
|
args[8]->IntegerValue(), args[9]->IntegerValue(), args[10]->ToBoolean()->Value());
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo = new StereoSGBM(info[0]->IntegerValue(), info[1]->IntegerValue(),
|
|
info[2]->IntegerValue(), info[3]->IntegerValue(), info[4]->IntegerValue(),
|
|
info[5]->IntegerValue(), info[6]->IntegerValue(), info[7]->IntegerValue(),
|
|
info[8]->IntegerValue(), info[9]->IntegerValue(), info[10]->ToBoolean()->Value());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError("If overriding default settings, must pass minDisparity, numDisparities, and SADWindowSize");
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError("If overriding default settings, must pass minDisparity, numDisparities, and SADWindowSize");
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo->Wrap(args.Holder());
|
|
NanReturnValue(args.Holder());
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo->Wrap(info.Holder());
|
|
info.GetReturnValue().Set(info.Holder());
|
|
</code></pre>
|
|
<pre><code class="removed">- ObjectWrap(),
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ObjectWrap(),
|
|
</code></pre>
|
|
<pre><code class="removed">- ObjectWrap(),
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ObjectWrap(),
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m0 = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m0 = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m1 = ObjectWrap::Unwrap<Matrix>(args[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m1 = Nan::ObjectWrap::Unwrap<Matrix>(info[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *disp = ObjectWrap::Unwrap<Matrix>(disparityWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *disp = Nan::ObjectWrap::Unwrap<Matrix>(disparityWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(disparityWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(disparityWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- v8::Persistent<FunctionTemplate> StereoGC::constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Persistent<FunctionTemplate> StereoGC::constructor;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<FunctionTemplate> ctor = NanNew<FunctionTemplate>(StereoGC::New);
|
|
NanAssignPersistent(constructor, ctor);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<FunctionTemplate> ctor = Nan::New<FunctionTemplate>(StereoGC::New);
|
|
constructor.Reset(ctor);
|
|
</code></pre>
|
|
<pre><code class="removed">- ctor->SetClassName(NanNew("StereoGC"));
|
|
</code></pre>
|
|
<pre><code class="added">+ ctor->SetClassName(Nan::New("StereoGC").ToLocalChecked());
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_PROTOTYPE_METHOD(ctor, "compute", Compute);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetPrototypeMethod(ctor, "compute", Compute);
|
|
</code></pre>
|
|
<pre><code class="removed">- target->Set(NanNew("StereoGC"), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="added">+ target->Set(Nan::New("StereoGC").ToLocalChecked(), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.This()->InternalFieldCount() == 0)
|
|
NanThrowTypeError("Cannot instantiate without new");
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.This()->InternalFieldCount() == 0)
|
|
Nan::ThrowTypeError("Cannot instantiate without new");
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.Length() == 0) {
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.Length() == 0) {
|
|
</code></pre>
|
|
<pre><code class="removed">- } else if (args.Length() == 1) {
|
|
</code></pre>
|
|
<pre><code class="added">+ } else if (info.Length() == 1) {
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo = new StereoGC(args[0]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo = new StereoGC(info[0]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo = new StereoGC(args[0]->IntegerValue(), args[1]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo = new StereoGC(info[0]->IntegerValue(), info[1]->IntegerValue());
|
|
</code></pre>
|
|
<pre><code class="removed">- stereo->Wrap(args.Holder());
|
|
NanReturnValue(args.Holder());
|
|
</code></pre>
|
|
<pre><code class="added">+ stereo->Wrap(info.Holder());
|
|
info.GetReturnValue().Set(info.Holder());
|
|
</code></pre>
|
|
<pre><code class="removed">- ObjectWrap() {
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ObjectWrap() {
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m0 = ObjectWrap::Unwrap<Matrix>(args[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m0 = Nan::ObjectWrap::Unwrap<Matrix>(info[0]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- Matrix* m1 = ObjectWrap::Unwrap<Matrix>(args[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="added">+ Matrix* m1 = Nan::ObjectWrap::Unwrap<Matrix>(info[1]->ToObject());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *disp = ObjectWrap::Unwrap<Matrix>(disparityWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *disp = Nan::ObjectWrap::Unwrap<Matrix>(disparityWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(disparityWrap);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(disparityWrap);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError(err_msg);
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError(err_msg);
|
|
return;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/Stereo.h</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- class StereoBM: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class StereoBM: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="removed">- static Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ static Nan::Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
<pre><code class="removed">- class StereoSGBM: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class StereoSGBM: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="removed">- static Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ static Nan::Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
<pre><code class="removed">- class StereoGC: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class StereoGC: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="removed">- static Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ static Nan::Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/VideoCaptureWrap.cc</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- v8::Persistent<FunctionTemplate> VideoCaptureWrap::constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Persistent<FunctionTemplate> VideoCaptureWrap::constructor;
|
|
</code></pre>
|
|
<pre><code class="removed">- Persistent<Function> cb;
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Persistent<Function> cb;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<FunctionTemplate> ctor = NanNew<FunctionTemplate>(VideoCaptureWrap::New);
|
|
NanAssignPersistent(constructor, ctor);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<FunctionTemplate> ctor = Nan::New<FunctionTemplate>(VideoCaptureWrap::New);
|
|
constructor.Reset(ctor);
|
|
</code></pre>
|
|
<pre><code class="removed">- ctor->SetClassName(NanNew("VideoCapture"));
|
|
</code></pre>
|
|
<pre><code class="added">+ ctor->SetClassName(Nan::New("VideoCapture").ToLocalChecked());
|
|
</code></pre>
|
|
<pre><code class="removed">- NODE_SET_PROTOTYPE_METHOD(ctor, "read", Read);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "setWidth", SetWidth);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "setHeight", SetHeight);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "setPosition", SetPosition);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "close", Close);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "ReadSync", ReadSync);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "grab", Grab);
|
|
NODE_SET_PROTOTYPE_METHOD(ctor, "retrieve", Retrieve);
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::SetPrototypeMethod(ctor, "read", Read);
|
|
Nan::SetPrototypeMethod(ctor, "setWidth", SetWidth);
|
|
Nan::SetPrototypeMethod(ctor, "setHeight", SetHeight);
|
|
Nan::SetPrototypeMethod(ctor, "setPosition", SetPosition);
|
|
Nan::SetPrototypeMethod(ctor, "close", Close);
|
|
Nan::SetPrototypeMethod(ctor, "ReadSync", ReadSync);
|
|
Nan::SetPrototypeMethod(ctor, "grab", Grab);
|
|
Nan::SetPrototypeMethod(ctor, "retrieve", Retrieve);
|
|
</code></pre>
|
|
<pre><code class="removed">- target->Set(NanNew("VideoCapture"), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="added">+ target->Set(Nan::New("VideoCapture").ToLocalChecked(), ctor->GetFunction());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args.This()->InternalFieldCount() == 0)
|
|
return NanThrowTypeError("Cannot Instantiate without new");
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info.This()->InternalFieldCount() == 0)
|
|
return Nan::ThrowTypeError("Cannot Instantiate without new");
|
|
</code></pre>
|
|
<pre><code class="removed">- if (args[0]->IsNumber()) {
|
|
v = new VideoCaptureWrap(args[0]->NumberValue());
|
|
</code></pre>
|
|
<pre><code class="added">+ if (info[0]->IsNumber()) {
|
|
v = new VideoCaptureWrap(info[0]->NumberValue());
|
|
</code></pre>
|
|
<pre><code class="removed">- v = new VideoCaptureWrap(std::string(*NanAsciiString(args[0]->ToString())));
|
|
</code></pre>
|
|
<pre><code class="added">+ v = new VideoCaptureWrap(std::string(*Nan::Utf8String(info[0]->ToString())));
|
|
</code></pre>
|
|
<pre><code class="removed">- v->Wrap(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ v->Wrap(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError("Camera could not be opened");
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError("Camera could not be opened");
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanThrowError("Video file could not be opened (opencv reqs. non relative paths)");
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::ThrowError("Video file could not be opened (opencv reqs. non relative paths)");
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
VideoCaptureWrap *v = ObjectWrap::Unwrap<VideoCaptureWrap>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
VideoCaptureWrap *v = Nan::ObjectWrap::Unwrap<VideoCaptureWrap>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- if(args.Length() != 1)
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ if(info.Length() != 1)
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- int w = args[0]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int w = info[0]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
VideoCaptureWrap *v = ObjectWrap::Unwrap<VideoCaptureWrap>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
VideoCaptureWrap *v = Nan::ObjectWrap::Unwrap<VideoCaptureWrap>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- if(args.Length() != 1)
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ if(info.Length() != 1)
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- int h = args[0]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int h = info[0]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
VideoCaptureWrap *v = ObjectWrap::Unwrap<VideoCaptureWrap>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
VideoCaptureWrap *v = Nan::ObjectWrap::Unwrap<VideoCaptureWrap>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- if(args.Length() != 1)
|
|
NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ if(info.Length() != 1)
|
|
return;
|
|
</code></pre>
|
|
<pre><code class="removed">- int pos = args[0]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="added">+ int pos = info[0]->IntegerValue();
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
VideoCaptureWrap *v = ObjectWrap::Unwrap<VideoCaptureWrap>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
VideoCaptureWrap *v = Nan::ObjectWrap::Unwrap<VideoCaptureWrap>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- class AsyncVCWorker: public NanAsyncWorker {
|
|
</code></pre>
|
|
<pre><code class="added">+ class AsyncVCWorker: public Nan::AsyncWorker {
|
|
</code></pre>
|
|
<pre><code class="removed">- AsyncVCWorker(NanCallback *callback, VideoCaptureWrap* vc,
|
|
</code></pre>
|
|
<pre><code class="added">+ AsyncVCWorker(Nan::Callback *callback, VideoCaptureWrap* vc,
|
|
</code></pre>
|
|
<pre><code class="removed">- NanAsyncWorker(callback),
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::AsyncWorker(callback),
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> im_to_return= NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = ObjectWrap::Unwrap<Matrix>(im_to_return);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> im_to_return= Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = Nan::ObjectWrap::Unwrap<Matrix>(im_to_return);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanNull()
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Null()
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
VideoCaptureWrap *v = ObjectWrap::Unwrap<VideoCaptureWrap>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
VideoCaptureWrap *v = Nan::ObjectWrap::Unwrap<VideoCaptureWrap>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanCallback *callback = new NanCallback(cb.As<Function>());
|
|
NanAsyncQueueWorker(new AsyncVCWorker(callback, v));
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Callback *callback = new Nan::Callback(cb.As<Function>());
|
|
Nan::AsyncQueueWorker(new AsyncVCWorker(callback, v));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
VideoCaptureWrap *v = ObjectWrap::Unwrap<VideoCaptureWrap>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
VideoCaptureWrap *v = Nan::ObjectWrap::Unwrap<VideoCaptureWrap>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- Local<Object> im_to_return= NanNew(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = ObjectWrap::Unwrap<Matrix>(im_to_return);
|
|
</code></pre>
|
|
<pre><code class="added">+ Local<Object> im_to_return= Nan::New(Matrix::constructor)->GetFunction()->NewInstance();
|
|
Matrix *img = Nan::ObjectWrap::Unwrap<Matrix>(im_to_return);
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnValue(im_to_return);
|
|
</code></pre>
|
|
<pre><code class="added">+ info.GetReturnValue().Set(im_to_return);
|
|
</code></pre>
|
|
<pre><code class="removed">- class AsyncGrabWorker: public NanAsyncWorker {
|
|
</code></pre>
|
|
<pre><code class="added">+ class AsyncGrabWorker: public Nan::AsyncWorker {
|
|
</code></pre>
|
|
<pre><code class="removed">- AsyncGrabWorker(NanCallback *callback, VideoCaptureWrap* vc) :
|
|
NanAsyncWorker(callback),
|
|
</code></pre>
|
|
<pre><code class="added">+ AsyncGrabWorker(Nan::Callback *callback, VideoCaptureWrap* vc) :
|
|
Nan::AsyncWorker(callback),
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
VideoCaptureWrap *v = ObjectWrap::Unwrap<VideoCaptureWrap>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
VideoCaptureWrap *v = Nan::ObjectWrap::Unwrap<VideoCaptureWrap>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanCallback *callback = new NanCallback(cb.As<Function>());
|
|
NanAsyncQueueWorker(new AsyncGrabWorker(callback, v));
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Callback *callback = new Nan::Callback(cb.As<Function>());
|
|
Nan::AsyncQueueWorker(new AsyncGrabWorker(callback, v));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
<pre><code class="removed">- NanScope();
|
|
VideoCaptureWrap *v = ObjectWrap::Unwrap<VideoCaptureWrap>(args.This());
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
VideoCaptureWrap *v = Nan::ObjectWrap::Unwrap<VideoCaptureWrap>(info.This());
|
|
</code></pre>
|
|
<pre><code class="removed">- NanCallback *callback = new NanCallback(cb.As<Function>());
|
|
NanAsyncQueueWorker(new AsyncVCWorker(callback, v, true, channel));
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::Callback *callback = new Nan::Callback(cb.As<Function>());
|
|
Nan::AsyncQueueWorker(new AsyncVCWorker(callback, v, true, channel));
|
|
</code></pre>
|
|
<pre><code class="removed">- NanReturnUndefined();
|
|
</code></pre>
|
|
<pre><code class="added">+ return;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/VideoCaptureWrap.h</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- class VideoCaptureWrap: public node::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="added">+ class VideoCaptureWrap: public Nan::ObjectWrap {
|
|
</code></pre>
|
|
<pre><code class="removed">- static Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
<pre><code class="added">+ static Nan::Persistent<FunctionTemplate> constructor;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<h3>Lines changed in src/init.cc</h3>
|
|
<div class="diff">
|
|
<pre><code class="removed">- NanScope();
|
|
</code></pre>
|
|
<pre><code class="added">+ Nan::HandleScope scope;
|
|
</code></pre>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section id="suggestions">
|
|
<h1>Suggested changes in your JavaScript files</h1>
|
|
<div>
|
|
<h2>buffer</h2>
|
|
<p>Please review changes in Node API for buffer module used in these files:</p>
|
|
<ul>
|
|
<li>examples/face-proxy.js</li>
|
|
<li>examples/mat-put.js</li>
|
|
<li>examples/mat-normalize.js</li>
|
|
<li>lib/opencv.js</li>
|
|
<li>test/unit.js</li>
|
|
</ul>
|
|
<div>
|
|
<p>[<a href="https://iojs.org/api/buffer.html">Docs</a>]</p>
|
|
<ul>
|
|
<li>External memory is now allocated using <a href="https://developer.mozilla.org/en/docs/Web/JavaScript/Typed_arrays">TypedArrays</a>, instead of using <code>SlowBuffer</code> or <code>smalloc</code> as the parent backing.<ul>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/commit/63da0dfd3a4460e117240e84b57af2137469497e"><code>63da0df</code></a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<hr>
|
|
<ul>
|
|
<li><a href="https://iojs.org/api/buffer.html#buffer_class_method_buffer_concat_list_totallength"><code>Buffer.concat()</code></a> now always creates a new buffer, even if only called with one element.<ul>
|
|
<li>Refs: <a href="https://github.com/nodejs/io.js/commit/f4f16bf03980df4d4366697d40e80da805a38bf8"><code>f4f16bf</code></a>, <a href="https://github.com/nodejs/io.js/issues/1891">#1891</a>, <a href="https://github.com/nodejs/io.js/pull/1937">#1937</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="https://iojs.org/api/buffer.html#buffer_class_slowbuffer"><code>SlowBuffer</code></a> has been repurposed to return a <code>Buffer</code> instance who's parent backing is not pooled.<ul>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/commit/456942a920fe313ebe0b0da366d26ef400ec177e"><code>456942a</code></a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="https://iojs.org/api/buffer.html#buffer_buf_tojson"><code>Buffer.prototype.toJSON()</code></a>'s output is no longer the same as an array. Instead it is an object specifically tagged as a buffer, which can be recovered by passing it to (a new overload of) the <code>Buffer</code> constructor.<ul>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/commit/840a29fc0fd256a63b3f2f5e7528de5107a608a3"><code>840a29f</code></a></li>
|
|
</ul>
|
|
</li>
|
|
<li><code>Buffer.prototype.parent</code> is now a getter that points to <code>buffer.buffer</code> if the buffer's size is greater than zero.<ul>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/commit/63da0dfd3a4460e117240e84b57af2137469497e"><code>63da0df</code></a></li>
|
|
</ul>
|
|
</li>
|
|
<li><code>Buffer.prototype.offset</code> is now a read-only getter that returns <code>buffer.byteOffset</code>.<ul>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/commit/63da0dfd3a4460e117240e84b57af2137469497e"><code>63da0df</code></a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="https://iojs.org/api/buffer.html#buffer_buf_fill_value_offset_end"><code>Buffer.prototype.fill()</code></a> now accepts multi-character strings and will fill with the entire passed value. Additionally, <code>fill()</code> now returns its <code>buffer</code> and can be chained.<ul>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/commit/57ed3daebfe4700b14cd551f50240f1a634dbd64"><code>57ed3da</code></a></li>
|
|
</ul>
|
|
</li>
|
|
<li><code>Buffer.prototype._charsWritten</code> no longer is written to, nor exists.<ul>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/commit/ccda6bb3ac99ee46508860385128f47a3d5547e5"><code>ccda6bb</code></a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<h4 id="buffer-changes-from-v8">Buffer changes from V8</h4>
|
|
<p>Implementation changes in V8 have caused subtle impacts how buffers work with encodings in certain cases.</p>
|
|
<ul>
|
|
<li><code>(new Buffer('text\0!', 'ascii')).toString()</code> outputs <code>'text !'</code> in 0.10 and <code>'text\u0000!'</code> in 0.12.</li>
|
|
<li>Invalid unicode characters are replaced to no longer become invalid.<ul>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/issues/2344">#2344</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
</div>
|
|
</div>
|
|
<hr>
|
|
<div>
|
|
<h2>process</h2>
|
|
<p>Please review changes in Node API for process module used in these files:</p>
|
|
<ul>
|
|
<li>lib/opencv.js</li>
|
|
<li>test/examples.js</li>
|
|
</ul>
|
|
<div>
|
|
<p>[<a href="https://iojs.org/api/process.html">Docs</a>]</p>
|
|
<ul>
|
|
<li>Added the concept of <code>beforeExit</code> time.<ul>
|
|
<li>Before the process emits <a href="https://iojs.org/api/process.html#process_event_exit"><code>'exit'</code></a> and begins shutting down, it will emit a <a href="https://iojs.org/api/process.html#process_event_beforeexit"><code>'beforeExit'</code></a> event. Code that is run in the <code>'beforeExit'</code> event can schedule async operations that will hold the event loop open, unlike <code>'exit'</code> where it is too late to async operations.</li>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/commit/a2eeb43deda58e7bbb8fcf24b934157992b937c0"><code>a2eeb43</code></a></li>
|
|
</ul>
|
|
</li>
|
|
<li>Chunked writes to sdtout/stderr will now be lost if the process is terminated early.<ul>
|
|
<li>Chunked writes happen when the string to be written is beyond a certain, fairly large, size.</li>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/issues/784">#784</a>, <a href="https://github.com/nodejs/node/pull/1771">#1771</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="https://iojs.org/api/process.html#process_process_kill_pid_signal"><code>process.kill()</code></a> now throws errors on non-numeric input.<ul>
|
|
<li>Strings that can be coerced to numbers still work. e.g. <code>process.kill('0')</code>.</li>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/commit/832ec1cd507ed344badd2ed97d3da92975650a95"><code>832ec1c</code></a>, <a href="https://github.com/nodejs/node/commit/743a009bad64c4302a724f70c42d73601a16aed4"><code>743a009</code></a></li>
|
|
</ul>
|
|
</li>
|
|
<li><code>process.maxTickDepth</code> has been removed, allowing <a href="https://iojs.org/api/process.html#process_process_nexttick_callback_arg"><code>process.nextTick()</code></a> to starve I/O indefinitely.<ul>
|
|
<li>This is due to adding <a href="https://iojs.org/api/timers.html#timers_setimmediate_callback_arg"><code>setImmediate()</code></a> in 0.10.</li>
|
|
<li>It is suggested you use <code>setImmediate()</code> over <code>process.NextTick()</code>. <code>setImmediate()</code> likely does what you are hoping for (a more efficient <code>setTimeout(..., 0)</code>), and runs after this tick's I/O. <code>process.nextTick()</code> does not actually run in the "next" tick anymore and will block I/O as if it were a synchronous operation.</li>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/commit/0761c90204d7a0134c657e20f91bd83bfa6e677a"><code>0761c90</code></a>, <a href="https://github.com/nodejs/node/commit/9a6c0853bc164ad2d76f51cdcb0771e881cd0a5f"><code>9a6c085</code></a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="https://github.com/nodejs/node/pull/1978"><code>process.send()</code></a> is now always asynchronous, where previously it was blocking on Unix.<ul>
|
|
<li>Pull request <a href="https://github.com/nodejs/node/pull/2620">#2620</a>, which should land before 4.0.0, will make <code>send()</code> accept a callback as the last argument, with will be called with one argument: <code>null</code> if it succeeded, or an <code>Error</code> if it failed.</li>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/issues/760">#760</a>, <a href="https://github.com/nodejs/node/pull/2620">#2620</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<h4 id="signal-handling">Signal handling</h4>
|
|
<p>In node 0.10.x, exit from a fatal signal was accomplished by a signal handler in
|
|
node which called <code>exit(128 + signo)</code>. So for <code>SIGINT</code> (signal 2), a node process
|
|
observing the exit of a spawned node process would observe that process exiting 130,
|
|
but no signal would be noted (see <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/waitid.html"><code>waitid(2)</code></a> for more information on how a process
|
|
waiting for another determines if the waitee exited due to a signal). In node
|
|
0.12.x, a node process observing the exit of a spawned child node process will
|
|
see a null <code>code</code>, and a <code>'SIGINT'</code> as the signal.</p>
|
|
<p>Here is a pair of test programs which illustrates the difference.</p>
|
|
<pre><code>$ cat sleeper.js
|
|
setTimeout(function () {}, 300000)
|
|
|
|
$ cat test.js
|
|
var cp = require("child_process")
|
|
var p = cp.spawn("node", ["sleeper.js"])
|
|
p.on('exit', function (code, signal) {
|
|
console.log("code=" + code + ", signal=" + signal)
|
|
})
|
|
setTimeout(function () { p.kill('SIGINT') }, 2000)
|
|
</code></pre><p>On node 0.10 this produces:</p>
|
|
<pre><code>$ node test.js
|
|
code=130, signal=null
|
|
</code></pre><p>On node 0.12+ this produces:</p>
|
|
<pre><code>$ node test.js
|
|
code=null, signal=SIGINT
|
|
</code></pre><p>This can be a subtle porting issue for multi-process node environments which care
|
|
about signals (such as test harnesses). This change was introduced by
|
|
<a href="https://github.com/joyent/node/commit/c61b0e9cbc748c5e90fc5e25e4fb490b4104cae3"><code>c61b0e9</code>—<code>main: Handle SIGINT properly</code></a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr>
|
|
<div>
|
|
<h2>util</h2>
|
|
<p>Please review changes in Node API for util module used in these files:</p>
|
|
<ul>
|
|
<li>lib/opencv.js</li>
|
|
</ul>
|
|
<div>
|
|
<p>[<a href="https://iojs.org/api/util.html">Docs</a>]</p>
|
|
<ul>
|
|
<li><code>util.is*()</code> (<code>isArray()</code> ... <code>isUndefined()</code>) type-checking functions were added in 0.12 but are scheduled for deprecation. Please use user-land solutions instead.<ul>
|
|
<li>The type checking these use will be come brittle with the eventual addition of <code>Symbol.toStringTag</code>.</li>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/pull/2447">#2447</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>Updated <a href="https://iojs.org/api/util.html#util_util_format_format"><code>util.format()</code></a> to receive several changes:<ul>
|
|
<li><code>-0</code> is now displayed as such, instead of as <code>0</code>.<ul>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/commit/b3e4fc6a48b97b52bd19de43c76b7082dcab4988"><code>b3e4fc6</code></a></li>
|
|
</ul>
|
|
</li>
|
|
<li>Anything that is <code>instanceof Error</code> is now formatted as an error.<ul>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/commit/684dd28a6c684532336777348875ac11305727b9"><code>684dd28</code></a></li>
|
|
</ul>
|
|
</li>
|
|
<li>Circular references in JavaScript objects are now handled for the <code>%j</code> specifier.<ul>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/commit/2cd7adc7f44e4dfe440162a31a168e6aa9a8cea1"><code>2cd7adc</code></a></li>
|
|
</ul>
|
|
</li>
|
|
<li>Custom <code>inspect</code> functions now receive any arguments passed to <code>util.inspect</code>.<ul>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/commit/07774e6b9570f90166a54fa87af74b8a7cf9926a"><code>07774e6</code></a></li>
|
|
</ul>
|
|
</li>
|
|
<li>Displays the constructor name if available.<ul>
|
|
<li>Refs: <a href="https://github.com/nodejs/node/commit/7d14dd9b5e78faabb95d454a79faa513d0bbc2a5"><code>7d14dd9</code></a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>The following utilities were deprecated in <a href="https://github.com/nodejs/node/commit/896b2aa7074fc886efd7dd0a397d694763cac7ce"><code>896b2aa</code></a>:<ul>
|
|
<li><code>util.p()</code>, <code>util.debug()</code>, <code>util.error()</code> — Use <a href="https://iojs.org/api/console.html#console_console_error_data"><code>console.error()</code></a> instead.</li>
|
|
<li><code>util.print()</code>, <code>util.puts()</code> — Use <a href="https://iojs.org/api/console.html#console_console_log_data"><code>console.log()</code></a> instead.</li>
|
|
<li><code>util.exec()</code> — Now found at <a href="https://iojs.org/api/child_process.html#child_process_child_process_exec_command_options_callback"><code>child_process.exec()</code></a>.</li>
|
|
<li><code>util.pump()</code> — Use <a href="https://iojs.org/api/stream.html#stream_readable_pipe_destination_options"><code>ReadableStream.prototype.pipe()</code></a> instead.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
</div>
|
|
</div>
|
|
<hr>
|
|
</section>
|
|
</body>
|
|
</html>
|