Sha256: 71b0bdc15c2848a799ab789838f3a068962e6572ce86a1f3c1400020e22b5ddc

Contents?: true

Size: 1.6 KB

Versions: 6

Compression:

Stored size: 1.6 KB

Contents

module WhirledPeas
  module Graphics
    class ContainerCoords
      def initialize(dimensions, settings, start_left, start_top)
        @dimensions = dimensions
        @settings = settings
        @start_left = start_left
        @start_top = start_top
      end

      def left
        start_left + settings.position.left
      end

      def top
        start_top + settings.position.top
      end

      def border_left
        left + settings.margin.left
      end

      def border_top
        top + settings.margin.top
      end

      def padding_left
        border_left + (settings.border.left? ? 1 : 0)
      end

      def padding_top
        border_top + (settings.border.top? ? 1 : 0)
      end

      def content_left(col_index=0)
        padding_left + settings.padding.left + col_index * grid_width
      end

      def content_top(row_index=0)
        padding_top + settings.padding.top + row_index * grid_height
      end

      def inner_grid_width
        settings.padding.left +
          dimensions.content_width +
          settings.padding.right
      end

      def grid_width
        (settings.border.inner_vert? ? 1 : 0) +
          inner_grid_width +
          (settings.scrollbar.vert? ? 1 : 0)
      end

      def inner_grid_height
        settings.padding.top +
          dimensions.content_height +
          settings.padding.bottom
      end

      def grid_height
        (settings.border.inner_horiz? ? 1 : 0) +
          inner_grid_height +
          (settings.scrollbar.horiz? ? 1 : 0)
      end

      private

      attr_reader :settings, :dimensions, :start_left, :start_top
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
whirled_peas-0.10.0 lib/whirled_peas/graphics/container_coords.rb
whirled_peas-0.9.1 lib/whirled_peas/graphics/container_coords.rb
whirled_peas-0.9.0 lib/whirled_peas/graphics/container_coords.rb
whirled_peas-0.8.0 lib/whirled_peas/graphics/container_coords.rb
whirled_peas-0.7.1 lib/whirled_peas/graphics/container_coords.rb
whirled_peas-0.7.0 lib/whirled_peas/graphics/container_coords.rb