rghost 0.7.4 → 0.8

Sign up to get free protection for your applications and to get access to all the features.
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