Sha256: c44bf7c071cf6fb0493d7b14a1232499f2a773168625d77c2dc0fab3030e53be

Contents?: true

Size: 1.28 KB

Versions: 3

Compression:

Stored size: 1.28 KB

Contents

# coding: utf-8

module Thinreports
  module Generator::PDF::Drawer

    class ListSection < Page
      # @param pdf (see PDF::Drawer::Page#initialize)
      # @param section [Thinreports::Core::Shape::List::SectionInternal] section
      def initialize(pdf, section)
        super(pdf, section.format)
        @section       = section
        @stamp_created = false
      end

      # @param [Thinreports::Core::Shape::List::SectionInternal] section
      # @param [Array<Numeric>] at
      def draw(section, at)
        @draw_at = at
        draw_section
        super(section)
      end

    private

      def draw_section
        id = @format.identifier.to_s

        unless @stamp_created
          @pdf.create_stamp(id) do
            @pdf.parse_svg('<svg xmlns:xlink="http://www.w3.org/1999/xlink">' +
                           "#{@format.layout}</svg>", '/svg')
          end
          @stamp_created = true
        end
        pdf_stamp(id)
      end

      # @see Thinreports::Generator::PDF::Drawer::Page#draw_tblock_shape
      def draw_tblock_shape(shape)
        @pdf.translate(*@draw_at) { super }
      end

      # @see Thinreports::Generator::PDF::Drawer::Page#draw_iblock_shape
      def draw_iblock_shape(shape)
        @pdf.translate(*@draw_at) { super }
      end
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
thinreports-0.8.2 lib/thinreports/generator/pdf/drawer/list_section.rb
thinreports-0.8.1 lib/thinreports/generator/pdf/drawer/list_section.rb
thinreports-0.8.0 lib/thinreports/generator/pdf/drawer/list_section.rb