Class: Dedalus::Elements::Image
- Inherits:
-
Atom
- Object
- Dedalus::Element
- Atom
- Dedalus::Elements::Image
- Defined in:
- lib/dedalus/elements/image.rb
Instance Attribute Summary collapse
-
#invert_x ⇒ Object
Returns the value of attribute invert_x.
-
#invert_y ⇒ Object
Returns the value of attribute invert_y.
-
#padding ⇒ Object
Returns the value of attribute padding.
-
#path ⇒ Object
Returns the value of attribute path.
-
#z_order ⇒ Object
Returns the value of attribute z_order.
Attributes inherited from Dedalus::Element
#background_color, #color, #height_percent, #margin, #position, #width_percent
Class Method Summary collapse
Instance Method Summary collapse
- #asset ⇒ Object
- #dimensions ⇒ Object
- #height ⇒ Object
- #render ⇒ Object
- #scale ⇒ Object
- #width ⇒ Object
Methods inherited from Dedalus::Element
#big_font, #code_font, #draw_bounding_box, #font, #huge_font, #initialize, #tiny_font, #view, #window
Constructor Details
This class inherits a constructor from Dedalus::Element
Instance Attribute Details
#invert_x ⇒ Object
Returns the value of attribute invert_x.
4 5 6 |
# File 'lib/dedalus/elements/image.rb', line 4 def invert_x @invert_x end |
#invert_y ⇒ Object
Returns the value of attribute invert_y.
4 5 6 |
# File 'lib/dedalus/elements/image.rb', line 4 def invert_y @invert_y end |
#padding ⇒ Object
Returns the value of attribute padding.
4 5 6 |
# File 'lib/dedalus/elements/image.rb', line 4 def padding @padding end |
#path ⇒ Object
Returns the value of attribute path.
4 5 6 |
# File 'lib/dedalus/elements/image.rb', line 4 def path @path end |
#z_order ⇒ Object
Returns the value of attribute z_order.
4 5 6 |
# File 'lib/dedalus/elements/image.rb', line 4 def z_order @z_order end |
Class Method Details
.description ⇒ Object
41 42 43 |
# File 'lib/dedalus/elements/image.rb', line 41 def self.description "an image" end |
.example_data ⇒ Object
37 38 39 |
# File 'lib/dedalus/elements/image.rb', line 37 def self.example_data { path: "media/images/cosmos.jpg", scale: 0.2 } end |
Instance Method Details
#asset ⇒ Object
45 46 47 |
# File 'lib/dedalus/elements/image.rb', line 45 def asset @asset ||= Dedalus::ImageRepository.lookup(path) end |
#dimensions ⇒ Object
25 26 27 |
# File 'lib/dedalus/elements/image.rb', line 25 def dimensions [ width, height ] end |
#height ⇒ Object
21 22 23 |
# File 'lib/dedalus/elements/image.rb', line 21 def height 2*padding + (asset.height * scale) end |
#render ⇒ Object
6 7 8 9 10 11 |
# File 'lib/dedalus/elements/image.rb', line 6 def render x,y = *position x_scale = invert_x ? -scale : scale y_scale = invert_y ? -scale : scale asset.draw(x + padding, y + padding, z_order, x_scale, y_scale) end |
#scale ⇒ Object
33 34 35 |
# File 'lib/dedalus/elements/image.rb', line 33 def scale @scale ||= 1.0 end |
#width ⇒ Object
17 18 19 |
# File 'lib/dedalus/elements/image.rb', line 17 def width 2*padding + (asset.width * scale) end |