rmagick 2.13.1 → 2.13.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/.travis.yml +57 -0
  4. data/CONTRIBUTING.md +22 -0
  5. data/ChangeLog +49 -2
  6. data/Gemfile +7 -0
  7. data/LICENSE +20 -0
  8. data/README.textile +161 -0
  9. data/Rakefile +176 -0
  10. data/before_install_linux.sh +12 -0
  11. data/before_install_osx.sh +2 -0
  12. data/doc/.cvsignore +1 -0
  13. data/doc/comtasks.html +2 -2
  14. data/doc/constants.html +2 -2
  15. data/doc/draw.html +2 -2
  16. data/doc/ex/PreserveAspectRatio.rb +0 -0
  17. data/doc/ex/ViewBox.rb +0 -0
  18. data/doc/ex/adaptive_threshold.rb +0 -0
  19. data/doc/ex/add_noise.rb +0 -0
  20. data/doc/ex/affine.rb +0 -0
  21. data/doc/ex/affine_transform.rb +0 -0
  22. data/doc/ex/arc.rb +0 -0
  23. data/doc/ex/arcpath.rb +0 -0
  24. data/doc/ex/average.rb +0 -0
  25. data/doc/ex/axes.rb +0 -0
  26. data/doc/ex/bilevel_channel.rb +0 -0
  27. data/doc/ex/blur_image.rb +0 -0
  28. data/doc/ex/border.rb +0 -0
  29. data/doc/ex/bounding_box.rb +0 -0
  30. data/doc/ex/cbezier1.rb +0 -0
  31. data/doc/ex/cbezier2.rb +0 -0
  32. data/doc/ex/cbezier3.rb +0 -0
  33. data/doc/ex/cbezier4.rb +0 -0
  34. data/doc/ex/cbezier5.rb +0 -0
  35. data/doc/ex/cbezier6.rb +0 -0
  36. data/doc/ex/channel.rb +0 -0
  37. data/doc/ex/charcoal.rb +0 -0
  38. data/doc/ex/chop.rb +0 -0
  39. data/doc/ex/circle.rb +0 -0
  40. data/doc/ex/clip_path.rb +0 -0
  41. data/doc/ex/coalesce.rb +0 -0
  42. data/doc/ex/color_fill_to_border.rb +0 -0
  43. data/doc/ex/color_floodfill.rb +0 -0
  44. data/doc/ex/color_histogram.rb +0 -0
  45. data/doc/ex/color_reset.rb +0 -0
  46. data/doc/ex/colorize.rb +0 -0
  47. data/doc/ex/colors.rb +0 -0
  48. data/doc/ex/composite.rb +0 -0
  49. data/doc/ex/composite_layers.rb +0 -0
  50. data/doc/ex/contrast.rb +0 -0
  51. data/doc/ex/crop.rb +0 -0
  52. data/doc/ex/cycle_colormap.rb +0 -0
  53. data/doc/ex/drawcomp.rb +0 -0
  54. data/doc/ex/drop_shadow.rb +0 -0
  55. data/doc/ex/edge.rb +0 -0
  56. data/doc/ex/ellipse.rb +0 -0
  57. data/doc/ex/emboss.rb +0 -0
  58. data/doc/ex/enhance.rb +0 -0
  59. data/doc/ex/equalize.rb +0 -0
  60. data/doc/ex/evenodd.rb +0 -0
  61. data/doc/ex/flatten_images.rb +0 -0
  62. data/doc/ex/flip.rb +0 -0
  63. data/doc/ex/flop.rb +0 -0
  64. data/doc/ex/fonts.rb +0 -0
  65. data/doc/ex/frame.rb +0 -0
  66. data/doc/ex/gaussian_blur.rb +0 -0
  67. data/doc/ex/get_pixels.rb +0 -0
  68. data/doc/ex/gradientfill.rb +0 -0
  69. data/doc/ex/grav.rb +0 -0
  70. data/doc/ex/gravity.rb +0 -0
  71. data/doc/ex/hatchfill.rb +0 -0
  72. data/doc/ex/images/image_with_profile.jpg +0 -0
  73. data/doc/ex/images/logo400x83.gif +0 -0
  74. data/doc/ex/implode.rb +0 -0
  75. data/doc/ex/level.rb +0 -0
  76. data/doc/ex/line.rb +0 -0
  77. data/doc/ex/mask.rb +1 -1
  78. data/doc/ex/matte_fill_to_border.rb +0 -0
  79. data/doc/ex/matte_floodfill.rb +0 -0
  80. data/doc/ex/matte_replace.rb +0 -0
  81. data/doc/ex/median_filter.rb +0 -0
  82. data/doc/ex/modulate.rb +0 -0
  83. data/doc/ex/mono.rb +0 -0
  84. data/doc/ex/morph.rb +0 -0
  85. data/doc/ex/mosaic.rb +0 -0
  86. data/doc/ex/motion_blur.rb +0 -0
  87. data/doc/ex/negate.rb +0 -0
  88. data/doc/ex/nested_rvg.rb +0 -0
  89. data/doc/ex/nonzero.rb +0 -0
  90. data/doc/ex/normalize.rb +0 -0
  91. data/doc/ex/oil_paint.rb +0 -0
  92. data/doc/ex/opacity.rb +0 -0
  93. data/doc/ex/ordered_dither.rb +0 -0
  94. data/doc/ex/path.rb +0 -0
  95. data/doc/ex/pattern1.rb +0 -0
  96. data/doc/ex/pattern2.rb +0 -0
  97. data/doc/ex/polygon.rb +0 -0
  98. data/doc/ex/polyline.rb +0 -0
  99. data/doc/ex/preview.rb +0 -0
  100. data/doc/ex/qbezierpath.rb +0 -0
  101. data/doc/ex/quantize-m.rb +0 -0
  102. data/doc/ex/radial_blur.rb +0 -0
  103. data/doc/ex/raise.rb +0 -0
  104. data/doc/ex/rectangle.rb +0 -0
  105. data/doc/ex/reduce_noise.rb +0 -0
  106. data/doc/ex/roll.rb +0 -0
  107. data/doc/ex/rotate.rb +0 -0
  108. data/doc/ex/rotate_f.rb +0 -0
  109. data/doc/ex/roundrect.rb +0 -0
  110. data/doc/ex/rubyname.rb +0 -0
  111. data/doc/ex/rvg_linecap.rb +0 -0
  112. data/doc/ex/rvg_linejoin.rb +0 -0
  113. data/doc/ex/rvg_opacity.rb +0 -0
  114. data/doc/ex/rvg_stroke_dasharray.rb +0 -0
  115. data/doc/ex/segment.rb +0 -0
  116. data/doc/ex/shade.rb +0 -0
  117. data/doc/ex/shave.rb +0 -0
  118. data/doc/ex/shear.rb +0 -0
  119. data/doc/ex/sketch.rb +0 -0
  120. data/doc/ex/skewx.rb +0 -0
  121. data/doc/ex/skewy.rb +0 -0
  122. data/doc/ex/smile.rb +0 -0
  123. data/doc/ex/solarize.rb +0 -0
  124. data/doc/ex/spread.rb +0 -0
  125. data/doc/ex/stegano.rb +0 -0
  126. data/doc/ex/stroke_dasharray.rb +0 -0
  127. data/doc/ex/stroke_fill.rb +0 -0
  128. data/doc/ex/stroke_linecap.rb +0 -0
  129. data/doc/ex/stroke_linejoin.rb +0 -0
  130. data/doc/ex/stroke_width.rb +0 -0
  131. data/doc/ex/swirl.rb +0 -0
  132. data/doc/ex/text.rb +0 -0
  133. data/doc/ex/text_align.rb +0 -0
  134. data/doc/ex/text_antialias.rb +0 -0
  135. data/doc/ex/text_undercolor.rb +0 -0
  136. data/doc/ex/texture_fill_to_border.rb +0 -0
  137. data/doc/ex/texture_floodfill.rb +0 -0
  138. data/doc/ex/texturefill.rb +0 -0
  139. data/doc/ex/threshold.rb +0 -0
  140. data/doc/ex/to_blob.rb +0 -0
  141. data/doc/ex/translate.rb +0 -0
  142. data/doc/ex/transparent.rb +0 -0
  143. data/doc/ex/unsharp_mask.rb +0 -0
  144. data/doc/ex/wave.rb +0 -0
  145. data/doc/ilist.html +2 -2
  146. data/doc/image1.html +2 -2
  147. data/doc/image2.html +2 -2
  148. data/doc/image3.html +2 -2
  149. data/doc/imageattrs.html +2 -2
  150. data/doc/imusage.html +2 -2
  151. data/doc/index.html +3 -3
  152. data/doc/info.html +2 -2
  153. data/doc/magick.html +2 -2
  154. data/doc/optequiv.html +2 -2
  155. data/doc/rvg.html +2 -2
  156. data/doc/rvgclip.html +2 -2
  157. data/doc/rvggroup.html +2 -2
  158. data/doc/rvgimage.html +2 -2
  159. data/doc/rvgpattern.html +2 -2
  160. data/doc/rvgshape.html +2 -2
  161. data/doc/rvgstyle.html +2 -2
  162. data/doc/rvgtext.html +2 -2
  163. data/doc/rvgtspan.html +2 -2
  164. data/doc/rvgtut.html +2 -2
  165. data/doc/rvguse.html +2 -2
  166. data/doc/rvgxform.html +2 -2
  167. data/doc/struct.html +2 -2
  168. data/doc/usage.html +2 -2
  169. data/examples/crop_with_gravity.rb +0 -0
  170. data/examples/demo.rb +0 -0
  171. data/examples/describe.rb +0 -0
  172. data/examples/identify.rb +1 -1
  173. data/examples/rotating_text.rb +0 -0
  174. data/ext/RMagick/extconf.rb +62 -31
  175. data/ext/RMagick/rmagick.c +15 -15
  176. data/ext/RMagick/rmagick.h +9 -7
  177. data/ext/RMagick/rmdraw.c +12 -12
  178. data/ext/RMagick/rmenum.c +2 -2
  179. data/ext/RMagick/rmfill.c +25 -25
  180. data/ext/RMagick/rmilist.c +121 -104
  181. data/ext/RMagick/rmimage.c +743 -548
  182. data/ext/RMagick/rminfo.c +15 -15
  183. data/ext/RMagick/rmmain.c +27 -3
  184. data/ext/RMagick/rmpixel.c +25 -27
  185. data/ext/RMagick/rmstruct.c +1 -1
  186. data/ext/RMagick/rmutil.c +18 -18
  187. data/lib/RMagick.rb +1 -1962
  188. data/lib/rmagick/version.rb +5 -0
  189. data/lib/rmagick.rb +1 -0
  190. data/lib/rmagick_internal.rb +1964 -0
  191. data/rmagick.gemspec +21 -9
  192. data/test/Draw.rb +121 -0
  193. data/test/Image1.rb +763 -0
  194. data/test/Image2.rb +1312 -0
  195. data/test/Image3.rb +1033 -0
  196. data/test/ImageList1.rb +808 -0
  197. data/test/ImageList2.rb +389 -0
  198. data/test/Image_attributes.rb +700 -0
  199. data/test/Import_Export.rb +126 -0
  200. data/test/Info.rb +349 -0
  201. data/test/Magick.rb +324 -0
  202. data/test/Pixel.rb +119 -0
  203. data/test/Preview.rb +62 -0
  204. data/test/cmyk.icm +0 -0
  205. data/test/srgb.icm +0 -0
  206. data/test/test_all_basic.rb +34 -0
  207. data/test/tmpnam_test.rb +50 -0
  208. metadata +395 -352
  209. data/README-Mac-OSX.txt +0 -1
  210. data/README.html +0 -10
  211. data/build_tarball.rake +0 -215
  212. data/ext/RMagick/MANIFEST +0 -358
  213. data/metaconfig +0 -7
  214. data/post-clean.rb +0 -12
  215. data/post-install.rb +0 -50
  216. data/post-setup.rb +0 -254
  217. data/setup.rb +0 -1585
  218. data/uninstall.rb +0 -74
data/post-setup.rb DELETED
@@ -1,254 +0,0 @@
1
- #===============================================================================
2
- # post-setup.rb - setup documentation
3
- #===============================================================================
4
-
5
- EXAMPLES = '.examples'
6
- STD_URI = 'http:\/\/www.imagemagick.org'
7
- STD_URI_RE = /"#{STD_URI}/
8
- DONT_RUN = ['fonts.rb'] # never run these examples
9
- ENTITY = Hash['&' => '&amp;', '>' => '&gt;', '<' => '&lt;']
10
-
11
- if defined?(Installer) && self.class == Installer
12
-
13
- RUBYPROG = get_config('ruby-prog')
14
- SRCDIR = curr_srcdir()
15
- ALLOW_EXAMPLE_ERRORS = get_config('allow-example-errors') == 'yes'
16
- BUILD_HTMLDOC = get_config('disable-htmldoc') != 'yes'
17
-
18
- else
19
-
20
- RUBYPROG = 'ruby'
21
- SRCDIR = '.'
22
- ALLOW_EXAMPLE_ERRORS = true
23
- BUILD_HTMLDOC = true
24
-
25
- end
26
-
27
-
28
- #
29
- # A set of example programs in a directory and the output image each example produces.
30
- #
31
-
32
- class ExampleSet
33
- def initialize(of)
34
- @status_quo = get_status_quo()
35
- @errs = 0
36
- begin
37
- File.open(EXAMPLES) do |f|
38
- @targets = Marshal.load(f)
39
- end
40
- rescue
41
- @targets = Hash.new
42
- @n = 0
43
- @of = of
44
- @first_time = true
45
- else
46
- @first_time = false
47
- end
48
- end
49
-
50
- def persist
51
- File.open(EXAMPLES, 'w') do |f|
52
- Marshal.dump(@targets, f)
53
- end
54
- end
55
-
56
- def targets(example)
57
- @targets[example] || Array.new
58
- end
59
-
60
- def get_status_quo
61
- sq = Dir["*"]
62
- sq.delete_if { |entry| File.directory?(entry) }
63
- end
64
-
65
- def update_targets(example, new)
66
- t = targets(example) + new
67
- @targets[example] = t.uniq
68
- end
69
-
70
- def update_status_quo(example)
71
- new_status_quo = get_status_quo()
72
- new = new_status_quo - @status_quo
73
- update_targets(example, new)
74
- @status_quo = new_status_quo
75
- end
76
-
77
- def build(example)
78
- cmd = "#{RUBYPROG} -I #{SRCDIR}/lib -I #{SRCDIR}/ext/RMagick #{example}"
79
- print cmd
80
- print " (example #{@n += 1} of #{@of})" if @first_time
81
- puts
82
- system cmd
83
-
84
- if $? != 0 then
85
- puts("post-setup.rb: #{example} example returned error code #{$?}")
86
- @errs += 1 unless ALLOW_EXAMPLE_ERRORS
87
- if @errs > 4
88
- err(<<-END_EXFAIL
89
- Too many examples failed. Search for "Help!" at
90
- http://rmagick.rubyforge.org/install-faq.html.
91
- END_EXFAIL
92
- )
93
- end
94
- end
95
-
96
- update_status_quo(example)
97
- end
98
-
99
- def update(example)
100
- targets = targets(example)
101
- up_to_date = ! targets.empty?
102
- targets.each do |target|
103
- up_to_date &&= File.exists?(target) && (File.stat(target) >= File.stat(example))
104
- end
105
- build(example) unless up_to_date
106
- end
107
-
108
- #
109
- # print message and exit
110
- #
111
- def err(msg)
112
- $stderr.puts "#{$0}: #{msg}"
113
- exit 1
114
- end
115
-
116
- end
117
-
118
-
119
- #
120
- # Modify file lines via proc. If no lines changed, discard new version.
121
- #
122
- def filter(filename, backup=nil, &filter)
123
- if ! File.writable? filename then
124
- raise ArgumentError, "`#{filename}' is write-protected"
125
- end
126
-
127
- backup_name = filename + '.' + (backup || 'old')
128
- File.rename(filename, backup_name)
129
- changed = false
130
- begin
131
- File.open(filename, 'w') do |output|
132
- File.foreach(backup_name) do |line|
133
- old = line
134
- line = filter.call(line)
135
- output.puts(line)
136
- changed ||= line != old
137
- end
138
- end
139
- rescue
140
- File.rename(backup_name, filename)
141
- raise
142
- end
143
-
144
- if !changed
145
- newname = filename + '.xxx'
146
- File.rename(filename, newname)
147
- File.rename(backup_name, filename)
148
- File.unlink(newname)
149
- elsif !backup
150
- # Don't remove old copy if a backup extension was specified
151
- File.unlink(backup_name) rescue nil
152
- end
153
- end
154
-
155
-
156
- #
157
- # Copy an example to the doc directory, wrap in HTML tags
158
- #
159
- def filetoHTML(file, html)
160
- return if File.exists?(html) && File.stat(html) >= File.stat(file)
161
-
162
- File.open(file) do |src|
163
- File.open(html, 'w') do |dest|
164
- dest.puts <<-END_EXHTMLHEAD
165
- <!DOCTYPE public PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
166
- <html xmlns="http://www.w3.org/1999/xhtml">
167
- <head>
168
- <meta name="generator" content="ex2html.rb" />
169
- <meta http-equiv="Content-Type" content=
170
- "text/html; charset=us-ascii" />
171
- <link rel="stylesheet" type="text/css" href="css/popup.css" />
172
-
173
- <title>RMagick example: #{file}</title>
174
- </head>
175
-
176
- <body>
177
- <h1>#{file}</h1>
178
- <div class="bodybox">
179
- <div class="bodyfloat">
180
- <pre>
181
- END_EXHTMLHEAD
182
-
183
- src.each do |line|
184
- line.gsub!(/[&><]/) { |s| ENTITY[s] }
185
- dest.puts(line)
186
- end
187
-
188
- dest.puts <<-END_EXHTMLTAIL
189
- </pre>
190
- </div>
191
- </div>
192
- <div id="close"><a href="javascript:window.close();">Close window</a></div>
193
- </body>
194
- </html>
195
- END_EXHTMLTAIL
196
- end
197
- File.chmod(0644, html)
198
- end
199
-
200
- end
201
-
202
- puts "setup.rb: entering post-setup phase..."
203
-
204
-
205
- if BUILD_HTMLDOC
206
-
207
- #
208
- # Don't bother if we're in the sandbox
209
- #
210
- if File.exist? 'CVS/Entries'
211
- puts "post-setup.rb: in CVS sandbox - stopping..."
212
- exit
213
- end
214
-
215
- puts "post-setup.rb: setting up documentation..."
216
-
217
- # We're in the source directory. Process the doc in-place. The post-install.rb
218
- # script moves the generated documentation to the ultimate installation directories.
219
-
220
- cwd = Dir.getwd()
221
- Dir.chdir('doc') # need to work with 1.6.x, can't use block form
222
- begin
223
-
224
- # Step 1A: edit the shebang line in the examples
225
- Dir.chdir('ex')
226
- files = Dir['*.rb']
227
- files.each do |file|
228
- filter(file) { |line| line.sub(/\A\#!\s*\S*ruby\s/, '#!'+RUBYPROG+' ') }
229
-
230
- # Step 1B: Make a copy of the example as HTML in the doc directory
231
- filetoHTML(file, "../#{file}.html")
232
- end
233
-
234
- # Step 2: run the examples
235
- examples = Dir['*.rb'].sort
236
- examples -= DONT_RUN
237
- es = ExampleSet.new(examples.length)
238
- begin
239
- examples.each { |example| es.update(example) }
240
- ensure
241
- es.persist
242
- end
243
-
244
- ensure
245
- Dir.chdir(cwd)
246
- end
247
-
248
- else
249
-
250
- puts "post-setup.rb: --disable-htmldoc specified. No documentation will be set up."
251
-
252
- end
253
-
254
- exit