Class: MtgCardMaker::MetallicRenderer::MetallicRenderParams

Inherits:
Object
  • Object
show all
Defined in:
lib/mtg_card_maker/metallic_renderer.rb

Overview

Parameter validation and sharing class for metallic rendering

Since:

  • 0.1.0

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config_params = {}) ⇒ MetallicRenderParams

Returns a new instance of MetallicRenderParams.

Since:

  • 0.1.0



10
11
12
13
14
15
16
# File 'lib/mtg_card_maker/metallic_renderer.rb', line 10

def initialize(config_params = {})
  @mask = config_params[:mask]
  @corners = config_params[:corners] || LayerConfig.default.corner_radius(:inner)
  @bottom_margin = config_params[:bottom_margin] || 0
  @opacity = config_params[:opacity] || {}
  @geometry_params = config_params[:geometry] || {}
end

Instance Attribute Details

#bottom_marginObject (readonly)

Since:

  • 0.1.0



8
9
10
# File 'lib/mtg_card_maker/metallic_renderer.rb', line 8

def bottom_margin
  @bottom_margin
end

#cornersObject (readonly)

Since:

  • 0.1.0



8
9
10
# File 'lib/mtg_card_maker/metallic_renderer.rb', line 8

def corners
  @corners
end

#geometry_paramsObject (readonly)

Since:

  • 0.1.0



8
9
10
# File 'lib/mtg_card_maker/metallic_renderer.rb', line 8

def geometry_params
  @geometry_params
end

#maskObject (readonly)

Since:

  • 0.1.0



8
9
10
# File 'lib/mtg_card_maker/metallic_renderer.rb', line 8

def mask
  @mask
end

#opacityObject (readonly)

Since:

  • 0.1.0



8
9
10
# File 'lib/mtg_card_maker/metallic_renderer.rb', line 8

def opacity
  @opacity
end

Instance Method Details

#shadow_cornersObject

Since:

  • 0.1.0



30
31
32
33
34
35
# File 'lib/mtg_card_maker/metallic_renderer.rb', line 30

def shadow_corners
  {
    x: [corners[:x] - shadow_offset, 0].max,
    y: [corners[:y] - shadow_offset, 0].max
  }
end

#shadow_offsetObject

Since:

  • 0.1.0



26
27
28
# File 'lib/mtg_card_maker/metallic_renderer.rb', line 26

def shadow_offset
  2
end

#shadow_opacityObject

Since:

  • 0.1.0



22
23
24
# File 'lib/mtg_card_maker/metallic_renderer.rb', line 22

def shadow_opacity
  opacity[:shadow] || 0.08
end

#texture_opacityObject

Since:

  • 0.1.0



18
19
20
# File 'lib/mtg_card_maker/metallic_renderer.rb', line 18

def texture_opacity
  opacity[:texture] || 0.05
end