Sha256: bcc9ed78e1aa93c9a6933637e49ed52ff1c82b945318eae383327caf32126150

Contents?: true

Size: 1.24 KB

Versions: 2

Compression:

Stored size: 1.24 KB

Contents

module Flms
  class TextLayerViewObject < Flms::LayerViewObject

    def attributes(scroll_offset = 0)
      attributes = keyframe_data_hash(scroll_offset)
      attributes[:id] = @layer.name
      attributes[:style] += "color: \##{ @layer.color };"
      keyframe_font_sizes(scroll_offset).each { |attr, style| attributes[attr] += style }
      attributes
    end

    # Generate font sizes based on scale factors in keyframe
    def keyframe_font_sizes(scroll_offset = 0)
      data = { }

      initial_pos = calculate_scroll_position(:initial, scroll_offset)
      target_start_pos = calculate_scroll_position(:target_start, scroll_offset)
      target_end_pos = calculate_scroll_position(:target_end, scroll_offset)
      final_pos = calculate_scroll_position(:final, scroll_offset)

      data["data-#{initial_pos}"] = " font-size: #{ @layer.font_size * @layer.start_state_keyframe.scale }em;"
      data["data-#{target_start_pos}"] = " font-size: #{ @layer.font_size * @layer.target_state_keyframe.scale }em;"
      data["data-#{target_end_pos}"] = " font-size: #{ @layer.font_size * @layer.target_state_keyframe.scale }em;"
      data["data-#{final_pos}"] = " font-size: #{ @layer.font_size * @layer.end_state_keyframe.scale }em;"

      data
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
flms-0.9.0 app/view_objects/flms/text_layer_view_object.rb
flms-0.1.0 app/view_objects/flms/text_layer_view_object.rb