@nativescript/canvas 2.0.0-beta.16 → 2.0.0-beta.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Canvas2D/DOMMatrix/index.d.ts +14 -0
- package/Canvas2D/DOMMatrix/index.js +62 -0
- package/Canvas2D/DOMMatrix/index.js.map +1 -1
- package/package.json +1 -4
- package/platforms/android/canvas-release.aar +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +0 -14
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h +0 -4
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +29 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +0 -647
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +0 -20
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +0 -20
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +603 -666
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +0 -28
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h +0 -4
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +29 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +0 -647
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +0 -20
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +0 -20
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +0 -647
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +0 -20
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +0 -20
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +26 -26
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +605 -668
- package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +605 -653
- package/platforms/ios/src/cpp/canvas2d/MatrixImpl.cpp +388 -3
- package/platforms/ios/src/cpp/canvas2d/MatrixImpl.h +25 -0
|
@@ -183,6 +183,71 @@ v8::Local<v8::FunctionTemplate> MatrixImpl::GetCtor(v8::Isolate *isolate) {
|
|
|
183
183
|
);
|
|
184
184
|
|
|
185
185
|
|
|
186
|
+
tmpl->Set(
|
|
187
|
+
ConvertToV8String(isolate, "translate"),
|
|
188
|
+
v8::FunctionTemplate::New(isolate, Translate)
|
|
189
|
+
);
|
|
190
|
+
|
|
191
|
+
tmpl->Set(
|
|
192
|
+
ConvertToV8String(isolate, "translateSelf"),
|
|
193
|
+
v8::FunctionTemplate::New(isolate, TranslateSelf)
|
|
194
|
+
);
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
tmpl->Set(
|
|
198
|
+
ConvertToV8String(isolate, "multiplySelf"),
|
|
199
|
+
v8::FunctionTemplate::New(isolate, MultiplySelf)
|
|
200
|
+
);
|
|
201
|
+
|
|
202
|
+
tmpl->Set(
|
|
203
|
+
ConvertToV8String(isolate, "premultiplySelf"),
|
|
204
|
+
v8::FunctionTemplate::New(isolate, PremultiplySelf)
|
|
205
|
+
);
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
tmpl->Set(
|
|
209
|
+
ConvertToV8String(isolate, "scaleNonUniform"),
|
|
210
|
+
v8::FunctionTemplate::New(isolate, ScaleNonUniform)
|
|
211
|
+
);
|
|
212
|
+
|
|
213
|
+
tmpl->Set(
|
|
214
|
+
ConvertToV8String(isolate, "scaleNonUniformSelf"),
|
|
215
|
+
v8::FunctionTemplate::New(isolate, ScaleNonUniformSelf)
|
|
216
|
+
);
|
|
217
|
+
|
|
218
|
+
tmpl->Set(
|
|
219
|
+
ConvertToV8String(isolate, "rotate"),
|
|
220
|
+
v8::FunctionTemplate::New(isolate, Rotate)
|
|
221
|
+
);
|
|
222
|
+
|
|
223
|
+
tmpl->Set(
|
|
224
|
+
ConvertToV8String(isolate, "rotateSelf"),
|
|
225
|
+
v8::FunctionTemplate::New(isolate, RotateSelf)
|
|
226
|
+
);
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
tmpl->Set(
|
|
230
|
+
ConvertToV8String(isolate, "skewX"),
|
|
231
|
+
v8::FunctionTemplate::New(isolate, SkewX)
|
|
232
|
+
);
|
|
233
|
+
|
|
234
|
+
tmpl->Set(
|
|
235
|
+
ConvertToV8String(isolate, "skewXSelf"),
|
|
236
|
+
v8::FunctionTemplate::New(isolate, SkewXSelf)
|
|
237
|
+
);
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
tmpl->Set(
|
|
241
|
+
ConvertToV8String(isolate, "skewY"),
|
|
242
|
+
v8::FunctionTemplate::New(isolate, SkewY)
|
|
243
|
+
);
|
|
244
|
+
|
|
245
|
+
tmpl->Set(
|
|
246
|
+
ConvertToV8String(isolate, "skewYSelf"),
|
|
247
|
+
v8::FunctionTemplate::New(isolate, SkewYSelf)
|
|
248
|
+
);
|
|
249
|
+
|
|
250
|
+
|
|
186
251
|
cache->MatrixTmpl =
|
|
187
252
|
std::make_unique<v8::Persistent<v8::FunctionTemplate>>(isolate, ctorTmpl);
|
|
188
253
|
return ctorTmpl;
|
|
@@ -216,7 +281,7 @@ void MatrixImpl::Ctor(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
|
216
281
|
|
|
217
282
|
ret->SetAlignedPointerInInternalField(0, object);
|
|
218
283
|
|
|
219
|
-
SetNativeType(
|
|
284
|
+
SetNativeType(ret, NativeType::Matrix);
|
|
220
285
|
|
|
221
286
|
object->BindFinalizer(isolate, ret);
|
|
222
287
|
|
|
@@ -242,7 +307,7 @@ void MatrixImpl::Ctor(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
|
242
307
|
|
|
243
308
|
ret->SetAlignedPointerInInternalField(0, object);
|
|
244
309
|
|
|
245
|
-
SetNativeType(
|
|
310
|
+
SetNativeType(ret, NativeType::Matrix);
|
|
246
311
|
|
|
247
312
|
object->BindFinalizer(isolate, ret);
|
|
248
313
|
|
|
@@ -257,7 +322,7 @@ void MatrixImpl::Ctor(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
|
257
322
|
|
|
258
323
|
ret->SetAlignedPointerInInternalField(0, object);
|
|
259
324
|
|
|
260
|
-
SetNativeType(
|
|
325
|
+
SetNativeType(ret, NativeType::Matrix);
|
|
261
326
|
|
|
262
327
|
object->BindFinalizer(isolate, ret);
|
|
263
328
|
|
|
@@ -802,6 +867,326 @@ void MatrixImpl::SetM44(v8::Local<v8::String> property,
|
|
|
802
867
|
canvas_native_matrix_set_m44(ptr->GetMatrix(), (float) value->NumberValue(context).ToChecked());
|
|
803
868
|
}
|
|
804
869
|
|
|
870
|
+
|
|
871
|
+
void MatrixImpl::Translate(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
872
|
+
auto count = args.Length();
|
|
873
|
+
auto isolate = args.GetIsolate();
|
|
874
|
+
|
|
875
|
+
|
|
876
|
+
if (count >= 3) {
|
|
877
|
+
auto context = isolate->GetCurrentContext();
|
|
878
|
+
auto x = args[0];
|
|
879
|
+
auto y = args[1];
|
|
880
|
+
auto value = args[2];
|
|
881
|
+
auto type = GetNativeType(value);
|
|
882
|
+
if (type == NativeType::Matrix) {
|
|
883
|
+
auto ptr = MatrixImpl::GetPointer(value.As<v8::Object>());
|
|
884
|
+
auto matrix = canvas_native_matrix_translate(
|
|
885
|
+
(float) x->NumberValue(context).ToChecked(),
|
|
886
|
+
(float) y->NumberValue(context).ToChecked(),
|
|
887
|
+
ptr->GetMatrix());
|
|
888
|
+
if (matrix == nullptr) {
|
|
889
|
+
args.GetReturnValue().SetUndefined();
|
|
890
|
+
return;
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
|
|
894
|
+
auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
|
|
895
|
+
context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
|
|
896
|
+
auto object = new MatrixImpl(matrix);
|
|
897
|
+
|
|
898
|
+
ret->SetAlignedPointerInInternalField(0, object);
|
|
899
|
+
|
|
900
|
+
SetNativeType(ret, NativeType::Matrix);
|
|
901
|
+
|
|
902
|
+
object->BindFinalizer(isolate, ret);
|
|
903
|
+
|
|
904
|
+
args.GetReturnValue().Set(ret);
|
|
905
|
+
return;
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
args.GetReturnValue().SetUndefined();
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
void MatrixImpl::TranslateSelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
913
|
+
auto count = args.Length();
|
|
914
|
+
auto isolate = args.GetIsolate();
|
|
915
|
+
|
|
916
|
+
MatrixImpl *ptr = GetPointer(args.This());
|
|
917
|
+
|
|
918
|
+
if (count >= 2) {
|
|
919
|
+
auto context = isolate->GetCurrentContext();
|
|
920
|
+
auto x = args[0];
|
|
921
|
+
auto y = args[1];
|
|
922
|
+
|
|
923
|
+
canvas_native_matrix_translate_self(ptr->GetMatrix(),
|
|
924
|
+
(float) x->NumberValue(context).ToChecked(),
|
|
925
|
+
(float) y->NumberValue(context).ToChecked());
|
|
926
|
+
}
|
|
927
|
+
}
|
|
928
|
+
|
|
929
|
+
void MatrixImpl::MultiplySelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
930
|
+
auto count = args.Length();
|
|
931
|
+
auto isolate = args.GetIsolate();
|
|
932
|
+
|
|
933
|
+
MatrixImpl *ptr = GetPointer(args.This());
|
|
934
|
+
|
|
935
|
+
if (count >= 1) {
|
|
936
|
+
auto context = isolate->GetCurrentContext();
|
|
937
|
+
auto value = args[0];
|
|
938
|
+
auto type = GetNativeType(value);
|
|
939
|
+
if (type == NativeType::Matrix) {
|
|
940
|
+
auto matrix = GetPointer(value.As<v8::Object>());
|
|
941
|
+
canvas_native_matrix_multiply_self(ptr->GetMatrix(), matrix->GetMatrix());
|
|
942
|
+
}
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
void MatrixImpl::PremultiplySelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
947
|
+
auto count = args.Length();
|
|
948
|
+
auto isolate = args.GetIsolate();
|
|
949
|
+
|
|
950
|
+
MatrixImpl *ptr = GetPointer(args.This());
|
|
951
|
+
|
|
952
|
+
if (count >= 1) {
|
|
953
|
+
auto context = isolate->GetCurrentContext();
|
|
954
|
+
auto value = args[0];
|
|
955
|
+
auto type = GetNativeType(value);
|
|
956
|
+
if (type == NativeType::Matrix) {
|
|
957
|
+
auto matrix = GetPointer(value.As<v8::Object>());
|
|
958
|
+
canvas_native_matrix_premultiply_self(ptr->GetMatrix(), matrix->GetMatrix());
|
|
959
|
+
}
|
|
960
|
+
}
|
|
961
|
+
}
|
|
962
|
+
|
|
963
|
+
void MatrixImpl::ScaleNonUniform(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
964
|
+
auto count = args.Length();
|
|
965
|
+
auto isolate = args.GetIsolate();
|
|
966
|
+
|
|
967
|
+
|
|
968
|
+
if (count >= 3) {
|
|
969
|
+
auto context = isolate->GetCurrentContext();
|
|
970
|
+
auto sx = args[0];
|
|
971
|
+
auto sy = args[1];
|
|
972
|
+
auto value = args[2];
|
|
973
|
+
auto type = GetNativeType(value);
|
|
974
|
+
if (type == NativeType::Matrix) {
|
|
975
|
+
auto ptr = MatrixImpl::GetPointer(value.As<v8::Object>());
|
|
976
|
+
auto matrix = canvas_native_matrix_scale_non_uniform(
|
|
977
|
+
(float) sx->NumberValue(context).ToChecked(),
|
|
978
|
+
(float) sy->NumberValue(context).ToChecked(),
|
|
979
|
+
ptr->GetMatrix());
|
|
980
|
+
if (matrix == nullptr) {
|
|
981
|
+
args.GetReturnValue().SetUndefined();
|
|
982
|
+
return;
|
|
983
|
+
}
|
|
984
|
+
|
|
985
|
+
|
|
986
|
+
auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
|
|
987
|
+
context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
|
|
988
|
+
auto object = new MatrixImpl(matrix);
|
|
989
|
+
|
|
990
|
+
ret->SetAlignedPointerInInternalField(0, object);
|
|
991
|
+
|
|
992
|
+
SetNativeType(ret, NativeType::Matrix);
|
|
993
|
+
|
|
994
|
+
object->BindFinalizer(isolate, ret);
|
|
995
|
+
|
|
996
|
+
args.GetReturnValue().Set(ret);
|
|
997
|
+
return;
|
|
998
|
+
}
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
args.GetReturnValue().SetUndefined();
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
void MatrixImpl::ScaleNonUniformSelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
1005
|
+
auto count = args.Length();
|
|
1006
|
+
auto isolate = args.GetIsolate();
|
|
1007
|
+
|
|
1008
|
+
MatrixImpl *ptr = GetPointer(args.This());
|
|
1009
|
+
|
|
1010
|
+
if (count >= 2) {
|
|
1011
|
+
auto context = isolate->GetCurrentContext();
|
|
1012
|
+
auto x = args[0];
|
|
1013
|
+
auto y = args[1];
|
|
1014
|
+
canvas_native_matrix_scale_non_uniform_self(ptr->GetMatrix(),
|
|
1015
|
+
(float) x->NumberValue(context).ToChecked(),
|
|
1016
|
+
(float) y->NumberValue(context).ToChecked());
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
void MatrixImpl::Rotate(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
1021
|
+
auto count = args.Length();
|
|
1022
|
+
auto isolate = args.GetIsolate();
|
|
1023
|
+
|
|
1024
|
+
|
|
1025
|
+
if (count >= 4) {
|
|
1026
|
+
auto context = isolate->GetCurrentContext();
|
|
1027
|
+
auto angle = args[0];
|
|
1028
|
+
auto cx = args[1];
|
|
1029
|
+
auto cy = args[2];
|
|
1030
|
+
auto value = args[3];
|
|
1031
|
+
auto type = GetNativeType(value);
|
|
1032
|
+
if (type == NativeType::Matrix) {
|
|
1033
|
+
auto ptr = MatrixImpl::GetPointer(value.As<v8::Object>());
|
|
1034
|
+
auto matrix = canvas_native_matrix_rotate(
|
|
1035
|
+
(float) angle->NumberValue(context).ToChecked(),
|
|
1036
|
+
(float) cx->NumberValue(context).ToChecked(),
|
|
1037
|
+
(float) cy->NumberValue(context).ToChecked(),
|
|
1038
|
+
ptr->GetMatrix());
|
|
1039
|
+
if (matrix == nullptr) {
|
|
1040
|
+
args.GetReturnValue().SetUndefined();
|
|
1041
|
+
return;
|
|
1042
|
+
}
|
|
1043
|
+
|
|
1044
|
+
|
|
1045
|
+
auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
|
|
1046
|
+
context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
|
|
1047
|
+
auto object = new MatrixImpl(matrix);
|
|
1048
|
+
|
|
1049
|
+
ret->SetAlignedPointerInInternalField(0, object);
|
|
1050
|
+
|
|
1051
|
+
SetNativeType(ret, NativeType::Matrix);
|
|
1052
|
+
|
|
1053
|
+
object->BindFinalizer(isolate, ret);
|
|
1054
|
+
|
|
1055
|
+
args.GetReturnValue().Set(ret);
|
|
1056
|
+
return;
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
args.GetReturnValue().SetUndefined();
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1063
|
+
void MatrixImpl::RotateSelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
1064
|
+
auto count = args.Length();
|
|
1065
|
+
auto isolate = args.GetIsolate();
|
|
1066
|
+
|
|
1067
|
+
MatrixImpl *ptr = GetPointer(args.This());
|
|
1068
|
+
|
|
1069
|
+
if (count >= 2) {
|
|
1070
|
+
auto context = isolate->GetCurrentContext();
|
|
1071
|
+
auto angle = args[0];
|
|
1072
|
+
auto cx = args[1];
|
|
1073
|
+
auto cy = args[2];
|
|
1074
|
+
canvas_native_matrix_rotate_self(ptr->GetMatrix(),
|
|
1075
|
+
(float) angle->NumberValue(context).ToChecked(),
|
|
1076
|
+
(float) cx->NumberValue(context).ToChecked(),
|
|
1077
|
+
(float) cy->NumberValue(context).ToChecked());
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
void MatrixImpl::SkewX(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
1082
|
+
auto count = args.Length();
|
|
1083
|
+
auto isolate = args.GetIsolate();
|
|
1084
|
+
|
|
1085
|
+
|
|
1086
|
+
if (count >= 2) {
|
|
1087
|
+
auto context = isolate->GetCurrentContext();
|
|
1088
|
+
auto angle = args[0];
|
|
1089
|
+
auto value = args[1];
|
|
1090
|
+
auto type = GetNativeType(value);
|
|
1091
|
+
if (type == NativeType::Matrix) {
|
|
1092
|
+
auto ptr = MatrixImpl::GetPointer(value.As<v8::Object>());
|
|
1093
|
+
auto matrix = canvas_native_matrix_skew_x(
|
|
1094
|
+
(float) angle->NumberValue(context).ToChecked(),
|
|
1095
|
+
ptr->GetMatrix());
|
|
1096
|
+
if (matrix == nullptr) {
|
|
1097
|
+
args.GetReturnValue().SetUndefined();
|
|
1098
|
+
return;
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
|
|
1102
|
+
auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
|
|
1103
|
+
context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
|
|
1104
|
+
auto object = new MatrixImpl(matrix);
|
|
1105
|
+
|
|
1106
|
+
ret->SetAlignedPointerInInternalField(0, object);
|
|
1107
|
+
|
|
1108
|
+
SetNativeType(ret, NativeType::Matrix);
|
|
1109
|
+
|
|
1110
|
+
object->BindFinalizer(isolate, ret);
|
|
1111
|
+
|
|
1112
|
+
args.GetReturnValue().Set(ret);
|
|
1113
|
+
return;
|
|
1114
|
+
}
|
|
1115
|
+
}
|
|
1116
|
+
|
|
1117
|
+
args.GetReturnValue().SetUndefined();
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
void MatrixImpl::SkewXSelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
1121
|
+
auto count = args.Length();
|
|
1122
|
+
auto isolate = args.GetIsolate();
|
|
1123
|
+
|
|
1124
|
+
MatrixImpl *ptr = GetPointer(args.This());
|
|
1125
|
+
|
|
1126
|
+
if (count >= 1) {
|
|
1127
|
+
auto context = isolate->GetCurrentContext();
|
|
1128
|
+
auto angle = args[0];
|
|
1129
|
+
canvas_native_matrix_skew_x_self(ptr->GetMatrix(),
|
|
1130
|
+
(float) angle->NumberValue(context).ToChecked());
|
|
1131
|
+
}
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
void MatrixImpl::SkewY(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
1135
|
+
auto count = args.Length();
|
|
1136
|
+
auto isolate = args.GetIsolate();
|
|
1137
|
+
|
|
1138
|
+
|
|
1139
|
+
if (count >= 2) {
|
|
1140
|
+
auto context = isolate->GetCurrentContext();
|
|
1141
|
+
auto angle = args[0];
|
|
1142
|
+
auto value = args[1];
|
|
1143
|
+
auto type = GetNativeType(value);
|
|
1144
|
+
if (type == NativeType::Matrix) {
|
|
1145
|
+
auto ptr = MatrixImpl::GetPointer(value.As<v8::Object>());
|
|
1146
|
+
auto matrix = canvas_native_matrix_skew_y(
|
|
1147
|
+
angle->NumberValue(context).ToChecked(),
|
|
1148
|
+
ptr->GetMatrix());
|
|
1149
|
+
if (matrix == nullptr) {
|
|
1150
|
+
args.GetReturnValue().SetUndefined();
|
|
1151
|
+
return;
|
|
1152
|
+
}
|
|
1153
|
+
|
|
1154
|
+
|
|
1155
|
+
auto ret = MatrixImpl::GetCtor(isolate)->GetFunction(
|
|
1156
|
+
context).ToLocalChecked()->NewInstance(context).ToLocalChecked();
|
|
1157
|
+
auto object = new MatrixImpl(matrix);
|
|
1158
|
+
|
|
1159
|
+
ret->SetAlignedPointerInInternalField(0, object);
|
|
1160
|
+
|
|
1161
|
+
SetNativeType(ret, NativeType::Matrix);
|
|
1162
|
+
|
|
1163
|
+
object->BindFinalizer(isolate, ret);
|
|
1164
|
+
|
|
1165
|
+
args.GetReturnValue().Set(ret);
|
|
1166
|
+
return;
|
|
1167
|
+
}
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
args.GetReturnValue().SetUndefined();
|
|
1171
|
+
}
|
|
1172
|
+
|
|
1173
|
+
void MatrixImpl::SkewYSelf(const v8::FunctionCallbackInfo<v8::Value> &args) {
|
|
1174
|
+
auto count = args.Length();
|
|
1175
|
+
auto isolate = args.GetIsolate();
|
|
1176
|
+
|
|
1177
|
+
MatrixImpl *ptr = GetPointer(args.This());
|
|
1178
|
+
|
|
1179
|
+
if (count >= 1) {
|
|
1180
|
+
auto context = isolate->GetCurrentContext();
|
|
1181
|
+
auto angle = args[0];
|
|
1182
|
+
canvas_native_matrix_skew_y_self(ptr->GetMatrix(),
|
|
1183
|
+
(float) angle->NumberValue(context).ToChecked());
|
|
1184
|
+
}
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1187
|
+
|
|
805
1188
|
Matrix *MatrixImpl::GetMatrix() {
|
|
806
1189
|
return this->matrix_;
|
|
807
1190
|
}
|
|
1191
|
+
|
|
1192
|
+
|
|
@@ -184,6 +184,31 @@ public:
|
|
|
184
184
|
v8::Local<v8::Value> value,
|
|
185
185
|
const v8::PropertyCallbackInfo<void> &info);
|
|
186
186
|
|
|
187
|
+
|
|
188
|
+
static void Translate(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
189
|
+
|
|
190
|
+
static void TranslateSelf(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
191
|
+
|
|
192
|
+
static void MultiplySelf(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
193
|
+
|
|
194
|
+
static void PremultiplySelf(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
195
|
+
|
|
196
|
+
static void ScaleNonUniform(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
197
|
+
|
|
198
|
+
static void ScaleNonUniformSelf(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
199
|
+
|
|
200
|
+
static void Rotate(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
201
|
+
|
|
202
|
+
static void RotateSelf(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
203
|
+
|
|
204
|
+
static void SkewX(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
205
|
+
|
|
206
|
+
static void SkewXSelf(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
207
|
+
|
|
208
|
+
static void SkewY(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
209
|
+
|
|
210
|
+
static void SkewYSelf(const v8::FunctionCallbackInfo<v8::Value> &args);
|
|
211
|
+
|
|
187
212
|
private:
|
|
188
213
|
Matrix* matrix_;
|
|
189
214
|
};
|