@nativescript/canvas 2.0.0-beta.2 → 2.0.0-beta.20

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.
Files changed (201) hide show
  1. package/Canvas/common.d.ts +23 -15
  2. package/Canvas/common.js +127 -55
  3. package/Canvas/common.js.map +1 -1
  4. package/Canvas/index.android.d.ts +1 -0
  5. package/Canvas/index.android.js +53 -88
  6. package/Canvas/index.android.js.map +1 -1
  7. package/Canvas/index.d.ts +2 -0
  8. package/Canvas/index.ios.d.ts +4 -1
  9. package/Canvas/index.ios.js +58 -52
  10. package/Canvas/index.ios.js.map +1 -1
  11. package/Canvas2D/CanvasRenderingContext2D/index.d.ts +14 -0
  12. package/Canvas2D/CanvasRenderingContext2D/index.js +207 -19
  13. package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
  14. package/Canvas2D/DOMMatrix/index.d.ts +14 -0
  15. package/Canvas2D/DOMMatrix/index.js +62 -0
  16. package/Canvas2D/DOMMatrix/index.js.map +1 -1
  17. package/Canvas2D/ImageData/index.js +4 -6
  18. package/Canvas2D/ImageData/index.js.map +1 -1
  19. package/Canvas2D/Path2D/index.d.ts +2 -1
  20. package/Canvas2D/Path2D/index.js +3 -12
  21. package/Canvas2D/Path2D/index.js.map +1 -1
  22. package/Dom/Dom.d.ts +20 -1
  23. package/Dom/Dom.js +78 -10
  24. package/Dom/Dom.js.map +1 -1
  25. package/Dom/Group.d.ts +5 -0
  26. package/Dom/Group.js +15 -0
  27. package/Dom/Group.js.map +1 -1
  28. package/Dom/Image.d.ts +1 -0
  29. package/Dom/Image.js +20 -0
  30. package/Dom/Image.js.map +1 -1
  31. package/Dom/Paint.d.ts +4 -0
  32. package/Dom/Paint.js +19 -7
  33. package/Dom/Paint.js.map +1 -1
  34. package/Dom/Shadow.js +9 -0
  35. package/Dom/Shadow.js.map +1 -1
  36. package/Dom/Text.js +11 -1
  37. package/Dom/Text.js.map +1 -1
  38. package/Dom/index.d.ts +1 -0
  39. package/Dom/index.js +1 -0
  40. package/Dom/index.js.map +1 -1
  41. package/Dom/shaders/Gradients.d.ts +3 -0
  42. package/Dom/shaders/Gradients.js +4 -0
  43. package/Dom/shaders/Gradients.js.map +1 -0
  44. package/Dom/shaders/LinearGradient.d.ts +14 -0
  45. package/Dom/shaders/LinearGradient.js +44 -0
  46. package/Dom/shaders/LinearGradient.js.map +1 -0
  47. package/Dom/shaders/TwoPointConicalGradient.d.ts +16 -0
  48. package/Dom/shaders/TwoPointConicalGradient.js +60 -0
  49. package/Dom/shaders/TwoPointConicalGradient.js.map +1 -0
  50. package/Dom/shaders/index.d.ts +2 -0
  51. package/Dom/shaders/index.js +3 -0
  52. package/Dom/shaders/index.js.map +1 -0
  53. package/Dom/shapes/Atlas.d.ts +22 -0
  54. package/Dom/shapes/Atlas.js +60 -0
  55. package/Dom/shapes/Atlas.js.map +1 -0
  56. package/Dom/shapes/Circle.js +11 -0
  57. package/Dom/shapes/Circle.js.map +1 -1
  58. package/Dom/shapes/Line.d.ts +16 -4
  59. package/Dom/shapes/Line.js +13 -8
  60. package/Dom/shapes/Line.js.map +1 -1
  61. package/Dom/shapes/Oval.d.ts +12 -0
  62. package/Dom/shapes/Oval.js +87 -0
  63. package/Dom/shapes/Oval.js.map +1 -0
  64. package/Dom/shapes/Path.d.ts +19 -2
  65. package/Dom/shapes/Path.js +68 -4
  66. package/Dom/shapes/Path.js.map +1 -1
  67. package/Dom/shapes/Points.js +9 -1
  68. package/Dom/shapes/Points.js.map +1 -1
  69. package/Dom/shapes/Rect.js +27 -5
  70. package/Dom/shapes/Rect.js.map +1 -1
  71. package/Dom/shapes/RoundedRect.d.ts +2 -1
  72. package/Dom/shapes/RoundedRect.js +13 -2
  73. package/Dom/shapes/RoundedRect.js.map +1 -1
  74. package/Dom/shapes/index.d.ts +17 -0
  75. package/Dom/shapes/index.js +31 -0
  76. package/Dom/shapes/index.js.map +1 -1
  77. package/WebGL/WebGLRenderingContext/index.d.ts +1 -0
  78. package/WebGL/WebGLRenderingContext/index.js +104 -14
  79. package/WebGL/WebGLRenderingContext/index.js.map +1 -1
  80. package/WebGL2/WebGL2RenderingContext/index.d.ts +1 -0
  81. package/WebGL2/WebGL2RenderingContext/index.js +2 -3
  82. package/WebGL2/WebGL2RenderingContext/index.js.map +1 -1
  83. package/index.d.ts +0 -1
  84. package/index.js +14 -15
  85. package/index.js.map +1 -1
  86. package/package.json +1 -4
  87. package/platforms/android/canvas-release.aar +0 -0
  88. package/platforms/ios/CanvasNative.xcframework/Info.plist +4 -0
  89. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  90. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +35 -25
  91. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h +50 -4
  92. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +139 -16
  93. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Info.plist +0 -0
  94. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  95. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +982 -3319
  96. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +18 -33
  97. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  98. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +18 -33
  99. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/module.modulemap +1 -1
  100. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/NSCCanvas.nib +0 -0
  101. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  102. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +622 -0
  103. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  104. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +70 -50
  105. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h +50 -4
  106. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +139 -16
  107. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Info.plist +0 -0
  108. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  109. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  110. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +982 -3319
  111. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +18 -33
  112. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  113. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +18 -33
  114. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +982 -3319
  115. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +18 -33
  116. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  117. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +18 -33
  118. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/module.modulemap +1 -1
  119. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/NSCCanvas.nib +0 -0
  120. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +35 -35
  121. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  122. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/aarch64/CanvasNative.yml +624 -0
  123. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/Relocations/x86_64/CanvasNative.yml +624 -0
  124. package/platforms/ios/src/cpp/CanvasJSIModule.cpp +297 -397
  125. package/platforms/ios/src/cpp/Helpers.h +3 -4
  126. package/platforms/ios/src/cpp/ImageAssetImpl.cpp +30 -30
  127. package/platforms/ios/src/cpp/ImageAssetImpl.h +8 -5
  128. package/platforms/ios/src/cpp/URLImpl.cpp +73 -0
  129. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +339 -33
  130. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.h +150 -55
  131. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.cpp +409 -3
  132. package/platforms/ios/src/cpp/canvas2d/MatrixImpl.h +27 -0
  133. package/platforms/ios/src/cpp/canvas2d/Path2D.cpp +19 -48
  134. package/platforms/ios/src/cpp/canvas2d/Path2D.h +19 -0
  135. package/platforms/ios/src/cpp/webgl/WebGLRenderingContext.cpp +105 -119
  136. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.cpp +37 -7
  137. package/platforms/ios/src/cpp/webgl/WebGLRenderingContextBase.h +10 -0
  138. package/platforms/ios/src/cpp/webgl2/WebGL2RenderingContext.cpp +1766 -1659
  139. package/src-native/ios/NativeScript.podspec +1 -1
  140. package/SVG/Circle.d.ts +0 -11
  141. package/SVG/Circle.js +0 -21
  142. package/SVG/Circle.js.map +0 -1
  143. package/SVG/ClipPath.d.ts +0 -4
  144. package/SVG/ClipPath.js +0 -9
  145. package/SVG/ClipPath.js.map +0 -1
  146. package/SVG/Defs.d.ts +0 -4
  147. package/SVG/Defs.js +0 -9
  148. package/SVG/Defs.js.map +0 -1
  149. package/SVG/Ellipse.d.ts +0 -13
  150. package/SVG/Ellipse.js +0 -26
  151. package/SVG/Ellipse.js.map +0 -1
  152. package/SVG/G.d.ts +0 -7
  153. package/SVG/G.js +0 -9
  154. package/SVG/G.js.map +0 -1
  155. package/SVG/Image.d.ts +0 -11
  156. package/SVG/Image.js +0 -40
  157. package/SVG/Image.js.map +0 -1
  158. package/SVG/Line.d.ts +0 -13
  159. package/SVG/Line.js +0 -26
  160. package/SVG/Line.js.map +0 -1
  161. package/SVG/LinearGradient.d.ts +0 -10
  162. package/SVG/LinearGradient.js +0 -13
  163. package/SVG/LinearGradient.js.map +0 -1
  164. package/SVG/Path.d.ts +0 -7
  165. package/SVG/Path.js +0 -14
  166. package/SVG/Path.js.map +0 -1
  167. package/SVG/Pattern.d.ts +0 -4
  168. package/SVG/Pattern.js +0 -9
  169. package/SVG/Pattern.js.map +0 -1
  170. package/SVG/Polygon.d.ts +0 -7
  171. package/SVG/Polygon.js +0 -14
  172. package/SVG/Polygon.js.map +0 -1
  173. package/SVG/Polyline.d.ts +0 -7
  174. package/SVG/Polyline.js +0 -14
  175. package/SVG/Polyline.js.map +0 -1
  176. package/SVG/Rect.d.ts +0 -8
  177. package/SVG/Rect.js +0 -13
  178. package/SVG/Rect.js.map +0 -1
  179. package/SVG/SVG.d.ts +0 -31
  180. package/SVG/SVG.js +0 -190
  181. package/SVG/SVG.js.map +0 -1
  182. package/SVG/SVGItem.d.ts +0 -5
  183. package/SVG/SVGItem.js +0 -8
  184. package/SVG/SVGItem.js.map +0 -1
  185. package/SVG/Stop.d.ts +0 -5
  186. package/SVG/Stop.js +0 -9
  187. package/SVG/Stop.js.map +0 -1
  188. package/SVG/Symbol.d.ts +0 -4
  189. package/SVG/Symbol.js +0 -9
  190. package/SVG/Symbol.js.map +0 -1
  191. package/SVG/Text.d.ts +0 -14
  192. package/SVG/Text.js +0 -26
  193. package/SVG/Text.js.map +0 -1
  194. package/SVG/Use.d.ts +0 -4
  195. package/SVG/Use.js +0 -9
  196. package/SVG/Use.js.map +0 -1
  197. package/SVG/index.d.ts +0 -18
  198. package/SVG/index.js +0 -19
  199. package/SVG/index.js.map +0 -1
  200. package/platforms/ios/src/cpp/PerIsolateData.cpp +0 -49
  201. package/platforms/ios/src/cpp/PerIsolateData.h +0 -54
@@ -7,7 +7,6 @@
7
7
  #include <memory>
8
8
  #include "Common.h"
9
9
  #include "OneByteStringResource.h"
10
- #include "PerIsolateData.h"
11
10
  #include "v8-fast-api-calls.h"
12
11
  //#ifdef __APPLE__
13
12
  //#ifdef __OBJC__
@@ -176,7 +175,7 @@ static void SetPrivateValue(v8::Isolate *isolate, const v8::Local<v8::Object> &o
176
175
  const v8::Local<v8::String> &propName,
177
176
  const v8::Local<v8::Value> &value) {
178
177
  v8::Local<v8::Context> context;
179
- obj->GetCreationContext().ToLocal(&context);
178
+ auto succcess = obj->GetCreationContext().ToLocal(&context);
180
179
  v8::Local<v8::Private> privateKey = v8::Private::ForApi(isolate, propName);
181
180
  obj->SetPrivate(context, privateKey, value);
182
181
  }
@@ -185,7 +184,7 @@ static v8::Local<v8::Value>
185
184
  GetPrivateValue(v8::Isolate *isolate, const v8::Local<v8::Object> &obj,
186
185
  const v8::Local<v8::String> &propName) {
187
186
  v8::Local<v8::Context> context;
188
- obj->GetCreationContext().ToLocal(&context);
187
+ auto succcess = obj->GetCreationContext().ToLocal(&context);
189
188
  v8::Local<v8::Private> privateKey = v8::Private::ForApi(isolate, propName);
190
189
 
191
190
  v8::Maybe<bool> hasPrivate = obj->HasPrivate(context, privateKey);
@@ -196,7 +195,7 @@ GetPrivateValue(v8::Isolate *isolate, const v8::Local<v8::Object> &obj,
196
195
 
197
196
  v8::Local<v8::Value> result;
198
197
 
199
- obj->GetPrivate(context, privateKey).ToLocal(&result);
198
+ succcess = obj->GetPrivate(context, privateKey).ToLocal(&result);
200
199
 
201
200
  return result;
202
201
  }
@@ -15,8 +15,8 @@ ImageAssetImpl::ImageAssetImpl(ImageAsset *asset) : asset_(asset) {
15
15
  }
16
16
 
17
17
  ImageAssetImpl::~ImageAssetImpl() {
18
- canvas_native_image_asset_destroy(this->GetImageAsset());
19
- asset_ = nullptr;
18
+ canvas_native_image_asset_destroy(this->GetImageAsset());
19
+ asset_ = nullptr;
20
20
  }
21
21
 
22
22
  void ImageAssetImpl::Init(v8::Local<v8::Object> canvasModule, v8::Isolate *isolate) {
@@ -28,7 +28,7 @@ void ImageAssetImpl::Init(v8::Local<v8::Object> canvasModule, v8::Isolate *isola
28
28
  auto context = isolate->GetCurrentContext();
29
29
  auto func = ctor->GetFunction(context).ToLocalChecked();
30
30
 
31
- canvasModule->Set(context, ConvertToV8String(isolate, "ImageAsset"), func);
31
+ canvasModule->Set(context, ConvertToV8String(isolate, "ImageAsset"), func).IsJust();
32
32
  }
33
33
 
34
34
  ImageAssetImpl *ImageAssetImpl::GetPointer(const v8::Local<v8::Object> &object) {
@@ -62,9 +62,13 @@ v8::Local<v8::FunctionTemplate> ImageAssetImpl::GetCtor(v8::Isolate *isolate) {
62
62
  ConvertToV8String(isolate, "error"),
63
63
  GetError);
64
64
 
65
- tmpl->Set(
66
- ConvertToV8String(isolate, "scale"),
67
- v8::FunctionTemplate::New(isolate, &Scale));
65
+ tmpl->SetAccessor(
66
+ ConvertToV8String(isolate, "__addr"),
67
+ GetAddr);
68
+
69
+ // tmpl->Set(
70
+ // ConvertToV8String(isolate, "scale"),
71
+ // v8::FunctionTemplate::New(isolate, &Scale));
68
72
 
69
73
  tmpl->Set(
70
74
  ConvertToV8String(isolate, "fromUrlSync"),
@@ -93,14 +97,14 @@ v8::Local<v8::FunctionTemplate> ImageAssetImpl::GetCtor(v8::Isolate *isolate) {
93
97
  v8::FunctionTemplate::New(isolate, &FromBytesCb));
94
98
 
95
99
 
96
- tmpl->Set(
100
+ /* tmpl->Set(
97
101
  ConvertToV8String(isolate, "saveSync"),
98
102
  v8::FunctionTemplate::New(isolate, &SaveSync));
99
103
 
100
104
  tmpl->Set(
101
105
  ConvertToV8String(isolate, "saveCb"),
102
106
  v8::FunctionTemplate::New(isolate, &SaveCb));
103
-
107
+ */
104
108
 
105
109
  cache->ImageAssetTmpl =
106
110
  std::make_unique<v8::Persistent<v8::FunctionTemplate>>(isolate, ctorTmpl);
@@ -112,7 +116,7 @@ void ImageAssetImpl::Ctor(const v8::FunctionCallbackInfo<v8::Value> &args) {
112
116
 
113
117
  auto ret = args.This();
114
118
 
115
- SetNativeType( ret, NativeType::ImageAsset);
119
+ SetNativeType(ret, NativeType::ImageAsset);
116
120
 
117
121
  auto image_asset = canvas_native_image_asset_create();
118
122
 
@@ -149,6 +153,21 @@ ImageAssetImpl::GetHeight(v8::Local<v8::String> name,
149
153
  info.GetReturnValue().Set(0);
150
154
  }
151
155
 
156
+
157
+ void
158
+ ImageAssetImpl::GetAddr(v8::Local<v8::String> name,
159
+ const v8::PropertyCallbackInfo<v8::Value> &info) {
160
+ auto ptr = GetPointer(info.This());
161
+ if (ptr != nullptr) {
162
+ auto isolate = info.GetIsolate();
163
+ auto addr = static_cast<intptr_t *>(static_cast<void *>(ptr->GetImageAsset()));
164
+ auto ret = std::to_string(*addr);
165
+ info.GetReturnValue().Set(ConvertToV8String(isolate, ret.c_str()));
166
+ return;
167
+ }
168
+ info.GetReturnValue().SetEmptyString();
169
+ }
170
+
152
171
  void
153
172
  ImageAssetImpl::GetError(v8::Local<v8::String> name,
154
173
  const v8::PropertyCallbackInfo<v8::Value> &info) {
@@ -163,26 +182,6 @@ ImageAssetImpl::GetError(v8::Local<v8::String> name,
163
182
  info.GetReturnValue().SetEmptyString();
164
183
  }
165
184
 
166
- void ImageAssetImpl::Scale(const v8::FunctionCallbackInfo<v8::Value> &args) {
167
- ImageAssetImpl *ptr = GetPointer(args.This());
168
- if (ptr == nullptr) {
169
- args.GetReturnValue().SetUndefined();
170
- return;
171
- }
172
- auto isolate = args.GetIsolate();
173
- auto context = isolate->GetCurrentContext();
174
-
175
- if (args.Length() > 1) {
176
- auto x = args[0]->Uint32Value(context).ToChecked();
177
- auto y = args[1]->Uint32Value(context).ToChecked();
178
- if (x > 0 && y > 0) {
179
- canvas_native_image_asset_scale(
180
- ptr->GetImageAsset(), x,
181
- y);
182
- }
183
- }
184
- }
185
-
186
185
  void ImageAssetImpl::FromUrlSync(const v8::FunctionCallbackInfo<v8::Value> &args) {
187
186
  ImageAssetImpl *ptr = GetPointer(args.This());
188
187
  if (ptr == nullptr) {
@@ -652,7 +651,7 @@ void ImageAssetImpl::FromBytesCb(const v8::FunctionCallbackInfo<v8::Value> &args
652
651
  #endif
653
652
 
654
653
  }
655
-
654
+ /*
656
655
  void ImageAssetImpl::SaveSync(const v8::FunctionCallbackInfo<v8::Value> &args) {
657
656
  ImageAssetImpl *ptr = GetPointer(args.This());
658
657
  if (ptr == nullptr) {
@@ -795,6 +794,7 @@ void ImageAssetImpl::SaveCb(const v8::FunctionCallbackInfo<v8::Value> &args) {
795
794
 
796
795
 
797
796
  }
797
+ */
798
798
 
799
799
  ImageAsset *ImageAssetImpl::GetImageAsset() {
800
800
  return this->asset_;
@@ -16,13 +16,13 @@
16
16
 
17
17
  class ImageAssetImpl: ObjectWrapperImpl{
18
18
  public:
19
-
19
+
20
20
  ImageAssetImpl(ImageAsset* asset);
21
21
 
22
22
  ~ImageAssetImpl();
23
23
 
24
24
  ImageAsset* GetImageAsset();
25
-
25
+
26
26
  static void Init(v8::Local<v8::Object> canvasModule, v8::Isolate *isolate);
27
27
 
28
28
  static ImageAssetImpl *GetPointer(const v8::Local<v8::Object>& object);
@@ -37,10 +37,13 @@ public:
37
37
  static void GetHeight(v8::Local<v8::String> name,
38
38
  const v8::PropertyCallbackInfo<v8::Value> &info);
39
39
 
40
+ static void GetAddr(v8::Local<v8::String> name,
41
+ const v8::PropertyCallbackInfo<v8::Value> &info);
42
+
40
43
  static void GetError(v8::Local<v8::String> name,
41
44
  const v8::PropertyCallbackInfo<v8::Value> &info);
42
45
 
43
- static void Scale(const v8::FunctionCallbackInfo<v8::Value> &args);
46
+ // static void Scale(const v8::FunctionCallbackInfo<v8::Value> &args);
44
47
 
45
48
  static void FromUrlSync(const v8::FunctionCallbackInfo<v8::Value> &args);
46
49
 
@@ -54,9 +57,9 @@ public:
54
57
 
55
58
  static void FromBytesCb(const v8::FunctionCallbackInfo<v8::Value> &args);
56
59
 
57
- static void SaveSync(const v8::FunctionCallbackInfo<v8::Value> &args);
60
+ /* static void SaveSync(const v8::FunctionCallbackInfo<v8::Value> &args);
58
61
 
59
- static void SaveCb(const v8::FunctionCallbackInfo<v8::Value> &args);
62
+ static void SaveCb(const v8::FunctionCallbackInfo<v8::Value> &args);*/
60
63
 
61
64
 
62
65
  private:
@@ -141,6 +141,14 @@ void URLImpl::GetHash(v8::Local<v8::String> property,
141
141
  auto isolate = info.GetIsolate();
142
142
 
143
143
  auto value = canvas_url_hash(ptr->GetURL());
144
+
145
+
146
+ if (value == nullptr) {
147
+ info.GetReturnValue().SetEmptyString();
148
+ return;
149
+ }
150
+
151
+
144
152
  info.GetReturnValue().Set(ConvertToV8String(isolate, value));
145
153
  canvas_native_string_destroy((char *) value);
146
154
 
@@ -170,6 +178,12 @@ void URLImpl::GetHost(v8::Local<v8::String> property,
170
178
  auto isolate = info.GetIsolate();
171
179
 
172
180
  auto value = canvas_url_host(ptr->GetURL());
181
+
182
+ if (value == nullptr) {
183
+ info.GetReturnValue().SetEmptyString();
184
+ return;
185
+ }
186
+
173
187
  info.GetReturnValue().Set(ConvertToV8String(isolate, value));
174
188
  canvas_native_string_destroy((char *) value);
175
189
 
@@ -199,6 +213,10 @@ void URLImpl::GetHostName(v8::Local<v8::String> property,
199
213
  auto isolate = info.GetIsolate();
200
214
 
201
215
  auto value = canvas_url_host_name(ptr->GetURL());
216
+ if (value == nullptr) {
217
+ info.GetReturnValue().SetEmptyString();
218
+ return;
219
+ }
202
220
  info.GetReturnValue().Set(ConvertToV8String(isolate, value));
203
221
  canvas_native_string_destroy((char *) value);
204
222
 
@@ -228,6 +246,14 @@ void URLImpl::GetHref(v8::Local<v8::String> property,
228
246
  auto isolate = info.GetIsolate();
229
247
 
230
248
  auto value = canvas_url_href(ptr->GetURL());
249
+
250
+
251
+ if (value == nullptr) {
252
+ info.GetReturnValue().SetEmptyString();
253
+ return;
254
+ }
255
+
256
+
231
257
  info.GetReturnValue().Set(ConvertToV8String(isolate, value));
232
258
  canvas_native_string_destroy((char *) value);
233
259
 
@@ -256,6 +282,14 @@ void URLImpl::GetOrigin(v8::Local<v8::String> property,
256
282
  auto isolate = info.GetIsolate();
257
283
 
258
284
  auto value = canvas_url_origin(ptr->GetURL());
285
+
286
+
287
+ if (value == nullptr) {
288
+ info.GetReturnValue().SetEmptyString();
289
+ return;
290
+ }
291
+
292
+
259
293
  info.GetReturnValue().Set(ConvertToV8String(isolate, value));
260
294
  canvas_native_string_destroy((char *) value);
261
295
 
@@ -271,6 +305,13 @@ void URLImpl::GetPassword(v8::Local<v8::String> property,
271
305
  auto isolate = info.GetIsolate();
272
306
 
273
307
  auto value = canvas_url_password(ptr->GetURL());
308
+
309
+ if (value == nullptr) {
310
+ info.GetReturnValue().SetEmptyString();
311
+ return;
312
+ }
313
+
314
+
274
315
  info.GetReturnValue().Set(ConvertToV8String(isolate, value));
275
316
  canvas_native_string_destroy((char *) value);
276
317
 
@@ -299,6 +340,12 @@ void URLImpl::GetPathName(v8::Local<v8::String> property,
299
340
  auto isolate = info.GetIsolate();
300
341
 
301
342
  auto value = canvas_url_pathname(ptr->GetURL());
343
+
344
+ if (value == nullptr) {
345
+ info.GetReturnValue().SetEmptyString();
346
+ return;
347
+ }
348
+
302
349
  info.GetReturnValue().Set(ConvertToV8String(isolate, value));
303
350
  canvas_native_string_destroy((char *) value);
304
351
 
@@ -327,6 +374,13 @@ void URLImpl::GetPort(v8::Local<v8::String> property,
327
374
  auto isolate = info.GetIsolate();
328
375
 
329
376
  auto value = canvas_url_port(ptr->GetURL());
377
+
378
+
379
+ if (value == nullptr) {
380
+ info.GetReturnValue().SetEmptyString();
381
+ return;
382
+ }
383
+
330
384
  info.GetReturnValue().Set(ConvertToV8String(isolate, value));
331
385
  canvas_native_string_destroy((char *) value);
332
386
 
@@ -355,6 +409,13 @@ void URLImpl::GetProtocol(v8::Local<v8::String> property,
355
409
  auto isolate = info.GetIsolate();
356
410
 
357
411
  auto value = canvas_url_protocol(ptr->GetURL());
412
+
413
+
414
+ if (value == nullptr) {
415
+ info.GetReturnValue().SetEmptyString();
416
+ return;
417
+ }
418
+
358
419
  info.GetReturnValue().Set(ConvertToV8String(isolate, value));
359
420
  canvas_native_string_destroy((char *) value);
360
421
 
@@ -384,6 +445,12 @@ void URLImpl::GetSearch(v8::Local<v8::String> property,
384
445
  auto isolate = info.GetIsolate();
385
446
 
386
447
  auto value = canvas_url_search(ptr->GetURL());
448
+
449
+ if (value == nullptr) {
450
+ info.GetReturnValue().SetEmptyString();
451
+ return;
452
+ }
453
+
387
454
  info.GetReturnValue().Set(ConvertToV8String(isolate, value));
388
455
  canvas_native_string_destroy((char *) value);
389
456
 
@@ -413,6 +480,12 @@ void URLImpl::GetUserName(v8::Local<v8::String> property,
413
480
  auto isolate = info.GetIsolate();
414
481
 
415
482
  auto value = canvas_url_username(ptr->GetURL());
483
+
484
+ if (value == nullptr) {
485
+ info.GetReturnValue().SetEmptyString();
486
+ return;
487
+ }
488
+
416
489
  info.GetReturnValue().Set(ConvertToV8String(isolate, value));
417
490
  canvas_native_string_destroy((char *) value);
418
491