Module: MotionPrime::SupportPaddingAttribute

Extended by:
MotionSupport::Concern
Included in:
MPButton, MPLabel, MPTextField, MPTextView
Defined in:
motion-prime/support/_padding_attribute.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#apply_padding(rect) ⇒ Object



47
48
49
50
# File 'motion-prime/support/_padding_attribute.rb', line 47

def apply_padding(rect)
  return unless apply_padding?
  apply_padding!(rect)
end

#apply_padding!(rect) ⇒ Object



52
53
54
# File 'motion-prime/support/_padding_attribute.rb', line 52

def apply_padding!(rect)
  raise "requires implementation"
end

#apply_padding?Boolean

Returns:

  • (Boolean)


56
57
58
# File 'motion-prime/support/_padding_attribute.rb', line 56

def apply_padding?
  ![padding_top, padding_left, padding_right, padding_bottom].all?(&:zero?)
end

#padding_bottomObject



39
40
41
# File 'motion-prime/support/_padding_attribute.rb', line 39

def padding_bottom
  self.paddingBottom || self.padding || self.class.default_padding_bottom
end

#padding_insetsObject



43
44
45
# File 'motion-prime/support/_padding_attribute.rb', line 43

def padding_insets
  UIEdgeInsetsMake(padding_top, padding_left, padding_bottom, padding_right)
end

#padding_leftObject



27
28
29
# File 'motion-prime/support/_padding_attribute.rb', line 27

def padding_left
  self.paddingLeft || self.padding || self.class.default_padding_left
end

#padding_rightObject



31
32
33
# File 'motion-prime/support/_padding_attribute.rb', line 31

def padding_right
  self.paddingRight || self.padding || self.class.default_padding_right
end

#padding_topObject



35
36
37
# File 'motion-prime/support/_padding_attribute.rb', line 35

def padding_top
  self.paddingTop || self.padding || self.class.default_padding_top
end