modern-canvas 0.7.9 → 0.7.11

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.cts CHANGED
@@ -50,68 +50,57 @@ declare class Ticker {
50
50
  type Cursor = 'auto' | 'default' | 'none' | 'context-menu' | 'help' | 'pointer' | 'progress' | 'wait' | 'cell' | 'crosshair' | 'text' | 'vertical-text' | 'alias' | 'copy' | 'move' | 'no-drop' | 'not-allowed' | 'e-resize' | 'n-resize' | 'ne-resize' | 'nw-resize' | 's-resize' | 'se-resize' | 'sw-resize' | 'w-resize' | 'ns-resize' | 'ew-resize' | 'nesw-resize' | 'col-resize' | 'nwse-resize' | 'row-resize' | 'all-scroll' | 'zoom-in' | 'zoom-out' | 'grab' | 'grabbing' | string;
51
51
 
52
52
  declare class InputEvent<N extends UIEvent = UIEvent> implements UIEvent {
53
+ nativeEvent: N;
54
+ cursor?: Cursor;
53
55
  bubbles: boolean;
54
- readonly cancelable = false;
55
- which: number;
56
56
  cancelBubble: boolean;
57
- returnValue: boolean;
58
- srcElement: EventTarget;
59
- readonly composed = false;
57
+ cancelable: boolean;
58
+ composed: boolean;
60
59
  currentTarget: any;
61
60
  defaultPrevented: boolean;
62
61
  eventPhase: number;
63
62
  isTrusted: boolean;
63
+ returnValue: boolean;
64
+ srcElement: EventTarget | null;
64
65
  target: any;
65
66
  timeStamp: number;
66
67
  type: string;
67
- nativeEvent: N;
68
- originalEvent: InputEvent<N> | null;
69
- propagationStopped: boolean;
70
- propagationImmediatelyStopped: boolean;
71
68
  path: any[];
72
- detail: number;
73
- view: WindowProxy;
74
- layer: {
75
- x: number;
76
- y: number;
77
- };
78
- get layerX(): number;
79
- get layerY(): number;
80
- page: {
81
- x: number;
82
- y: number;
83
- };
84
- get pageX(): number;
85
- get pageY(): number;
86
- initEvent(..._args: any[]): void;
87
- initUIEvent(..._args: any[]): void;
88
69
  composedPath(): any[];
70
+ initEvent(..._args: any[]): void;
89
71
  preventDefault(): void;
72
+ propagationImmediatelyStopped: boolean;
90
73
  stopImmediatePropagation(): void;
74
+ propagationStopped: boolean;
91
75
  stopPropagation(): void;
92
76
  readonly NONE = 0;
93
77
  readonly CAPTURING_PHASE = 1;
94
78
  readonly AT_TARGET = 2;
95
79
  readonly BUBBLING_PHASE = 3;
80
+ detail: number;
81
+ view: WindowProxy;
82
+ which: number;
83
+ initUIEvent(..._args: any[]): void;
96
84
  }
97
85
 
98
86
  declare class MouseInputEvent extends InputEvent implements MouseEvent {
99
87
  altKey: boolean;
100
88
  button: number;
101
89
  buttons: number;
102
- ctrlKey: boolean;
103
- metaKey: boolean;
104
- relatedTarget: EventTarget | null;
105
- shiftKey: boolean;
106
90
  client: {
107
91
  x: number;
108
92
  y: number;
109
93
  };
110
94
  get clientX(): number;
111
95
  get clientY(): number;
112
- get x(): number;
113
- get y(): number;
114
- detail: number;
96
+ ctrlKey: boolean;
97
+ layer: {
98
+ x: number;
99
+ y: number;
100
+ };
101
+ get layerX(): number;
102
+ get layerY(): number;
103
+ metaKey: boolean;
115
104
  movement: {
116
105
  x: number;
117
106
  y: number;
@@ -124,20 +113,50 @@ declare class MouseInputEvent extends InputEvent implements MouseEvent {
124
113
  };
125
114
  get offsetX(): number;
126
115
  get offsetY(): number;
127
- global: {
116
+ page: {
128
117
  x: number;
129
118
  y: number;
130
119
  };
131
- get globalX(): number;
132
- get globalY(): number;
120
+ get pageX(): number;
121
+ get pageY(): number;
122
+ relatedTarget: EventTarget | null;
133
123
  screen: {
134
124
  x: number;
135
125
  y: number;
136
126
  };
137
127
  get screenX(): number;
138
128
  get screenY(): number;
129
+ shiftKey: boolean;
130
+ get x(): number;
131
+ get y(): number;
139
132
  getModifierState(key: string): boolean;
140
133
  initMouseEvent(..._args: any[]): void;
134
+ global: {
135
+ x: number;
136
+ y: number;
137
+ };
138
+ get globalX(): number;
139
+ get globalY(): number;
140
+ }
141
+
142
+ declare class KeyboardInputEvent extends InputEvent implements KeyboardEvent {
143
+ altKey: boolean;
144
+ charCode: number;
145
+ code: string;
146
+ ctrlKey: boolean;
147
+ isComposing: boolean;
148
+ key: string;
149
+ keyCode: number;
150
+ location: number;
151
+ metaKey: boolean;
152
+ repeat: boolean;
153
+ shiftKey: boolean;
154
+ getModifierState(..._args: any[]): boolean;
155
+ initKeyboardEvent(..._args: any[]): void;
156
+ DOM_KEY_LOCATION_STANDARD: 0x00;
157
+ DOM_KEY_LOCATION_LEFT: 0x01;
158
+ DOM_KEY_LOCATION_RIGHT: 0x02;
159
+ DOM_KEY_LOCATION_NUMPAD: 0x03;
141
160
  }
142
161
 
143
162
  declare class PointerInputEvent extends MouseInputEvent implements PointerEvent {
@@ -177,6 +196,9 @@ interface InputEventMap {
177
196
  pointermove: (ev: PointerInputEvent) => void;
178
197
  pointerup: (ev: PointerInputEvent) => void;
179
198
  wheel: (ev: WheelInputEvent) => void;
199
+ keydown: (ev: KeyboardInputEvent) => void;
200
+ keypress: (ev: KeyboardInputEvent) => void;
201
+ keyup: (ev: KeyboardInputEvent) => void;
180
202
  }
181
203
  type InputEventKey = keyof InputEventMap;
182
204
  interface Input {
@@ -186,35 +208,41 @@ interface Input {
186
208
  emit: (<K extends keyof InputEventMap>(type: K, ...args: Parameters<InputEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
187
209
  }
188
210
  declare class Input extends EventEmitter {
189
- target?: HTMLElement;
190
- cursor: Cursor | string;
191
- cursorStyles: Record<string, any>;
192
- setuped: boolean;
193
211
  /**
194
212
  * Current event
195
213
  */
196
- event?: PointerInputEvent | WheelInputEvent;
214
+ event?: PointerInputEvent | WheelInputEvent | KeyboardInputEvent;
215
+ target?: HTMLElement;
216
+ cursor: Cursor;
217
+ cursorStyles: Record<string, any>;
218
+ setuped: boolean;
197
219
  enableMoveEvent: boolean;
198
220
  enableWheelEvent: boolean;
199
221
  enableClickEvent: boolean;
200
222
  setTarget(target: HTMLElement): void;
201
223
  removeEventListeners(): void;
202
224
  addEventListeners(): void;
225
+ protected normalize(event: KeyboardEvent): KeyboardEvent[];
203
226
  protected normalize(event: WheelEvent): WheelEvent[];
204
227
  protected normalize(event: TouchEvent | PointerEvent | MouseEvent): PointerEvent[];
205
- protected cloneWheelEvent(nativeEvent: WheelEvent): WheelInputEvent;
206
- protected clonePointerEvent(nativeEvent: PointerEvent): PointerInputEvent;
207
- protected copyMouseEvent(event: MouseInputEvent, nativeEvent: MouseEvent): void;
228
+ protected _clonePointerEvent(nativeEvent: PointerEvent): PointerInputEvent;
229
+ protected _copyInputEvent(event: InputEvent, nativeEvent: UIEvent): void;
230
+ protected _copyMouseEvent(event: MouseInputEvent, nativeEvent: MouseEvent): void;
231
+ protected _cloneWheelEvent(nativeEvent: WheelEvent): WheelInputEvent;
232
+ protected _cloneKeyboardEvent(nativeEvent: KeyboardEvent): KeyboardInputEvent;
208
233
  setCursor(mode?: Cursor): void;
209
234
  mapPositionToPoint(point: {
210
235
  x: number;
211
236
  y: number;
212
237
  }, x: number, y: number): void;
213
- protected onPointerDown: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void;
214
- protected onPointerOver: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void;
215
- protected onPointerMove: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void;
216
- protected onPointerUp: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void;
217
- protected onWheel: (nativeEvent: WheelEvent) => void;
238
+ protected _onKeyDown: (nativeEvent: KeyboardEvent) => void;
239
+ protected _onKeyPress: (nativeEvent: KeyboardEvent) => void;
240
+ protected _onKeyUp: (nativeEvent: KeyboardEvent) => void;
241
+ protected _onPointerDown: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void;
242
+ protected _onPointerOver: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void;
243
+ protected _onPointerMove: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void;
244
+ protected _onPointerUp: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void;
245
+ protected _onWheel: (nativeEvent: WheelEvent) => void;
218
246
  }
219
247
 
220
248
  interface CoreObjectEventMap {
@@ -1910,10 +1938,17 @@ declare class Camera2D extends Node2D {
1910
1938
  readonly zoom: Vector2;
1911
1939
  readonly maxZoom: Vector2;
1912
1940
  readonly minZoom: Vector2;
1941
+ spaceKey: boolean;
1942
+ grabbing: boolean;
1943
+ protected _screenOffset: {
1944
+ x: number;
1945
+ y: number;
1946
+ };
1913
1947
  constructor(properties?: Partial<Camera2DProperties>, nodes?: Node[]);
1914
1948
  addZoom(x: number, y?: number): this;
1915
1949
  setZoom(x: number, y?: number): this;
1916
1950
  protected _input(event: InputEvent, key: InputEventKey): void;
1951
+ protected _onWheel(e: WheelInputEvent): void;
1917
1952
  updateTransform(): void;
1918
1953
  updateCanvasTransform(): void;
1919
1954
  }
@@ -1964,6 +1999,8 @@ declare class BaseElement2DOutline extends BaseElement2DFill {
1964
1999
  color: NormalizedOutline['color'];
1965
2000
  width: NormalizedOutline['width'];
1966
2001
  style: NormalizedOutline['style'];
2002
+ lineCap: NormalizedOutline['lineCap'];
2003
+ lineJoin: NormalizedOutline['lineJoin'];
1967
2004
  setProperties(properties?: Outline): this;
1968
2005
  protected _updateProperty(key: string, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1969
2006
  canDraw(): boolean;
@@ -3231,5 +3268,5 @@ interface RenderOptions {
3231
3268
  }
3232
3269
  declare function render(options: RenderOptions): Promise<HTMLCanvasElement>;
3233
3270
 
3234
- 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, 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 };
3271
+ 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 };
3235
3272
  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, Transform2DObject, TransformRect2DProperties, 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 };
package/dist/index.d.mts CHANGED
@@ -50,68 +50,57 @@ declare class Ticker {
50
50
  type Cursor = 'auto' | 'default' | 'none' | 'context-menu' | 'help' | 'pointer' | 'progress' | 'wait' | 'cell' | 'crosshair' | 'text' | 'vertical-text' | 'alias' | 'copy' | 'move' | 'no-drop' | 'not-allowed' | 'e-resize' | 'n-resize' | 'ne-resize' | 'nw-resize' | 's-resize' | 'se-resize' | 'sw-resize' | 'w-resize' | 'ns-resize' | 'ew-resize' | 'nesw-resize' | 'col-resize' | 'nwse-resize' | 'row-resize' | 'all-scroll' | 'zoom-in' | 'zoom-out' | 'grab' | 'grabbing' | string;
51
51
 
52
52
  declare class InputEvent<N extends UIEvent = UIEvent> implements UIEvent {
53
+ nativeEvent: N;
54
+ cursor?: Cursor;
53
55
  bubbles: boolean;
54
- readonly cancelable = false;
55
- which: number;
56
56
  cancelBubble: boolean;
57
- returnValue: boolean;
58
- srcElement: EventTarget;
59
- readonly composed = false;
57
+ cancelable: boolean;
58
+ composed: boolean;
60
59
  currentTarget: any;
61
60
  defaultPrevented: boolean;
62
61
  eventPhase: number;
63
62
  isTrusted: boolean;
63
+ returnValue: boolean;
64
+ srcElement: EventTarget | null;
64
65
  target: any;
65
66
  timeStamp: number;
66
67
  type: string;
67
- nativeEvent: N;
68
- originalEvent: InputEvent<N> | null;
69
- propagationStopped: boolean;
70
- propagationImmediatelyStopped: boolean;
71
68
  path: any[];
72
- detail: number;
73
- view: WindowProxy;
74
- layer: {
75
- x: number;
76
- y: number;
77
- };
78
- get layerX(): number;
79
- get layerY(): number;
80
- page: {
81
- x: number;
82
- y: number;
83
- };
84
- get pageX(): number;
85
- get pageY(): number;
86
- initEvent(..._args: any[]): void;
87
- initUIEvent(..._args: any[]): void;
88
69
  composedPath(): any[];
70
+ initEvent(..._args: any[]): void;
89
71
  preventDefault(): void;
72
+ propagationImmediatelyStopped: boolean;
90
73
  stopImmediatePropagation(): void;
74
+ propagationStopped: boolean;
91
75
  stopPropagation(): void;
92
76
  readonly NONE = 0;
93
77
  readonly CAPTURING_PHASE = 1;
94
78
  readonly AT_TARGET = 2;
95
79
  readonly BUBBLING_PHASE = 3;
80
+ detail: number;
81
+ view: WindowProxy;
82
+ which: number;
83
+ initUIEvent(..._args: any[]): void;
96
84
  }
97
85
 
98
86
  declare class MouseInputEvent extends InputEvent implements MouseEvent {
99
87
  altKey: boolean;
100
88
  button: number;
101
89
  buttons: number;
102
- ctrlKey: boolean;
103
- metaKey: boolean;
104
- relatedTarget: EventTarget | null;
105
- shiftKey: boolean;
106
90
  client: {
107
91
  x: number;
108
92
  y: number;
109
93
  };
110
94
  get clientX(): number;
111
95
  get clientY(): number;
112
- get x(): number;
113
- get y(): number;
114
- detail: number;
96
+ ctrlKey: boolean;
97
+ layer: {
98
+ x: number;
99
+ y: number;
100
+ };
101
+ get layerX(): number;
102
+ get layerY(): number;
103
+ metaKey: boolean;
115
104
  movement: {
116
105
  x: number;
117
106
  y: number;
@@ -124,20 +113,50 @@ declare class MouseInputEvent extends InputEvent implements MouseEvent {
124
113
  };
125
114
  get offsetX(): number;
126
115
  get offsetY(): number;
127
- global: {
116
+ page: {
128
117
  x: number;
129
118
  y: number;
130
119
  };
131
- get globalX(): number;
132
- get globalY(): number;
120
+ get pageX(): number;
121
+ get pageY(): number;
122
+ relatedTarget: EventTarget | null;
133
123
  screen: {
134
124
  x: number;
135
125
  y: number;
136
126
  };
137
127
  get screenX(): number;
138
128
  get screenY(): number;
129
+ shiftKey: boolean;
130
+ get x(): number;
131
+ get y(): number;
139
132
  getModifierState(key: string): boolean;
140
133
  initMouseEvent(..._args: any[]): void;
134
+ global: {
135
+ x: number;
136
+ y: number;
137
+ };
138
+ get globalX(): number;
139
+ get globalY(): number;
140
+ }
141
+
142
+ declare class KeyboardInputEvent extends InputEvent implements KeyboardEvent {
143
+ altKey: boolean;
144
+ charCode: number;
145
+ code: string;
146
+ ctrlKey: boolean;
147
+ isComposing: boolean;
148
+ key: string;
149
+ keyCode: number;
150
+ location: number;
151
+ metaKey: boolean;
152
+ repeat: boolean;
153
+ shiftKey: boolean;
154
+ getModifierState(..._args: any[]): boolean;
155
+ initKeyboardEvent(..._args: any[]): void;
156
+ DOM_KEY_LOCATION_STANDARD: 0x00;
157
+ DOM_KEY_LOCATION_LEFT: 0x01;
158
+ DOM_KEY_LOCATION_RIGHT: 0x02;
159
+ DOM_KEY_LOCATION_NUMPAD: 0x03;
141
160
  }
142
161
 
143
162
  declare class PointerInputEvent extends MouseInputEvent implements PointerEvent {
@@ -177,6 +196,9 @@ interface InputEventMap {
177
196
  pointermove: (ev: PointerInputEvent) => void;
178
197
  pointerup: (ev: PointerInputEvent) => void;
179
198
  wheel: (ev: WheelInputEvent) => void;
199
+ keydown: (ev: KeyboardInputEvent) => void;
200
+ keypress: (ev: KeyboardInputEvent) => void;
201
+ keyup: (ev: KeyboardInputEvent) => void;
180
202
  }
181
203
  type InputEventKey = keyof InputEventMap;
182
204
  interface Input {
@@ -186,35 +208,41 @@ interface Input {
186
208
  emit: (<K extends keyof InputEventMap>(type: K, ...args: Parameters<InputEventMap[K]>) => boolean) & ((type: string, ...args: any[]) => boolean);
187
209
  }
188
210
  declare class Input extends EventEmitter {
189
- target?: HTMLElement;
190
- cursor: Cursor | string;
191
- cursorStyles: Record<string, any>;
192
- setuped: boolean;
193
211
  /**
194
212
  * Current event
195
213
  */
196
- event?: PointerInputEvent | WheelInputEvent;
214
+ event?: PointerInputEvent | WheelInputEvent | KeyboardInputEvent;
215
+ target?: HTMLElement;
216
+ cursor: Cursor;
217
+ cursorStyles: Record<string, any>;
218
+ setuped: boolean;
197
219
  enableMoveEvent: boolean;
198
220
  enableWheelEvent: boolean;
199
221
  enableClickEvent: boolean;
200
222
  setTarget(target: HTMLElement): void;
201
223
  removeEventListeners(): void;
202
224
  addEventListeners(): void;
225
+ protected normalize(event: KeyboardEvent): KeyboardEvent[];
203
226
  protected normalize(event: WheelEvent): WheelEvent[];
204
227
  protected normalize(event: TouchEvent | PointerEvent | MouseEvent): PointerEvent[];
205
- protected cloneWheelEvent(nativeEvent: WheelEvent): WheelInputEvent;
206
- protected clonePointerEvent(nativeEvent: PointerEvent): PointerInputEvent;
207
- protected copyMouseEvent(event: MouseInputEvent, nativeEvent: MouseEvent): void;
228
+ protected _clonePointerEvent(nativeEvent: PointerEvent): PointerInputEvent;
229
+ protected _copyInputEvent(event: InputEvent, nativeEvent: UIEvent): void;
230
+ protected _copyMouseEvent(event: MouseInputEvent, nativeEvent: MouseEvent): void;
231
+ protected _cloneWheelEvent(nativeEvent: WheelEvent): WheelInputEvent;
232
+ protected _cloneKeyboardEvent(nativeEvent: KeyboardEvent): KeyboardInputEvent;
208
233
  setCursor(mode?: Cursor): void;
209
234
  mapPositionToPoint(point: {
210
235
  x: number;
211
236
  y: number;
212
237
  }, x: number, y: number): void;
213
- protected onPointerDown: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void;
214
- protected onPointerOver: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void;
215
- protected onPointerMove: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void;
216
- protected onPointerUp: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void;
217
- protected onWheel: (nativeEvent: WheelEvent) => void;
238
+ protected _onKeyDown: (nativeEvent: KeyboardEvent) => void;
239
+ protected _onKeyPress: (nativeEvent: KeyboardEvent) => void;
240
+ protected _onKeyUp: (nativeEvent: KeyboardEvent) => void;
241
+ protected _onPointerDown: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void;
242
+ protected _onPointerOver: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void;
243
+ protected _onPointerMove: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void;
244
+ protected _onPointerUp: (nativeEvent: PointerEvent | TouchEvent | MouseEvent) => void;
245
+ protected _onWheel: (nativeEvent: WheelEvent) => void;
218
246
  }
219
247
 
220
248
  interface CoreObjectEventMap {
@@ -1910,10 +1938,17 @@ declare class Camera2D extends Node2D {
1910
1938
  readonly zoom: Vector2;
1911
1939
  readonly maxZoom: Vector2;
1912
1940
  readonly minZoom: Vector2;
1941
+ spaceKey: boolean;
1942
+ grabbing: boolean;
1943
+ protected _screenOffset: {
1944
+ x: number;
1945
+ y: number;
1946
+ };
1913
1947
  constructor(properties?: Partial<Camera2DProperties>, nodes?: Node[]);
1914
1948
  addZoom(x: number, y?: number): this;
1915
1949
  setZoom(x: number, y?: number): this;
1916
1950
  protected _input(event: InputEvent, key: InputEventKey): void;
1951
+ protected _onWheel(e: WheelInputEvent): void;
1917
1952
  updateTransform(): void;
1918
1953
  updateCanvasTransform(): void;
1919
1954
  }
@@ -1964,6 +1999,8 @@ declare class BaseElement2DOutline extends BaseElement2DFill {
1964
1999
  color: NormalizedOutline['color'];
1965
2000
  width: NormalizedOutline['width'];
1966
2001
  style: NormalizedOutline['style'];
2002
+ lineCap: NormalizedOutline['lineCap'];
2003
+ lineJoin: NormalizedOutline['lineJoin'];
1967
2004
  setProperties(properties?: Outline): this;
1968
2005
  protected _updateProperty(key: string, value: any, oldValue: any, declaration?: PropertyDeclaration): void;
1969
2006
  canDraw(): boolean;
@@ -3231,5 +3268,5 @@ interface RenderOptions {
3231
3268
  }
3232
3269
  declare function render(options: RenderOptions): Promise<HTMLCanvasElement>;
3233
3270
 
3234
- 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, 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 };
3271
+ 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 };
3235
3272
  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, Transform2DObject, TransformRect2DProperties, 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 };