modern-canvas 0.7.13 → 0.7.14

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/dist/index.d.ts CHANGED
@@ -460,6 +460,10 @@ declare class Projection2D extends Matrix3 {
460
460
  protected _performUpdateArray(): void;
461
461
  }
462
462
 
463
+ interface Vector2Data {
464
+ x: number;
465
+ y: number;
466
+ }
463
467
  /**
464
468
  * Vector2
465
469
  */
@@ -480,7 +484,7 @@ declare class Vector2 extends Vector {
480
484
  update(x: number, y: number): this;
481
485
  getLength(): number;
482
486
  getAngle(): number;
483
- distanceTo(point: Vector2): number;
487
+ distanceTo(point: Vector2Data): number;
484
488
  normalize(): this;
485
489
  static lerp(a: VectorLike, b: VectorLike, t: number): Vector2;
486
490
  }
@@ -498,8 +502,8 @@ declare class Rect2 {
498
502
  readonly position: Vector2;
499
503
  readonly size: Vector2;
500
504
  constructor(from: Rect2);
501
- constructor(pointArray: [number, number][]);
502
- constructor(position: Vector2, size: Vector2);
505
+ constructor(pointArray: Vector2Data[]);
506
+ constructor(position: Vector2Data, size: Vector2Data);
503
507
  constructor(x: number, y: number, width: number, height: number);
504
508
  update(): this;
505
509
  toMinmax(): {
@@ -574,12 +578,13 @@ declare class Transform2D extends Matrix3 {
574
578
  protected _rotateToScale(rad: number): number;
575
579
  protected _rotate3d(x: number, y: number, z: number, rad: number): number[];
576
580
  makeRotation(theta: number): this;
577
- applyToPoint(x: number, y: number): [number, number];
578
581
  decompose(pivot?: {
579
582
  x: number;
580
583
  y: number;
581
584
  }, output?: TransformableObject): TransformableObject;
585
+ apply<P extends Vector2Data = Vector2>(pos: Vector2Data, newPos?: P): P;
582
586
  inverse(): this;
587
+ applyInverse<P extends Vector2Data = Vector2>(pos: Vector2Data, newPos?: P): P;
583
588
  isIdentity(): boolean;
584
589
  toObject(): TransformObject;
585
590
  }
@@ -1457,7 +1462,7 @@ declare class VideoTexture extends Texture2D<HTMLVideoElement> {
1457
1462
  declare class ViewportTexture extends PixelsTexture {
1458
1463
  }
1459
1464
 
1460
- type UVTransform = Transform2D | ((x: number, y: number) => [number, number]);
1465
+ type UvTransform = Transform2D | ((x: number, y: number) => [number, number]);
1461
1466
  type VertTransform = Transform2D | (() => Transform2D);
1462
1467
  interface CanvasBatchable extends Batchable2D {
1463
1468
  type: 'stroke' | 'fill';
@@ -1468,12 +1473,12 @@ interface StrokeDraw extends Partial<CanvasBatchable> {
1468
1473
  type: 'stroke';
1469
1474
  path: Path2D;
1470
1475
  style: LineStyle;
1471
- uvTransform?: UVTransform;
1476
+ uvTransform?: UvTransform;
1472
1477
  }
1473
1478
  interface FillDraw extends Partial<CanvasBatchable> {
1474
1479
  type: 'fill';
1475
1480
  path: Path2D;
1476
- uvTransform?: UVTransform;
1481
+ uvTransform?: UvTransform;
1477
1482
  }
1478
1483
  declare class CanvasContext extends Path2D {
1479
1484
  fillStyle?: Color$1 | Texture2D;
@@ -1483,7 +1488,7 @@ declare class CanvasContext extends Path2D {
1483
1488
  lineJoin?: LineJoin;
1484
1489
  lineWidth?: number;
1485
1490
  miterLimit?: number;
1486
- uvTransform?: UVTransform;
1491
+ uvTransform?: UvTransform;
1487
1492
  vertTransform?: VertTransform;
1488
1493
  protected _defaultStyle: Texture2D<Texture2DSource>;
1489
1494
  protected _draws: (StrokeDraw | FillDraw)[];
@@ -1495,7 +1500,7 @@ declare class CanvasContext extends Path2D {
1495
1500
  copy(source: CanvasContext): this;
1496
1501
  resetStatus(): void;
1497
1502
  reset(): this;
1498
- buildUvs(start: number, vertices: number[], uvs: number[], texture?: Texture2D, uvTransform?: UVTransform): void;
1503
+ buildUvs(start: number, vertices: number[], uvs: number[], texture?: Texture2D, uvTransform?: UvTransform): void;
1499
1504
  toBatchables(): CanvasBatchable[];
1500
1505
  }
1501
1506
 
@@ -1527,7 +1532,7 @@ interface Viewport {
1527
1532
  declare class Viewport extends Node implements Rectangulable {
1528
1533
  flipY: boolean;
1529
1534
  readonly projection: Projection2D;
1530
- readonly canvasTransform: Transform2D;
1535
+ readonly worldTransform: Transform2D;
1531
1536
  protected _framebufferIndex: number;
1532
1537
  protected _framebuffers: ViewportFramebuffer[];
1533
1538
  x: number;
@@ -1552,6 +1557,8 @@ declare class Viewport extends Node implements Rectangulable {
1552
1557
  activateWithCopy(renderer: WebGLRenderer, target: Viewport): void;
1553
1558
  render(renderer: WebGLRenderer, next?: () => void): void;
1554
1559
  getRect(): Rect2;
1560
+ toGlobal<P extends Vector2Data = Vector2>(worldPos: Vector2Data, newPos?: P): P;
1561
+ toWorld<P extends Vector2Data = Vector2>(globalPos: Vector2Data, newPos?: P): P;
1555
1562
  }
1556
1563
 
1557
1564
  interface RenderCall {
@@ -1947,12 +1954,14 @@ declare class Node2D extends CanvasItem {
1947
1954
  protected _transformVertices(vertices: Float32Array, vertTransform?: VertTransform): Float32Array;
1948
1955
  protected _relayout(batchables: CanvasBatchable[]): CanvasBatchable[];
1949
1956
  protected _process(delta: number): void;
1957
+ toLocal<P extends Vector2Data = Vector2>(globalPos: Vector2Data, newPos?: P): P;
1958
+ toGlobal<P extends Vector2Data = Vector2>(localPos: Vector2Data, newPos?: P): P;
1950
1959
  }
1951
1960
 
1952
1961
  interface Camera2DProperties extends Node2DProperties {
1953
1962
  }
1954
1963
  interface Camera2DEventMap extends Node2DEventMap {
1955
- updateCanvasTransform: () => void;
1964
+ updateWorldTransform: () => void;
1956
1965
  }
1957
1966
  interface Camera2D {
1958
1967
  on: (<K extends keyof Camera2DEventMap>(type: K, listener: Camera2DEventMap[K], options?: EventListenerOptions) => this) & ((type: string, listener: EventListenerValue, options?: EventListenerOptions) => this);
@@ -1976,7 +1985,7 @@ declare class Camera2D extends Node2D {
1976
1985
  protected _input(event: InputEvent, key: InputEventKey): void;
1977
1986
  protected _onWheel(e: WheelInputEvent): void;
1978
1987
  updateTransform(): void;
1979
- updateCanvasTransform(): void;
1988
+ updateWorldTransform(): void;
1980
1989
  }
1981
1990
 
1982
1991
  interface BaseElement2DFill extends NormalizedFill {
@@ -2088,7 +2097,6 @@ declare class BaseElement2DText extends CoreObject {
2088
2097
  constructor(parent: BaseElement2D);
2089
2098
  setProperties(properties?: Text$1): this;
2090
2099
  protected _updateProperty(key: string, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
2091
- protected _updateText(): void;
2092
2100
  setContent(content: TextContent): void;
2093
2101
  measure(): MeasureResult;
2094
2102
  updateMeasure(): this;
@@ -2151,7 +2159,7 @@ declare class BaseElement2D extends Node2D implements Rectangulable {
2151
2159
  getTransform(cb?: (transform: Transform2D) => void): Transform2D;
2152
2160
  updateGlobalTransform(): void;
2153
2161
  getRect(): Rect2;
2154
- protected _getPointArray(): [number, number][];
2162
+ protected _getPointArray(): Vector2Data[];
2155
2163
  getAabb(): Rect2;
2156
2164
  getGlobalAabb(): Rect2;
2157
2165
  getObb(): {
@@ -2168,10 +2176,7 @@ declare class BaseElement2D extends Node2D implements Rectangulable {
2168
2176
  protected _repaint(batchables: CanvasBatchable[]): CanvasBatchable[];
2169
2177
  canPointerEvents(): boolean;
2170
2178
  input(event: InputEvent, key: InputEventKey): void;
2171
- protected _pointerInput(point: {
2172
- x: number;
2173
- y: number;
2174
- }, key: InputEventKey): boolean;
2179
+ protected _positionInput(localPos: Vector2Data, key: InputEventKey): boolean;
2175
2180
  protected _input(event: InputEvent, key: InputEventKey): void;
2176
2181
  toJSON(): Record<string, any>;
2177
2182
  }
@@ -3306,4 +3311,4 @@ interface RenderOptions {
3306
3311
  declare function render(options: RenderOptions): Promise<HTMLCanvasElement>;
3307
3312
 
3308
3313
  export { AnimatedTexture, Animation, Assets, Audio, AudioPipeline, AudioProcessor, AudioSpectrum, AudioWaveform, BaseElement2D, BaseElement2DBackground, BaseElement2DFill, BaseElement2DForeground, BaseElement2DOutline, BaseElement2DShadow, BaseElement2DShape, BaseElement2DStyle, BaseElement2DText, Camera2D, CanvasContext, CanvasItem, CanvasItemEditor, CanvasTexture, Color, ColorAdjustEffect, ColorFilterEffect, ColorMatrix, ColorOverlayEffect, ColorRemoveEffect, ColorReplaceEffect, ColorTexture, Control, CoreObject, DEG_TO_RAD, DEVICE_PIXEL_RATIO, DropShadowEffect, Effect, EffectMaterial, Element2D, Element2DStyle, EmbossEffect, Engine, FlexElement2D, FlexElement2DStyle, FlexLayout, FontLoader, GIFLoader, GaussianBlurEffect, Geometry, GlitchEffect, GodrayEffect, GradientTexture, HTMLAudio, HTMLAudioContext, HTMLSound, IN_BROWSER, Image2D, ImageTexture, IndexBuffer, Input, InputEvent, JSONLoader, KawaseBlurEffect, KawaseTransition, KeyboardInputEvent, LeftEraseTransition, Loader, Lottie2D, LottieLoader, MainLoop, MaskEffect, Material, Matrix, Matrix2, Matrix3, Matrix4, MouseInputEvent, Node, Node2D, OutlineEffect, PI, PI_2, PixelateEffect, PixelsTexture, PointerInputEvent, Projection2D, QuadGeometry, QuadUvGeometry, RAD_TO_DEG, Range, RawWeakMap, Rect2, RefCounted, Renderer, Resource, Ruler, SUPPORTS_AUDIO_CONTEXT, SUPPORTS_CLICK_EVENTS, SUPPORTS_CREATE_IMAGE_BITMAP, SUPPORTS_IMAGE_BITMAP, SUPPORTS_MOUSE_EVENTS, SUPPORTS_OFFLINE_AUDIO_CONTEXT, SUPPORTS_POINTER_EVENTS, SUPPORTS_RESIZE_OBSERVER, SUPPORTS_TOUCH_EVENTS, SUPPORTS_WEBGL2, SUPPORTS_WEBKIT_AUDIO_CONTEXT, SUPPORTS_WEBKIT_OFFLINE_AUDIO_CONTEXT, SUPPORTS_WEB_AUDIO, SUPPORTS_WHEEL_EVENTS, Scaler, SceneTree, ScrollBar, TextLoader, Texture2D, TextureLoader, TextureRect2D, Ticker, TiltShiftTransition, Timeline, TimelineNode, Transform2D, TransformRect2D, Transition, TwistTransition, UvGeometry, UvMaterial, Vector, Vector2, Vector3, Vector4, VertexAttribute, VertexBuffer, Video2D, VideoLoader, VideoTexture, Viewport, ViewportTexture, WebAudio, WebAudioContext, WebGLBatch2DModule, WebGLBlendMode, WebGLBufferModule, WebGLFramebufferModule, WebGLMaskModule, WebGLModule, WebGLProgramModule, WebGLRenderer, WebGLScissorModule, WebGLState, WebGLStateModule, WebGLStencilModule, WebGLTextureModule, WebGLVertexArrayModule, WebGLViewportModule, WebSound, WheelInputEvent, Window, XScrollBar, YScrollBar, ZoomBlurEffect, assets, clamp, clampFrag, createHTMLCanvas, createNode, crossOrigin, cubicBezier, curves, customNode, customNodes, defaultOptions, determineCrossOrigin, ease, easeIn, easeInOut, easeOut, frag, getDefaultCssPropertyValue, isCanvasElement, isElementNode, isImageElement, isPow2, isVideoElement, isWebgl2, lerp, linear, log2, mapWebGLBlendModes, nextPow2, nextTick, parseCSSFilter, parseCSSTransform, parseCSSTransformOrigin, parseCssFunctions, parseCssProperty, render, timingFunctions, uid };
3309
- export type { AnimationEffectMode, AnimationProperties, AssetHandler, AudioWaveformProperties, BaseElement2DEventMap, BaseElement2DProperties, BaseElement2DStyleProperties, Batchable2D, CSSFilterKey, CSSFilters, Camera2DEventMap, Camera2DProperties, CanvasBatchable, CanvasItemEventMap, CanvasItemProperties, ColorAdjustEffectProperties, ColorFilterEffectProperties, ColorOverlayEffectProperties, ColorRemoveEffectProperties, ColorReplaceEffectProperties, ComputedLayout, ControlEventMap, ControlProperties, CoreObjectEventMap, CssFunction, CssFunctionArg, Cursor, CustomPropertyAccessor, DropShadowEffectProperties, Easing, EffectContext, EffectMode, EffectProperties, Element2DEventMap, Element2DProperties, Element2DStyleProperties, EmbossEffectProperties, EngineOptions, FillDraw, FlexBaseElement2DEventMap, FlexElement2DProperties, FlexElement2DStyleProperties, GaussianBlurEffectProperties, GeometryOptions, GlitchEffectProperties, GodrayEffectProperties, IAudioContext, IAudioNode, IPlayOptions, Image2DProperties, ImageFrame, ImageTextureOptions, IndexBufferOptions, InputEventKey, InputEventMap, InternalMode, KawaseBlurEffectProperties, Keyframe, Lottie2DProperties, MainLoopEventMap, MaskColor, MaskData, MaskEffectProperties, MaskObject, MaskRect, Maskable, MaterialOptions, MatrixLike, MatrixOperateOutput, Node2DEventMap, Node2DProperties, NodeEventMap, NodeProperties, NormalizedKeyframe, OutlineEffectProperties, PixelateEffectProperties, PlatformAudio, PlatformSound, ProcessMode, ProcessSortMode, RangeProperties, Rectangulable, RectangulableEventMap, RefCountedEventMap, RenderMode, RenderOptions, Renderable, ResourceEventMap, RulerProperties, ScalerEventMap, ScalerProperties, SceneTreeEventMap, ScrollBarProperties, StrokeDraw, Texture2DFilterMode, Texture2DPixelsSource, Texture2DSource, Texture2DWrapMode, TextureRect2DProperties, TimelineEventMap, TimelineNodeEventMap, TimelineNodeProperties, TimelineProperties, TimingFunctions, TransformObject, TransformRect2DProperties, TransformableObject, TransitionProperties, UVTransform, VectorLike, VectorOperateOutput, VertTransform, VertexAttributeOptions, VertexBufferOptions, Video2DProperties, VideoTextureOptions, VideoTextureSource, ViewportEventMap, ViewportFramebuffer, WebGLBufferMeta, WebGLBufferOptions, WebGLBufferTarget, WebGLBufferUsage, WebGLDrawMode, WebGLDrawOptions, WebGLExtensions, WebGLFramebufferMeta, WebGLFramebufferOptions, WebGLProgramMeta, WebGLProgramOptions, WebGLTarget, WebGLTextureFilterMode, WebGLTextureLocation, WebGLTextureMeta, WebGLTextureOptions, WebGLTextureSource, WebGLTextureTarget, WebGLTextureWrapMode, WebGLVertexArrayObjectMeta, WebGLVertexArrayObjectOptions, WebGLVertexAttrib, WebGLVertexAttribType, WebGLViewport, XScrollBarProperties, YScrollBarProperties, ZoomBlurEffectProperties };
3314
+ export type { AnimationEffectMode, AnimationProperties, AssetHandler, AudioWaveformProperties, BaseElement2DEventMap, BaseElement2DProperties, BaseElement2DStyleProperties, Batchable2D, CSSFilterKey, CSSFilters, Camera2DEventMap, Camera2DProperties, CanvasBatchable, CanvasItemEventMap, CanvasItemProperties, ColorAdjustEffectProperties, ColorFilterEffectProperties, ColorOverlayEffectProperties, ColorRemoveEffectProperties, ColorReplaceEffectProperties, ComputedLayout, ControlEventMap, ControlProperties, CoreObjectEventMap, CssFunction, CssFunctionArg, Cursor, CustomPropertyAccessor, DropShadowEffectProperties, Easing, EffectContext, EffectMode, EffectProperties, Element2DEventMap, Element2DProperties, Element2DStyleProperties, EmbossEffectProperties, EngineOptions, FillDraw, FlexBaseElement2DEventMap, FlexElement2DProperties, FlexElement2DStyleProperties, GaussianBlurEffectProperties, GeometryOptions, GlitchEffectProperties, GodrayEffectProperties, IAudioContext, IAudioNode, IPlayOptions, Image2DProperties, ImageFrame, ImageTextureOptions, IndexBufferOptions, InputEventKey, InputEventMap, InternalMode, KawaseBlurEffectProperties, Keyframe, Lottie2DProperties, MainLoopEventMap, MaskColor, MaskData, MaskEffectProperties, MaskObject, MaskRect, Maskable, MaterialOptions, MatrixLike, MatrixOperateOutput, Node2DEventMap, Node2DProperties, NodeEventMap, NodeProperties, NormalizedKeyframe, OutlineEffectProperties, PixelateEffectProperties, PlatformAudio, PlatformSound, ProcessMode, ProcessSortMode, RangeProperties, Rectangulable, RectangulableEventMap, RefCountedEventMap, RenderMode, RenderOptions, Renderable, ResourceEventMap, RulerProperties, ScalerEventMap, ScalerProperties, SceneTreeEventMap, ScrollBarProperties, StrokeDraw, Texture2DFilterMode, Texture2DPixelsSource, Texture2DSource, Texture2DWrapMode, TextureRect2DProperties, TimelineEventMap, TimelineNodeEventMap, TimelineNodeProperties, TimelineProperties, TimingFunctions, TransformObject, TransformRect2DProperties, TransformableObject, TransitionProperties, UvTransform, Vector2Data, VectorLike, VectorOperateOutput, VertTransform, VertexAttributeOptions, VertexBufferOptions, Video2DProperties, VideoTextureOptions, VideoTextureSource, ViewportEventMap, ViewportFramebuffer, WebGLBufferMeta, WebGLBufferOptions, WebGLBufferTarget, WebGLBufferUsage, WebGLDrawMode, WebGLDrawOptions, WebGLExtensions, WebGLFramebufferMeta, WebGLFramebufferOptions, WebGLProgramMeta, WebGLProgramOptions, WebGLTarget, WebGLTextureFilterMode, WebGLTextureLocation, WebGLTextureMeta, WebGLTextureOptions, WebGLTextureSource, WebGLTextureTarget, WebGLTextureWrapMode, WebGLVertexArrayObjectMeta, WebGLVertexArrayObjectOptions, WebGLVertexAttrib, WebGLVertexAttribType, WebGLViewport, XScrollBarProperties, YScrollBarProperties, ZoomBlurEffectProperties };