prawn 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (160) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +4 -2
  3. data/lib/prawn.rb +5 -3
  4. data/lib/prawn/document.rb +7 -7
  5. data/lib/prawn/document/bounding_box.rb +1 -1
  6. data/lib/prawn/document/column_box.rb +3 -3
  7. data/lib/prawn/document/internals.rb +1 -1
  8. data/lib/prawn/font.rb +24 -8
  9. data/lib/prawn/font/afm.rb +4 -4
  10. data/lib/prawn/font_metric_cache.rb +1 -1
  11. data/lib/prawn/grid.rb +3 -1
  12. data/lib/prawn/image_handler.rb +3 -1
  13. data/lib/prawn/images/jpg.rb +1 -1
  14. data/lib/prawn/measurement_extensions.rb +1 -1
  15. data/lib/prawn/outline.rb +3 -1
  16. data/lib/prawn/security.rb +1 -1
  17. data/lib/prawn/security/arcfour.rb +4 -2
  18. data/lib/prawn/table.rb +14 -2
  19. data/lib/prawn/table/cell.rb +1 -1
  20. data/lib/prawn/table/cells.rb +1 -50
  21. data/lib/prawn/table/column_width_calculator.rb +131 -10
  22. data/lib/prawn/text.rb +1 -1
  23. data/lib/prawn/text/formatted.rb +2 -0
  24. data/lib/prawn/text/formatted/arranger.rb +1 -1
  25. data/lib/prawn/text/formatted/box.rb +5 -5
  26. data/lib/prawn/text/formatted/line_wrap.rb +1 -1
  27. data/lib/prawn/text/formatted/wrap.rb +2 -0
  28. data/lib/prawn/utilities.rb +3 -3
  29. data/manual/absolute_position.pdf +0 -0
  30. data/manual/basic_concepts/adding_pages.rb +3 -3
  31. data/manual/basic_concepts/basic_concepts.rb +6 -6
  32. data/manual/basic_concepts/cursor.rb +5 -5
  33. data/manual/basic_concepts/measurement.rb +2 -2
  34. data/manual/basic_concepts/origin.rb +3 -3
  35. data/manual/basic_concepts/other_cursor_helpers.rb +6 -6
  36. data/manual/bounding_box/bounding_box.rb +6 -6
  37. data/manual/bounding_box/bounds.rb +6 -6
  38. data/manual/bounding_box/canvas.rb +2 -2
  39. data/manual/bounding_box/creation.rb +3 -3
  40. data/manual/bounding_box/indentation.rb +9 -9
  41. data/manual/bounding_box/nesting.rb +8 -8
  42. data/manual/bounding_box/russian_boxes.rb +1 -1
  43. data/manual/bounding_box/stretchy.rb +8 -8
  44. data/manual/{manual/manual.rb → contents.rb} +6 -9
  45. data/manual/{manual/cover.rb → cover.rb} +6 -6
  46. data/manual/document_and_page_options/background.rb +2 -2
  47. data/manual/document_and_page_options/document_and_page_options.rb +4 -4
  48. data/manual/document_and_page_options/metadata.rb +2 -2
  49. data/manual/document_and_page_options/page_margins.rb +2 -2
  50. data/manual/document_and_page_options/page_size.rb +3 -3
  51. data/manual/example_helper.rb +5 -409
  52. data/manual/graphics/circle_and_ellipse.rb +4 -4
  53. data/manual/graphics/color.rb +4 -4
  54. data/manual/graphics/common_lines.rb +5 -5
  55. data/manual/graphics/fill_and_stroke.rb +5 -5
  56. data/manual/graphics/fill_rules.rb +1 -1
  57. data/manual/graphics/gradients.rb +1 -1
  58. data/manual/graphics/graphics.rb +8 -8
  59. data/manual/graphics/helper.rb +1 -1
  60. data/manual/graphics/line_width.rb +5 -5
  61. data/manual/graphics/lines_and_curves.rb +5 -5
  62. data/manual/graphics/polygon.rb +4 -4
  63. data/manual/graphics/rectangle.rb +3 -3
  64. data/manual/graphics/rotate.rb +5 -5
  65. data/manual/graphics/scale.rb +5 -5
  66. data/manual/graphics/soft_masks.rb +1 -1
  67. data/manual/graphics/stroke_cap.rb +3 -3
  68. data/manual/graphics/stroke_dash.rb +1 -1
  69. data/manual/graphics/stroke_join.rb +4 -4
  70. data/manual/graphics/translate.rb +5 -5
  71. data/manual/graphics/transparency.rb +5 -5
  72. data/manual/{manual/how_to_read_this_manual.rb → how_to_read_this_manual.rb} +16 -17
  73. data/manual/images/absolute_position.rb +3 -3
  74. data/manual/images/fit.rb +2 -2
  75. data/manual/images/horizontal.rb +3 -3
  76. data/manual/images/images.rb +7 -7
  77. data/manual/images/plain_image.rb +1 -1
  78. data/manual/images/scale.rb +3 -3
  79. data/manual/images/vertical.rb +3 -3
  80. data/manual/images/width_and_height.rb +3 -3
  81. data/manual/layout/boxes.rb +4 -4
  82. data/manual/layout/content.rb +3 -3
  83. data/manual/layout/layout.rb +5 -5
  84. data/manual/layout/simple_grid.rb +2 -2
  85. data/manual/outline/add_subsection_to.rb +7 -7
  86. data/manual/outline/insert_section_after.rb +5 -5
  87. data/manual/outline/outline.rb +6 -6
  88. data/manual/outline/sections_and_pages.rb +9 -9
  89. data/manual/repeatable_content/page_numbering.rb +3 -3
  90. data/manual/repeatable_content/repeatable_content.rb +5 -5
  91. data/manual/repeatable_content/repeater.rb +4 -4
  92. data/manual/repeatable_content/stamp.rb +4 -4
  93. data/manual/security/encryption.rb +2 -2
  94. data/manual/security/permissions.rb +2 -2
  95. data/manual/security/security.rb +5 -5
  96. data/manual/table/basic_block.rb +5 -5
  97. data/manual/table/before_rendering_page.rb +1 -1
  98. data/manual/table/cell_border_lines.rb +4 -4
  99. data/manual/table/cell_borders_and_bg.rb +4 -4
  100. data/manual/table/cell_dimensions.rb +3 -3
  101. data/manual/table/cell_text.rb +6 -6
  102. data/manual/table/column_widths.rb +4 -4
  103. data/manual/table/content_and_subtables.rb +5 -5
  104. data/manual/table/creation.rb +2 -2
  105. data/manual/table/filtering.rb +6 -6
  106. data/manual/table/flow_and_header.rb +2 -2
  107. data/manual/table/image_cells.rb +1 -1
  108. data/manual/table/position.rb +1 -1
  109. data/manual/table/row_colors.rb +3 -3
  110. data/manual/table/span.rb +1 -1
  111. data/manual/table/style.rb +3 -3
  112. data/manual/table/table.rb +7 -7
  113. data/manual/table/width.rb +3 -3
  114. data/manual/text/alignment.rb +1 -1
  115. data/manual/text/color.rb +1 -1
  116. data/manual/text/column_box.rb +1 -1
  117. data/manual/text/fallback_fonts.rb +3 -3
  118. data/manual/text/font.rb +7 -7
  119. data/manual/text/font_size.rb +9 -9
  120. data/manual/text/font_style.rb +3 -3
  121. data/manual/text/formatted_callbacks.rb +3 -3
  122. data/manual/text/formatted_text.rb +3 -3
  123. data/manual/text/free_flowing_text.rb +6 -6
  124. data/manual/text/inline.rb +5 -5
  125. data/manual/text/kerning_and_character_spacing.rb +7 -7
  126. data/manual/text/leading.rb +4 -4
  127. data/manual/text/line_wrapping.rb +4 -4
  128. data/manual/text/paragraph_indentation.rb +3 -3
  129. data/manual/text/positioned_text.rb +3 -3
  130. data/manual/text/registering_families.rb +6 -6
  131. data/manual/text/rendering_and_color.rb +2 -2
  132. data/manual/text/right_to_left_text.rb +2 -2
  133. data/manual/text/rotation.rb +4 -4
  134. data/manual/text/single_usage.rb +3 -3
  135. data/manual/text/text.rb +9 -9
  136. data/manual/text/text_box_excess.rb +2 -2
  137. data/manual/text/text_box_extensions.rb +3 -3
  138. data/manual/text/text_box_overflow.rb +4 -4
  139. data/manual/text/utf8.rb +5 -5
  140. data/manual/text/win_ansi_charset.rb +1 -1
  141. data/prawn.gemspec +5 -3
  142. data/spec/acceptance/png.rb +5 -3
  143. data/spec/cell_spec.rb +1 -0
  144. data/spec/column_box_spec.rb +1 -1
  145. data/spec/extensions/encoding_helpers.rb +2 -0
  146. data/spec/extensions/mocha.rb +2 -0
  147. data/spec/font_spec.rb +15 -0
  148. data/spec/measurement_units_spec.rb +2 -0
  149. data/spec/repeater_spec.rb +2 -0
  150. data/spec/soft_mask_spec.rb +2 -0
  151. data/spec/stamp_spec.rb +2 -0
  152. data/spec/table_spec.rb +103 -10
  153. data/spec/text_spec.rb +1 -1
  154. data/spec/transparency_spec.rb +2 -0
  155. metadata +42 -18
  156. data/lib/prawn/layout.rb +0 -17
  157. data/manual/example_file.rb +0 -111
  158. data/manual/example_package.rb +0 -53
  159. data/manual/example_section.rb +0 -46
  160. data/manual/syntax_highlight.rb +0 -52
@@ -27,7 +27,7 @@ module Prawn
27
27
  Prawn::Text::SHY = "­"
28
28
 
29
29
  # @group Stable API
30
-
30
+
31
31
  # If you want text to flow onto a new page or between columns, this is the
32
32
  # method to use. If, instead, if you want to place bounded text outside of
33
33
  # the flow of a document (for captions, labels, charts, etc.), use Text::Box
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  require_relative "formatted/wrap"
2
4
 
3
5
  require_relative "formatted/box"
@@ -12,7 +12,7 @@ module Prawn
12
12
  module Formatted #:nodoc:
13
13
 
14
14
  # @private
15
-
15
+
16
16
  class Arranger #:nodoc:
17
17
  attr_reader :max_line_height
18
18
  attr_reader :max_descender
@@ -11,7 +11,7 @@ module Prawn
11
11
  module Text
12
12
  module Formatted
13
13
  # @group Stable API
14
-
14
+
15
15
  # Draws the requested formatted text into a box. When the text overflows
16
16
  # the rectangle shrink to fit or truncate the text. Text boxes are
17
17
  # independent of the document y position.
@@ -107,13 +107,13 @@ module Prawn
107
107
  # used, the text that would have been successfully printed)
108
108
  attr_reader :text
109
109
 
110
- # True iff nothing printed (or, if <tt>dry_run</tt> was
110
+ # True if nothing printed (or, if <tt>dry_run</tt> was
111
111
  # used, nothing would have been successfully printed)
112
112
  def nothing_printed?
113
113
  @nothing_printed
114
114
  end
115
115
 
116
- # True iff everything printed (or, if <tt>dry_run</tt> was
116
+ # True if everything printed (or, if <tt>dry_run</tt> was
117
117
  # used, everything would have been successfully printed)
118
118
  def everything_printed?
119
119
  @everything_printed
@@ -293,7 +293,7 @@ module Prawn
293
293
  end
294
294
 
295
295
  # @group Extension API
296
-
296
+
297
297
  # Example (see Prawn::Text::Core::Formatted::Wrap for what is required
298
298
  # of the wrap method if you want to override the default wrapping
299
299
  # algorithm):
@@ -493,7 +493,7 @@ module Prawn
493
493
  end
494
494
 
495
495
  def process_options
496
- # must be performed within a save_font bock because
496
+ # must be performed within a save_font block because
497
497
  # document.process_text_options sets the font
498
498
  @document.process_text_options(@options)
499
499
  @font_size = @options[:size]
@@ -79,7 +79,7 @@ module Prawn
79
79
  result
80
80
  end
81
81
 
82
- # returns true iff all text was printed without running into the end of
82
+ # returns true if all text was printed without running into the end of
83
83
  # the line
84
84
  #
85
85
  def add_fragment_to_line(fragment)
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  # wrap.rb: Handles text wrapping for for formatted text
2
4
  #
3
5
  # Contributed by Daniel Nelson
@@ -17,7 +17,7 @@ module Prawn
17
17
  # We have two interchangeable thread-safe cache implementations:
18
18
 
19
19
  # @private
20
- class SynchronizedCache
20
+ class SynchronizedCache
21
21
  # As an optimization, this could access the hash directly on VMs with a global interpreter lock (like MRI)
22
22
  def initialize
23
23
  @cache = {}
@@ -30,9 +30,9 @@ module Prawn
30
30
  @mutex.synchronize { @cache[key] = value }
31
31
  end
32
32
  end
33
-
33
+
34
34
  # @private
35
- class ThreadLocalCache
35
+ class ThreadLocalCache
36
36
  def initialize
37
37
  @cache_id = "cache_#{self.object_id}".to_sym
38
38
  end
@@ -17,11 +17,11 @@ require File.expand_path(File.join(File.dirname(__FILE__),
17
17
  %w[.. example_helper]))
18
18
 
19
19
  filename = File.basename(__FILE__).gsub('.rb', '.pdf')
20
- Prawn::Example.generate(filename) do
20
+ Prawn::ManualBuilder::Example.generate(filename) do
21
21
  text "We are still on the initial page for this example. Now I'll ask " +
22
22
  "Prawn to gently start a new page. Please follow me to the next page."
23
-
23
+
24
24
  start_new_page
25
-
25
+
26
26
  text "See. We've left the previous page behind."
27
27
  end
@@ -2,20 +2,20 @@
2
2
  #
3
3
  # Examples for Prawn basic concepts.
4
4
  #
5
- require File.expand_path(File.join(File.dirname(__FILE__),
6
- %w[.. example_helper]))
7
5
 
8
- Prawn::Example.generate("basic_concepts.pdf", :page_size => "FOLIO") do
9
-
6
+ require_relative "../example_helper"
7
+
8
+ Prawn::ManualBuilder::Example.generate("basic_concepts.pdf", :page_size => "FOLIO") do
9
+
10
10
  package "basic_concepts" do |p|
11
-
11
+
12
12
  p.example "creation", :eval_source => false, :full_source => true
13
13
  p.example "origin"
14
14
  p.example "cursor"
15
15
  p.example "other_cursor_helpers"
16
16
  p.example "adding_pages"
17
17
  p.example "measurement"
18
-
18
+
19
19
  p.intro do
20
20
  prose("This chapter covers the minimum amount of functionality you'll need to start using Prawn.
21
21
 
@@ -16,18 +16,18 @@ require File.expand_path(File.join(File.dirname(__FILE__),
16
16
  %w[.. example_helper]))
17
17
 
18
18
  filename = File.basename(__FILE__).gsub('.rb', '.pdf')
19
- Prawn::Example.generate(filename) do
19
+ Prawn::ManualBuilder::Example.generate(filename) do
20
20
  stroke_axis
21
-
21
+
22
22
  text "the cursor is here: #{cursor}"
23
23
  text "now it is here: #{cursor}"
24
-
24
+
25
25
  move_down 200
26
26
  text "on the first move the cursor went down to: #{cursor}"
27
-
27
+
28
28
  move_up 100
29
29
  text "on the second move the cursor went up to: #{cursor}"
30
-
30
+
31
31
  move_cursor_to 50
32
32
  text "on the last move the cursor went directly to: #{cursor}"
33
33
  end
@@ -15,9 +15,9 @@ require File.expand_path(File.join(File.dirname(__FILE__),
15
15
  %w[.. example_helper]))
16
16
 
17
17
  filename = File.basename(__FILE__).gsub('.rb', '.pdf')
18
- Prawn::Example.generate(filename) do
18
+ Prawn::ManualBuilder::Example.generate(filename) do
19
19
  require "prawn/measurement_extensions"
20
-
20
+
21
21
  [:mm, :cm, :dm, :m, :in, :yd, :ft].each do |measurement|
22
22
  text "1 #{measurement} in PDF Points: #{1.send(measurement)} pt"
23
23
  move_down 5.mm
@@ -26,11 +26,11 @@ require File.expand_path(File.join(File.dirname(__FILE__),
26
26
  %w[.. example_helper]))
27
27
 
28
28
  filename = File.basename(__FILE__).gsub('.rb', '.pdf')
29
- Prawn::Example.generate(filename) do
29
+ Prawn::ManualBuilder::Example.generate(filename) do
30
30
  stroke_axis
31
-
31
+
32
32
  stroke_circle [0, 0], 10
33
-
33
+
34
34
  bounding_box([100, 300], :width => 300, :height => 200) do
35
35
  stroke_bounds
36
36
  stroke_circle [0, 0], 10
@@ -13,21 +13,21 @@ require File.expand_path(File.join(File.dirname(__FILE__),
13
13
  %w[.. example_helper]))
14
14
 
15
15
  filename = File.basename(__FILE__).gsub('.rb', '.pdf')
16
- Prawn::Example.generate(filename) do
16
+ Prawn::ManualBuilder::Example.generate(filename) do
17
17
  stroke_horizontal_rule
18
18
  pad(20) { text "Text padded both before and after." }
19
-
19
+
20
20
  stroke_horizontal_rule
21
21
  pad_top(20) { text "Text padded on the top." }
22
-
22
+
23
23
  stroke_horizontal_rule
24
24
  pad_bottom(20) { text "Text padded on the bottom." }
25
-
25
+
26
26
  stroke_horizontal_rule
27
27
  move_down 30
28
-
28
+
29
29
  text "Text written before the float block."
30
-
30
+
31
31
  float do
32
32
  move_down 30
33
33
  bounding_box([0, cursor], :width => 200) do
@@ -5,15 +5,15 @@
5
5
  require File.expand_path(File.join(File.dirname(__FILE__),
6
6
  %w[.. example_helper]))
7
7
 
8
- Prawn::Example.generate("bounding_box.pdf", :page_size => "FOLIO") do
9
-
8
+ Prawn::ManualBuilder::Example.generate("bounding_box.pdf", :page_size => "FOLIO") do
9
+
10
10
  package "bounding_box" do |p|
11
-
11
+
12
12
  p.section "Basics" do |s|
13
13
  s.example "creation"
14
14
  s.example "bounds"
15
15
  end
16
-
16
+
17
17
  p.section "Advanced" do |s|
18
18
  s.example "stretchy"
19
19
  s.example "nesting"
@@ -21,7 +21,7 @@ Prawn::Example.generate("bounding_box.pdf", :page_size => "FOLIO") do
21
21
  s.example "canvas"
22
22
  s.example "russian_boxes"
23
23
  end
24
-
24
+
25
25
  p.intro do
26
26
  prose("Bounding boxes are the basic containers for structuring the content flow. Even being low level building blocks sometimes their simplicity is very welcome.
27
27
 
@@ -34,6 +34,6 @@ Prawn::Example.generate("bounding_box.pdf", :page_size => "FOLIO") do
34
34
  "Indent blocks"
35
35
  )
36
36
  end
37
-
37
+
38
38
  end
39
39
  end
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
- #
2
+ #
3
3
  # The <code>bounds</code> method returns the current bounding box. This is
4
4
  # useful because the <code>Prawn::BoundinBox</code> exposes some nice boundary
5
5
  # helpers.
@@ -21,25 +21,25 @@ require File.expand_path(File.join(File.dirname(__FILE__),
21
21
  %w[.. example_helper]))
22
22
 
23
23
  filename = File.basename(__FILE__).gsub('.rb', '.pdf')
24
- Prawn::Example.generate(filename) do
24
+ Prawn::ManualBuilder::Example.generate(filename) do
25
25
  def print_coordinates
26
26
  text "top: #{bounds.top}"
27
27
  text "bottom: #{bounds.bottom}"
28
28
  text "left: #{bounds.left}"
29
29
  text "right: #{bounds.right}"
30
-
30
+
31
31
  move_down 10
32
-
32
+
33
33
  text "absolute top: #{sprintf "%.2f", bounds.absolute_top}"
34
34
  text "absolute bottom: #{sprintf "%.2f", bounds.absolute_bottom}"
35
35
  text "absolute left: #{sprintf "%.2f", bounds.absolute_left}"
36
36
  text "absolute right: #{sprintf "%.2f", bounds.absolute_right}"
37
37
  end
38
-
38
+
39
39
  text "Margin box bounds:"
40
40
  move_down 5
41
41
  print_coordinates
42
-
42
+
43
43
  bounding_box([250, cursor + 140], :width => 200, :height => 150) do
44
44
  text "This bounding box bounds:"
45
45
  move_down 5
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
- #
2
+ #
3
3
  # The origin example already mentions that a new document already comes with
4
4
  # a margin box whose bottom left corner is used as the origin for calculating
5
5
  # coordinates.
@@ -14,7 +14,7 @@ require File.expand_path(File.join(File.dirname(__FILE__),
14
14
  %w[.. example_helper]))
15
15
 
16
16
  filename = File.basename(__FILE__).gsub('.rb', '.pdf')
17
- Prawn::Example.generate(filename) do
17
+ Prawn::ManualBuilder::Example.generate(filename) do
18
18
  canvas do
19
19
  fill_circle [bounds.left, bounds.top], 30
20
20
  fill_circle [bounds.right, bounds.top], 30
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
- #
2
+ #
3
3
  # If you've read the basic concepts examples you probably know that the origin
4
4
  # of a page is on the bottom left corner and that the content flows from top to
5
5
  # bottom.
@@ -14,10 +14,10 @@ require File.expand_path(File.join(File.dirname(__FILE__),
14
14
  %w[.. example_helper]))
15
15
 
16
16
  filename = File.basename(__FILE__).gsub('.rb', '.pdf')
17
- Prawn::Example.generate(filename) do
17
+ Prawn::ManualBuilder::Example.generate(filename) do
18
18
  bounding_box([200, cursor - 100], :width => 200, :height => 100) do
19
19
  text "Just your regular bounding box"
20
-
20
+
21
21
  transparent(0.5) { stroke_bounds }
22
22
  end
23
23
  end
@@ -1,44 +1,44 @@
1
1
  # encoding: utf-8
2
- #
2
+ #
3
3
  # Sometimes you just need to indent a portion of the contents of a bounding box,
4
4
  # and using a nested bounding box is pure overkill. The <code>indent</code>
5
5
  # method is what you might need.
6
6
  #
7
7
  # Just provide a number for it to indent all content generated inside the
8
- # block.
8
+ # block.
9
9
  #
10
10
  require File.expand_path(File.join(File.dirname(__FILE__),
11
11
  %w[.. example_helper]))
12
12
 
13
13
  filename = File.basename(__FILE__).gsub('.rb', '.pdf')
14
- Prawn::Example.generate(filename) do
14
+ Prawn::ManualBuilder::Example.generate(filename) do
15
15
  text "No indentation on the margin box."
16
16
  indent(20) do
17
17
  text "Some indentation inside an indent block."
18
18
  end
19
19
  move_down 20
20
-
20
+
21
21
  bounding_box([50, cursor], :width => 400, :height => cursor) do
22
22
  transparent(0.5) { stroke_bounds }
23
-
23
+
24
24
  move_down 10
25
25
  text "No indentation inside this bounding box."
26
26
  indent(40) do
27
27
  text "Inside an indent block. And so is this horizontal line:"
28
-
28
+
29
29
  stroke_horizontal_rule
30
30
  end
31
31
  move_down 10
32
32
  text "No indentation"
33
-
33
+
34
34
  move_down 20
35
35
  indent(60) do
36
36
  text "Another indent block."
37
-
37
+
38
38
  bounding_box([0, cursor], :width => 200) do
39
39
  text "Note that this bounding box coordinates are relative to the " +
40
40
  "indent block"
41
-
41
+
42
42
  transparent(0.5) { stroke_bounds }
43
43
  end
44
44
  end
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
- #
2
+ #
3
3
  # Normally when we provide the top left corner of a bounding box we
4
4
  # express the coordinates relative to the margin box. This is not the
5
5
  # case when we have nested bounding boxes. Once nested the inner bounding box
@@ -13,31 +13,31 @@ require File.expand_path(File.join(File.dirname(__FILE__),
13
13
  %w[.. example_helper]))
14
14
 
15
15
  filename = File.basename(__FILE__).gsub('.rb', '.pdf')
16
- Prawn::Example.generate(filename) do
16
+ Prawn::ManualBuilder::Example.generate(filename) do
17
17
  def box_content(string)
18
18
  text string
19
19
  transparent(0.5) { stroke_bounds }
20
20
  end
21
-
21
+
22
22
  gap = 20
23
23
  bounding_box([50, cursor], :width => 400, :height => 200) do
24
24
  box_content("Fixed height")
25
-
25
+
26
26
  bounding_box([gap, cursor - gap], :width => 300) do
27
27
  text "Stretchy height"
28
-
28
+
29
29
  bounding_box([gap, bounds.top - gap], :width => 100) do
30
30
  text "Stretchy height"
31
31
  transparent(0.5) { dash(1); stroke_bounds; undash }
32
32
  end
33
-
33
+
34
34
  bounding_box([gap * 7, bounds.top - gap], :width => 100, :height => 50) do
35
35
  box_content("Fixed height")
36
36
  end
37
-
37
+
38
38
  transparent(0.5) { dash(1); stroke_bounds; undash }
39
39
  end
40
-
40
+
41
41
  bounding_box([gap, cursor - gap], :width => 300, :height => 50) do
42
42
  box_content("Fixed height")
43
43
  end
@@ -8,7 +8,7 @@ require File.expand_path(File.join(File.dirname(__FILE__),
8
8
  %w[.. example_helper]))
9
9
 
10
10
  filename = File.basename(__FILE__).gsub('.rb', '.pdf')
11
- Prawn::Example.generate(filename) do
11
+ Prawn::ManualBuilder::Example.generate(filename) do
12
12
  def combine(a1, a2)
13
13
  output = []
14
14
  a1.each do |i1|