Class: Plushie::Widget::Floating
- Inherits:
-
Object
- Object
- Plushie::Widget::Floating
- Defined in:
- lib/plushie/widget/floating.rb
Overview
Floating overlay -- positions child with translation and scaling.
Props:
- translate_x (number) -- horizontal translation in pixels.
- translate_y (number) -- vertical translation in pixels.
- scale (number) -- scale factor.
- width (length) -- float width.
- height (length) -- float height.
- a11y (hash) -- accessibility overrides.
Constant Summary collapse
- PROPS =
This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.
Supported property keys for this widget.
%i[translate_x translate_y scale width height a11y].freeze
Instance Attribute Summary collapse
-
#a11y ⇒ Object
readonly
Returns the value of attribute a11y.
-
#children ⇒ Object
readonly
Returns the value of attribute children.
-
#height ⇒ Object
readonly
Returns the value of attribute height.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#scale ⇒ Object
readonly
Returns the value of attribute scale.
-
#translate_x ⇒ Object
readonly
Returns the value of attribute translate_x.
-
#translate_y ⇒ Object
readonly
Returns the value of attribute translate_y.
-
#width ⇒ Object
readonly
Returns the value of attribute width.
Instance Method Summary collapse
- #build ⇒ Plushie::Node
-
#initialize(id, **opts) ⇒ Floating
constructor
A new instance of Floating.
-
#push(child) ⇒ Floating
Append a child widget.
Constructor Details
Instance Attribute Details
#a11y ⇒ Object (readonly)
Returns the value of attribute a11y.
1 2 3 |
# File 'lib/plushie/widget/floating.rb', line 1 def a11y @a11y end |
#children ⇒ Object (readonly)
Returns the value of attribute children.
1 2 3 |
# File 'lib/plushie/widget/floating.rb', line 1 def children @children end |
#height ⇒ Object (readonly)
Returns the value of attribute height.
1 2 3 |
# File 'lib/plushie/widget/floating.rb', line 1 def height @height end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
1 2 3 |
# File 'lib/plushie/widget/floating.rb', line 1 def id @id end |
#scale ⇒ Object (readonly)
Returns the value of attribute scale.
1 2 3 |
# File 'lib/plushie/widget/floating.rb', line 1 def scale @scale end |
#translate_x ⇒ Object (readonly)
Returns the value of attribute translate_x.
1 2 3 |
# File 'lib/plushie/widget/floating.rb', line 1 def translate_x @translate_x end |
#translate_y ⇒ Object (readonly)
Returns the value of attribute translate_y.
1 2 3 |
# File 'lib/plushie/widget/floating.rb', line 1 def translate_y @translate_y end |
#width ⇒ Object (readonly)
Returns the value of attribute width.
1 2 3 |
# File 'lib/plushie/widget/floating.rb', line 1 def width @width end |
Instance Method Details
#build ⇒ Plushie::Node
50 51 52 53 54 55 56 57 58 |
# File 'lib/plushie/widget/floating.rb', line 50 def build props = {} PROPS.each do |key| val = instance_variable_get(:"@#{key}") Build.put_if(props, key, val) end Node.new(id: @id, type: "float", props: props, children: Build.children_to_nodes(@children)) end |
#push(child) ⇒ Floating
Append a child widget.
45 46 47 |
# File 'lib/plushie/widget/floating.rb', line 45 def push(child) dup.tap { _1.instance_variable_set(:@children, @children + [child]) } end |