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:


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

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


58
59
60
# File 'lib/prawn/grid.rb', line 58

def column_gutter
  @column_gutter
end

#columnsObject (readonly)

Returns the value of attribute columns


58
59
60
# File 'lib/prawn/grid.rb', line 58

def columns
  @columns
end

#gutterObject (readonly)

Returns the value of attribute gutter


58
59
60
# File 'lib/prawn/grid.rb', line 58

def gutter
  @gutter
end

#pdfObject (readonly)

Returns the value of attribute pdf


58
59
60
# File 'lib/prawn/grid.rb', line 58

def pdf
  @pdf
end

#row_gutterObject (readonly)

Returns the value of attribute row_gutter


58
59
60
# File 'lib/prawn/grid.rb', line 58

def row_gutter
  @row_gutter
end

#rowsObject (readonly)

Returns the value of attribute rows


58
59
60
# File 'lib/prawn/grid.rb', line 58

def rows
  @rows
end

Instance Method Details

#column_widthObject

Calculates the base width of boxes.


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

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

#row_heightObject

Calculates the base height of boxes.


76
77
78
# File 'lib/prawn/grid.rb', line 76

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.


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

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