Class: Plushie::Canvas::Shape::Line

Inherits:
Data
  • Object
show all
Defined in:
lib/plushie/canvas/shape/line.rb,
sig/plushie/canvas/shape.rbs

Overview

Line shape.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(x1:, y1:, x2:, y2:, stroke: nil, stroke_width: nil, opacity: nil) ⇒ Line

Returns a new instance of Line.

Parameters:

  • x1: (Numeric)
  • y1: (Numeric)
  • x2: (Numeric)
  • y2: (Numeric)
  • stroke: (Object) (defaults to: nil)
  • stroke_width: (Numeric, nil) (defaults to: nil)
  • opacity: (Numeric, nil) (defaults to: nil)


8
9
10
# File 'lib/plushie/canvas/shape/line.rb', line 8

def initialize(x1:, y1:, x2:, y2:, stroke: nil, stroke_width: nil, opacity: nil)
  super
end

Instance Attribute Details

#opacityObject (readonly)

Returns the value of attribute opacity

Returns:

  • (Object)

    the current value of opacity



7
8
9
# File 'lib/plushie/canvas/shape/line.rb', line 7

def opacity
  @opacity
end

#strokeObject (readonly)

Returns the value of attribute stroke

Returns:

  • (Object)

    the current value of stroke



7
8
9
# File 'lib/plushie/canvas/shape/line.rb', line 7

def stroke
  @stroke
end

#stroke_widthObject (readonly)

Returns the value of attribute stroke_width

Returns:

  • (Object)

    the current value of stroke_width



7
8
9
# File 'lib/plushie/canvas/shape/line.rb', line 7

def stroke_width
  @stroke_width
end

#x1Object (readonly)

Returns the value of attribute x1

Returns:

  • (Object)

    the current value of x1



7
8
9
# File 'lib/plushie/canvas/shape/line.rb', line 7

def x1
  @x1
end

#x2Object (readonly)

Returns the value of attribute x2

Returns:

  • (Object)

    the current value of x2



7
8
9
# File 'lib/plushie/canvas/shape/line.rb', line 7

def x2
  @x2
end

#y1Object (readonly)

Returns the value of attribute y1

Returns:

  • (Object)

    the current value of y1



7
8
9
# File 'lib/plushie/canvas/shape/line.rb', line 7

def y1
  @y1
end

#y2Object (readonly)

Returns the value of attribute y2

Returns:

  • (Object)

    the current value of y2



7
8
9
# File 'lib/plushie/canvas/shape/line.rb', line 7

def y2
  @y2
end

Instance Method Details

#[](key) ⇒ Object

Access shape properties by key.

Parameters:

  • key (Symbol)

Returns:

  • (Object)


16
# File 'lib/plushie/canvas/shape/line.rb', line 16

def [](key) = to_wire[key]

#to_wireHash[Symbol, untyped]

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Encode shape for the wire protocol.

Returns:

  • (Hash[Symbol, untyped])


20
21
22
23
24
25
26
# File 'lib/plushie/canvas/shape/line.rb', line 20

def to_wire
  h = {type: "line", x1: x1, y1: y1, x2: x2, y2: y2}
  h[:stroke] = stroke if stroke
  h[:stroke_width] = stroke_width if stroke_width
  h[:opacity] = opacity if opacity
  h
end