gradum-kit - v0.1.0
    Preparing search index...

    Class GradumEvent

    GradumEvent

    The base class for every event the GradumEventManager fires. On top of a native Event it carries the pointer position, the click mode, the input device, the keys held at the time, and the tool the event is attributed to. It also knows how to map screen coordinates into document space, so handlers running under a panned or zoomed canvas can read GradumEvent.scaledPosition instead of doing the maths themselves.

    Hierarchy (View Summary)

    Index
    eventManager: GradumEventManager

    The event manager that fired this event.

    toolName: string

    The name of the tool this event is attributed to, or undefined when no tool was current. Resolve it to the tool itself with GradumEvent.tool.

    The name this event was dispatched under, such as gradum-click.

    clickMode: ClickMode

    The pointer button or input mode this event belongs to.

    inputDevice: InputDevice

    The device that produced this event.

    keys: string[]

    The keys held down when the event fired.

    position: Point

    The screen position the event was fired from.

    authorizeScaling: boolean | (() => boolean)

    Whether GradumEvent.scaledPosition and its per-pointer equivalents actually scale, or hand back the raw position. Assign a callback to decide per read — useful when a canvas is only sometimes transformed. Defaults to true.

    scalePosition: (position: Point) => Point

    How a screen position is mapped into document space. Assign it to make events aware of a panned or zoomed canvas. Defaults to returning the position unchanged.

    • get tool(): Node

      Returns Node

      The tool associated with this event, or null if the event carries no tool name.

    • get target(): Element | Document

      Returns Element | Document

      The element the event was fired on, or the document when there is no element target.

    • get scaledPosition(): Point

      Returns Point

      The event position in document space, obtained by running GradumEvent.position through scalePosition. Falls back to the raw position when scaling is not authorized.

    • get scalingAuthorized(): boolean

      Returns boolean

      Whether scaled positions are computed for this event. Resolves authorizeScaling, calling it first if it is a callback.

    • Function

      closest

      Type Parameters

      • T extends Element

        The type of element to look for.

      Parameters

      • type: new (...args: any[]) => T

        The constructor to match against.

      • Optionalstrict: boolean | Element

        When true, the match must also contain the event position, so an ancestor the pointer has left is rejected. Pass an Element to test against that element's bounds instead, or false to skip the check.

      • Optionalfrom: ClosestOrigin

        Where to start searching from.

      Returns T

      The nearest matching element, or null if there is none.

      Find the nearest element of the given class, starting from the event target or the event position and walking up. Matching is by instanceof.

    • Function

      closest

      Parameters

      • type: string

        A custom-element tag name, or a CSS selector.

      • Optionalstrict: boolean | Element

        When true, the match must also contain the event position. Pass an Element to test against that element's bounds instead, or false to skip it.

      • Optionalfrom: ClosestOrigin

        Where to start searching from.

      Returns Element

      The nearest matching element, or null if there is none.

      Find the nearest element matching the given string. A registered custom-element tag such as "my-component" is resolved to its constructor and matched by instanceof; anything else is treated as a CSS selector.

    • Protected Function

      scalePositionsMap

      Parameters

      • Optionalpositions: GradumMap<number, Point>

        Positions keyed by pointer id.

      Returns GradumMap<number, Point>

      A new map with each position scaled. The input is unchanged.

      Map every point in a per-pointer map into document space. Used by GradumDragEvent to expose scaled variants of its position maps.