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:



55
56
57
58
59
60
61
62
63
# File 'lib/prawn/grid.rb', line 55

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

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

Instance Attribute Details

#column_gutterObject (readonly)

Returns the value of attribute column_gutter.



54
55
56
# File 'lib/prawn/grid.rb', line 54

def column_gutter
  @column_gutter
end

#columnsObject (readonly)

Returns the value of attribute columns.



54
55
56
# File 'lib/prawn/grid.rb', line 54

def columns
  @columns
end

#gutterObject (readonly)

Returns the value of attribute gutter.



54
55
56
# File 'lib/prawn/grid.rb', line 54

def gutter
  @gutter
end

#pdfObject (readonly)

Returns the value of attribute pdf.



54
55
56
# File 'lib/prawn/grid.rb', line 54

def pdf
  @pdf
end

#row_gutterObject (readonly)

Returns the value of attribute row_gutter.



54
55
56
# File 'lib/prawn/grid.rb', line 54

def row_gutter
  @row_gutter
end

#rowsObject (readonly)

Returns the value of attribute rows.



54
55
56
# File 'lib/prawn/grid.rb', line 54

def rows
  @rows
end

Instance Method Details

#column_widthObject

Calculates the base width of boxes.



66
67
68
# File 'lib/prawn/grid.rb', line 66

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

#row_heightObject

Calculates the base height of boxes.



71
72
73
# File 'lib/prawn/grid.rb', line 71

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.



76
77
78
79
80
81
82
# File 'lib/prawn/grid.rb', line 76

def show_all(color = "CCCCCC")
  self.rows.times do |i|
    self.columns.times do |j|
      pdf.grid(i,j).show(color)
    end
  end
end