rghost 0.7.4 → 0.8

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 (447) hide show
  1. data/lib/rghost/border.rb +44 -0
  2. data/lib/rghost/callback.rb +25 -22
  3. data/lib/rghost/circle.rb +102 -0
  4. data/lib/rghost/color.rb +81 -56
  5. data/lib/rghost/constants.rb +599 -589
  6. data/lib/rghost/convert.rb +26 -7
  7. data/lib/rghost/cursor.rb +90 -58
  8. data/lib/rghost/dash.rb +59 -0
  9. data/lib/rghost/document.rb +334 -311
  10. data/lib/rghost/document_callback_facade.rb +64 -0
  11. data/lib/rghost/dsc_entry.rb +12 -12
  12. data/lib/rghost/dynamic_document_callback.rb +6 -18
  13. data/lib/rghost/eps.rb +17 -8
  14. data/lib/rghost/font.rb +19 -23
  15. data/lib/rghost/font_map.rb +40 -0
  16. data/lib/rghost/frame.rb +105 -0
  17. data/lib/rghost/function.rb +19 -21
  18. data/lib/rghost/gif.rb +22 -9
  19. data/lib/rghost/graphic.rb +3 -3
  20. data/lib/rghost/grid/base_grid.rb +218 -0
  21. data/lib/rghost/grid/callback_facade.rb +136 -0
  22. data/lib/rghost/grid/csv_grid.rb +50 -0
  23. data/lib/rghost/{data_grid → grid}/dynamic_callback.rb +2 -2
  24. data/lib/rghost/grid/field_format.rb +43 -0
  25. data/lib/rghost/grid/grid.rb +15 -0
  26. data/lib/rghost/grid/header.rb +120 -0
  27. data/lib/rghost/grid/matrix.rb +10 -0
  28. data/lib/rghost/grid/rails_grid.rb +70 -0
  29. data/lib/rghost/{data_grid → grid}/static_callback.rb +4 -4
  30. data/lib/rghost/grid/style/border_lines.rb +46 -0
  31. data/lib/rghost/grid/style/bottom_lines.rb +30 -0
  32. data/lib/rghost/grid/style/old_forms.rb +30 -0
  33. data/lib/rghost/grid/style/style.rb +8 -0
  34. data/lib/rghost/gs_alone.rb +7 -5
  35. data/lib/rghost/helpers.rb +4 -4
  36. data/lib/rghost/horizontal_line.rb +35 -19
  37. data/lib/rghost/how_to.rb +75 -0
  38. data/lib/rghost/image.rb +8 -8
  39. data/lib/rghost/jpeg.rb +21 -8
  40. data/lib/rghost/line.rb +66 -17
  41. data/lib/rghost/line_width.rb +19 -8
  42. data/lib/rghost/load.rb +24 -22
  43. data/lib/rghost/newpath.rb +8 -7
  44. data/lib/rghost/paper.rb +100 -41
  45. data/lib/rghost/parse_text.rb +53 -0
  46. data/lib/rghost/point.rb +9 -8
  47. data/lib/rghost/point_with_command.rb +5 -5
  48. data/lib/rghost/polygon.rb +75 -0
  49. data/lib/rghost/ps/AdobeExpert.enc +0 -0
  50. data/lib/rghost/ps/AdobeLatinEncoding.enc +0 -0
  51. data/lib/rghost/ps/Bengali.enc +0 -0
  52. data/lib/rghost/ps/CodePage1250.enc +0 -0
  53. data/lib/rghost/ps/CodePage1251.enc +0 -0
  54. data/lib/rghost/ps/CodePage1252.enc +0 -0
  55. data/lib/rghost/ps/CodePage1253.enc +0 -0
  56. data/lib/rghost/ps/CodePage1254.enc +0 -0
  57. data/lib/rghost/ps/CodePage1256.enc +0 -0
  58. data/lib/rghost/ps/CodePage1257.enc +0 -0
  59. data/lib/rghost/ps/CodePage1258.enc +0 -0
  60. data/lib/rghost/ps/CodePage874.enc +0 -0
  61. data/lib/rghost/ps/Fontmap +5 -0
  62. data/lib/rghost/ps/IsoLatin.enc +0 -0
  63. data/lib/rghost/ps/MacCentralEuropean.enc +0 -0
  64. data/lib/rghost/ps/{MacCyrillice.enc → MacCyrillice.desnc} +0 -0
  65. data/lib/rghost/ps/MacGreek.enc +0 -0
  66. data/lib/rghost/ps/MacHebrew.enc +0 -0
  67. data/lib/rghost/ps/TeX-CorkEncoding.enc +0 -0
  68. data/lib/rghost/ps/TeX-LGR-Greek.enc +0 -0
  69. data/lib/rghost/ps/TeX-T2AModified2Encoding.enc +0 -0
  70. data/lib/rghost/ps/TeX-T2BAdobeEncoding.enc +0 -0
  71. data/lib/rghost/ps/TeX-T2CAdobeEncoding.enc +0 -0
  72. data/lib/rghost/ps/TeX-X2AdobeEncoding.enc +0 -0
  73. data/lib/rghost/ps/TeX-XL2encoding.enc +0 -0
  74. data/lib/rghost/ps/TeXMathExtensionEncoding.enc +0 -0
  75. data/lib/rghost/ps/TeXMathItalicEncoding.enc +0 -0
  76. data/lib/rghost/ps/TeXMathSymbolEncoding.enc +0 -0
  77. data/lib/rghost/ps/US-ASCII.enc +0 -0
  78. data/lib/rghost/ps/UTF-8.enc +0 -0
  79. data/lib/rghost/ps/__datagrid.ps +52 -0
  80. data/lib/rghost/ps/_cusor.ps +46 -0
  81. data/lib/rghost/ps/basic.ps +12 -1
  82. data/lib/rghost/ps/begin_document.ps +1 -0
  83. data/lib/rghost/ps/callbacks.ps +32 -3
  84. data/lib/rghost/ps/code128.font +0 -0
  85. data/lib/rghost/ps/code39.font +0 -0
  86. data/lib/rghost/ps/cursor.ps +77 -13
  87. data/lib/rghost/ps/datagrid.ps +4 -1
  88. data/lib/rghost/ps/developer.ps +237 -0
  89. data/lib/rghost/ps/ean.font +0 -0
  90. data/lib/rghost/ps/eps.ps +0 -0
  91. data/lib/rghost/ps/font.ps +8 -1
  92. data/lib/rghost/ps/frame.ps +16 -0
  93. data/lib/rghost/ps/gif.ps +0 -0
  94. data/lib/rghost/ps/horizontal_line.ps +4 -3
  95. data/lib/rghost/ps/i25.font +0 -0
  96. data/lib/rghost/ps/jpeg.ps +0 -0
  97. data/lib/rghost/ps/paper.ps +0 -0
  98. data/lib/rghost/ps/rectangle.ps +0 -0
  99. data/lib/rghost/ps/rghost_default_template.eps +1532 -0
  100. data/lib/rghost/ps/row.ps +0 -0
  101. data/lib/rghost/ps/show.ps +2 -1
  102. data/lib/rghost/ps/table_callbacks.ps +0 -0
  103. data/lib/rghost/ps/text.ps +63 -0
  104. data/lib/rghost/ps/textarea.ps +1 -1
  105. data/lib/rghost/ps/type.ps +0 -0
  106. data/lib/rghost/ps/unit.ps +0 -0
  107. data/lib/rghost/ps/vertical_line.ps +2 -4
  108. data/lib/rghost/ps/virtual_pages.ps +55 -0
  109. data/lib/rghost/ps_facade.rb +256 -0
  110. data/lib/rghost/ps_object.rb +24 -20
  111. data/lib/rghost/rgengine.so +0 -0
  112. data/lib/rghost/ruby_ghost_config.rb +224 -16
  113. data/lib/rghost/ruby_ghost_engine.rb +32 -55
  114. data/lib/rghost/ruby_ghost_version.rb +8 -0
  115. data/lib/rghost/ruby_to_ps.rb +52 -78
  116. data/lib/rghost/scale.rb +22 -7
  117. data/lib/rghost/shape_content.rb +23 -0
  118. data/lib/rghost/show.rb +77 -20
  119. data/lib/rghost/static_document_callback.rb +3 -7
  120. data/lib/rghost/text.rb +44 -0
  121. data/lib/rghost/text_in.rb +36 -14
  122. data/lib/rghost/textarea.rb +66 -93
  123. data/lib/rghost/units.rb +45 -44
  124. data/lib/rghost/variable.rb +4 -4
  125. data/lib/rghost/vertical_line.rb +27 -19
  126. data/lib/rghost/virtual_pages.rb +42 -0
  127. data/lib/rghost.rb +16 -2
  128. metadata +153 -500
  129. data/lib/rghost/arc.rb +0 -39
  130. data/lib/rghost/barcode.rb +0 -40
  131. data/lib/rghost/data_grid/basic_grid.rb +0 -136
  132. data/lib/rghost/data_grid/csv_grid.rb +0 -27
  133. data/lib/rghost/data_grid/data_grid.rb +0 -14
  134. data/lib/rghost/data_grid/field_format.rb +0 -60
  135. data/lib/rghost/data_grid/grid.rb +0 -18
  136. data/lib/rghost/data_grid/header.rb +0 -111
  137. data/lib/rghost/data_grid/rails_grid.rb +0 -62
  138. data/lib/rghost/data_grid/style/border_lines.rb +0 -47
  139. data/lib/rghost/data_grid/style/bottom_lines.rb +0 -30
  140. data/lib/rghost/data_grid/style/old_forms.rb +0 -30
  141. data/lib/rghost/data_grid/style/style.rb +0 -8
  142. data/lib/rghost/doc/classes/Arc.html +0 -200
  143. data/lib/rghost/doc/classes/Arc.src/M000049.html +0 -18
  144. data/lib/rghost/doc/classes/Arc.src/M000050.html +0 -23
  145. data/lib/rghost/doc/classes/Barcode.html +0 -214
  146. data/lib/rghost/doc/classes/Barcode.src/M000001.html +0 -19
  147. data/lib/rghost/doc/classes/Barcode.src/M000002.html +0 -18
  148. data/lib/rghost/doc/classes/Barcode.src/M000003.html +0 -19
  149. data/lib/rghost/doc/classes/Barcode.src/M000004.html +0 -27
  150. data/lib/rghost/doc/classes/CMYK.html +0 -209
  151. data/lib/rghost/doc/classes/CMYK.src/M000047.html +0 -18
  152. data/lib/rghost/doc/classes/CMYK.src/M000048.html +0 -24
  153. data/lib/rghost/doc/classes/Callback.html +0 -220
  154. data/lib/rghost/doc/classes/Callback.src/M000071.html +0 -21
  155. data/lib/rghost/doc/classes/Callback.src/M000072.html +0 -26
  156. data/lib/rghost/doc/classes/Color.html +0 -175
  157. data/lib/rghost/doc/classes/Color.src/M000028.html +0 -33
  158. data/lib/rghost/doc/classes/Constants/Colors.html +0 -129
  159. data/lib/rghost/doc/classes/Constants/Devices.html +0 -163
  160. data/lib/rghost/doc/classes/Constants/Devices.src/M000168.html +0 -22
  161. data/lib/rghost/doc/classes/Constants/Fonts.html +0 -144
  162. data/lib/rghost/doc/classes/Constants/Papers.html +0 -124
  163. data/lib/rghost/doc/classes/Constants.html +0 -120
  164. data/lib/rghost/doc/classes/Convert.html +0 -189
  165. data/lib/rghost/doc/classes/Convert.src/M000067.html +0 -20
  166. data/lib/rghost/doc/classes/Convert.src/M000068.html +0 -24
  167. data/lib/rghost/doc/classes/Cursor.html +0 -330
  168. data/lib/rghost/doc/classes/Cursor.src/M000031.html +0 -21
  169. data/lib/rghost/doc/classes/Cursor.src/M000032.html +0 -21
  170. data/lib/rghost/doc/classes/Cursor.src/M000033.html +0 -20
  171. data/lib/rghost/doc/classes/Cursor.src/M000034.html +0 -18
  172. data/lib/rghost/doc/classes/Cursor.src/M000035.html +0 -18
  173. data/lib/rghost/doc/classes/Cursor.src/M000036.html +0 -19
  174. data/lib/rghost/doc/classes/Cursor.src/M000037.html +0 -22
  175. data/lib/rghost/doc/classes/Cursor.src/M000038.html +0 -18
  176. data/lib/rghost/doc/classes/Cursor.src/M000039.html +0 -18
  177. data/lib/rghost/doc/classes/DSCEntry.html +0 -173
  178. data/lib/rghost/doc/classes/DSCEntry.src/M000059.html +0 -19
  179. data/lib/rghost/doc/classes/DSCEntry.src/M000060.html +0 -19
  180. data/lib/rghost/doc/classes/DataGrid/BasicGrid.html +0 -343
  181. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000140.html +0 -27
  182. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000141.html +0 -26
  183. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000142.html +0 -22
  184. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000143.html +0 -19
  185. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000144.html +0 -26
  186. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000145.html +0 -34
  187. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000146.html +0 -18
  188. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000147.html +0 -37
  189. data/lib/rghost/doc/classes/DataGrid/BasicGrid.src/M000148.html +0 -26
  190. data/lib/rghost/doc/classes/DataGrid/CSVGrid.html +0 -152
  191. data/lib/rghost/doc/classes/DataGrid/CSVGrid.src/M000139.html +0 -32
  192. data/lib/rghost/doc/classes/DataGrid/DynamicCallback.html +0 -158
  193. data/lib/rghost/doc/classes/DataGrid/DynamicCallback.src/M000149.html +0 -19
  194. data/lib/rghost/doc/classes/DataGrid/FieldFormat/Custom.html +0 -176
  195. data/lib/rghost/doc/classes/DataGrid/FieldFormat/Custom.src/M000136.html +0 -18
  196. data/lib/rghost/doc/classes/DataGrid/FieldFormat/Custom.src/M000137.html +0 -18
  197. data/lib/rghost/doc/classes/DataGrid/FieldFormat/Custom.src/M000138.html +0 -18
  198. data/lib/rghost/doc/classes/DataGrid/FieldFormat.html +0 -216
  199. data/lib/rghost/doc/classes/DataGrid/FieldFormat.src/M000131.html +0 -19
  200. data/lib/rghost/doc/classes/DataGrid/FieldFormat.src/M000132.html +0 -18
  201. data/lib/rghost/doc/classes/DataGrid/FieldFormat.src/M000133.html +0 -23
  202. data/lib/rghost/doc/classes/DataGrid/FieldFormat.src/M000134.html +0 -18
  203. data/lib/rghost/doc/classes/DataGrid/FieldFormat.src/M000135.html +0 -22
  204. data/lib/rghost/doc/classes/DataGrid/Grid.html +0 -148
  205. data/lib/rghost/doc/classes/DataGrid/Grid.src/M000160.html +0 -19
  206. data/lib/rghost/doc/classes/DataGrid/Header.html +0 -367
  207. data/lib/rghost/doc/classes/DataGrid/Header.src/M000150.html +0 -26
  208. data/lib/rghost/doc/classes/DataGrid/Header.src/M000151.html +0 -25
  209. data/lib/rghost/doc/classes/DataGrid/Header.src/M000152.html +0 -24
  210. data/lib/rghost/doc/classes/DataGrid/Header.src/M000153.html +0 -19
  211. data/lib/rghost/doc/classes/DataGrid/Header.src/M000154.html +0 -18
  212. data/lib/rghost/doc/classes/DataGrid/Header.src/M000155.html +0 -18
  213. data/lib/rghost/doc/classes/DataGrid/Header.src/M000156.html +0 -18
  214. data/lib/rghost/doc/classes/DataGrid/Header.src/M000157.html +0 -18
  215. data/lib/rghost/doc/classes/DataGrid/Header.src/M000158.html +0 -19
  216. data/lib/rghost/doc/classes/DataGrid/Header.src/M000159.html +0 -19
  217. data/lib/rghost/doc/classes/DataGrid/RailsGrid.html +0 -234
  218. data/lib/rghost/doc/classes/DataGrid/RailsGrid.src/M000161.html +0 -27
  219. data/lib/rghost/doc/classes/DataGrid/RailsGrid.src/M000162.html +0 -23
  220. data/lib/rghost/doc/classes/DataGrid/RailsGrid.src/M000163.html +0 -18
  221. data/lib/rghost/doc/classes/DataGrid/StaticCallback.html +0 -158
  222. data/lib/rghost/doc/classes/DataGrid/StaticCallback.src/M000164.html +0 -19
  223. data/lib/rghost/doc/classes/DataGrid/Style/BorderLines.html +0 -137
  224. data/lib/rghost/doc/classes/DataGrid/Style/BorderLines.src/M000128.html +0 -55
  225. data/lib/rghost/doc/classes/DataGrid/Style/BottomLines.html +0 -137
  226. data/lib/rghost/doc/classes/DataGrid/Style/BottomLines.src/M000129.html +0 -38
  227. data/lib/rghost/doc/classes/DataGrid/Style/OldForms.html +0 -137
  228. data/lib/rghost/doc/classes/DataGrid/Style/OldForms.src/M000130.html +0 -38
  229. data/lib/rghost/doc/classes/DataGrid/Style.html +0 -113
  230. data/lib/rghost/doc/classes/DataGrid.html +0 -133
  231. data/lib/rghost/doc/classes/Document.html +0 -990
  232. data/lib/rghost/doc/classes/Document.src/M000075.html +0 -32
  233. data/lib/rghost/doc/classes/Document.src/M000076.html +0 -18
  234. data/lib/rghost/doc/classes/Document.src/M000077.html +0 -29
  235. data/lib/rghost/doc/classes/Document.src/M000078.html +0 -33
  236. data/lib/rghost/doc/classes/Document.src/M000079.html +0 -20
  237. data/lib/rghost/doc/classes/Document.src/M000080.html +0 -21
  238. data/lib/rghost/doc/classes/Document.src/M000081.html +0 -18
  239. data/lib/rghost/doc/classes/Document.src/M000082.html +0 -19
  240. data/lib/rghost/doc/classes/Document.src/M000083.html +0 -21
  241. data/lib/rghost/doc/classes/Document.src/M000084.html +0 -22
  242. data/lib/rghost/doc/classes/Document.src/M000085.html +0 -18
  243. data/lib/rghost/doc/classes/Document.src/M000086.html +0 -18
  244. data/lib/rghost/doc/classes/Document.src/M000087.html +0 -18
  245. data/lib/rghost/doc/classes/Document.src/M000088.html +0 -18
  246. data/lib/rghost/doc/classes/Document.src/M000089.html +0 -19
  247. data/lib/rghost/doc/classes/Document.src/M000090.html +0 -18
  248. data/lib/rghost/doc/classes/Document.src/M000091.html +0 -18
  249. data/lib/rghost/doc/classes/Document.src/M000092.html +0 -18
  250. data/lib/rghost/doc/classes/Document.src/M000093.html +0 -18
  251. data/lib/rghost/doc/classes/Document.src/M000094.html +0 -18
  252. data/lib/rghost/doc/classes/Document.src/M000095.html +0 -18
  253. data/lib/rghost/doc/classes/Document.src/M000096.html +0 -18
  254. data/lib/rghost/doc/classes/Document.src/M000097.html +0 -18
  255. data/lib/rghost/doc/classes/Document.src/M000098.html +0 -18
  256. data/lib/rghost/doc/classes/Document.src/M000099.html +0 -18
  257. data/lib/rghost/doc/classes/Document.src/M000100.html +0 -18
  258. data/lib/rghost/doc/classes/Document.src/M000101.html +0 -18
  259. data/lib/rghost/doc/classes/Document.src/M000102.html +0 -18
  260. data/lib/rghost/doc/classes/Document.src/M000103.html +0 -18
  261. data/lib/rghost/doc/classes/Document.src/M000104.html +0 -18
  262. data/lib/rghost/doc/classes/Document.src/M000105.html +0 -18
  263. data/lib/rghost/doc/classes/Document.src/M000106.html +0 -18
  264. data/lib/rghost/doc/classes/Document.src/M000107.html +0 -18
  265. data/lib/rghost/doc/classes/Document.src/M000108.html +0 -18
  266. data/lib/rghost/doc/classes/Document.src/M000109.html +0 -18
  267. data/lib/rghost/doc/classes/Document.src/M000110.html +0 -18
  268. data/lib/rghost/doc/classes/Document.src/M000111.html +0 -20
  269. data/lib/rghost/doc/classes/Document.src/M000112.html +0 -19
  270. data/lib/rghost/doc/classes/Document.src/M000113.html +0 -19
  271. data/lib/rghost/doc/classes/DynamicDocumentCallback.html +0 -175
  272. data/lib/rghost/doc/classes/DynamicDocumentCallback.src/M000022.html +0 -19
  273. data/lib/rghost/doc/classes/Eps.html +0 -168
  274. data/lib/rghost/doc/classes/Eps.src/M000063.html +0 -20
  275. data/lib/rghost/doc/classes/Eps.src/M000064.html +0 -20
  276. data/lib/rghost/doc/classes/Font.html +0 -205
  277. data/lib/rghost/doc/classes/Font.src/M000061.html +0 -22
  278. data/lib/rghost/doc/classes/Font.src/M000062.html +0 -37
  279. data/lib/rghost/doc/classes/Function.html +0 -196
  280. data/lib/rghost/doc/classes/Function.src/M000045.html +0 -27
  281. data/lib/rghost/doc/classes/Function.src/M000046.html +0 -20
  282. data/lib/rghost/doc/classes/GSAlone.html +0 -154
  283. data/lib/rghost/doc/classes/GSAlone.src/M000065.html +0 -19
  284. data/lib/rghost/doc/classes/GSAlone.src/M000066.html +0 -22
  285. data/lib/rghost/doc/classes/Gif.html +0 -148
  286. data/lib/rghost/doc/classes/Gif.src/M000040.html +0 -30
  287. data/lib/rghost/doc/classes/Graphic.html +0 -153
  288. data/lib/rghost/doc/classes/Graphic.src/M000014.html +0 -18
  289. data/lib/rghost/doc/classes/Gray.html +0 -181
  290. data/lib/rghost/doc/classes/Gray.src/M000026.html +0 -18
  291. data/lib/rghost/doc/classes/Gray.src/M000027.html +0 -19
  292. data/lib/rghost/doc/classes/Helpers/HashKeyMethod.html +0 -131
  293. data/lib/rghost/doc/classes/Helpers/HashKeyMethod.src/M000127.html +0 -18
  294. data/lib/rghost/doc/classes/Helpers/HashKeyMethodClass.html +0 -118
  295. data/lib/rghost/doc/classes/Helpers.html +0 -112
  296. data/lib/rghost/doc/classes/HorizontalLine.html +0 -186
  297. data/lib/rghost/doc/classes/HorizontalLine.src/M000023.html +0 -23
  298. data/lib/rghost/doc/classes/Image.html +0 -176
  299. data/lib/rghost/doc/classes/Image.src/M000042.html +0 -20
  300. data/lib/rghost/doc/classes/Image.src/M000043.html +0 -26
  301. data/lib/rghost/doc/classes/Jpeg.html +0 -148
  302. data/lib/rghost/doc/classes/Jpeg.src/M000013.html +0 -28
  303. data/lib/rghost/doc/classes/Line.html +0 -190
  304. data/lib/rghost/doc/classes/Line.src/M000069.html +0 -20
  305. data/lib/rghost/doc/classes/Line.src/M000070.html +0 -19
  306. data/lib/rghost/doc/classes/LineWidth.html +0 -172
  307. data/lib/rghost/doc/classes/LineWidth.src/M000005.html +0 -18
  308. data/lib/rghost/doc/classes/LineWidth.src/M000006.html +0 -18
  309. data/lib/rghost/doc/classes/Load.html +0 -161
  310. data/lib/rghost/doc/classes/Load.src/M000165.html +0 -21
  311. data/lib/rghost/doc/classes/Load.src/M000166.html +0 -34
  312. data/lib/rghost/doc/classes/Load.src/M000167.html +0 -19
  313. data/lib/rghost/doc/classes/NewPath.html +0 -153
  314. data/lib/rghost/doc/classes/NewPath.src/M000041.html +0 -18
  315. data/lib/rghost/doc/classes/Paper.html +0 -213
  316. data/lib/rghost/doc/classes/Paper.src/M000010.html +0 -20
  317. data/lib/rghost/doc/classes/Paper.src/M000011.html +0 -24
  318. data/lib/rghost/doc/classes/Paper.src/M000012.html +0 -20
  319. data/lib/rghost/doc/classes/Point.html +0 -180
  320. data/lib/rghost/doc/classes/Point.src/M000073.html +0 -20
  321. data/lib/rghost/doc/classes/Point.src/M000074.html +0 -18
  322. data/lib/rghost/doc/classes/PointWithCommand.html +0 -150
  323. data/lib/rghost/doc/classes/PointWithCommand.src/M000115.html +0 -22
  324. data/lib/rghost/doc/classes/PsObject.html +0 -269
  325. data/lib/rghost/doc/classes/PsObject.src/M000015.html +0 -25
  326. data/lib/rghost/doc/classes/PsObject.src/M000016.html +0 -18
  327. data/lib/rghost/doc/classes/PsObject.src/M000017.html +0 -18
  328. data/lib/rghost/doc/classes/PsObject.src/M000018.html +0 -18
  329. data/lib/rghost/doc/classes/PsObject.src/M000019.html +0 -21
  330. data/lib/rghost/doc/classes/PsObject.src/M000020.html +0 -19
  331. data/lib/rghost/doc/classes/PsObject.src/M000021.html +0 -18
  332. data/lib/rghost/doc/classes/RGB.html +0 -213
  333. data/lib/rghost/doc/classes/RGB.src/M000024.html +0 -21
  334. data/lib/rghost/doc/classes/RGB.src/M000025.html +0 -25
  335. data/lib/rghost/doc/classes/Rectangle.html +0 -226
  336. data/lib/rghost/doc/classes/Rectangle.src/M000056.html +0 -18
  337. data/lib/rghost/doc/classes/Rectangle.src/M000057.html +0 -24
  338. data/lib/rghost/doc/classes/Rectangle.src/M000058.html +0 -21
  339. data/lib/rghost/doc/classes/RubyGhostConfig.html +0 -144
  340. data/lib/rghost/doc/classes/RubyGhostConfig.src/M000118.html +0 -22
  341. data/lib/rghost/doc/classes/RubyGhostEngine.html +0 -261
  342. data/lib/rghost/doc/classes/RubyGhostEngine.src/M000007.html +0 -24
  343. data/lib/rghost/doc/classes/RubyGhostEngine.src/M000008.html +0 -96
  344. data/lib/rghost/doc/classes/RubyGhostEngine.src/M000009.html +0 -21
  345. data/lib/rghost/doc/classes/RubyToPs.html +0 -272
  346. data/lib/rghost/doc/classes/RubyToPs.src/M000119.html +0 -23
  347. data/lib/rghost/doc/classes/RubyToPs.src/M000120.html +0 -18
  348. data/lib/rghost/doc/classes/RubyToPs.src/M000121.html +0 -18
  349. data/lib/rghost/doc/classes/RubyToPs.src/M000122.html +0 -19
  350. data/lib/rghost/doc/classes/RubyToPs.src/M000123.html +0 -30
  351. data/lib/rghost/doc/classes/RubyToPs.src/M000124.html +0 -18
  352. data/lib/rghost/doc/classes/RubyToPs.src/M000125.html +0 -18
  353. data/lib/rghost/doc/classes/RubyToPs.src/M000126.html +0 -30
  354. data/lib/rghost/doc/classes/Scale.html +0 -153
  355. data/lib/rghost/doc/classes/Scale.src/M000114.html +0 -18
  356. data/lib/rghost/doc/classes/Show.html +0 -203
  357. data/lib/rghost/doc/classes/Show.src/M000052.html +0 -20
  358. data/lib/rghost/doc/classes/Show.src/M000053.html +0 -19
  359. data/lib/rghost/doc/classes/StaticDocumentCallback.html +0 -168
  360. data/lib/rghost/doc/classes/StaticDocumentCallback.src/M000051.html +0 -19
  361. data/lib/rghost/doc/classes/TextArea.html +0 -217
  362. data/lib/rghost/doc/classes/TextArea.src/M000029.html +0 -22
  363. data/lib/rghost/doc/classes/TextArea.src/M000030.html +0 -24
  364. data/lib/rghost/doc/classes/TextIn.html +0 -201
  365. data/lib/rghost/doc/classes/TextIn.src/M000054.html +0 -19
  366. data/lib/rghost/doc/classes/TextIn.src/M000055.html +0 -24
  367. data/lib/rghost/doc/classes/Units/Cm.html +0 -145
  368. data/lib/rghost/doc/classes/Units/Cm.src/M000175.html +0 -19
  369. data/lib/rghost/doc/classes/Units/Inch.html +0 -145
  370. data/lib/rghost/doc/classes/Units/Inch.src/M000174.html +0 -18
  371. data/lib/rghost/doc/classes/Units/PSUnit.html +0 -139
  372. data/lib/rghost/doc/classes/Units/PSUnit.src/M000170.html +0 -18
  373. data/lib/rghost/doc/classes/Units/Unit.html +0 -190
  374. data/lib/rghost/doc/classes/Units/Unit.src/M000171.html +0 -18
  375. data/lib/rghost/doc/classes/Units/Unit.src/M000172.html +0 -19
  376. data/lib/rghost/doc/classes/Units/Unit.src/M000173.html +0 -18
  377. data/lib/rghost/doc/classes/Units.html +0 -166
  378. data/lib/rghost/doc/classes/Units.src/M000169.html +0 -22
  379. data/lib/rghost/doc/classes/Variable.html +0 -152
  380. data/lib/rghost/doc/classes/Variable.src/M000044.html +0 -18
  381. data/lib/rghost/doc/classes/VerticalLine.html +0 -175
  382. data/lib/rghost/doc/classes/VerticalLine.src/M000116.html +0 -23
  383. data/lib/rghost/doc/classes/VerticalLine.src/M000117.html +0 -19
  384. data/lib/rghost/doc/created.rid +0 -1
  385. data/lib/rghost/doc/files/arc_rb.html +0 -109
  386. data/lib/rghost/doc/files/barcode_rb.html +0 -108
  387. data/lib/rghost/doc/files/callback_rb.html +0 -109
  388. data/lib/rghost/doc/files/color_rb.html +0 -110
  389. data/lib/rghost/doc/files/constants_rb.html +0 -108
  390. data/lib/rghost/doc/files/convert_rb.html +0 -107
  391. data/lib/rghost/doc/files/cursor_rb.html +0 -110
  392. data/lib/rghost/doc/files/data_grid/basic_grid_rb.html +0 -108
  393. data/lib/rghost/doc/files/data_grid/csv_grid_rb.html +0 -108
  394. data/lib/rghost/doc/files/data_grid/data_grid_rb.html +0 -116
  395. data/lib/rghost/doc/files/data_grid/dynamic_callback_rb.html +0 -108
  396. data/lib/rghost/doc/files/data_grid/field_format_rb.html +0 -109
  397. data/lib/rghost/doc/files/data_grid/grid_rb.html +0 -108
  398. data/lib/rghost/doc/files/data_grid/header_rb.html +0 -113
  399. data/lib/rghost/doc/files/data_grid/rails_grid_rb.html +0 -108
  400. data/lib/rghost/doc/files/data_grid/static_callback_rb.html +0 -109
  401. data/lib/rghost/doc/files/data_grid/style/border_lines_rb.html +0 -101
  402. data/lib/rghost/doc/files/data_grid/style/bottom_lines_rb.html +0 -101
  403. data/lib/rghost/doc/files/data_grid/style/old_forms_rb.html +0 -101
  404. data/lib/rghost/doc/files/data_grid/style/style_rb.html +0 -110
  405. data/lib/rghost/doc/files/document_rb.html +0 -150
  406. data/lib/rghost/doc/files/dsc_entry_rb.html +0 -108
  407. data/lib/rghost/doc/files/dynamic_document_callback_rb.html +0 -108
  408. data/lib/rghost/doc/files/eps_rb.html +0 -108
  409. data/lib/rghost/doc/files/font_rb.html +0 -110
  410. data/lib/rghost/doc/files/function_rb.html +0 -108
  411. data/lib/rghost/doc/files/gif_rb.html +0 -114
  412. data/lib/rghost/doc/files/graphic_rb.html +0 -113
  413. data/lib/rghost/doc/files/gs_alone_rb.html +0 -101
  414. data/lib/rghost/doc/files/helpers_rb.html +0 -101
  415. data/lib/rghost/doc/files/horizontal_line_rb.html +0 -109
  416. data/lib/rghost/doc/files/image_rb.html +0 -108
  417. data/lib/rghost/doc/files/jpeg_rb.html +0 -112
  418. data/lib/rghost/doc/files/line_rb.html +0 -109
  419. data/lib/rghost/doc/files/line_width_rb.html +0 -108
  420. data/lib/rghost/doc/files/load_rb.html +0 -108
  421. data/lib/rghost/doc/files/newpath_rb.html +0 -113
  422. data/lib/rghost/doc/files/paper_rb.html +0 -112
  423. data/lib/rghost/doc/files/point_rb.html +0 -109
  424. data/lib/rghost/doc/files/point_with_command_rb.html +0 -109
  425. data/lib/rghost/doc/files/ps_object_rb.html +0 -107
  426. data/lib/rghost/doc/files/rectangle_rb.html +0 -110
  427. data/lib/rghost/doc/files/rghost_rb.html +0 -109
  428. data/lib/rghost/doc/files/ruby_ghost_config_rb.html +0 -109
  429. data/lib/rghost/doc/files/ruby_ghost_engine_rb.html +0 -111
  430. data/lib/rghost/doc/files/ruby_to_ps_rb.html +0 -107
  431. data/lib/rghost/doc/files/scale_rb.html +0 -108
  432. data/lib/rghost/doc/files/show_rb.html +0 -109
  433. data/lib/rghost/doc/files/static_document_callback_rb.html +0 -109
  434. data/lib/rghost/doc/files/text_in_rb.html +0 -110
  435. data/lib/rghost/doc/files/textarea_rb.html +0 -111
  436. data/lib/rghost/doc/files/units_rb.html +0 -109
  437. data/lib/rghost/doc/files/variable_rb.html +0 -108
  438. data/lib/rghost/doc/files/version_rb.html +0 -101
  439. data/lib/rghost/doc/files/vertical_line_rb.html +0 -110
  440. data/lib/rghost/doc/fr_class_index.html +0 -93
  441. data/lib/rghost/doc/fr_file_index.html +0 -81
  442. data/lib/rghost/doc/fr_method_index.html +0 -201
  443. data/lib/rghost/doc/index.html +0 -24
  444. data/lib/rghost/ps/functions.ps +0 -646
  445. data/lib/rghost/rectangle.rb +0 -39
  446. data/lib/rghost/rghost.rb +0 -3
  447. data/lib/rghost/version.rb +0 -9
@@ -0,0 +1,44 @@
1
+ #Border object render a border around of vector shapes. Its sketch can be a combination of color, dashes, line joins and line caps.
2
+ #Usually its use inside of object facades, such as, Document, CallbackFacade and PsFacade as parameter :border, for example:
3
+ # d=Document.new
4
+ # d.horizontal_line :middle, :border => { :color => '#058412', :dash => [1,0,2] }
5
+ #You can use it as a new instance of Border and set inside of Document by method set, example:
6
+ # d=Document.new
7
+ # b=Border.new :color => '#058412', :dash => [1,0,2]
8
+ # d.set b
9
+ # d.lineto :x => 2.5, :y => 5
10
+ #===Options
11
+ #* <tt>:color</tt> - Facade to Color using the same parameter.
12
+ #* <tt>:dash</tt> - Facade to Dash using the same parameter.
13
+ #* <tt>:width</tt> - Facade to LineWidth using the same parameter.
14
+ #* <tt>:linejoin</tt> - Sets the line join parameter in the graphics state to int, which must be one of the integers 0, 1, or 2.
15
+ #====:linejoin examples
16
+ #* <tt>Miter join</tt> link:images/linejoin0.png <tt> :linejoin => 0 </tt>
17
+ #* <tt>Round join</tt> link:images/linejoin1.png <tt> :linejoin => 1 </tt>
18
+ #* <tt>Bevel join</tt> link:images/linejoin2.png <tt> :linejoin => 2 </tt>
19
+ #* <tt>:linecap</tt> - Sets the line cap parameter in the graphics state to int, which must be one of the integers 0, 1, or 2
20
+ #====:linecap examples
21
+ #* <tt><tt>Butt cap</tt></tt> link:images/linecap0.png <tt> :linecap => 0 </tt>
22
+ #* <tt>Round cap</tt> link:images/linecap1.png <tt> :linecap => 1 </tt>
23
+ #* <tt>Projecting square cap</tt> link:images/linecap2.png <tt> :linecap => 2 </tt>
24
+ class RGhost::Border < RGhost::PsObject
25
+
26
+ DEFAULT_OPTIONS = {:color => '#49AAFA', :dash => false, :width => 0.5, :linejoin => 0, :linecap => 0 }
27
+ # aqui tem documentação
28
+ def initialize(options={})
29
+ super(""){}
30
+ @options = DEFAULT_OPTIONS.dup.merge(options)
31
+ end
32
+
33
+ def ps #:nodoc:
34
+ p=RGhost::PsObject.new
35
+ p.set RGhost::LineWidth.new(@options[:width]) if @options[:width]
36
+ p.raw "#{@options[:linejoin]} setlinejoin"
37
+ p.raw "#{@options[:linecap]} setlinecap"
38
+ p.set RGhost::Dash.new(@options[:dash]) if @options[:dash]
39
+ p.set RGhost::Color.create(@options[:color]) if @options[:color]
40
+ p
41
+ end
42
+
43
+ end
44
+
@@ -1,27 +1,33 @@
1
1
  require "ps_object"
2
2
  require "ruby_to_ps"
3
3
 
4
- # Callback representa uma chamada com condi��o :only e :except para elementos inteiros.
5
- # gerado metac�digo em Postscript tendo como base um dict no formato abaixo.
6
- # /dictname 3 dict def
7
- # dictname begin
8
- # /proc {} bind def
9
- # /except [ ] def
10
- # /only [ ] def
11
- # end
12
- # Obs: Se detectado pelo menos uma entrada para :only o :except n�o ser� executado
4
+ # Callbacks are custom code blocks defined inside of Document.
5
+ # All callbacks received implicitly a instance of PsFacade can be creates any PsObject.
6
+ # The callbacks's execution depend of the algorithims predefined in Postscript core library.
7
+ # There are two kind of callbacks, Statics and Dynamics callbacks.
8
+ # A Static callback there aren't parameters to control of the inclusion and exception on current scope, usually
9
+ # applied for events which happen one time, for example after_document_create, "after document create" always will execute one time for each document.
10
+ # Otherwise Dynamic callbacks there is control of scope using conditional :only or :except, this is only difference in relation the static callbacks.
11
+ # The parameters of a Dynamic callbak must be one integer or one array of integer. Example:
12
+ # For all pages except page 3
13
+ # doc.before_page_create :except => 3 do
14
+ # # do something
15
+ # end
13
16
  #
14
- class Callback < PsObject
17
+ # For just 2 and 4 pages
18
+ # doc.before_page_create :only => [2,4] do
19
+ # # do something
20
+ # end
21
+ #
22
+ # The most of callbacks are defined in facades such as DocumentCallbackFacade and Grid::CallbackFacade
23
+ class RGhost::Callback < RGhost::PsObject
15
24
  attr_accessor :only, :except, :name
16
- include RubyToPs
17
- #Nova inst�ncia de Callback
18
- # Responde as op��es
19
- # :only => [1,2] # Array - Callback ser� executado somente para os valores
20
- # :except => [3,4] # Array - Callback n�o executar� para os valores
21
- #Exemplo:
22
- # Callback.new :only => [4,10,11]
23
- def initialize(name,options={},&block) #((|name|)) nome do callback
24
- super(&block)
25
+ include RGhost::RubyToPs
26
+
27
+ def initialize(name,options={},&block)
28
+
29
+ super(""){}
30
+ set RGhost::PsFacade.new(&block)
25
31
  @name=name
26
32
  @options=options
27
33
 
@@ -29,11 +35,8 @@ class Callback < PsObject
29
35
 
30
36
  def ps
31
37
 
32
-
33
38
  @only=num_to_array(@options[:only])
34
39
  @except=num_to_array(@options[:except])
35
-
36
-
37
40
 
38
41
  "\n/#{@name} 3 dict def #{@name} begin \n/proc { #{super} } bind def \n/except #{to_array(@except)} def \n/only #{to_array(@only)} def \nend "
39
42
 
@@ -0,0 +1,102 @@
1
+ require "ps_object"
2
+ require "units"
3
+ #Draw a circle to the current path(or current row by default).
4
+ #===Options
5
+ #
6
+ #* <tt>:x and :y</tt> - as center of the circle.
7
+ #* <tt>:radius</tt> - as radius(in points).
8
+ #* <tt>:ang1</tt> - the angle of a vector from (:x , :y ) of length :radius to the first endpoint of the circle.
9
+ #* <tt>:ang2</tt> - the angle of a vector from (:x, :y) of length :radius to the second endpoint of the circle.
10
+ #* <tt>:content</tt> - facade to ShapeContent with same parameters.
11
+ #* <tt>:border</tt> - facade to Border with same parameters.
12
+ #* <tt>:use</tt> - <b>:arc</b> draw counterclockwise and <b>:arcn</b> (arc negative) clockwise direction.
13
+ #===Examples using facade circle method inside of Document
14
+ # d=Document.new
15
+ # d.circle :x => 5, :y => 2.5 , :radius => 40
16
+ #
17
+ #link:images/circle01.png
18
+ # d=Document.new
19
+ # d.circle :x => 5, :y => 2.5 , :radius => 40, :content => {:fill => false}
20
+ #
21
+ #link:images/circle02.png
22
+ #
23
+ # d=Document.new
24
+ # d.circle :x => 5, :y => 2.5 , :radius => 40, :content => {:color => "#FF0000"}
25
+ #
26
+ #link:images/circle03.png
27
+ #
28
+ # d=Document.new
29
+ # d.circle :x => 5, :y => 2.5 , :radius => 40, :content => {:color => "#FF0000"} ,:border => {:color => "#FFFFFF"}
30
+ #
31
+ #link:images/circle04.png
32
+ #
33
+ # d=Document.new
34
+ # d.circle :x => 5, :y => 2.5 , :radius => 40, :content => {:color => :yellow} ,:border => {:color => :orange, :dash => [1,2,1,2], :width => 20}
35
+ #
36
+ #link:images/circle05.png
37
+ #
38
+ # d=Document.new
39
+ # colors=%w[#98AE09 #AFE099 #A971FF #CC1010 #FF7201 #34FEE1]
40
+ # 6.downto(1) do |v|
41
+ # d.circle :x => 5, :y => 2.5 , :radius => v*10, :content =>{:color => colors[v]}
42
+ # end
43
+ #
44
+ #link:images/circle06.png
45
+ # d=Document.new
46
+ # d.circle :x => 5, :y => 2.5 , :ang1 => 90, :radius => 50, :content => {:fill => false }
47
+ #
48
+ #link:images/circle07.png
49
+ #
50
+ # d=Document.new
51
+ # d.circle :x => 5, :y => 2.5 , :ang2 => 90, :radius => 50, :content => {:fill => false }
52
+ #
53
+ #link:images/circle08.png
54
+ #
55
+ # d=Document.new
56
+ # d.circle :x => 5, :y => 2.5 , :ang2 => 90, :radius => 50, :content =>{:color => :green}
57
+ #
58
+ #link:images/circle09.png
59
+ #
60
+ # d=Document.new
61
+ # d.circle :x => 5, :y => 2.5 , :ang2 => 90, :use => :arcn, :radius => 50, :content =>{:color => :green}
62
+ #
63
+ #link:images/circle10.png
64
+ #
65
+ #===Examples using Circle class
66
+ # d=Document.new
67
+ # d.scale(3,1)
68
+ # d.set Circle.new(:x => 1.5, :y => 1.5 , :ang2 => 180, :radius => 25)
69
+ #
70
+ #link:images/circle11.png
71
+ class RGhost::Circle < RGhost::PsObject
72
+ DEFAULT_OPTIONS={
73
+ :x => :limit_left,
74
+ :y=> :current_row,
75
+ :radius => 50,
76
+ :ang1 => 0,
77
+ :ang2 => 360 ,
78
+ :use => :arc,
79
+ :content => RGhost::ShapeContent::DEFAULT_OPTIONS,
80
+ :border => RGhost::Border::DEFAULT_OPTIONS
81
+ }
82
+
83
+ def initialize(options={})
84
+ super(''){}
85
+ @options=DEFAULT_OPTIONS.dup.merge(options)
86
+ end
87
+
88
+ def ps
89
+
90
+ x,y= RGhost::Units::parse(@options[:x]), RGhost::Units::parse(@options[:y]) #with parse
91
+
92
+ graph=RGhost::Graphic.new
93
+ graph.raw :newpath
94
+ graph.set RGhost::Border.new(@options[:border]) if @options[:border]
95
+ graph.raw "#{x} #{y} #{@options[:radius]} #{@options[:ang1]} #{@options[:ang2]} #{@options[:use]} "
96
+ graph.set RGhost::ShapeContent.new(@options[:content]) if @options[:content]
97
+ graph.raw :stroke
98
+ graph
99
+
100
+ end
101
+
102
+ end
data/lib/rghost/color.rb CHANGED
@@ -2,38 +2,53 @@ require "ps_object"
2
2
  require "constants"
3
3
  require "ruby_to_ps" #array_to_stack
4
4
 
5
- #Prototype de Colores
6
- #Os valores no intevalo de 0.0 a 1.0 se o valor for maior que 1 ser� dividido por 100.
7
- class Color < PsObject
5
+ #Creates color for postscript components
6
+ class RGhost::Color < RGhost::PsObject
8
7
 
9
- include RubyToPs
10
- #Cria uma cor RGB ou CMYK ou Gray dependendo do tipo do valor de entrada(factory).
11
- # Para o tipo
12
- # String => RGB valor em Hexa color='#FFAA33'
13
- # Array => CMYK com 4 elementos color=[0.5, 0, 0, 1]
14
- # Array => RGB com 3 elementos color=[0.5, 0, 0]
15
- # Hash => CMYK - color={:cyan=> 1 ,:magenta => 0, :yellow => 0, :black => 0}
16
- # Hash => RGB - color={:red => 0, :green => 0, :blue => 0}
17
- # Numeric => Gray - color=0.5
18
- #Exemplos:
19
- # Color.create("#03D5F2") #RGB
20
- # Color.create([0.3, 0.4, 0.2, 0.9]) #CMYK
21
- # Color.create(0.9) #Gray
22
- def Color.create(color='#000000')
8
+ include RGhost::RubyToPs
9
+ #The method create is a color factory depends when parameter is used. The parameter variate between 0 and 1, if value greatet that 1 will be divided by 100.0 .
10
+ #===Examples
11
+ #====Creating RGB color
12
+ #String HTML color converter
13
+ # Color.create '#FFAA33'
14
+ #As Symbol will be find in RGhost::Constants::Colors::RGB
15
+ # Color.create :red
16
+ #As Array with 3 elements
17
+ # Color.create [0.5, 0.3, 0.5]
18
+ #Hash with 3 pair of key/value. Valids keys :red, :green and :blue
19
+ # Color.create :red => 0.5, :green => 0.3, :blue => 0.5
20
+ #Hash with 3 pair of key/value. Valids keys :r, :g and :b
21
+ # Color.create :r => 0.5, :g => 0.3, :b => 0.5
22
+ #====Creating CMYK color
23
+ #Hash with 4 pair of key/value. Valids keys :cyan, :magenta, :yellow and :black
24
+ # Color.create :cyan=> 1 ,:magenta => 0.3, :yellow => 0, :black => 0
25
+ #Hash with 4 pair of key/value. Valids keys :c, :m, :y and :b
26
+ # Color.create :c=> 1 ,:m => 0.3, :y => 0, :b => 0
27
+ #====Creating Gray color
28
+ #A single Numeric
29
+ # Color.create 0.5
30
+ #50 percent of black will be divided by 100.0
31
+ # Color.create 50
32
+ def self.create(color="FFAA99")
23
33
 
24
34
  return case color
25
- when String: RGB.new(color)
26
- when Array, Hash:
35
+ when String: RGhost::RGB.new(color)
36
+ when Symbol:
37
+ c=RGhost::Constants::Colors::RGB[color]
38
+ raise ArgumentError.new("#{color}##{color.class}") unless c
39
+ self.create c
40
+
41
+ when Array, Hash:
27
42
  if color.size == 3
28
- RGB.new(color)
29
- elsif color.size == 4
30
- CMYK.new(color)
31
- else
32
- raise ArgumentError.new
33
- end
34
- when Numeric: Gray.new(color)
43
+ RGhost::RGB.new(color)
44
+ elsif color.size == 4
45
+ RGhost::CMYK.new(color)
35
46
  else
36
- raise ArgumentError.new
47
+ raise ArgumentError.new("#{color}##{color.class}")
48
+ end
49
+ when Numeric: RGhost::Gray.new(color)
50
+ else
51
+ raise ArgumentError.new("#{color}##{color.class}")
37
52
  end
38
53
 
39
54
  end
@@ -41,18 +56,21 @@ class Color < PsObject
41
56
 
42
57
  end
43
58
 
44
- #Espa�o de cor RGB
45
- class RGB < Color
59
+ #Creates RGB color
60
+ class RGhost::RGB < RGhost::Color
46
61
  attr_accessor :red, :green, :blue
47
- CONSTANTS=Constants::Colors::RGB
62
+ CONSTANTS=RGhost::Constants::Colors::RGB
48
63
  DEFAULT_RGB={:red => 0, :green => 0, :blue => 0}
49
- #Nova inst�ncia de RGB
50
- #Por sequ�ncia de parametros
51
- # RGB.new(0.5,1,0)
52
- # #ou Hash
53
- # RGB.new(:red => 0.5, :green => 1, :blue => 0)
54
- # #ou String
55
- # RGB.new('#F0FF00')
64
+ #String HTML color converter
65
+ # Color.create '#FFAA33'
66
+ #As Symbol will be find in RGhost::Constants::Colors::RGB
67
+ # Color.create :red
68
+ #As Array with 3 elements
69
+ # Color.create [0.5, 0.3, 0.5]
70
+ #Hash with 3 pair of key/value. Valids keys :red, :green and :blue
71
+ # Color.create :red => 0.5, :green => 0.3, :blue => 0.5
72
+ #Hash with 3 pair of key/value. Valids keys :r, :g and :b
73
+ # Color.create :r => 0.5, :g => 0.3, :b => 0.5
56
74
  def initialize(color_or_red=nil,green=nil,blue=nil)
57
75
  @color=color_or_red
58
76
  @color=[color_or_red.to_f,green.to_f,blue.to_f] if color_or_red.is_a? Numeric
@@ -63,11 +81,12 @@ class RGB < Color
63
81
  def ps
64
82
 
65
83
  value=case @color
66
- when Hash: [@color[:red],@color[:green],@color[:blue]]
67
- when Array: @color
68
- when String: hex_to_rgb(@color)
69
- when NilClass: [0,0,1]
84
+ when Hash: [@color[:red] || @color[:r],@color[:green] || @color[:g],@color[:blue] || @color[:b]]
85
+ when Array: @color
86
+ when String: hex_to_rgb(@color)
87
+ when NilClass: [0,0,1]
70
88
  end
89
+
71
90
  array_to_stack(value.map{|n| n > 1 ? n/100.0: n})+"setrgbcolor"
72
91
  end
73
92
 
@@ -80,12 +99,15 @@ class RGB < Color
80
99
 
81
100
  end
82
101
 
83
- #Espa�o de cor CMYK
84
- class CMYK < Color
85
- attr_accessor :cyan ,:magenta, :yellow, :black
86
- CONSTANTS=Constants::Colors::CMYK
87
- #Nova inst�ncia de CMYK
88
- # CMYK.new(:cyan=> 1 ,:magenta => 0, :yellow => 0, :black => 0)
102
+ #Creates CMYK color space
103
+ class RGhost::CMYK < RGhost::Color
104
+ attr_accessor :cyan ,:magenta, :yellow, :black
105
+ CONSTANTS=RGhost::Constants::Colors::CMYK
106
+
107
+ #Hash with 4 pair of key/value. Valids keys :cyan, :magenta, :yellow and :black
108
+ # Color.create :cyan=> 1 ,:magenta => 0.3, :yellow => 0, :black => 0
109
+ #Hash with 4 pair of key/value. Valids keys :c, :m, :y and :b
110
+ # Color.create :c=> 1 ,:m => 0.3, :y => 0, :b => 0
89
111
  def initialize(color={:cyan=> 1 ,:magenta => 0, :yellow => 0, :black => 0})
90
112
  @color=color
91
113
  end
@@ -93,25 +115,28 @@ class CMYK < Color
93
115
  def ps
94
116
 
95
117
  value=case @color
96
- when Hash: [@color[:cyan],@color[:magenta],@color[:yellow],@color[:black]]
97
- when Array: @color
118
+ when Hash: [@color[:cyan] || @color[:c],@color[:magenta] || @color[:m],@color[:yellow] || @color[:y],@color[:black] || @color[:k]]
119
+ when Array: @color
98
120
  end
99
121
  array_to_stack(value.map{|n| n > 1 ? n/100.0: n})+"setcmykcolor"
100
122
 
101
123
  end
102
124
 
103
125
  end
104
- #Espa�o de cor Gray
105
- class Gray < Color
126
+ #Creates Gray color
127
+ class RGhost::Gray < RGhost::Color
106
128
  attr_accessor :gray
107
- #Nova inst�ncia de Gray
108
- # Gray.new(0.7)
129
+
130
+ #A single Numeric
131
+ # Color.create 0.5
132
+ #50 percent of black will be divided by 100.0
133
+ # Color.create 50
109
134
  def initialize(gray=0.8)
110
- @gray=gray
135
+ @gray=gray
111
136
  end
112
137
 
113
- def ps
114
- @gray = @gray/100.0 if @gray > 1
138
+ def ps #:nodoc:
139
+ @gray = @gray/100.0 if @gray > 1
115
140
  "#{@gray} setgray"
116
141
  end
117
142