@ue-too/board / index / SvgProxy
類別: SvgProxy
定義於: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:349
Abstraction interface for canvas element access and manipulation.
備註
This interface provides a decoupled way to access canvas properties without direct DOM access. Multiple implementations exist to support different use cases:
- CanvasProxy: Full implementation for HTML canvas elements with dimension tracking
- SvgProxy: Implementation for SVG elements
- DummyCanvas: No-op implementation for web worker contexts
- WorkerRelayCanvas: Relays canvas dimension updates to web workers
- CanvasCacheInWebWorker: Caches canvas dimensions within a web worker
The abstraction enables:
- Coordinate system transformations (window → canvas → viewport)
- Canvas dimension tracking without repeated DOM queries
- Cursor style management
- Support for both canvas and SVG rendering contexts
實作
建構函式
建構函式
new SvgProxy(
svg?):SvgProxy
定義於: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:357
參數
svg?
SVGSVGElement
回傳
SvgProxy
存取器
detached
Getter 簽章
get detached():
boolean
定義於: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:409
Whether the canvas is currently detached from the DOM
回傳
boolean
Whether the canvas is currently detached from the DOM
實作了
dimensions
Getter 簽章
get dimensions():
object
定義於: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:413
Combined dimensions and position information
回傳
object
height
height:
number
position
position:
Point
width
width:
number
Combined dimensions and position information
實作了
height
Getter 簽章
get height():
number
定義於: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:445
The canvas height in CSS pixels
回傳
number
The canvas height in CSS pixels
實作了
position
Getter 簽章
get position():
Point
定義於: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:449
The top-left position of the canvas in window coordinates
回傳
Point
The top-left position of the canvas in window coordinates
實作了
width
Getter 簽章
get width():
number
定義於: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:421
The canvas width in CSS pixels
回傳
number
The canvas width in CSS pixels
實作了
方法
attach()
attach(
svg):void
定義於: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:467
參數
svg
SVGSVGElement
回傳
void
logCanvasTrueSize()
logCanvasTrueSize():
void
定義於: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:487
回傳
void
notify()
notify(...
data):void
定義於: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:405
參數
data
...[CanvasDimensions]
回傳
void
實作了
setCursor()
setCursor(
style):void
定義於: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:453
Sets the CSS cursor style for visual feedback
參數
style
"grab" | "default" | "grabbing"
回傳
void
實作了
setHeight()
setHeight(
height):void
定義於: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:439
set the height of the canvas the height is synonymous with the canvas style height not the canvas height
參數
height
number
回傳
void
setWidth()
setWidth(
width):void
定義於: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:429
set the width of the canvas the width is synonymous with the canvas style width not the canvas width
參數
width
number
回傳
void
subscribe()
subscribe(
observer,options?): () =>void
定義於: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:398
參數
observer
options?
回傳
():
void
回傳
void
實作了
tearDown()
tearDown():
void
定義於: packages/board/src/input-interpretation/input-state-machine/kmt-input-context.ts:459
Cleanup method to dispose of resources and event listeners
回傳
void