Class: Plushie::Canvas::Shape::Circle

Inherits:
Data
  • Object
show all
Defined in:
lib/plushie/canvas/shape/circle.rb

Overview

Circle shape.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(x:, y:, r:, fill: nil, stroke: nil, stroke_width: nil, opacity: nil) ⇒ Circle

Returns a new instance of Circle.



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

def initialize(x:, y:, r:, fill: nil, stroke: nil, stroke_width: nil, opacity: nil)
  super
end

Instance Attribute Details

#fillObject (readonly)

Returns the value of attribute fill

Returns:

  • (Object)

    the current value of fill



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

def fill
  @fill
end

#opacityObject (readonly)

Returns the value of attribute opacity

Returns:

  • (Object)

    the current value of opacity



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

def opacity
  @opacity
end

#rObject (readonly)

Returns the value of attribute r

Returns:

  • (Object)

    the current value of r



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

def r
  @r
end

#strokeObject (readonly)

Returns the value of attribute stroke

Returns:

  • (Object)

    the current value of stroke



7
8
9
# File 'lib/plushie/canvas/shape/circle.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/circle.rb', line 7

def stroke_width
  @stroke_width
end

#xObject (readonly)

Returns the value of attribute x

Returns:

  • (Object)

    the current value of x



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

def x
  @x
end

#yObject (readonly)

Returns the value of attribute y

Returns:

  • (Object)

    the current value of y



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

def y
  @y
end

Instance Method Details

#[](key) ⇒ Object

Access shape properties by key.

Parameters:

  • key (Symbol)

Returns:

  • (Object)


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

def [](key) = to_wire[key]

#to_wireObject

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.



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

def to_wire
  h = {type: "circle", x: x, y: y, r: r}
  h[:fill] = fill if fill
  h[:stroke] = stroke if stroke
  h[:stroke_width] = stroke_width if stroke_width
  h[:opacity] = opacity if opacity
  h
end