@nativescript/canvas 2.0.0-alpha.31 → 2.0.0-alpha.33

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 (49) hide show
  1. package/Canvas/common.js +2 -8
  2. package/Canvas/common.js.map +1 -1
  3. package/Canvas/index.android.d.ts +1 -0
  4. package/Canvas/index.android.js +8 -0
  5. package/Canvas/index.android.js.map +1 -1
  6. package/Canvas/index.d.ts +1 -0
  7. package/Canvas/index.ios.d.ts +2 -1
  8. package/Canvas/index.ios.js +31 -20
  9. package/Canvas/index.ios.js.map +1 -1
  10. package/Canvas2D/CanvasRenderingContext2D/index.js +1 -1
  11. package/Canvas2D/CanvasRenderingContext2D/index.js.map +1 -1
  12. package/WebGL/WebGLRenderingContext/index.js +24 -5
  13. package/WebGL/WebGLRenderingContext/index.js.map +1 -1
  14. package/WebGL2/WebGL2RenderingContext/index.js +7 -1
  15. package/WebGL2/WebGL2RenderingContext/index.js.map +1 -1
  16. package/package.json +1 -1
  17. package/platforms/android/canvas-release.aar +0 -0
  18. package/platforms/ios/CanvasNative.xcframework/Info.plist +5 -5
  19. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/CanvasNative +0 -0
  20. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/CanvasNative-Swift.h +7 -5
  21. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_ios.h +2 -0
  22. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Headers/canvas_native.h +18 -4
  23. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Info.plist +0 -0
  24. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  25. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.abi.json +593 -213
  26. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.private.swiftinterface +8 -4
  27. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  28. package/platforms/ios/CanvasNative.xcframework/ios-arm64/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios.swiftinterface +8 -4
  29. package/platforms/ios/CanvasNative.xcframework/ios-arm64/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  30. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/CanvasNative +0 -0
  31. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/CanvasNative-Swift.h +14 -10
  32. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_ios.h +2 -0
  33. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Headers/canvas_native.h +18 -4
  34. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Info.plist +0 -0
  35. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  36. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  37. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.abi.json +593 -213
  38. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +8 -4
  39. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  40. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/arm64-apple-ios-simulator.swiftinterface +8 -4
  41. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.abi.json +593 -213
  42. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +8 -4
  43. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  44. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/Modules/CanvasNative.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +8 -4
  45. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/CanvasNative.framework/_CodeSignature/CodeResources +31 -31
  46. package/platforms/ios/CanvasNative.xcframework/ios-arm64_x86_64-simulator/dSYMs/CanvasNative.framework.dSYM/Contents/Resources/DWARF/CanvasNative +0 -0
  47. package/platforms/ios/src/cpp/CanvasJSIModule.cpp +37 -1
  48. package/platforms/ios/src/cpp/CanvasJSIModule.h +9 -1
  49. package/platforms/ios/src/cpp/canvas2d/CanvasRenderingContext2DImpl.cpp +20 -12
@@ -1,12 +1,14 @@
1
1
  // swift-interface-format-version: 1.0
2
2
  // swift-compiler-version: Apple Swift version 5.8.1 (swiftlang-5.8.0.124.5 clang-1403.0.22.11.100)
3
- // swift-module-flags: -target arm64-apple-ios11.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name CanvasNative
3
+ // swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name CanvasNative
4
4
  // swift-module-flags-ignorable: -enable-bare-slash-regex
5
5
  import AVFoundation
6
6
  @_exported import CanvasNative
7
7
  import CoreVideo
8
+ import OpenGLES.EAGLIOSurface
8
9
  import Foundation
9
10
  import GLKit
11
+ import IOSurface
10
12
  import OpenGLES
11
13
  import Swift
12
14
  import UIKit
@@ -44,8 +46,7 @@ import _StringProcessing
44
46
  @objc override dynamic public init()
45
47
  @objc deinit
46
48
  }
47
- @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(NSCCanvas) @_Concurrency.MainActor(unsafe) public class NSCCanvas : UIKit.UIView, GLKit.GLKViewDelegate {
48
- @_Concurrency.MainActor(unsafe) @objc public func glkView(_ view: GLKit.GLKView, drawIn rect: CoreFoundation.CGRect)
49
+ @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(NSCCanvas) @_Concurrency.MainActor(unsafe) public class NSCCanvas : UIKit.UIView {
49
50
  @objc @_Concurrency.MainActor(unsafe) public static let store: Foundation.NSMutableDictionary
50
51
  @objc @_Concurrency.MainActor(unsafe) public static func getViews() -> Foundation.NSMapTable<Foundation.NSString, CanvasNative.NSCCanvas>
51
52
  @objc @_Concurrency.MainActor(unsafe) public func getViewPtr() -> Swift.UnsafeMutableRawPointer
@@ -83,8 +84,9 @@ import _StringProcessing
83
84
  @objc deinit
84
85
  @objc @_Concurrency.MainActor(unsafe) public static func getBoundingClientRect(_ canvas: CanvasNative.NSCCanvas, _ buffer: Swift.UnsafeMutableRawPointer)
85
86
  }
86
- @_inheritsConvenienceInitializers @objcMembers @objc(TNSRender) public class NSCRender : ObjectiveC.NSObject {
87
+ @_inheritsConvenienceInitializers @objcMembers @objc(NSCRender) public class NSCRender : ObjectiveC.NSObject {
87
88
  @objc override dynamic public init()
89
+ @objc public func texImage2D(_ target: Swift.Int32, _ level: Swift.Int32, _ internalFormat: Swift.Int32, _ format: Swift.Int32, _ type: Swift.Int32, _ source: CanvasNative.NSCCanvas, _ dest: CanvasNative.NSCCanvas, _ flipYWebGL: Swift.Bool)
88
90
  @objc public func createSurface()
89
91
  @objc deinit
90
92
  }
@@ -135,6 +137,8 @@ import _StringProcessing
135
137
  @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect)
136
138
  @_Concurrency.MainActor(unsafe) @objc override dynamic public func setNeedsDisplay()
137
139
  @_Concurrency.MainActor(unsafe) @objc override dynamic public func setNeedsDisplay(_ rect: CoreFoundation.CGRect)
140
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func bindDrawable()
141
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func deleteDrawable()
138
142
  @objc deinit
139
143
  }
140
144
  extension GLKit.GLKView {
@@ -1,12 +1,14 @@
1
1
  // swift-interface-format-version: 1.0
2
2
  // swift-compiler-version: Apple Swift version 5.8.1 (swiftlang-5.8.0.124.5 clang-1403.0.22.11.100)
3
- // swift-module-flags: -target arm64-apple-ios11.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name CanvasNative
3
+ // swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name CanvasNative
4
4
  // swift-module-flags-ignorable: -enable-bare-slash-regex
5
5
  import AVFoundation
6
6
  @_exported import CanvasNative
7
7
  import CoreVideo
8
+ import OpenGLES.EAGLIOSurface
8
9
  import Foundation
9
10
  import GLKit
11
+ import IOSurface
10
12
  import OpenGLES
11
13
  import Swift
12
14
  import UIKit
@@ -44,8 +46,7 @@ import _StringProcessing
44
46
  @objc override dynamic public init()
45
47
  @objc deinit
46
48
  }
47
- @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(NSCCanvas) @_Concurrency.MainActor(unsafe) public class NSCCanvas : UIKit.UIView, GLKit.GLKViewDelegate {
48
- @_Concurrency.MainActor(unsafe) @objc public func glkView(_ view: GLKit.GLKView, drawIn rect: CoreFoundation.CGRect)
49
+ @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(NSCCanvas) @_Concurrency.MainActor(unsafe) public class NSCCanvas : UIKit.UIView {
49
50
  @objc @_Concurrency.MainActor(unsafe) public static let store: Foundation.NSMutableDictionary
50
51
  @objc @_Concurrency.MainActor(unsafe) public static func getViews() -> Foundation.NSMapTable<Foundation.NSString, CanvasNative.NSCCanvas>
51
52
  @objc @_Concurrency.MainActor(unsafe) public func getViewPtr() -> Swift.UnsafeMutableRawPointer
@@ -83,8 +84,9 @@ import _StringProcessing
83
84
  @objc deinit
84
85
  @objc @_Concurrency.MainActor(unsafe) public static func getBoundingClientRect(_ canvas: CanvasNative.NSCCanvas, _ buffer: Swift.UnsafeMutableRawPointer)
85
86
  }
86
- @_inheritsConvenienceInitializers @objcMembers @objc(TNSRender) public class NSCRender : ObjectiveC.NSObject {
87
+ @_inheritsConvenienceInitializers @objcMembers @objc(NSCRender) public class NSCRender : ObjectiveC.NSObject {
87
88
  @objc override dynamic public init()
89
+ @objc public func texImage2D(_ target: Swift.Int32, _ level: Swift.Int32, _ internalFormat: Swift.Int32, _ format: Swift.Int32, _ type: Swift.Int32, _ source: CanvasNative.NSCCanvas, _ dest: CanvasNative.NSCCanvas, _ flipYWebGL: Swift.Bool)
88
90
  @objc public func createSurface()
89
91
  @objc deinit
90
92
  }
@@ -135,6 +137,8 @@ import _StringProcessing
135
137
  @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect)
136
138
  @_Concurrency.MainActor(unsafe) @objc override dynamic public func setNeedsDisplay()
137
139
  @_Concurrency.MainActor(unsafe) @objc override dynamic public func setNeedsDisplay(_ rect: CoreFoundation.CGRect)
140
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func bindDrawable()
141
+ @_Concurrency.MainActor(unsafe) @objc override dynamic public func deleteDrawable()
138
142
  @objc deinit
139
143
  }
140
144
  extension GLKit.GLKView {
@@ -308,6 +308,8 @@ SWIFT_CLASS_NAMED("CanvasGLKView")
308
308
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
309
309
  - (void)setNeedsDisplay;
310
310
  - (void)setNeedsDisplayInRect:(CGRect)rect;
311
+ - (void)bindDrawable;
312
+ - (void)deleteDrawable;
311
313
  - (nonnull instancetype)initWithFrame:(CGRect)frame context:(EAGLContext * _Nonnull)context SWIFT_UNAVAILABLE;
312
314
  @end
313
315
 
@@ -356,8 +358,7 @@ SWIFT_CLASS_NAMED("CanvasHelpers")
356
358
  @protocol NSCCanvasListener;
357
359
 
358
360
  SWIFT_CLASS_NAMED("NSCCanvas")
359
- @interface NSCCanvas : UIView <GLKViewDelegate>
360
- - (void)glkView:(GLKView * _Nonnull)view drawInRect:(CGRect)rect;
361
+ @interface NSCCanvas : UIView
361
362
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) NSMutableDictionary * _Nonnull store;)
362
363
  + (NSMutableDictionary * _Nonnull)store SWIFT_WARN_UNUSED_RESULT;
363
364
  + (NSMapTable<NSString *, NSCCanvas *> * _Nonnull)getViews SWIFT_WARN_UNUSED_RESULT;
@@ -424,8 +425,9 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) dispatch_que
424
425
 
425
426
 
426
427
  SWIFT_CLASS_NAMED("NSCRender")
427
- @interface TNSRender : NSObject
428
+ @interface NSCRender : NSObject
428
429
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
430
+ - (void)texImage2D:(int32_t)target :(int32_t)level :(int32_t)internalFormat :(int32_t)format :(int32_t)type :(NSCCanvas * _Nonnull)source :(NSCCanvas * _Nonnull)dest :(BOOL)flipYWebGL;
429
431
  - (void)createSurface;
430
432
  @end
431
433
 
@@ -450,8 +452,8 @@ SWIFT_CLASS_NAMED("Utils")
450
452
  @interface Utils : NSObject
451
453
  + (CVOpenGLESTextureCacheRef _Nullable)createTextureCache SWIFT_WARN_UNUSED_RESULT;
452
454
  + (CVOpenGLESTextureRef _Nullable)createImage:(CVOpenGLESTextureCacheRef _Nonnull)texturecache :(CVImageBufferRef _Nonnull)buffer :(CFDictionaryRef _Nullable)textureAttributes :(GLenum)target :(GLint)internalFormat :(GLsizei)width :(GLsizei)height :(GLenum)format :(GLenum)type :(NSInteger)planeIndex SWIFT_WARN_UNUSED_RESULT;
453
- + (TNSRender * _Nonnull)setupRender SWIFT_WARN_UNUSED_RESULT;
454
- + (void)drawFrame:(AVPlayer * _Nonnull)player :(AVPlayerItemVideoOutput * _Nonnull)output :(CGSize)videoSize :(TNSRender * _Nonnull)render :(int32_t)internalFormat :(int32_t)format :(BOOL)flipYWebGL;
455
+ + (NSCRender * _Nonnull)setupRender SWIFT_WARN_UNUSED_RESULT;
456
+ + (void)drawFrame:(AVPlayer * _Nonnull)player :(AVPlayerItemVideoOutput * _Nonnull)output :(CGSize)videoSize :(NSCRender * _Nonnull)render :(int32_t)internalFormat :(int32_t)format :(BOOL)flipYWebGL;
455
457
  + (BOOL)writeToFile:(NSData * _Nonnull)data :(NSString * _Nonnull)path error:(NSError * _Nullable * _Nullable)error;
456
458
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
457
459
  @end
@@ -774,6 +776,8 @@ SWIFT_CLASS_NAMED("CanvasGLKView")
774
776
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
775
777
  - (void)setNeedsDisplay;
776
778
  - (void)setNeedsDisplayInRect:(CGRect)rect;
779
+ - (void)bindDrawable;
780
+ - (void)deleteDrawable;
777
781
  - (nonnull instancetype)initWithFrame:(CGRect)frame context:(EAGLContext * _Nonnull)context SWIFT_UNAVAILABLE;
778
782
  @end
779
783
 
@@ -822,8 +826,7 @@ SWIFT_CLASS_NAMED("CanvasHelpers")
822
826
  @protocol NSCCanvasListener;
823
827
 
824
828
  SWIFT_CLASS_NAMED("NSCCanvas")
825
- @interface NSCCanvas : UIView <GLKViewDelegate>
826
- - (void)glkView:(GLKView * _Nonnull)view drawInRect:(CGRect)rect;
829
+ @interface NSCCanvas : UIView
827
830
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) NSMutableDictionary * _Nonnull store;)
828
831
  + (NSMutableDictionary * _Nonnull)store SWIFT_WARN_UNUSED_RESULT;
829
832
  + (NSMapTable<NSString *, NSCCanvas *> * _Nonnull)getViews SWIFT_WARN_UNUSED_RESULT;
@@ -890,8 +893,9 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) dispatch_que
890
893
 
891
894
 
892
895
  SWIFT_CLASS_NAMED("NSCRender")
893
- @interface TNSRender : NSObject
896
+ @interface NSCRender : NSObject
894
897
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
898
+ - (void)texImage2D:(int32_t)target :(int32_t)level :(int32_t)internalFormat :(int32_t)format :(int32_t)type :(NSCCanvas * _Nonnull)source :(NSCCanvas * _Nonnull)dest :(BOOL)flipYWebGL;
895
899
  - (void)createSurface;
896
900
  @end
897
901
 
@@ -916,8 +920,8 @@ SWIFT_CLASS_NAMED("Utils")
916
920
  @interface Utils : NSObject
917
921
  + (CVOpenGLESTextureCacheRef _Nullable)createTextureCache SWIFT_WARN_UNUSED_RESULT;
918
922
  + (CVOpenGLESTextureRef _Nullable)createImage:(CVOpenGLESTextureCacheRef _Nonnull)texturecache :(CVImageBufferRef _Nonnull)buffer :(CFDictionaryRef _Nullable)textureAttributes :(GLenum)target :(GLint)internalFormat :(GLsizei)width :(GLsizei)height :(GLenum)format :(GLenum)type :(NSInteger)planeIndex SWIFT_WARN_UNUSED_RESULT;
919
- + (TNSRender * _Nonnull)setupRender SWIFT_WARN_UNUSED_RESULT;
920
- + (void)drawFrame:(AVPlayer * _Nonnull)player :(AVPlayerItemVideoOutput * _Nonnull)output :(CGSize)videoSize :(TNSRender * _Nonnull)render :(int32_t)internalFormat :(int32_t)format :(BOOL)flipYWebGL;
923
+ + (NSCRender * _Nonnull)setupRender SWIFT_WARN_UNUSED_RESULT;
924
+ + (void)drawFrame:(AVPlayer * _Nonnull)player :(AVPlayerItemVideoOutput * _Nonnull)output :(CGSize)videoSize :(NSCRender * _Nonnull)render :(int32_t)internalFormat :(int32_t)format :(BOOL)flipYWebGL;
921
925
  + (BOOL)writeToFile:(NSData * _Nonnull)data :(NSString * _Nonnull)path error:(NSError * _Nullable * _Nullable)error;
922
926
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
923
927
  @end
@@ -94,6 +94,8 @@ void canvas_native_release_gl_pointer(int64_t gl_context);
94
94
 
95
95
  void canvas_native_context_2d_test(int64_t context);
96
96
 
97
+ void canvas_native_gl_make_current(int64_t gl_context);
98
+
97
99
  char *canvas_native_context_2d_test_to_data_url(int64_t context);
98
100
 
99
101
  void canvas_native_context_2d_destroy_string(char *string);
@@ -203,6 +203,10 @@ typedef struct WebGLSync WebGLSync;
203
203
 
204
204
  void canvas_native_image_filter_destroy(struct ImageFilter *value);
205
205
 
206
+ void canvas_native_font_add_family(const char *alias,
207
+ const char *const *filenames,
208
+ uintptr_t length);
209
+
206
210
  void canvas_native_helper_destroy(struct FileHelper *value);
207
211
 
208
212
  struct FileHelper *canvas_native_helper_read_file(const char *path);
@@ -655,8 +659,13 @@ void canvas_native_context_fill_rect(struct CanvasRenderingContext2D *context,
655
659
  void canvas_native_context_fill_text(struct CanvasRenderingContext2D *context,
656
660
  const char *text,
657
661
  float x,
658
- float y,
659
- float width);
662
+ float y);
663
+
664
+ void canvas_native_context_fill_text_width(struct CanvasRenderingContext2D *context,
665
+ const char *text,
666
+ float x,
667
+ float y,
668
+ float width);
660
669
 
661
670
  struct ImageData *canvas_native_context_get_image_data(struct CanvasRenderingContext2D *context,
662
671
  float sx,
@@ -767,8 +776,13 @@ void canvas_native_context_stroke_rect(struct CanvasRenderingContext2D *context,
767
776
  void canvas_native_context_stroke_text(struct CanvasRenderingContext2D *context,
768
777
  const char *text,
769
778
  float x,
770
- float y,
771
- float width);
779
+ float y);
780
+
781
+ void canvas_native_context_stroke_text_width(struct CanvasRenderingContext2D *context,
782
+ const char *text,
783
+ float x,
784
+ float y,
785
+ float width);
772
786
 
773
787
  void canvas_native_context_transform(struct CanvasRenderingContext2D *context,
774
788
  float a,