class Prawn::Document::ColumnBox

Implements the necessary functionality to allow Prawn::Document#column_box to work.

Public Instance Methods

add_left_padding(left_padding) click to toggle source

Override the padding functions so as not to split the padding amount between all columns on the page.

# File lib/prawn/document/column_box.rb, line 121
def add_left_padding(left_padding)
  @total_left_padding += left_padding
  @x += left_padding
end
add_right_padding(right_padding) click to toggle source
# File lib/prawn/document/column_box.rb, line 131
def add_right_padding(right_padding)
  @total_right_padding += right_padding
end
bare_column_width() click to toggle source

The column width, not the width of the whole box, before left and/or right padding

# File lib/prawn/document/column_box.rb, line 63
def bare_column_width
  (@width - @spacer * (@columns - 1)) / @columns
end
left() click to toggle source

Relative position of the left edge of the current column

# File lib/prawn/document/column_box.rb, line 88
def left
  width_of_column * @current_column
end
left_side() click to toggle source

x coordinate of the left edge of the current column

# File lib/prawn/document/column_box.rb, line 82
def left_side
  absolute_left + (width_of_column * @current_column)
end
move_past_bottom() click to toggle source

Moves to the next column or starts a new page if currently positioned at the rightmost column.

# File lib/prawn/document/column_box.rb, line 107
def move_past_bottom
  @current_column = (@current_column + 1) % @columns
  @document.y = @y
  if @current_column.zero?
    if @reflow_margins
      @y = @parent.absolute_top
    end
    @document.start_new_page
  end
end
right() click to toggle source

Relative position of the right edge of the current column.

# File lib/prawn/document/column_box.rb, line 101
def right
  left + width
end
right_side() click to toggle source

x co-orordinate of the right edge of the current column

# File lib/prawn/document/column_box.rb, line 94
def right_side
  columns_from_right = @columns - (1 + @current_column)
  absolute_right - (width_of_column * columns_from_right)
end
subtract_left_padding(left_padding) click to toggle source
# File lib/prawn/document/column_box.rb, line 126
def subtract_left_padding(left_padding)
  @total_left_padding -= left_padding
  @x -= left_padding
end
subtract_right_padding(right_padding) click to toggle source
# File lib/prawn/document/column_box.rb, line 135
def subtract_right_padding(right_padding)
  @total_right_padding -= right_padding
end
width() click to toggle source

The column width after padding. Used to calculate how long a line of text can be.

# File lib/prawn/document/column_box.rb, line 70
def width
  bare_column_width - (@total_left_padding + @total_right_padding)
end
width_of_column() click to toggle source

Column width including the spacer.

# File lib/prawn/document/column_box.rb, line 76
def width_of_column
  bare_column_width + @spacer
end