pango 3.1.1-x64-mingw32 → 3.1.2-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (306) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +27 -5
  3. data/ext/pango/depend +2 -2
  4. data/ext/pango/extconf.rb +32 -28
  5. data/ext/pango/pango.def +0 -16
  6. data/ext/pango/rb-pango-attr-list.c +64 -0
  7. data/ext/pango/rb-pango-attribute.c +147 -0
  8. data/ext/pango/rb-pango-context.c +79 -0
  9. data/ext/pango/{rbpangoconversions.h → rb-pango-conversions.h} +4 -6
  10. data/ext/pango/rb-pango-private.h +27 -0
  11. data/ext/pango/rb-pango.c +32 -0
  12. data/ext/pango/rb-pango.h +29 -0
  13. data/extconf.rb +25 -9
  14. data/lib/2.2/pango.so +0 -0
  15. data/lib/2.3/pango.so +0 -0
  16. data/lib/2.4/pango.so +0 -0
  17. data/lib/pango.rb +24 -68
  18. data/lib/pango/cairo-loader.rb +63 -0
  19. data/lib/pango/color.rb +31 -0
  20. data/lib/pango/deprecated.rb +37 -0
  21. data/lib/pango/font-description.rb +29 -0
  22. data/lib/pango/language.rb +29 -0
  23. data/lib/pango/layout.rb +41 -0
  24. data/lib/pango/loader.rb +87 -0
  25. data/lib/pango/markup.rb +31 -0
  26. data/lib/pango/matrix.rb +64 -0
  27. data/lib/pango/rectangle.rb +28 -0
  28. data/lib/pango/version.rb +30 -0
  29. data/test/pango-test-utils.rb +7 -7
  30. data/test/run-test.rb +34 -8
  31. data/test/test-attr-list.rb +28 -0
  32. data/test/test-color.rb +1 -3
  33. data/test/test-context.rb +4 -4
  34. data/test/test-enum.rb +37 -0
  35. data/test/test-font-description.rb +31 -0
  36. data/test/test-language.rb +2 -1
  37. data/test/test-layout.rb +12 -0
  38. data/test/test-markup.rb +30 -0
  39. data/test/test-matrix.rb +131 -5
  40. data/test/test-rectangle.rb +16 -3
  41. data/vendor/local/bin/derb.exe +0 -0
  42. data/vendor/local/bin/genbrk.exe +0 -0
  43. data/vendor/local/bin/genccode.exe +0 -0
  44. data/vendor/local/bin/gencfu.exe +0 -0
  45. data/vendor/local/bin/gencmn.exe +0 -0
  46. data/vendor/local/bin/gencnval.exe +0 -0
  47. data/vendor/local/bin/gendict.exe +0 -0
  48. data/vendor/local/bin/gennorm2.exe +0 -0
  49. data/vendor/local/bin/genrb.exe +0 -0
  50. data/vendor/local/bin/gensprep.exe +0 -0
  51. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  52. data/vendor/local/bin/hb-shape.exe +0 -0
  53. data/vendor/local/bin/hb-view.exe +0 -0
  54. data/vendor/local/bin/icuinfo.exe +0 -0
  55. data/vendor/local/bin/icupkg.exe +0 -0
  56. data/vendor/local/bin/libgraphene-1.0-0.dll +0 -0
  57. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  58. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  59. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  60. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  61. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  62. data/vendor/local/bin/makeconv.exe +0 -0
  63. data/vendor/local/bin/pango-view.exe +0 -0
  64. data/vendor/local/bin/pkgdata.exe +0 -0
  65. data/vendor/local/bin/uconv.exe +0 -0
  66. data/vendor/local/include/graphene-1.0/graphene-box.h +148 -0
  67. data/vendor/local/include/graphene-1.0/graphene-euler.h +140 -0
  68. data/vendor/local/include/graphene-1.0/graphene-frustum.h +93 -0
  69. data/vendor/local/include/graphene-1.0/graphene-gobject.h +119 -0
  70. data/vendor/local/include/graphene-1.0/graphene-macros.h +105 -0
  71. data/vendor/local/include/graphene-1.0/graphene-matrix.h +288 -0
  72. data/vendor/local/include/graphene-1.0/graphene-plane.h +99 -0
  73. data/vendor/local/include/graphene-1.0/graphene-point.h +120 -0
  74. data/vendor/local/include/graphene-1.0/graphene-point3d.h +140 -0
  75. data/vendor/local/include/graphene-1.0/graphene-quad.h +80 -0
  76. data/vendor/local/include/graphene-1.0/graphene-quaternion.h +136 -0
  77. data/vendor/local/include/graphene-1.0/graphene-ray.h +98 -0
  78. data/vendor/local/include/graphene-1.0/graphene-rect.h +180 -0
  79. data/vendor/local/include/graphene-1.0/graphene-simd4f.h +1870 -0
  80. data/vendor/local/include/graphene-1.0/graphene-simd4x4f.h +1045 -0
  81. data/vendor/local/include/graphene-1.0/graphene-size.h +105 -0
  82. data/vendor/local/include/graphene-1.0/graphene-sphere.h +97 -0
  83. data/vendor/local/include/graphene-1.0/graphene-triangle.h +105 -0
  84. data/vendor/local/include/graphene-1.0/graphene-types.h +88 -0
  85. data/vendor/local/include/graphene-1.0/graphene-vec2.h +130 -0
  86. data/vendor/local/include/graphene-1.0/graphene-vec3.h +155 -0
  87. data/vendor/local/include/graphene-1.0/graphene-vec4.h +156 -0
  88. data/vendor/local/include/graphene-1.0/graphene-version-macros.h +185 -0
  89. data/vendor/local/include/graphene-1.0/graphene-version.h +70 -0
  90. data/vendor/local/include/graphene-1.0/graphene.h +61 -0
  91. data/vendor/local/include/harfbuzz/hb-common.h +36 -0
  92. data/vendor/local/include/harfbuzz/hb-font.h +18 -1
  93. data/vendor/local/include/harfbuzz/hb-ot-var.h +105 -0
  94. data/vendor/local/include/harfbuzz/hb-ot.h +1 -0
  95. data/vendor/local/include/harfbuzz/hb-shape.h +0 -16
  96. data/vendor/local/include/harfbuzz/hb-version.h +2 -2
  97. data/vendor/local/include/pango-1.0/pango/pango-engine.h +6 -6
  98. data/vendor/local/include/pango-1.0/pango/pango-features.h +2 -2
  99. data/vendor/local/include/pango-1.0/pango/pango-layout.h +1 -1
  100. data/vendor/local/lib/girepository-1.0/Graphene-1.0.typelib +0 -0
  101. data/vendor/local/lib/girepository-1.0/Pango-1.0.typelib +0 -0
  102. data/vendor/local/lib/graphene-1.0/include/graphene-config.h +89 -0
  103. data/vendor/local/lib/icudt.dll +0 -0
  104. data/vendor/local/lib/icudt58.dll +0 -0
  105. data/vendor/local/lib/icuin.dll +0 -0
  106. data/vendor/local/lib/icuin58.dll +0 -0
  107. data/vendor/local/lib/icuio.dll +0 -0
  108. data/vendor/local/lib/icuio58.dll +0 -0
  109. data/vendor/local/lib/icutest.dll +0 -0
  110. data/vendor/local/lib/icutest58.dll +0 -0
  111. data/vendor/local/lib/icutu.dll +0 -0
  112. data/vendor/local/lib/icutu58.dll +0 -0
  113. data/vendor/local/lib/icuuc.dll +0 -0
  114. data/vendor/local/lib/icuuc58.dll +0 -0
  115. data/vendor/local/lib/libgraphene-1.0.dll.a +0 -0
  116. data/vendor/local/lib/libgraphene-1.0.la +41 -0
  117. data/vendor/local/lib/libharfbuzz-icu.a +0 -0
  118. data/vendor/local/lib/libharfbuzz-icu.la +1 -1
  119. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  120. data/vendor/local/lib/libharfbuzz.la +1 -1
  121. data/vendor/local/lib/libicudt.dll.a +0 -0
  122. data/vendor/local/lib/libicuin.dll.a +0 -0
  123. data/vendor/local/lib/libicuio.dll.a +0 -0
  124. data/vendor/local/lib/libicutest.dll.a +0 -0
  125. data/vendor/local/lib/libicutu.dll.a +0 -0
  126. data/vendor/local/lib/libicuuc.dll.a +0 -0
  127. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  128. data/vendor/local/lib/libpango-1.0.la +1 -1
  129. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  130. data/vendor/local/lib/libpangocairo-1.0.la +1 -1
  131. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  132. data/vendor/local/lib/libpangoft2-1.0.la +1 -1
  133. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  134. data/vendor/local/lib/libpangowin32-1.0.la +1 -1
  135. data/vendor/local/lib/pkgconfig/graphene-1.0.pc +15 -0
  136. data/vendor/local/lib/pkgconfig/graphene-gobject-1.0.pc +15 -0
  137. data/vendor/local/lib/pkgconfig/harfbuzz-icu.pc +1 -1
  138. data/vendor/local/lib/pkgconfig/harfbuzz.pc +1 -1
  139. data/vendor/local/lib/pkgconfig/pango.pc +1 -1
  140. data/vendor/local/lib/pkgconfig/pangocairo.pc +1 -1
  141. data/vendor/local/lib/pkgconfig/pangoft2.pc +1 -1
  142. data/vendor/local/lib/pkgconfig/pangowin32.pc +1 -1
  143. data/vendor/local/share/gir-1.0/Graphene-1.0.gir +8180 -0
  144. data/vendor/local/share/gir-1.0/Pango-1.0.gir +12 -16
  145. data/vendor/local/share/gtk-doc/html/graphene/annotation-glossary.html +57 -0
  146. data/vendor/local/share/gtk-doc/html/graphene/api-index.html +1985 -0
  147. data/vendor/local/share/gtk-doc/html/graphene/ch01.html +97 -0
  148. data/vendor/local/share/gtk-doc/html/graphene/deprecated-api-index.html +34 -0
  149. data/vendor/local/share/gtk-doc/html/graphene/graphene-Box.html +1252 -0
  150. data/vendor/local/share/gtk-doc/html/graphene/graphene-Euler.html +886 -0
  151. data/vendor/local/share/gtk-doc/html/graphene/graphene-Frustum.html +527 -0
  152. data/vendor/local/share/gtk-doc/html/graphene/graphene-GObject-integration.html +147 -0
  153. data/vendor/local/share/gtk-doc/html/graphene/graphene-Matrix.html +2959 -0
  154. data/vendor/local/share/gtk-doc/html/graphene/graphene-Plane.html +641 -0
  155. data/vendor/local/share/gtk-doc/html/graphene/graphene-Point.html +689 -0
  156. data/vendor/local/share/gtk-doc/html/graphene/graphene-Point3D.html +916 -0
  157. data/vendor/local/share/gtk-doc/html/graphene/graphene-Quad.html +418 -0
  158. data/vendor/local/share/gtk-doc/html/graphene/graphene-Quaternion.html +1056 -0
  159. data/vendor/local/share/gtk-doc/html/graphene/graphene-Ray.html +596 -0
  160. data/vendor/local/share/gtk-doc/html/graphene/graphene-Rectangle.html +1483 -0
  161. data/vendor/local/share/gtk-doc/html/graphene/graphene-SIMD-matrix.html +1475 -0
  162. data/vendor/local/share/gtk-doc/html/graphene/graphene-SIMD-vector.html +3046 -0
  163. data/vendor/local/share/gtk-doc/html/graphene/graphene-Size.html +489 -0
  164. data/vendor/local/share/gtk-doc/html/graphene/graphene-Sphere.html +641 -0
  165. data/vendor/local/share/gtk-doc/html/graphene/graphene-Triangle.html +705 -0
  166. data/vendor/local/share/gtk-doc/html/graphene/graphene-Vectors.html +3715 -0
  167. data/vendor/local/share/gtk-doc/html/graphene/graphene-Versioning-information.html +104 -0
  168. data/vendor/local/share/gtk-doc/html/graphene/graphene.devhelp2 +534 -0
  169. data/vendor/local/share/gtk-doc/html/graphene/home.png +0 -0
  170. data/vendor/local/share/gtk-doc/html/graphene/index.html +107 -0
  171. data/vendor/local/share/gtk-doc/html/graphene/ix03.html +1313 -0
  172. data/vendor/local/share/gtk-doc/html/graphene/ix04.html +582 -0
  173. data/vendor/local/share/gtk-doc/html/graphene/ix05.html +151 -0
  174. data/vendor/local/share/gtk-doc/html/graphene/ix06.html +34 -0
  175. data/vendor/local/share/gtk-doc/html/graphene/left-insensitive.png +0 -0
  176. data/vendor/local/share/gtk-doc/html/graphene/left.png +0 -0
  177. data/vendor/local/share/gtk-doc/html/{pango/api-index-1-40.html → graphene/object-tree.html} +14 -11
  178. data/vendor/local/share/gtk-doc/html/graphene/rectangle-intersection.png +0 -0
  179. data/vendor/local/share/gtk-doc/html/graphene/rectangle-union.png +0 -0
  180. data/vendor/local/share/gtk-doc/html/graphene/rectangle.png +0 -0
  181. data/vendor/local/share/gtk-doc/html/graphene/right-insensitive.png +0 -0
  182. data/vendor/local/share/gtk-doc/html/graphene/right.png +0 -0
  183. data/vendor/local/share/gtk-doc/html/graphene/style.css +479 -0
  184. data/vendor/local/share/gtk-doc/html/graphene/triangle-barycentric.png +0 -0
  185. data/vendor/local/share/gtk-doc/html/graphene/up-insensitive.png +0 -0
  186. data/vendor/local/share/gtk-doc/html/graphene/up.png +0 -0
  187. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-1-2-3.html +2 -2
  188. data/vendor/local/share/gtk-doc/html/harfbuzz/{api-index-1-4-0.html → api-index-1-3-3.html} +2 -2
  189. data/vendor/local/share/gtk-doc/html/harfbuzz/api-index-full.html +104 -0
  190. data/vendor/local/share/gtk-doc/html/harfbuzz/deprecated-api-index.html +9 -2
  191. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-Shaping.html +1 -1
  192. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-font.html +156 -40
  193. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-gobject.html +73 -0
  194. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-graphite2.html +1 -0
  195. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-layout.html +49 -0
  196. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-ot-math.html +174 -177
  197. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-shape-plan.html +40 -0
  198. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz-hb-version.html +2 -2
  199. data/vendor/local/share/gtk-doc/html/harfbuzz/harfbuzz.devhelp2 +28 -10
  200. data/vendor/local/share/gtk-doc/html/harfbuzz/index.html +1 -1
  201. data/vendor/local/share/gtk-doc/html/harfbuzz/pt02.html +2 -2
  202. data/vendor/local/share/gtk-doc/html/pango/PangoEngineLang.html +2 -2
  203. data/vendor/local/share/gtk-doc/html/pango/PangoEngineShape.html +2 -2
  204. data/vendor/local/share/gtk-doc/html/pango/PangoFcDecoder.html +1 -1
  205. data/vendor/local/share/gtk-doc/html/pango/PangoFcFont.html +1 -1
  206. data/vendor/local/share/gtk-doc/html/pango/PangoFcFontMap.html +3 -3
  207. data/vendor/local/share/gtk-doc/html/pango/PangoMarkupFormat.html +1 -1
  208. data/vendor/local/share/gtk-doc/html/pango/PangoRenderer.html +2 -2
  209. data/vendor/local/share/gtk-doc/html/pango/annotation-glossary.html +1 -1
  210. data/vendor/local/share/gtk-doc/html/pango/api-index-full.html +1 -1
  211. data/vendor/local/share/gtk-doc/html/pango/index.html +2 -23
  212. data/vendor/local/share/gtk-doc/html/pango/lowlevel.html +1 -1
  213. data/vendor/local/share/gtk-doc/html/pango/pango-Bidirectional-Text.html +1 -1
  214. data/vendor/local/share/gtk-doc/html/pango/pango-Cairo-Rendering.html +69 -69
  215. data/vendor/local/share/gtk-doc/html/pango/pango-CoreText-Fonts.html +1 -1
  216. data/vendor/local/share/gtk-doc/html/pango/pango-Coverage-Maps.html +1 -1
  217. data/vendor/local/share/gtk-doc/html/pango/pango-Engines.html +5 -1
  218. data/vendor/local/share/gtk-doc/html/pango/pango-Fonts.html +5 -4
  219. data/vendor/local/share/gtk-doc/html/pango/pango-FreeType-Fonts-and-Rendering.html +8 -4
  220. data/vendor/local/share/gtk-doc/html/pango/pango-Glyph-Storage.html +3 -3
  221. data/vendor/local/share/gtk-doc/html/pango/pango-Layout-Objects.html +4 -4
  222. data/vendor/local/share/gtk-doc/html/pango/pango-Miscellaneous-Utilities.html +1 -1
  223. data/vendor/local/share/gtk-doc/html/pango/pango-Modules.html +3 -1
  224. data/vendor/local/share/gtk-doc/html/pango/pango-OpenType-Font-Handling.html +1 -1
  225. data/vendor/local/share/gtk-doc/html/pango/pango-Scripts-and-Languages.html +3 -3
  226. data/vendor/local/share/gtk-doc/html/pango/pango-Tab-Stops.html +1 -1
  227. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Attributes.html +1 -1
  228. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Processing.html +3 -3
  229. data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +3 -3
  230. data/vendor/local/share/gtk-doc/html/pango/pango-Vertical-Text.html +1 -1
  231. data/vendor/local/share/gtk-doc/html/pango/pango-Win32-Fonts-and-Rendering.html +3 -3
  232. data/vendor/local/share/gtk-doc/html/pango/pango-Xft-Fonts-and-Rendering.html +1 -1
  233. data/vendor/local/share/gtk-doc/html/pango/pango-hierarchy.html +1 -1
  234. data/vendor/local/share/gtk-doc/html/pango/pango.html +1 -1
  235. data/vendor/local/share/gtk-doc/html/pango/rendering.html +1 -1
  236. data/vendor/local/share/man/man1/pango-view.1 +2 -2
  237. metadata +119 -78
  238. data/README +0 -32
  239. data/ext/pango/rbpango.c +0 -356
  240. data/ext/pango/rbpango.h +0 -95
  241. data/ext/pango/rbpangoanalysis.c +0 -218
  242. data/ext/pango/rbpangoattribute.c +0 -506
  243. data/ext/pango/rbpangoattriterator.c +0 -141
  244. data/ext/pango/rbpangoattrlist.c +0 -101
  245. data/ext/pango/rbpangocairo.c +0 -122
  246. data/ext/pango/rbpangocairocontext.c +0 -131
  247. data/ext/pango/rbpangocolor.c +0 -120
  248. data/ext/pango/rbpangocontext.c +0 -344
  249. data/ext/pango/rbpangocoverage.c +0 -106
  250. data/ext/pango/rbpangoengine.c +0 -73
  251. data/ext/pango/rbpangofont.c +0 -110
  252. data/ext/pango/rbpangofontdescription.c +0 -282
  253. data/ext/pango/rbpangofontface.c +0 -73
  254. data/ext/pango/rbpangofontfamily.c +0 -79
  255. data/ext/pango/rbpangofontmap.c +0 -102
  256. data/ext/pango/rbpangofontmetrics.c +0 -85
  257. data/ext/pango/rbpangofontset.c +0 -69
  258. data/ext/pango/rbpangofontsetsimple.c +0 -60
  259. data/ext/pango/rbpangoglyphinfo.c +0 -123
  260. data/ext/pango/rbpangoglyphitem.c +0 -125
  261. data/ext/pango/rbpangoglyphstring.c +0 -151
  262. data/ext/pango/rbpangogravity.c +0 -54
  263. data/ext/pango/rbpangoitem.c +0 -95
  264. data/ext/pango/rbpangolanguage.c +0 -94
  265. data/ext/pango/rbpangolayout.c +0 -583
  266. data/ext/pango/rbpangolayoutiter.c +0 -189
  267. data/ext/pango/rbpangolayoutline.c +0 -243
  268. data/ext/pango/rbpangologattr.c +0 -109
  269. data/ext/pango/rbpangomatrix.c +0 -143
  270. data/ext/pango/rbpangoprivate.h +0 -49
  271. data/ext/pango/rbpangorectangle.c +0 -170
  272. data/ext/pango/rbpangorenderer.c +0 -193
  273. data/ext/pango/rbpangoscript.c +0 -84
  274. data/ext/pango/rbpangoscriptiter.c +0 -92
  275. data/ext/pango/rbpangotabarray.c +0 -128
  276. data/sample/attribute.rb +0 -82
  277. data/sample/break.rb +0 -28
  278. data/sample/gdk_layout.rb +0 -27
  279. data/sample/glyphstring.rb +0 -61
  280. data/sample/item.rb +0 -37
  281. data/sample/label.rb +0 -23
  282. data/sample/layout.rb +0 -102
  283. data/sample/pango_cairo.rb +0 -66
  284. data/sample/parse.rb +0 -33
  285. data/sample/sample.txt +0 -10
  286. data/sample/script.rb +0 -23
  287. data/vendor/local/share/gtk-doc/html/pango/api-index-1-10.html +0 -134
  288. data/vendor/local/share/gtk-doc/html/pango/api-index-1-12.html +0 -48
  289. data/vendor/local/share/gtk-doc/html/pango/api-index-1-14.html +0 -63
  290. data/vendor/local/share/gtk-doc/html/pango/api-index-1-16.html +0 -227
  291. data/vendor/local/share/gtk-doc/html/pango/api-index-1-18.html +0 -151
  292. data/vendor/local/share/gtk-doc/html/pango/api-index-1-2.html +0 -121
  293. data/vendor/local/share/gtk-doc/html/pango/api-index-1-20.html +0 -86
  294. data/vendor/local/share/gtk-doc/html/pango/api-index-1-22.html +0 -123
  295. data/vendor/local/share/gtk-doc/html/pango/api-index-1-24.html +0 -96
  296. data/vendor/local/share/gtk-doc/html/pango/api-index-1-26.html +0 -45
  297. data/vendor/local/share/gtk-doc/html/pango/api-index-1-30.html +0 -38
  298. data/vendor/local/share/gtk-doc/html/pango/api-index-1-31-0.html +0 -38
  299. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32-4.html +0 -52
  300. data/vendor/local/share/gtk-doc/html/pango/api-index-1-32.html +0 -41
  301. data/vendor/local/share/gtk-doc/html/pango/api-index-1-34.html +0 -38
  302. data/vendor/local/share/gtk-doc/html/pango/api-index-1-38.html +0 -79
  303. data/vendor/local/share/gtk-doc/html/pango/api-index-1-4.html +0 -200
  304. data/vendor/local/share/gtk-doc/html/pango/api-index-1-6.html +0 -164
  305. data/vendor/local/share/gtk-doc/html/pango/api-index-1-8.html +0 -170
  306. data/vendor/local/share/gtk-doc/html/pango/api-index-deprecated.html +0 -441
@@ -1,218 +0,0 @@
1
- /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /*
3
- * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
- * Copyright (C) 2003-2005 Masao Mutoh
5
- *
6
- * This library is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Lesser General Public
8
- * License as published by the Free Software Foundation; either
9
- * version 2.1 of the License, or (at your option) any later version.
10
- *
11
- * This library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
- * Lesser General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library; if not, write to the Free Software
18
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
- * MA 02110-1301 USA
20
- */
21
-
22
- #include "rbpangoprivate.h"
23
-
24
- #define RG_TARGET_NAMESPACE cAnalysis
25
- #define _SELF(s) (RVAL2PANGOANALYSIS(s))
26
-
27
- /**********************************/
28
- static PangoAnalysis*
29
- ana_copy(const PangoAnalysis* val)
30
- {
31
- PangoAnalysis* new_val;
32
- g_return_val_if_fail (val != NULL, NULL);
33
- new_val = g_new(PangoAnalysis, 1);
34
- *new_val = *val;
35
- return new_val;
36
- }
37
-
38
- GType
39
- pango_analysis_get_type(void)
40
- {
41
- static GType our_type = 0;
42
-
43
- if (our_type == 0)
44
- our_type = g_boxed_type_register_static ("PangoAnalysis",
45
- (GBoxedCopyFunc)ana_copy,
46
- (GBoxedFreeFunc)g_free);
47
- return our_type;
48
- }
49
- /**********************************/
50
-
51
- static VALUE
52
- rg_initialize(VALUE self)
53
- {
54
- PangoAnalysis analysis = { NULL, NULL, NULL, 0, 0, 0, 0, NULL, NULL };
55
- G_INITIALIZE(self, g_boxed_copy(PANGO_TYPE_ANALYSIS, &analysis));
56
- return Qnil;
57
- }
58
-
59
- static VALUE
60
- rg_set_shape_engine(VALUE self, VALUE engine)
61
- {
62
- _SELF(self)->shape_engine = RVAL2PANGOENGINESHAPE(engine);
63
- return self;
64
- }
65
- static VALUE
66
- rg_shape_engine(VALUE self)
67
- {
68
- VALUE ret;
69
- if (_SELF(self)->shape_engine){
70
- const gchar* gname = G_OBJECT_TYPE_NAME(_SELF(self)->shape_engine);
71
- gchar* name = g_strdup(gname);
72
- name[0] = g_ascii_toupper(name[0]);
73
- G_DEF_CLASS3(gname, name, mPango);
74
- ret = GOBJ2RVAL(_SELF(self)->shape_engine);
75
- } else {
76
- ret = Qnil;
77
- }
78
- return ret;
79
- }
80
-
81
- static VALUE
82
- rg_set_lang_engine(VALUE self, VALUE engine)
83
- {
84
- _SELF(self)->lang_engine = RVAL2PANGOENGINELANG(engine);
85
- return self;
86
- }
87
- static VALUE
88
- rg_lang_engine(VALUE self)
89
- {
90
- VALUE ret;
91
- if (_SELF(self)->lang_engine){
92
- const gchar* gname = G_OBJECT_TYPE_NAME(_SELF(self)->lang_engine);
93
- gchar* name = g_strdup(gname);
94
- name[0] = g_ascii_toupper(name[0]);
95
- G_DEF_CLASS3(name, name, mPango);
96
- ret = GOBJ2RVAL(_SELF(self)->lang_engine);
97
- } else {
98
- ret = Qnil;
99
- }
100
- return ret;
101
- }
102
-
103
- static VALUE
104
- rg_set_font(VALUE self, VALUE font)
105
- {
106
- _SELF(self)->font = RVAL2PANGOFONT(font);
107
- return self;
108
- }
109
-
110
- static VALUE
111
- rg_font(VALUE self)
112
- {
113
- return GOBJ2RVAL(_SELF(self)->font);
114
- }
115
-
116
- static VALUE
117
- rg_set_level(VALUE self, VALUE level)
118
- {
119
- _SELF(self)->level = NUM2UINT(level);
120
- return self;
121
- }
122
-
123
- static VALUE
124
- rg_level(VALUE self)
125
- {
126
- return UINT2NUM(_SELF(self)->level);
127
- }
128
-
129
- static VALUE
130
- rg_set_language(VALUE self, VALUE lang)
131
- {
132
- _SELF(self)->language = RVAL2PANGOLANGUAGE(lang);
133
- return self;
134
- }
135
-
136
- static VALUE
137
- rg_language(VALUE self)
138
- {
139
- return PANGOLANGUAGE2RVAL(_SELF(self)->language);
140
- }
141
-
142
- struct ana_set_extra_attrs_args {
143
- PangoAnalysis *analysis;
144
- VALUE ary;
145
- long n;
146
- GSList *result;
147
- };
148
-
149
- static VALUE
150
- ana_set_extra_attrs_body(VALUE value)
151
- {
152
- struct ana_set_extra_attrs_args *args = (struct ana_set_extra_attrs_args *)value;
153
- long i;
154
-
155
- for (i = 0; i < args->n; i++)
156
- args->result = g_slist_append(args->result, RVAL2ATTR(RARRAY_PTR(args->ary)[i]));
157
-
158
- args->analysis->extra_attrs = args->result;
159
-
160
- return Qnil;
161
- }
162
-
163
- static G_GNUC_NORETURN VALUE
164
- ana_set_extra_attrs_rescue(VALUE value)
165
- {
166
- g_slist_free(((struct ana_set_extra_attrs_args *)value)->result);
167
-
168
- rb_exc_raise(rb_errinfo());
169
- }
170
-
171
- static VALUE
172
- rg_set_extra_attrs(VALUE self, VALUE attrs)
173
- {
174
- struct ana_set_extra_attrs_args args;
175
- args.analysis = _SELF(self);
176
- args.ary = rb_ary_to_ary(attrs);
177
- args.n = RARRAY_LEN(args.ary);
178
- args.result = NULL;
179
-
180
- rb_rescue(ana_set_extra_attrs_body, (VALUE)&args,
181
- ana_set_extra_attrs_rescue, (VALUE)&args);
182
-
183
- return self;
184
- }
185
-
186
- static VALUE
187
- rg_extra_attrs(VALUE self)
188
- {
189
- VALUE ary = rb_ary_new();
190
- GSList* list = _SELF(self)->extra_attrs;
191
-
192
- while (list) {
193
- rb_ary_push(ary, ATTR2RVAL(list->data));
194
- list = list->next;
195
- }
196
- return ary;
197
- }
198
-
199
- void
200
- Init_pango_analysis(VALUE mPango)
201
- {
202
- VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_ANALYSIS, "Analysis", mPango);
203
-
204
- RG_DEF_METHOD(initialize, 0);
205
- RG_DEF_METHOD(set_shape_engine, 1);
206
- RG_DEF_METHOD(shape_engine, 0);
207
- RG_DEF_METHOD(set_lang_engine, 1);
208
- RG_DEF_METHOD(lang_engine, 0);
209
- RG_DEF_METHOD(set_font, 1);
210
- RG_DEF_METHOD(font, 0);
211
- RG_DEF_METHOD(set_level, 1);
212
- RG_DEF_METHOD(level, 0);
213
- RG_DEF_METHOD(set_language, 1);
214
- RG_DEF_METHOD(language, 0);
215
-
216
- RG_DEF_METHOD(set_extra_attrs, 1);
217
- RG_DEF_METHOD(extra_attrs, 0);
218
- }
@@ -1,506 +0,0 @@
1
- /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /*
3
- * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
- * Copyright (C) 2002-2005 Masao Mutoh
5
- *
6
- * This library is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Lesser General Public
8
- * License as published by the Free Software Foundation; either
9
- * version 2.1 of the License, or (at your option) any later version.
10
- *
11
- * This library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
- * Lesser General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library; if not, write to the Free Software
18
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
- * MA 02110-1301 USA
20
- */
21
-
22
- #include "rbpangoprivate.h"
23
-
24
- #define RG_TARGET_NAMESPACE pattr
25
-
26
- VALUE RG_TARGET_NAMESPACE, attrstring, pattrint, pattrfloat, pattrcolor, pattrbool;
27
- static VALUE type_to_klass;
28
-
29
- /***********************************************/
30
- void
31
- pango_add_attribute(int attr_type, VALUE klass)
32
- {
33
- rb_hash_aset(type_to_klass, INT2FIX(attr_type), klass);
34
- }
35
-
36
- /* This is for Attributes which has PangoAttrType. */
37
- VALUE
38
- pango_get_attribute_klass(VALUE attr_type)
39
- {
40
- VALUE type = Qnil;
41
- if (TYPE(attr_type) == T_STRING){
42
- const char *strtype = RVAL2CSTR(attr_type);
43
- if (strcmp(strtype, "Attribute") == 0){
44
- type = RG_TARGET_NAMESPACE;
45
- } else if (strcmp(strtype, "AttrString") == 0){
46
- type = attrstring;
47
- } else if (strcmp(strtype, "AttrInt") == 0){
48
- type = pattrint;
49
- } else if (strcmp(strtype, "AttrFloat") == 0){
50
- type = pattrfloat;
51
- } else if (strcmp(strtype, "AttrColor") == 0){
52
- type = pattrcolor;
53
- } else if (strcmp(strtype, "AttrBool") == 0){
54
- type = pattrbool;
55
- }
56
- } else {
57
- type = rb_hash_aref(type_to_klass, INT2FIX(attr_type));
58
- }
59
- return type;
60
- }
61
-
62
- VALUE
63
- pango_make_attribute(PangoAttribute *attr)
64
- {
65
- if (attr == NULL) return Qnil;
66
- return Data_Wrap_Struct(rb_hash_aref(type_to_klass, INT2FIX(attr->klass->type)), 0,
67
- pango_attribute_destroy,
68
- pango_attribute_copy(attr));
69
- }
70
-
71
- PangoAttribute*
72
- pango_get_attribute(VALUE attr)
73
- {
74
- PangoAttribute *gattr;
75
-
76
- if (NIL_P(attr)) return NULL;
77
-
78
- if (!rb_obj_is_kind_of(attr, RG_TARGET_NAMESPACE)) {
79
- rb_raise(rb_eTypeError, "not a Pango::Attribute...");
80
- }
81
- Data_Get_Struct(attr, PangoAttribute, gattr);
82
- return gattr;
83
- }
84
-
85
- /***********************************************/
86
- static VALUE
87
- rg_s_allocate(VALUE klass)
88
- {
89
- /* Don't define destroy method here.
90
- return Data_Wrap_Struct(klass, 0, pango_attribute_destroy, 0);
91
- */
92
- return Data_Wrap_Struct(klass, NULL, NULL, 0);
93
- }
94
-
95
- #ifdef HAVE_OBJECT_ALLOCATE
96
- #define attr_s_new rb_class_new_instance
97
- #else
98
- static VALUE
99
- rg_s_new(int argc, VALUE *argv, VALUE klass)
100
- {
101
- VALUE obj = rg_s_allocate(klass);
102
- rb_obj_call_init(obj, argc, argv);
103
- return obj;
104
- }
105
- #endif
106
-
107
- /***********************************************/
108
-
109
- /* This method implemented at rbpangomain.c
110
- gboolean pango_parse_markup (const char *markup_text,
111
- int length,
112
- gunichar accel_marker,
113
- PangoAttrList **attr_list,
114
- char **text,
115
- gunichar *accel_char,
116
- GError **error);
117
- */
118
-
119
- static VALUE
120
- rg_s_type_register(G_GNUC_UNUSED VALUE self, VALUE name)
121
- {
122
- return INT2NUM(pango_attr_type_register(RVAL2CSTR(name)));
123
- }
124
-
125
- static VALUE
126
- rg_operator_attr_equal(VALUE self, VALUE other)
127
- {
128
- return CBOOL2RVAL(pango_attribute_equal(RVAL2ATTR(self), RVAL2ATTR(other)));
129
- }
130
-
131
- /*
132
- * Structure accessors
133
- */
134
- /* PangoAttribute */
135
- static VALUE
136
- rg_start_index(VALUE self)
137
- {
138
- return UINT2NUM(RVAL2ATTR(self)->start_index);
139
- }
140
-
141
- static VALUE
142
- rg_set_start_index(VALUE self, VALUE value)
143
- {
144
- RVAL2ATTR(self)->start_index = NUM2UINT(value);
145
- return Qnil;
146
- }
147
-
148
- static VALUE
149
- rg_end_index(VALUE self)
150
- {
151
- return UINT2NUM(RVAL2ATTR(self)->end_index);
152
- }
153
-
154
- static VALUE
155
- rg_set_end_index(VALUE self, VALUE value)
156
- {
157
- RVAL2ATTR(self)->end_index = NUM2UINT(value);
158
- return Qnil;
159
- }
160
-
161
- /* PangoAttrString */
162
- static VALUE
163
- attr_string_value(VALUE self)
164
- {
165
- return CSTR2RVAL(((PangoAttrString*)RVAL2ATTR(self))->value);
166
- }
167
-
168
- /* PangoAttrLanguage */
169
- static VALUE
170
- attr_language_value(VALUE self)
171
- {
172
- return PANGOLANGUAGE2RVAL(((PangoAttrLanguage*)RVAL2ATTR(self))->value);
173
- }
174
-
175
- /* PangoAttrColor */
176
- static VALUE
177
- attr_color_value(VALUE self)
178
- {
179
- PangoColor color = ((PangoAttrColor*)RVAL2ATTR(self))->color;
180
- return PANGOCOLOR2RVAL(&color);
181
- }
182
-
183
- /* PangoAttrInt */
184
- static VALUE
185
- attr_int_value(VALUE self)
186
- {
187
- return INT2NUM(((PangoAttrInt*)RVAL2ATTR(self))->value);
188
- }
189
-
190
- /* PangoAttrFloat */
191
- static VALUE
192
- attr_float_value(VALUE self)
193
- {
194
- return rb_float_new(((PangoAttrFloat*)RVAL2ATTR(self))->value);
195
- }
196
-
197
- /* PangoAttrBool(This is Ruby/Pango's original class) */
198
- static VALUE
199
- attr_bool_value(VALUE self)
200
- {
201
- return CBOOL2RVAL(((PangoAttrInt*)RVAL2ATTR(self))->value);
202
- }
203
-
204
- /* PangoAttrFontDesc */
205
- static VALUE
206
- attr_fontdesc_value(VALUE self)
207
- {
208
- return PANGOFONTDESCRIPTION2RVAL(((PangoAttrFontDesc*)RVAL2ATTR(self))->desc);
209
- }
210
-
211
- /* PangoAttrShape */
212
- static VALUE
213
- attr_shape_ink_rect(VALUE self)
214
- {
215
- PangoRectangle rect = ((PangoAttrShape*)RVAL2ATTR(self))->ink_rect;
216
- return PANGORECTANGLE2RVAL(&rect);
217
- }
218
-
219
- static VALUE
220
- attr_shape_logical_rect(VALUE self)
221
- {
222
- PangoRectangle rect = ((PangoAttrShape*)RVAL2ATTR(self))->logical_rect;
223
- return PANGORECTANGLE2RVAL(&rect);
224
- }
225
-
226
- static VALUE
227
- attr_shape_value(VALUE self)
228
- {
229
- return rb_ary_new3(2, attr_shape_ink_rect(self), attr_shape_logical_rect(self));
230
- }
231
-
232
- static VALUE
233
- attr_shape_data(VALUE self)
234
- {
235
- return (VALUE)(((PangoAttrShape *)RVAL2ATTR(self))->data);
236
- }
237
-
238
- /*
239
- * Initialize methods
240
- */
241
- #define MAKE_ATTRINT_INIT(klassname, funcname)\
242
- static VALUE \
243
- attr_ ## klassname ## _initialize(VALUE self, VALUE val)\
244
- {\
245
- DATA_PTR(self) = pango_attr_ ## funcname ## _new(NUM2INT(val));\
246
- return Qnil;\
247
- }
248
-
249
- #define MAKE_ATTRENUM_INIT(klassname, funcname, type)\
250
- static VALUE \
251
- attr_ ## klassname ## _initialize(VALUE self, VALUE val)\
252
- {\
253
- DATA_PTR(self) = pango_attr_ ## funcname ## _new(RVAL2GENUM(val, type));\
254
- return Qnil;\
255
- }
256
-
257
- static VALUE
258
- attr_AttrLanguage_initialize(VALUE self, VALUE lang)
259
- {
260
- DATA_PTR(self) = pango_attr_language_new(
261
- RVAL2PANGOLANGUAGE(lang));
262
- return Qnil;
263
- }
264
-
265
- static VALUE
266
- attr_AttrFamily_initialize(VALUE self, VALUE family)
267
- {
268
- DATA_PTR(self) = pango_attr_family_new(RVAL2CSTR(family));
269
- return Qnil;
270
- }
271
-
272
- MAKE_ATTRENUM_INIT(AttrStyle, style, PANGO_TYPE_STYLE);
273
- MAKE_ATTRENUM_INIT(AttrVariant, variant, PANGO_TYPE_VARIANT);
274
- MAKE_ATTRENUM_INIT(AttrStretch, stretch, PANGO_TYPE_STRETCH);
275
- MAKE_ATTRENUM_INIT(AttrWeight, weight, PANGO_TYPE_WEIGHT);
276
-
277
- static VALUE
278
- attr_AttrSize_initialize(VALUE self, VALUE size)
279
- {
280
- DATA_PTR(self) = pango_attr_size_new(NUM2INT(size));
281
- return Qnil;
282
- }
283
-
284
- static VALUE
285
- attr_AttrAbsoluteSize_initialize(VALUE self, VALUE size)
286
- {
287
- DATA_PTR(self) = pango_attr_size_new_absolute(NUM2INT(size));
288
- return Qnil;
289
- }
290
-
291
- #if PANGO_VERSION_CHECK(1,16,0)
292
- static VALUE
293
- attr_AttrGravity_initialize(VALUE self, VALUE gravity)
294
- {
295
- DATA_PTR(self) = pango_attr_gravity_new(RVAL2PANGOGRAVITY(gravity));
296
- return Qnil;
297
- }
298
-
299
- static VALUE
300
- attr_AttrGravityHint_initialize(VALUE self, VALUE gravity_hint)
301
- {
302
- DATA_PTR(self) = pango_attr_gravity_hint_new(RVAL2PANGOGRAVITYHINT(gravity_hint));
303
- return Qnil;
304
- }
305
- #endif
306
-
307
- static VALUE
308
- attr_AttrFontDescription_initialize(VALUE self, VALUE fontdescription)
309
- {
310
- DATA_PTR(self) = pango_attr_font_desc_new(RVAL2PANGOFONTDESCRIPTION(fontdescription));
311
- return Qnil;
312
- }
313
-
314
- static VALUE
315
- attr_AttrForeground_initialize(VALUE self, VALUE r, VALUE g, VALUE b)
316
- {
317
- DATA_PTR(self) = pango_attr_foreground_new(FIX2UINT(r), FIX2UINT(g), FIX2UINT(b));
318
- return Qnil;
319
- }
320
-
321
- static VALUE
322
- attr_AttrBackground_initialize(VALUE self, VALUE r, VALUE g, VALUE b)
323
- {
324
- DATA_PTR(self) = pango_attr_background_new(FIX2UINT(r), FIX2UINT(g), FIX2UINT(b));
325
- return Qnil;
326
- }
327
-
328
- static VALUE
329
- attr_AttrStrikethrough_initialize(VALUE self, VALUE strikethrough)
330
- {
331
- DATA_PTR(self) = pango_attr_strikethrough_new(RVAL2CBOOL(strikethrough));
332
- return Qnil;
333
- }
334
- #ifdef HAVE_PANGO_ATTR_STRIKETHROUGH_COLOR_NEW
335
- static VALUE
336
- attr_AttrStrikethroughColor_initialize(VALUE self, VALUE r, VALUE g, VALUE b)
337
- {
338
- DATA_PTR(self) = pango_attr_strikethrough_color_new(FIX2UINT(r), FIX2UINT(g), FIX2UINT(b));
339
- return Qnil;
340
- }
341
- #endif
342
-
343
- MAKE_ATTRENUM_INIT(AttrUnderline, underline, PANGO_TYPE_UNDERLINE);
344
- #ifdef HAVE_PANGO_ATTR_UNDERLINE_COLOR_NEW
345
- static VALUE
346
- attr_AttrUnderlineColor_initialize(VALUE self, VALUE r, VALUE g, VALUE b)
347
- {
348
- DATA_PTR(self) = pango_attr_underline_color_new(FIX2UINT(r), FIX2UINT(g), FIX2UINT(b));
349
- return Qnil;
350
- }
351
- #endif
352
-
353
- static VALUE
354
- attr_AttrShape_initialize(int argc, VALUE *argv, VALUE self)
355
- {
356
- VALUE ink_rect, logical_rect, data;
357
-
358
- rb_scan_args(argc, argv, "21", &ink_rect, &logical_rect, &data);
359
-
360
- if (NIL_P(data)){
361
- DATA_PTR(self) = pango_attr_shape_new(
362
- RVAL2PANGORECTANGLE(ink_rect),
363
- RVAL2PANGORECTANGLE(logical_rect));
364
- } else {
365
- G_RELATIVE(self, data);
366
- DATA_PTR(self) = pango_attr_shape_new_with_data(
367
- RVAL2PANGORECTANGLE(ink_rect),
368
- RVAL2PANGORECTANGLE(logical_rect),
369
- (gpointer)data, NULL, NULL);
370
- }
371
-
372
- return Qnil;
373
- }
374
-
375
- static VALUE
376
- attr_AttrScale_initialize(VALUE self, VALUE scale)
377
- {
378
- DATA_PTR(self) = pango_attr_scale_new(NUM2DBL(scale));
379
- return Qnil;
380
- }
381
-
382
- static VALUE
383
- attr_AttrFallback_initialize(VALUE self, VALUE enable_fallback)
384
- {
385
- DATA_PTR(self) = pango_attr_fallback_new(RVAL2CBOOL(enable_fallback));
386
- return Qnil;
387
- }
388
-
389
- MAKE_ATTRINT_INIT(AttrRise, rise);
390
- MAKE_ATTRINT_INIT(AttrLetterSpacing, letter_spacing);
391
-
392
- #define MAKE_ATTR(gtype, name, parent, num)\
393
- tmpklass = rb_define_class_under(mPango, #name, parent);\
394
- rb_hash_aset(type_to_klass, INT2FIX(gtype), tmpklass);\
395
- rbg_define_method(tmpklass, "initialize", attr_## name ## _initialize , num);
396
-
397
- void
398
- Init_pango_attribute(VALUE mPango)
399
- {
400
- VALUE tmpklass;
401
- RG_TARGET_NAMESPACE = rb_define_class_under(mPango, "Attribute", rb_cData);
402
-
403
- RG_DEF_SMETHOD(type_register, 1);
404
- RG_DEF_METHOD_OPERATOR("==", attr_equal, 1);
405
- RG_DEF_METHOD(start_index, 0);
406
- RG_DEF_METHOD(set_start_index, 1);
407
- RG_DEF_METHOD(end_index, 0);
408
- RG_DEF_METHOD(set_end_index, 1);
409
-
410
- #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
411
- RG_DEF_SMETHOD(allocate, 0);
412
- #else
413
- rb_define_alloc_func(RG_TARGET_NAMESPACE, (VALUE(*)_((VALUE)))rg_s_allocate);
414
- #endif
415
- #ifndef HAVE_OBJECT_ALLOCATE
416
- RG_DEF_SMETHOD(new, -1);
417
- #endif
418
-
419
- attrstring = rb_define_class_under(mPango, "AttrString", RG_TARGET_NAMESPACE);
420
- rbg_define_method(attrstring, "value", attr_string_value, 0);
421
-
422
- pattrint = rb_define_class_under(mPango, "AttrInt", RG_TARGET_NAMESPACE);
423
- rbg_define_method(pattrint, "value", attr_int_value, 0);
424
-
425
- pattrfloat = rb_define_class_under(mPango, "AttrFloat", RG_TARGET_NAMESPACE);
426
- rbg_define_method(pattrfloat, "value", attr_float_value, 0);
427
-
428
- pattrcolor = rb_define_class_under(mPango, "AttrColor", RG_TARGET_NAMESPACE);
429
- rbg_define_method(pattrcolor, "value", attr_color_value, 0);
430
-
431
- pattrbool = rb_define_class_under(mPango, "AttrBool", RG_TARGET_NAMESPACE);
432
- rbg_define_method(pattrbool, "value", attr_bool_value, 0);
433
-
434
- rb_global_variable(&type_to_klass);
435
- type_to_klass = rb_hash_new();
436
-
437
- MAKE_ATTR(PANGO_ATTR_LANGUAGE, AttrLanguage, RG_TARGET_NAMESPACE, 1);
438
- rbg_define_method(tmpklass, "value", attr_language_value, 0);
439
-
440
- MAKE_ATTR(PANGO_ATTR_FAMILY, AttrFamily, attrstring, 1);
441
- MAKE_ATTR(PANGO_ATTR_STYLE, AttrStyle, pattrint, 1);
442
- MAKE_ATTR(PANGO_ATTR_WEIGHT, AttrWeight, pattrint, 1);
443
- MAKE_ATTR(PANGO_ATTR_VARIANT, AttrVariant, pattrint, 1);
444
- MAKE_ATTR(PANGO_ATTR_STRETCH, AttrStretch, pattrint, 1);
445
- MAKE_ATTR(PANGO_ATTR_SIZE, AttrSize, pattrint, 1);
446
- MAKE_ATTR(PANGO_ATTR_ABSOLUTE_SIZE, AttrAbsoluteSize, pattrint, 1);
447
- #if PANGO_VERSION_CHECK(1,16,0)
448
- MAKE_ATTR(PANGO_ATTR_GRAVITY, AttrGravity, pattrint, 1);
449
- MAKE_ATTR(PANGO_ATTR_GRAVITY_HINT, AttrGravityHint, pattrint, 1);
450
- #endif
451
- MAKE_ATTR(PANGO_ATTR_FONT_DESC, AttrFontDescription, RG_TARGET_NAMESPACE, 1);
452
- rbg_define_method(tmpklass, "value", attr_fontdesc_value, 0);
453
- MAKE_ATTR(PANGO_ATTR_FOREGROUND, AttrForeground, pattrcolor, 3);
454
- MAKE_ATTR(PANGO_ATTR_BACKGROUND, AttrBackground, pattrcolor, 3);
455
- MAKE_ATTR(PANGO_ATTR_UNDERLINE, AttrUnderline, pattrint, 1);
456
- /* PangoUnderline */
457
- G_DEF_CLASS(PANGO_TYPE_UNDERLINE, "Underline", tmpklass);
458
- G_DEF_CONSTANTS(tmpklass, PANGO_TYPE_UNDERLINE, "PANGO_UNDERLINE_");
459
- #ifdef HAVE_PANGO_ATTR_UNDERLINE_COLOR_NEW
460
- MAKE_ATTR(PANGO_ATTR_UNDERLINE_COLOR, AttrUnderlineColor, pattrcolor, 3);
461
- #endif
462
-
463
- MAKE_ATTR(PANGO_ATTR_STRIKETHROUGH, AttrStrikethrough, pattrbool, 1);
464
- #ifdef HAVE_PANGO_ATTR_STRIKETHROUGH_COLOR_NEW
465
- MAKE_ATTR(PANGO_ATTR_STRIKETHROUGH_COLOR, AttrStrikethroughColor, pattrcolor, 3);
466
- #endif
467
- MAKE_ATTR(PANGO_ATTR_RISE, AttrRise, pattrint, 1);
468
- MAKE_ATTR(PANGO_ATTR_LETTER_SPACING, AttrLetterSpacing, pattrint, 1);
469
- MAKE_ATTR(PANGO_ATTR_SHAPE, AttrShape, RG_TARGET_NAMESPACE, -1);
470
- rbg_define_method(tmpklass, "ink_rect", attr_shape_ink_rect, 0);
471
- rbg_define_method(tmpklass, "logical_rect", attr_shape_logical_rect, 0);
472
- rbg_define_method(tmpklass, "value", attr_shape_value, 0);
473
- rbg_define_method(tmpklass, "data", attr_shape_data, 0);
474
- MAKE_ATTR(PANGO_ATTR_SCALE, AttrScale, pattrfloat, 1);
475
- /* PangoScale */
476
- rb_define_const(tmpklass, "XX_SMALL", rb_float_new(PANGO_SCALE_XX_SMALL));
477
- rb_define_const(tmpklass, "X_SMALL", rb_float_new(PANGO_SCALE_X_SMALL));
478
- rb_define_const(tmpklass, "SMALL", rb_float_new(PANGO_SCALE_SMALL));
479
- rb_define_const(tmpklass, "MEDIUM", rb_float_new(PANGO_SCALE_MEDIUM));
480
- rb_define_const(tmpklass, "LARGE", rb_float_new(PANGO_SCALE_LARGE));
481
- rb_define_const(tmpklass, "X_LARGE", rb_float_new(PANGO_SCALE_X_LARGE));
482
- rb_define_const(tmpklass, "XX_LARGE", rb_float_new(PANGO_SCALE_XX_LARGE));
483
- MAKE_ATTR(PANGO_ATTR_FALLBACK, AttrFallback, pattrbool, 1);
484
- /* PangoAttrType */
485
- G_DEF_CLASS(PANGO_TYPE_ATTR_TYPE, "Type", RG_TARGET_NAMESPACE);
486
- #define INT2ATTRTYPE(x) rbgobj_make_enum((x), PANGO_TYPE_ATTR_TYPE)
487
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_INVALID", INT2ATTRTYPE(PANGO_ATTR_INVALID));
488
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_LANGUAGE", INT2ATTRTYPE(PANGO_ATTR_LANGUAGE));
489
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_FAMILY", INT2ATTRTYPE(PANGO_ATTR_FAMILY));
490
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_STYLE", INT2ATTRTYPE(PANGO_ATTR_STYLE));
491
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_WEIGHT", INT2ATTRTYPE(PANGO_ATTR_WEIGHT));
492
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_VARIANT", INT2ATTRTYPE(PANGO_ATTR_VARIANT));
493
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_STRETCH", INT2ATTRTYPE(PANGO_ATTR_STRETCH));
494
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_SIZE", INT2ATTRTYPE(PANGO_ATTR_SIZE));
495
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_FONT_DESC", INT2ATTRTYPE(PANGO_ATTR_FONT_DESC));
496
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_FOREGROUND", INT2ATTRTYPE(PANGO_ATTR_FOREGROUND));
497
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_BACKGROUND", INT2ATTRTYPE(PANGO_ATTR_BACKGROUND));
498
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_UNDERLINE", INT2ATTRTYPE(PANGO_ATTR_UNDERLINE));
499
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_STRIKETHROUGH", INT2ATTRTYPE(PANGO_ATTR_STRIKETHROUGH));
500
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_STRIKETHROUGH_COLOR", INT2ATTRTYPE(PANGO_ATTR_STRIKETHROUGH_COLOR));
501
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_RISE", INT2ATTRTYPE(PANGO_ATTR_RISE));
502
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_SHAPE", INT2ATTRTYPE(PANGO_ATTR_SHAPE));
503
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_SCALE", INT2ATTRTYPE(PANGO_ATTR_SCALE));
504
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_FALLBACK", INT2ATTRTYPE(PANGO_ATTR_FALLBACK));
505
- rb_define_const(RG_TARGET_NAMESPACE, "TYPE_LETTER_SPACING", INT2ATTRTYPE(PANGO_ATTR_LETTER_SPACING));
506
- }