Visual that is displayed at the Cursors position. Has customizable fill and border.

Hierarchy

Implemented by

Properties

draggable: boolean

Reference to HTML draggable attribute

Essentially part of convenience functionality which allows you to specify specific LCJS elements as "draggable", this information is automatically passed on to the LCJS charts container DIV when that element is pointed (since LCJS elements are not HTML elements, the DIV is the only actual HTML element).

getFillStyle: (() => FillStyle)

Type declaration

getOrigin: (() => Point)

Type declaration

    • (): Point
    • Get origin position of PointMarker

      Returns

      (-1 to 1 which specifies position of origin, 0 is center of the object)

      Returns Point

getSize: (() => Point)

Type declaration

    • (): Point
    • Get size of PointMarker

      Returns

      Size of PointMarker in pixels

      Returns Point

setFillStyle: ((fillStyle: FillStyle | ImmutableMutator<FillStyle, FillStyle>) => PointMarker)

Type declaration

setOrigin: ((origin: Point) => PointMarker)

Type declaration

    • (origin: Point): PointMarker
    • Set origin position of PointMarker

      Returns

      Object itself for fluent interface

      Parameters

      • origin: Point

        (-1 to 1 which specifies position of origin, 0 is center of the object)

      Returns PointMarker

setSize: ((size: Point) => PointMarker)

Type declaration

Methods

  • Add callback function to be triggered when specified event is fired.

     // Example syntax
    object.addEventListener('click', (event) => {
    console.log(event)
    })

    Some classes also report extra information about the interacted object with the second parameter:

     // Most series share information about interacted data point
    series.addEventListener('click', (event, info) => {
    console.log(info)
    })

    Optional third parameter allows registering event handlers that will automatically remove themselves after first trigger:

     // Example this listener will only fire once
    object.addEventListener('click', (event) => {})

    Each class has its own list of supported events. Some events are from HTML standard (click, pointerdown, etc.), while others are own events from LightningChart JS (dispose, resize, etc.)

    To find what events are available, you can try following:

    • If your development environment has TypeScript enabled, just write addEventListener and see what possible event types the IDE suggests. These APIs are strongly typed, and even the callback event will be correctly typed.
    • Otherwise, open the class section in API documentation and check out which interface K type parameter extends.

    Type Parameters

    • K extends "click" | "contextmenu" | "dblclick" | "drag" | "dragend" | "dragenter" | "dragleave" | "dragover" | "dragstart" | "drop" | "gotpointercapture" | "lostpointercapture" | "pointercancel" | "pointerdown" | "pointerenter" | "pointerleave" | "pointermove" | "pointerout" | "pointerover" | "pointerup" | "touchcancel" | "touchend" | "touchmove" | "touchstart" | "wheel"

    Parameters

    Returns void

  • Returns

    Mouse interactions state

    Returns boolean

  • Get rotation of point shape in degrees.

    Returns

    Rotation as degrees

    Returns number

  • Remove event listener added using addEventListener. The expected argument should be the exact same callback function that was supplied using addEventListener:

     // Basic example syntax
    const listener = () => {}
    obj.addEventListener('click', listener)
    obj.removeEventListener('click', listener)
     // Basic boilerplate of custom interaction when user drags on an object
    obj.addEventListener('pointerdown', (eventDown) => {
    let prevCoord = eventDown
    const handlePointerMove: LCJSInteractionEventListener<'pointermove'> = (eventMove) => {
    const delta = { x: eventMove.clientX - prevCoord.clientX, y: eventMove.clientY - prevCoord.clientY }
    prevCoord = eventMove
    console.log(delta, eventMove.clientX, eventMove.clientY)
    }
    const handlePointerUp: LCJSInteractionEventListener<'pointerup'> = (eventUp) => {
    window.removeEventListener('pointermove', handlePointerMove)
    window.removeEventListener('pointerup', handlePointerUp)
    }
    window.addEventListener('pointermove', handlePointerMove)
    window.addEventListener('pointerup', handlePointerUp)
    })

    Type Parameters

    • K extends "click" | "contextmenu" | "dblclick" | "drag" | "dragend" | "dragenter" | "dragleave" | "dragover" | "dragstart" | "drop" | "gotpointercapture" | "lostpointercapture" | "pointercancel" | "pointerdown" | "pointerenter" | "pointerleave" | "pointermove" | "pointerout" | "pointerover" | "pointerup" | "touchcancel" | "touchend" | "touchmove" | "touchstart" | "wheel"

    Parameters

    Returns void

  • Set margin around object in pixels.

    Returns

    Object itself

    Parameters

    • margin: number | Partial<MMargin>

      Number with pixel margins for all sides or datastructure with individual pixel margins for each side. Any side can be omitted, only passed values will be overridden.

    Returns PointMarker

  • Set mouse interactions enabled or disabled

    Returns

    Object itself for fluent interface

    Parameters

    • state: boolean

      Specifies state of mouse interactions

    Returns PointMarker

  • Set rotation of point shape in degrees.

    Returns

    Object itself.

    Parameters

    • rotationDeg: number

      Rotation in degrees.

    Returns PointMarker