manual/basic_concepts/other_cursor_helpers.rb
# frozen_string_literal: true
require 'prawn/manual_builder'
Prawn::ManualBuilder::Chapter.new do
title 'Other Cursor Helpers'
text do
prose <<~TEXT
Another group of helpers for changing the cursor position are the pad
methods. They accept a numeric value and a block. <code>pad</code> will
use the numeric value to move the cursor down both before and after the
block content. <code>pad_top</code> will only move the cursor before the
block while <code>pad_bottom</code> will only move after.
<code>float</code> is a method for not changing the cursor. Pass it a
block and the cursor will remain on the same place when the block
returns.
TEXT
end
example new_page: true do
stroke_horizontal_rule
pad(20) { text 'Text padded both before and after.' }
stroke_horizontal_rule
pad_top(20) { text 'Text padded on the top.' }
stroke_horizontal_rule
pad_bottom(20) { text 'Text padded on the bottom.' }
stroke_horizontal_rule
move_down 30
text 'Text written before the float block.'
float do
move_down 30
bounding_box([0, cursor], width: 200) do
text 'Text written inside the float block.'
stroke_bounds
end
end
text 'Text written after the float block.'
end
end