Surface
An abstract class representing the top-level drawing surface. Cannot be directly instantiated.
Specific implementations are created through the static create
method. The implementations for SVG and Canvas inherit from this base class.
options SurfaceOptions
Configuration options for the surface.
Methods
bind
Binds to an event on the Surface.
Parameters
eventName SurfaceEventName
The name of the event to bind to.
handler (e: any) => void
The event handler.
Returns
Surface - The current Surface instance to allow chaining.
clear
Clears the drawing surface.
destroy
Releases the resources allocated by this instance.
The DOM elements will not be cleared.
draw
Draws the element and its children on the surface. Existing elements are not affected.
Parameters
element Element
The element to draw.
eventTarget
Returns the target drawing element of a DOM event.
Parameters
e any
The original DOM event object.
Returns
Element - The target drawing element, if any.
one
Binds to an event once. The handler will be unbound after the first event fires.
Parameters
eventName SurfaceEventName
The name of the event to bind to.
handler (e: any) => void
The event handler.
Returns
Surface - The current Surface instance to allow chaining.
resize
Resizes the surface to match the size of the container.
Parameters
force? boolean
Whether to proceed with resizing even if the container dimensions are not changed.
unbind
Unbinds an event handler.
Parameters
eventName SurfaceEventName
The name of the event to bind to.
handler? (e: any) => void
The event handler.
Returns
Surface - The current Surface instance to allow chaining.
create
Creates a drawing surface that matches the browser capabilities.
Parameters
element HTMLElement
The DOM element that will host the surface.
options? SurfaceOptions
The configuration options for the surface.
Returns
Surface - The newly created surface instance.