Module: MotionPrime::ElementContentPaddingMixin

Included in:
ButtonElement, DrawElement, ErrorMessageElement, LabelElement, TextFieldElement, TextViewElement
Defined in:
motion-prime/elements/_content_padding_mixin.rb

Instance Method Summary collapse

Instance Method Details

#cached_content_outer_heightObject



40
41
42
# File 'motion-prime/elements/_content_padding_mixin.rb', line 40

def cached_content_outer_height
  content_outer_height(true)
end

#cached_content_outer_widthObject



49
50
51
# File 'motion-prime/elements/_content_padding_mixin.rb', line 49

def cached_content_outer_width
  content_outer_width(true)
end

#content_outer_height(cached = false) ⇒ Object



35
36
37
38
# File 'motion-prime/elements/_content_padding_mixin.rb', line 35

def content_outer_height(cached = false)
  height = content_padding_height + (cached ? cached_content_height : content_height)
  [[height, computed_options[:min_outer_height]].compact.max, computed_options[:max_outer_height]].compact.min
end

#content_outer_width(cached = false) ⇒ Object



44
45
46
47
# File 'motion-prime/elements/_content_padding_mixin.rb', line 44

def content_outer_width(cached = false)
  width = content_padding_width + (cached ? cached_content_width : content_width)
  [[width, computed_options[:min_outer_width]].compact.max, computed_options[:max_outer_width]].compact.min
end

#content_padding_bottomObject



21
22
23
24
25
# File 'motion-prime/elements/_content_padding_mixin.rb', line 21

def content_padding_bottom
  computed_options[:padding_bottom] ||
    computed_options[:padding] ||
    default_padding_for(:bottom) || 0
end

#content_padding_heightObject



27
28
29
# File 'motion-prime/elements/_content_padding_mixin.rb', line 27

def content_padding_height
  content_padding_top + content_padding_bottom
end

#content_padding_leftObject



3
4
5
6
7
# File 'motion-prime/elements/_content_padding_mixin.rb', line 3

def content_padding_left
  computed_options[:padding_left] ||
    computed_options[:padding] ||
    default_padding_for(:left) || 0
end

#content_padding_rightObject



9
10
11
12
13
# File 'motion-prime/elements/_content_padding_mixin.rb', line 9

def content_padding_right
  computed_options[:padding_right] ||
    computed_options[:padding] ||
    default_padding_for(:right) || 0
end

#content_padding_topObject



15
16
17
18
19
# File 'motion-prime/elements/_content_padding_mixin.rb', line 15

def content_padding_top
  computed_options[:padding_top] ||
    computed_options[:padding] ||
    default_padding_for(:top) || 0
end

#content_padding_widthObject



31
32
33
# File 'motion-prime/elements/_content_padding_mixin.rb', line 31

def content_padding_width
  content_padding_left + content_padding_right
end

#default_padding_for(side) ⇒ Object



53
54
55
# File 'motion-prime/elements/_content_padding_mixin.rb', line 53

def default_padding_for(side)
  class_factory(view_class).send(:"default_padding_#{side}")
end