Class: Prawn::Document::Grid

Inherits:
Object
  • Object
show all
Defined in:
lib/prawn/grid.rb

Overview

A Grid represents the entire grid system of a Page and calculates the column width and row height of the base box.

Experimental API collapse

Experimental API collapse

Constructor Details

#initialize(pdf, options = {}) ⇒ Grid

:nodoc:



58
59
60
61
62
63
64
65
66
# File 'lib/prawn/grid.rb', line 58

def initialize(pdf, options = {}) # :nodoc:
  valid_options = i[columns rows gutter row_gutter column_gutter]
  Prawn.verify_options valid_options, options

  @pdf = pdf
  @columns = options[:columns]
  @rows = options[:rows]
  apply_gutter(options)
end

Instance Attribute Details

#column_gutterObject (readonly)

Returns the value of attribute column_gutter.



56
57
58
# File 'lib/prawn/grid.rb', line 56

def column_gutter
  @column_gutter
end

#columnsObject (readonly)

Returns the value of attribute columns.



56
57
58
# File 'lib/prawn/grid.rb', line 56

def columns
  @columns
end

#gutterObject (readonly)

Returns the value of attribute gutter.



56
57
58
# File 'lib/prawn/grid.rb', line 56

def gutter
  @gutter
end

#pdfObject (readonly)

Returns the value of attribute pdf.



56
57
58
# File 'lib/prawn/grid.rb', line 56

def pdf
  @pdf
end

#row_gutterObject (readonly)

Returns the value of attribute row_gutter.



56
57
58
# File 'lib/prawn/grid.rb', line 56

def row_gutter
  @row_gutter
end

#rowsObject (readonly)

Returns the value of attribute rows.



56
57
58
# File 'lib/prawn/grid.rb', line 56

def rows
  @rows
end

Instance Method Details

#column_widthObject

Calculates the base width of boxes.



69
70
71
# File 'lib/prawn/grid.rb', line 69

def column_width
  @column_width ||= subdivide(pdf.bounds.width, columns, column_gutter)
end

#row_heightObject

Calculates the base height of boxes.



74
75
76
# File 'lib/prawn/grid.rb', line 74

def row_height
  @row_height ||= subdivide(pdf.bounds.height, rows, row_gutter)
end

#show_all(color = 'CCCCCC') ⇒ Object

Diagnostic tool to show all of the grids. Defaults to gray.



79
80
81
82
83
84
85
# File 'lib/prawn/grid.rb', line 79

def show_all(color = 'CCCCCC')
  rows.times do |row|
    columns.times do |column|
      pdf.grid(row, column).show(color)
    end
  end
end