Skip to main content

Line

Represents a line shape that extends the generic Shape class. It uses LineDefinition for defining the start and end points, LineStyle for styling, and LineOptions for additional options.

Extends

Constructors

new Line()

new Line(start, end, style?, options?): Line

Creates an instance of the Line class.

The Line can be created either by passing two Point objects representing the start and end of the line, or by providing the individual coordinates for the start and end points.

Parameters

start: Point

The starting Point of the line.

end: Point

The ending Point of the line.

style?: ILineStyle

Defines the styling of the line.

options?: ILineOptions

The configuration options for the line.

Returns

Line

Throws

InvalidConstructorArgumentsError if invalid arguments are passed.

Overrides

Shape.constructor

Defined in

shapes/Line.ts:22

new Line()

new Line(startX, startY, endX, endY, style?, options?): Line

Creates an instance of the Line class.

The Line can be created either by passing two Point objects representing the start and end of the line, or by providing the individual coordinates for the start and end points.

Parameters

startX: number

The X-coordinate of the starting point.

startY: number

The Y-coordinate of the starting point.

endX: number

The X-coordinate of the ending point.

endY: number

The Y-coordinate of the ending point.

style?: ILineStyle

Defines the styling of the line.

options?: ILineOptions

The configuration options for the line.

Returns

Line

Throws

InvalidConstructorArgumentsError if invalid arguments are passed.

Overrides

Shape<LineDefinition, LineStyle, LineOptions>.constructor

Defined in

shapes/Line.ts:32

Properties

_definition

protected _definition: LineDefinition

The shape definition, proxied to trigger observer notifications on change.

Inherited from

Shape._definition

Defined in

shapes/Shape.ts:22


_options

protected _options: LineOptions

The options for configuring the shape, proxied to trigger observer notifications on change.

Inherited from

Shape._options

Defined in

shapes/Shape.ts:28


_state

protected _state: ShapeState = ShapeState.Default

The current state of the shape, representing its visual or interactive status.

Inherited from

Shape._state

Defined in

shapes/Shape.ts:31


_style

protected _style: LineStyle

The style settings for the shape, proxied to trigger observer notifications on change.

Inherited from

Shape._style

Defined in

shapes/Shape.ts:25


observers

protected observers: () => void[] = []

List of observer functions to be notified on shape changes.

Inherited from

Shape.observers

Defined in

shapes/Shape.ts:34

Accessors

end

get end(): Point

Gets the ending point of the line.

set end(end): void

Sets the ending point of the line.

Parameters

end: Point

The new ending point of the line.

Returns

Point

The ending point of the line.

Defined in

shapes/Line.ts:90


options

get options(): TOptions

Gets the configuration options of the shape.

set options(options): void

Updates the configuration options of the shape and notifies observers.

Parameters

options: TOptions

The new options to apply.

Returns

TOptions

The current options.

Inherited from

Shape.options

Defined in

shapes/Shape.ts:203


start

get start(): Point

Gets the starting point of the line.

set start(start): void

Sets the starting point of the line.

Parameters

start: Point

The new starting point of the line.

Returns

Point

The starting point of the line.

Defined in

shapes/Line.ts:81


state

get state(): ShapeState

Gets the current state of the shape.

set state(state): void

Sets a new state for the shape.

Parameters

state: ShapeState

The new state to assign to the shape.

Returns

ShapeState

The current state of the shape.

Inherited from

Shape.state

Defined in

shapes/Shape.ts:221


stateStyle

get stateStyle(): TStyle

Retrieves the effective style of the shape based on its current state.

Returns

TStyle

The computed style object for the current shape state, with state-specific overrides merged in as necessary.

Inherited from

Shape.stateStyle

Defined in

shapes/Shape.ts:243


style

get style(): TStyle

Gets the style settings of the shape.

set style(style): void

Updates the style settings of the shape and notifies observers.

Parameters

style: TStyle

The new style settings to apply.

Returns

TStyle

The current style settings.

Inherited from

Shape.style

Defined in

shapes/Shape.ts:185

Methods

addObserver()

addObserver(observer): void

Adds an observer function that will be called when the shape's state changes.

Parameters

observer

The observer callback function.

Returns

void

Inherited from

Shape.addObserver

Defined in

shapes/Shape.ts:154


hasBorder()

protected hasBorder(): boolean

Determines if the current state style includes a visible border.

Returns

boolean

true if borderColor and borderWidth are defined and indicate a visible border; otherwise, false.

Inherited from

Shape.hasBorder

Defined in

shapes/Shape.ts:280


hide()

hide(): void

Hides the shape, preventing it from being rendered on the canvas. The shape will still exist and retain its properties, but it will not appear during rendering until show() is called.

Returns

void

Inherited from

Shape.hide

Defined in

shapes/Shape.ts:127


isMouseOver()

isMouseOver(mousePosition): boolean

Determines if the mouse is currently over the shape.

Parameters

mousePosition: Point

The current mouse position.

Returns

boolean

True if the mouse is over the shape, false otherwise.

Overrides

Shape.isMouseOver

Defined in

shapes/Line.ts:159


isVisible()

isVisible(): boolean

Checks whether the shape is currently visible.

Returns

boolean

Returns true if the shape is visible and will be rendered on the canvas. Returns false if the shape is hidden and will not be rendered.

Inherited from

Shape.isVisible

Defined in

shapes/Shape.ts:137


moveEnd()

moveEnd(deltaX, deltaY): void

Moves the end point of the line by the specified deltas along the x and y axes.

Parameters

deltaX: number = 0

The amount to move the end point along the x-axis.

deltaY: number = 0

The amount to move the end point along the y-axis.

Returns

void

Defined in

shapes/Line.ts:130


moveStart()

moveStart(deltaX, deltaY): void

Moves the start point of the line by the specified deltas along the x and y axes.

Parameters

deltaX: number = 0

The amount to move the start point along the x-axis.

deltaY: number = 0

The amount to move the start point along the y-axis.

Returns

void

Defined in

shapes/Line.ts:120


removeObserver()

removeObserver(observer): void

Removes a previously added observer function.

Parameters

observer

The observer callback function to be removed.

Returns

void

Inherited from

Shape.removeObserver

Defined in

shapes/Shape.ts:165


render()

render(context): void

Renders the line on a canvas context.

Parameters

context: CanvasRenderingContext2D

The canvas rendering context to draw the line.

Returns

void

Overrides

Shape.render

Defined in

shapes/Line.ts:139


show()

show(): void

Makes the shape visible, allowing it to be rendered on the canvas. If the shape was previously hidden, calling this method will make it appear during the next rendering cycle.

Returns

void

Inherited from

Shape.show

Defined in

shapes/Shape.ts:118


toArray()

toArray(): any[]

Converts the shape's definition to an array.

Returns

any[]

An array representation of the shape's definition.

Inherited from

Shape.toArray

Defined in

shapes/Shape.ts:100


toJson()

toJson(): string

Converts the shape's definition to a JSON string.

Returns

string

A JSON string representation of the shape's definition.

Inherited from

Shape.toJson

Defined in

shapes/Shape.ts:109