class Prawn::Document::ColumnBox
Implements the necessary functionality to allow 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