gtk3 2.2.4-x64-mingw32

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 (457) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +20 -0
  3. data/ext/gtk3/conversions.c +34 -0
  4. data/ext/gtk3/depend +11 -0
  5. data/ext/gtk3/extconf.rb +99 -0
  6. data/ext/gtk3/gtk3.def +10 -0
  7. data/ext/gtk3/init.c +34 -0
  8. data/ext/gtk3/rbgtk-about-dialog.c +113 -0
  9. data/ext/gtk3/rbgtk-accel-group-entry.c +94 -0
  10. data/ext/gtk3/rbgtk-accel-group.c +199 -0
  11. data/ext/gtk3/rbgtk-accel-key.c +120 -0
  12. data/ext/gtk3/rbgtk-accel-label.c +55 -0
  13. data/ext/gtk3/rbgtk-accel-map.c +135 -0
  14. data/ext/gtk3/rbgtk-accelerator.c +78 -0
  15. data/ext/gtk3/rbgtk-accessible.c +40 -0
  16. data/ext/gtk3/rbgtk-action-bar.c +73 -0
  17. data/ext/gtk3/rbgtk-action-group.c +467 -0
  18. data/ext/gtk3/rbgtk-action.c +205 -0
  19. data/ext/gtk3/rbgtk-activatable.c +30 -0
  20. data/ext/gtk3/rbgtk-adjustment.c +98 -0
  21. data/ext/gtk3/rbgtk-alignment.c +75 -0
  22. data/ext/gtk3/rbgtk-allocation.c +166 -0
  23. data/ext/gtk3/rbgtk-app-chooser-button.c +70 -0
  24. data/ext/gtk3/rbgtk-app-chooser-dialog.c +68 -0
  25. data/ext/gtk3/rbgtk-app-chooser-widget.c +40 -0
  26. data/ext/gtk3/rbgtk-app-chooser.c +47 -0
  27. data/ext/gtk3/rbgtk-application.c +69 -0
  28. data/ext/gtk3/rbgtk-arrow.c +56 -0
  29. data/ext/gtk3/rbgtk-aspect-frame.c +56 -0
  30. data/ext/gtk3/rbgtk-assistant.c +218 -0
  31. data/ext/gtk3/rbgtk-bin.c +42 -0
  32. data/ext/gtk3/rbgtk-binding-set.c +154 -0
  33. data/ext/gtk3/rbgtk-border.c +119 -0
  34. data/ext/gtk3/rbgtk-box.c +146 -0
  35. data/ext/gtk3/rbgtk-buildable.c +96 -0
  36. data/ext/gtk3/rbgtk-builder.c +166 -0
  37. data/ext/gtk3/rbgtk-button-box.c +87 -0
  38. data/ext/gtk3/rbgtk-button.c +93 -0
  39. data/ext/gtk3/rbgtk-calendar.c +118 -0
  40. data/ext/gtk3/rbgtk-cell-editable.c +57 -0
  41. data/ext/gtk3/rbgtk-cell-layout.c +144 -0
  42. data/ext/gtk3/rbgtk-cell-renderer-accel.c +41 -0
  43. data/ext/gtk3/rbgtk-cell-renderer-combo.c +38 -0
  44. data/ext/gtk3/rbgtk-cell-renderer-pixbuf.c +41 -0
  45. data/ext/gtk3/rbgtk-cell-renderer-progress.c +38 -0
  46. data/ext/gtk3/rbgtk-cell-renderer-spin.c +39 -0
  47. data/ext/gtk3/rbgtk-cell-renderer-spinner.c +38 -0
  48. data/ext/gtk3/rbgtk-cell-renderer-text.c +48 -0
  49. data/ext/gtk3/rbgtk-cell-renderer-toggle.c +39 -0
  50. data/ext/gtk3/rbgtk-cell-renderer.c +119 -0
  51. data/ext/gtk3/rbgtk-cell-view.c +95 -0
  52. data/ext/gtk3/rbgtk-check-button.c +64 -0
  53. data/ext/gtk3/rbgtk-check-menu-item.c +64 -0
  54. data/ext/gtk3/rbgtk-clip-board.c +389 -0
  55. data/ext/gtk3/rbgtk-color-button.c +55 -0
  56. data/ext/gtk3/rbgtk-color-selection-dialog.c +56 -0
  57. data/ext/gtk3/rbgtk-color-selection.c +219 -0
  58. data/ext/gtk3/rbgtk-combo-box-text.c +138 -0
  59. data/ext/gtk3/rbgtk-combo-box.c +147 -0
  60. data/ext/gtk3/rbgtk-const.c +79 -0
  61. data/ext/gtk3/rbgtk-container.c +788 -0
  62. data/ext/gtk3/rbgtk-css-provider.c +110 -0
  63. data/ext/gtk3/rbgtk-dialog.c +206 -0
  64. data/ext/gtk3/rbgtk-drag-gdk-drag-context.c +108 -0
  65. data/ext/gtk3/rbgtk-drag.c +93 -0
  66. data/ext/gtk3/rbgtk-drawing-area.c +42 -0
  67. data/ext/gtk3/rbgtk-editable.c +149 -0
  68. data/ext/gtk3/rbgtk-entry-buffer.c +87 -0
  69. data/ext/gtk3/rbgtk-entry-completion.c +122 -0
  70. data/ext/gtk3/rbgtk-entry.c +184 -0
  71. data/ext/gtk3/rbgtk-event-box.c +42 -0
  72. data/ext/gtk3/rbgtk-expander.c +49 -0
  73. data/ext/gtk3/rbgtk-file-chooser-button.c +50 -0
  74. data/ext/gtk3/rbgtk-file-chooser-dialog.c +62 -0
  75. data/ext/gtk3/rbgtk-file-chooser-widget.c +40 -0
  76. data/ext/gtk3/rbgtk-file-chooser.c +381 -0
  77. data/ext/gtk3/rbgtk-file-filter.c +128 -0
  78. data/ext/gtk3/rbgtk-file-system-error.c +48 -0
  79. data/ext/gtk3/rbgtk-fixed.c +61 -0
  80. data/ext/gtk3/rbgtk-font-button.c +49 -0
  81. data/ext/gtk3/rbgtk-font-chooser-dialog.c +56 -0
  82. data/ext/gtk3/rbgtk-font-chooser-widget.c +45 -0
  83. data/ext/gtk3/rbgtk-font-chooser.c +78 -0
  84. data/ext/gtk3/rbgtk-frame.c +69 -0
  85. data/ext/gtk3/rbgtk-gdk-event.c +38 -0
  86. data/ext/gtk3/rbgtk-grid.c +105 -0
  87. data/ext/gtk3/rbgtk-handle-box.c +45 -0
  88. data/ext/gtk3/rbgtk-header-bar.c +58 -0
  89. data/ext/gtk3/rbgtk-hsv.c +102 -0
  90. data/ext/gtk3/rbgtk-icon-factory.c +85 -0
  91. data/ext/gtk3/rbgtk-icon-info.c +115 -0
  92. data/ext/gtk3/rbgtk-icon-set.c +84 -0
  93. data/ext/gtk3/rbgtk-icon-size.c +91 -0
  94. data/ext/gtk3/rbgtk-icon-source.c +184 -0
  95. data/ext/gtk3/rbgtk-icon-theme.c +268 -0
  96. data/ext/gtk3/rbgtk-icon-view.c +295 -0
  97. data/ext/gtk3/rbgtk-im-multicontext.c +48 -0
  98. data/ext/gtk3/rbgtk-image-menu-item.c +67 -0
  99. data/ext/gtk3/rbgtk-image.c +162 -0
  100. data/ext/gtk3/rbgtk-imcon-text-simple.c +69 -0
  101. data/ext/gtk3/rbgtk-imcon-text.c +133 -0
  102. data/ext/gtk3/rbgtk-infobar.c +121 -0
  103. data/ext/gtk3/rbgtk-invisible.c +49 -0
  104. data/ext/gtk3/rbgtk-label.c +139 -0
  105. data/ext/gtk3/rbgtk-layout.c +93 -0
  106. data/ext/gtk3/rbgtk-level-bar.c +88 -0
  107. data/ext/gtk3/rbgtk-link-button.c +49 -0
  108. data/ext/gtk3/rbgtk-list-store.c +399 -0
  109. data/ext/gtk3/rbgtk-lock-button.c +50 -0
  110. data/ext/gtk3/rbgtk-menu-button.c +41 -0
  111. data/ext/gtk3/rbgtk-menu-item.c +95 -0
  112. data/ext/gtk3/rbgtk-menu-shell.c +106 -0
  113. data/ext/gtk3/rbgtk-menu-tool-button.c +81 -0
  114. data/ext/gtk3/rbgtk-menu.c +168 -0
  115. data/ext/gtk3/rbgtk-menubar.c +43 -0
  116. data/ext/gtk3/rbgtk-message-dialog.c +74 -0
  117. data/ext/gtk3/rbgtk-misc.c +70 -0
  118. data/ext/gtk3/rbgtk-notebook.c +383 -0
  119. data/ext/gtk3/rbgtk-numerable-icon.c +50 -0
  120. data/ext/gtk3/rbgtk-orientable.c +27 -0
  121. data/ext/gtk3/rbgtk-overlay.c +53 -0
  122. data/ext/gtk3/rbgtk-page-setup-unix-dialog.c +94 -0
  123. data/ext/gtk3/rbgtk-page-setup.c +195 -0
  124. data/ext/gtk3/rbgtk-paned.c +114 -0
  125. data/ext/gtk3/rbgtk-paper-size.c +179 -0
  126. data/ext/gtk3/rbgtk-plug.c +85 -0
  127. data/ext/gtk3/rbgtk-print-context.c +125 -0
  128. data/ext/gtk3/rbgtk-print-job.c +148 -0
  129. data/ext/gtk3/rbgtk-print-operation-preview.c +59 -0
  130. data/ext/gtk3/rbgtk-print-operation.c +149 -0
  131. data/ext/gtk3/rbgtk-print-settings.c +807 -0
  132. data/ext/gtk3/rbgtk-print-unix-dialog.c +90 -0
  133. data/ext/gtk3/rbgtk-printer.c +155 -0
  134. data/ext/gtk3/rbgtk-progress-bar.c +72 -0
  135. data/ext/gtk3/rbgtk-radio-action.c +122 -0
  136. data/ext/gtk3/rbgtk-radio-button.c +89 -0
  137. data/ext/gtk3/rbgtk-radio-menu-item.c +147 -0
  138. data/ext/gtk3/rbgtk-radio-tool-button.c +131 -0
  139. data/ext/gtk3/rbgtk-range.c +68 -0
  140. data/ext/gtk3/rbgtk-recent-action.c +64 -0
  141. data/ext/gtk3/rbgtk-recent-chooser-dialog.c +66 -0
  142. data/ext/gtk3/rbgtk-recent-chooser-menu.c +50 -0
  143. data/ext/gtk3/rbgtk-recent-chooser-widget.c +48 -0
  144. data/ext/gtk3/rbgtk-recent-chooser.c +198 -0
  145. data/ext/gtk3/rbgtk-recent-data.c +188 -0
  146. data/ext/gtk3/rbgtk-recent-filter-info.c +201 -0
  147. data/ext/gtk3/rbgtk-recent-filter.c +169 -0
  148. data/ext/gtk3/rbgtk-recent-info.c +213 -0
  149. data/ext/gtk3/rbgtk-recent-manager.c +134 -0
  150. data/ext/gtk3/rbgtk-revealer.c +42 -0
  151. data/ext/gtk3/rbgtk-scale-button.c +84 -0
  152. data/ext/gtk3/rbgtk-scale.c +97 -0
  153. data/ext/gtk3/rbgtk-scrollable.c +31 -0
  154. data/ext/gtk3/rbgtk-scrollbar.c +52 -0
  155. data/ext/gtk3/rbgtk-scrolled-window.c +122 -0
  156. data/ext/gtk3/rbgtk-search-bar.c +59 -0
  157. data/ext/gtk3/rbgtk-search-entry.c +42 -0
  158. data/ext/gtk3/rbgtk-selection-data.c +281 -0
  159. data/ext/gtk3/rbgtk-selection.c +168 -0
  160. data/ext/gtk3/rbgtk-separator-menu-item.c +39 -0
  161. data/ext/gtk3/rbgtk-separator-tool-item.c +38 -0
  162. data/ext/gtk3/rbgtk-separator.c +44 -0
  163. data/ext/gtk3/rbgtk-settings.c +229 -0
  164. data/ext/gtk3/rbgtk-size-group.c +66 -0
  165. data/ext/gtk3/rbgtk-socket.c +82 -0
  166. data/ext/gtk3/rbgtk-spin-button.c +132 -0
  167. data/ext/gtk3/rbgtk-spinner.c +55 -0
  168. data/ext/gtk3/rbgtk-stack-switcher.c +41 -0
  169. data/ext/gtk3/rbgtk-stack.c +106 -0
  170. data/ext/gtk3/rbgtk-status-bar.c +77 -0
  171. data/ext/gtk3/rbgtk-status-icon.c +122 -0
  172. data/ext/gtk3/rbgtk-stock.c +213 -0
  173. data/ext/gtk3/rbgtk-style-context-gdk-screen.c +61 -0
  174. data/ext/gtk3/rbgtk-style-context.c +411 -0
  175. data/ext/gtk3/rbgtk-style-properties.c +118 -0
  176. data/ext/gtk3/rbgtk-style-provider.c +67 -0
  177. data/ext/gtk3/rbgtk-switch.c +40 -0
  178. data/ext/gtk3/rbgtk-table.c +190 -0
  179. data/ext/gtk3/rbgtk-target-list.c +125 -0
  180. data/ext/gtk3/rbgtk-tearoff-menu-item.c +41 -0
  181. data/ext/gtk3/rbgtk-text-appearance.c +236 -0
  182. data/ext/gtk3/rbgtk-text-attributes.c +326 -0
  183. data/ext/gtk3/rbgtk-text-buffer.c +899 -0
  184. data/ext/gtk3/rbgtk-text-child-anchor.c +56 -0
  185. data/ext/gtk3/rbgtk-text-iter.c +732 -0
  186. data/ext/gtk3/rbgtk-text-mark.c +71 -0
  187. data/ext/gtk3/rbgtk-text-tag-table.c +96 -0
  188. data/ext/gtk3/rbgtk-text-tag.c +68 -0
  189. data/ext/gtk3/rbgtk-text-view.c +336 -0
  190. data/ext/gtk3/rbgtk-theming-engine.c +257 -0
  191. data/ext/gtk3/rbgtk-toggle-action.c +61 -0
  192. data/ext/gtk3/rbgtk-toggle-button.c +87 -0
  193. data/ext/gtk3/rbgtk-toggle-tool-button.c +61 -0
  194. data/ext/gtk3/rbgtk-tool-button.c +66 -0
  195. data/ext/gtk3/rbgtk-tool-item.c +200 -0
  196. data/ext/gtk3/rbgtk-tool-itemgroup.c +70 -0
  197. data/ext/gtk3/rbgtk-tool-shell.c +96 -0
  198. data/ext/gtk3/rbgtk-toolbar.c +118 -0
  199. data/ext/gtk3/rbgtk-tooltip-gdk-display.c +39 -0
  200. data/ext/gtk3/rbgtk-tooltip.c +100 -0
  201. data/ext/gtk3/rbgtk-tree-dragdest.c +28 -0
  202. data/ext/gtk3/rbgtk-tree-dragsource.c +28 -0
  203. data/ext/gtk3/rbgtk-tree-iter.c +258 -0
  204. data/ext/gtk3/rbgtk-tree-model.c +246 -0
  205. data/ext/gtk3/rbgtk-tree-modelfilter.c +197 -0
  206. data/ext/gtk3/rbgtk-tree-modelsort.c +111 -0
  207. data/ext/gtk3/rbgtk-tree-path.c +191 -0
  208. data/ext/gtk3/rbgtk-tree-rowreference.c +140 -0
  209. data/ext/gtk3/rbgtk-tree-selection.c +190 -0
  210. data/ext/gtk3/rbgtk-tree-sortable.c +122 -0
  211. data/ext/gtk3/rbgtk-tree-store.c +330 -0
  212. data/ext/gtk3/rbgtk-tree-view-column.c +256 -0
  213. data/ext/gtk3/rbgtk-tree-view.c +716 -0
  214. data/ext/gtk3/rbgtk-ui-manager.c +189 -0
  215. data/ext/gtk3/rbgtk-viewport.c +44 -0
  216. data/ext/gtk3/rbgtk-volume-button.c +41 -0
  217. data/ext/gtk3/rbgtk-widget-path.c +229 -0
  218. data/ext/gtk3/rbgtk-widget.c +1554 -0
  219. data/ext/gtk3/rbgtk-window-group.c +80 -0
  220. data/ext/gtk3/rbgtk-window.c +565 -0
  221. data/ext/gtk3/rbgtk.c +783 -0
  222. data/ext/gtk3/rbgtk3.h +90 -0
  223. data/ext/gtk3/rbgtk3conversions.h +439 -0
  224. data/ext/gtk3/rbgtk3private.h +300 -0
  225. data/ext/gtk3/rbgtk3util.c +67 -0
  226. data/ext/gtk3/rbgtk3util.h +32 -0
  227. data/extconf.rb +49 -0
  228. data/lib/2.0/gtk3.so +0 -0
  229. data/lib/2.1/gtk3.so +0 -0
  230. data/lib/2.2/gtk3.so +0 -0
  231. data/lib/gtk3.rb +11 -0
  232. data/lib/gtk3/base.rb +67 -0
  233. data/lib/gtk3/deprecated.rb +1004 -0
  234. data/sample/gtk-demo/README +7 -0
  235. data/sample/gtk-demo/alphatest.png +0 -0
  236. data/sample/gtk-demo/apple-red.png +0 -0
  237. data/sample/gtk-demo/appwindow.rb +233 -0
  238. data/sample/gtk-demo/background.jpg +0 -0
  239. data/sample/gtk-demo/builder.rb +51 -0
  240. data/sample/gtk-demo/button_box.rb +83 -0
  241. data/sample/gtk-demo/cairo-arc-negative.rb +41 -0
  242. data/sample/gtk-demo/cairo-arc.rb +41 -0
  243. data/sample/gtk-demo/cairo-clip-image.rb +51 -0
  244. data/sample/gtk-demo/cairo-clip-rectangle.rb +35 -0
  245. data/sample/gtk-demo/cairo-clip.rb +35 -0
  246. data/sample/gtk-demo/cairo-curve-rectangle.rb +76 -0
  247. data/sample/gtk-demo/cairo-curve-to.rb +43 -0
  248. data/sample/gtk-demo/cairo-dash.rb +39 -0
  249. data/sample/gtk-demo/cairo-fill-and-stroke.rb +32 -0
  250. data/sample/gtk-demo/cairo-fill-and-stroke2.rb +38 -0
  251. data/sample/gtk-demo/cairo-gradient.rb +35 -0
  252. data/sample/gtk-demo/cairo-image-pattern.rb +39 -0
  253. data/sample/gtk-demo/cairo-image.rb +49 -0
  254. data/sample/gtk-demo/cairo-line-cap.rb +53 -0
  255. data/sample/gtk-demo/cairo-line-join.rb +41 -0
  256. data/sample/gtk-demo/cairo-long-lines.rb +41 -0
  257. data/sample/gtk-demo/cairo-operator.rb +83 -0
  258. data/sample/gtk-demo/cairo-path.rb +28 -0
  259. data/sample/gtk-demo/cairo-pattern-fill.rb +88 -0
  260. data/sample/gtk-demo/cairo-self-intersect.rb +32 -0
  261. data/sample/gtk-demo/cairo-text-align-center.rb +45 -0
  262. data/sample/gtk-demo/cairo-text-extents.rb +46 -0
  263. data/sample/gtk-demo/cairo-text.rb +43 -0
  264. data/sample/gtk-demo/changedisplay.rb +407 -0
  265. data/sample/gtk-demo/clipboard.rb +67 -0
  266. data/sample/gtk-demo/colorsel.rb +82 -0
  267. data/sample/gtk-demo/common.rb +87 -0
  268. data/sample/gtk-demo/css_accordion.css +53 -0
  269. data/sample/gtk-demo/css_accordion.rb +75 -0
  270. data/sample/gtk-demo/demo.ui +258 -0
  271. data/sample/gtk-demo/dialog.rb +137 -0
  272. data/sample/gtk-demo/drawingarea.rb +205 -0
  273. data/sample/gtk-demo/editable_cells.rb +173 -0
  274. data/sample/gtk-demo/entry_completion.rb +63 -0
  275. data/sample/gtk-demo/expander.rb +42 -0
  276. data/sample/gtk-demo/floppybuddy.gif +0 -0
  277. data/sample/gtk-demo/gnome-applets.png +0 -0
  278. data/sample/gtk-demo/gnome-calendar.png +0 -0
  279. data/sample/gtk-demo/gnome-foot.png +0 -0
  280. data/sample/gtk-demo/gnome-fs-directory.png +0 -0
  281. data/sample/gtk-demo/gnome-fs-regular.png +0 -0
  282. data/sample/gtk-demo/gnome-gimp.png +0 -0
  283. data/sample/gtk-demo/gnome-gmush.png +0 -0
  284. data/sample/gtk-demo/gnome-gsame.png +0 -0
  285. data/sample/gtk-demo/gnu-keys.png +0 -0
  286. data/sample/gtk-demo/gtk-logo-rgb.gif +0 -0
  287. data/sample/gtk-demo/hypertext.rb +211 -0
  288. data/sample/gtk-demo/iconview.rb +110 -0
  289. data/sample/gtk-demo/images.rb +197 -0
  290. data/sample/gtk-demo/infobar.rb +78 -0
  291. data/sample/gtk-demo/item_factory.rb +94 -0
  292. data/sample/gtk-demo/links.rb +53 -0
  293. data/sample/gtk-demo/list_store.rb +138 -0
  294. data/sample/gtk-demo/main.rb +384 -0
  295. data/sample/gtk-demo/menus.rb +172 -0
  296. data/sample/gtk-demo/panes.rb +156 -0
  297. data/sample/gtk-demo/pixbufs.rb +167 -0
  298. data/sample/gtk-demo/printing.rb +128 -0
  299. data/sample/gtk-demo/reset.css +69 -0
  300. data/sample/gtk-demo/rotated_text.rb +72 -0
  301. data/sample/gtk-demo/ruby-gnome2-logo.png +0 -0
  302. data/sample/gtk-demo/sizegroup.rb +118 -0
  303. data/sample/gtk-demo/spinner.rb +59 -0
  304. data/sample/gtk-demo/stock_browser.rb +233 -0
  305. data/sample/gtk-demo/textview.rb +436 -0
  306. data/sample/gtk-demo/theming.ui +319 -0
  307. data/sample/gtk-demo/theming_style_classes.rb +48 -0
  308. data/sample/gtk-demo/tree_store.rb +270 -0
  309. data/sample/misc/aboutdialog.rb +42 -0
  310. data/sample/misc/aboutdialog2.rb +42 -0
  311. data/sample/misc/alpha-demo.rb +70 -0
  312. data/sample/misc/assistant.rb +281 -0
  313. data/sample/misc/bindings.rb +97 -0
  314. data/sample/misc/button.rb +72 -0
  315. data/sample/misc/button2.rb +28 -0
  316. data/sample/misc/buttonbox.rb +93 -0
  317. data/sample/misc/cairo-pong.rb +217 -0
  318. data/sample/misc/calendar.rb +66 -0
  319. data/sample/misc/checkbutton.rb +49 -0
  320. data/sample/misc/colorselection.rb +22 -0
  321. data/sample/misc/combo_check.rb +79 -0
  322. data/sample/misc/combobox.rb +85 -0
  323. data/sample/misc/composited-windows.rb +113 -0
  324. data/sample/misc/cursor.rb +34 -0
  325. data/sample/misc/dialog.rb +44 -0
  326. data/sample/misc/dialog2.rb +36 -0
  327. data/sample/misc/dnd.rb +64 -0
  328. data/sample/misc/dndtreeview.rb +56 -0
  329. data/sample/misc/drag-move.rb +139 -0
  330. data/sample/misc/drawing.rb +109 -0
  331. data/sample/misc/entry.rb +34 -0
  332. data/sample/misc/entrycompletion.rb +33 -0
  333. data/sample/misc/expander.rb +27 -0
  334. data/sample/misc/filechooser.rb +41 -0
  335. data/sample/misc/frame.rb +69 -0
  336. data/sample/misc/gdkscreen.rb +32 -0
  337. data/sample/misc/gnome-logo-icon.png +0 -0
  338. data/sample/misc/helloworld.rb +35 -0
  339. data/sample/misc/iconview.rb +38 -0
  340. data/sample/misc/image.rb +42 -0
  341. data/sample/misc/itemfactory.rb +73 -0
  342. data/sample/misc/itemfactory2.rb +74 -0
  343. data/sample/misc/keyboard_grab.rb +29 -0
  344. data/sample/misc/label.rb +33 -0
  345. data/sample/misc/linkbutton.rb +42 -0
  346. data/sample/misc/listview.rb +92 -0
  347. data/sample/misc/menu.rb +81 -0
  348. data/sample/misc/misc_button.rb +49 -0
  349. data/sample/misc/mouse-gesture.rb +465 -0
  350. data/sample/misc/pangorenderer.rb +66 -0
  351. data/sample/misc/pointer_grab.rb +34 -0
  352. data/sample/misc/print.rb +247 -0
  353. data/sample/misc/properties.rb +86 -0
  354. data/sample/misc/radiobutton.rb +47 -0
  355. data/sample/misc/recentchooserdialog.rb +52 -0
  356. data/sample/misc/rgtk+cairo.rb +42 -0
  357. data/sample/misc/scalebutton.rb +19 -0
  358. data/sample/misc/settings.rb +41 -0
  359. data/sample/misc/statusicon.rb +106 -0
  360. data/sample/misc/stock.rb +36 -0
  361. data/sample/misc/style_property.rb +67 -0
  362. data/sample/misc/style_property.rc +19 -0
  363. data/sample/misc/t-gtkplug.rb +58 -0
  364. data/sample/misc/t-gtksocket.rb +65 -0
  365. data/sample/misc/test.xpm +92 -0
  366. data/sample/misc/textbuffer_serialize.rb +130 -0
  367. data/sample/misc/threads.rb +70 -0
  368. data/sample/misc/to_drawable.rb +42 -0
  369. data/sample/misc/togglebutton.rb +34 -0
  370. data/sample/misc/toolbar.rb +55 -0
  371. data/sample/misc/tooltips.rb +204 -0
  372. data/sample/misc/tree_combo.rb +79 -0
  373. data/sample/misc/tree_progress.rb +61 -0
  374. data/sample/misc/treemodelfilter.rb +49 -0
  375. data/sample/misc/treeview.rb +71 -0
  376. data/sample/misc/uimanager.rb +148 -0
  377. data/sample/misc/uimanager2.rb +91 -0
  378. data/sample/misc/uimanager2.xml +36 -0
  379. data/sample/misc/window.rb +24 -0
  380. data/sample/misc/xbm_cursor.rb +43 -0
  381. data/sample/testgtk/3DRings.xpm +116 -0
  382. data/sample/testgtk/FilesQueue.xpm +98 -0
  383. data/sample/testgtk/Modeller.xpm +117 -0
  384. data/sample/testgtk/README +14 -0
  385. data/sample/testgtk/button.rb +124 -0
  386. data/sample/testgtk/buttonbox.rb +100 -0
  387. data/sample/testgtk/check-n.xpm +21 -0
  388. data/sample/testgtk/check-y.xpm +21 -0
  389. data/sample/testgtk/checkbutton.rb +67 -0
  390. data/sample/testgtk/circles.xbm +46 -0
  391. data/sample/testgtk/colorselect.rb +33 -0
  392. data/sample/testgtk/dialog.rb +48 -0
  393. data/sample/testgtk/entry.rb +73 -0
  394. data/sample/testgtk/filesel.rb +65 -0
  395. data/sample/testgtk/fontselection.rb +56 -0
  396. data/sample/testgtk/labels.rb +74 -0
  397. data/sample/testgtk/layout.rb +108 -0
  398. data/sample/testgtk/marble.xpm +408 -0
  399. data/sample/testgtk/menu.rb +79 -0
  400. data/sample/testgtk/notebook.rb +280 -0
  401. data/sample/testgtk/pixmap.rb +58 -0
  402. data/sample/testgtk/progressbar.rb +173 -0
  403. data/sample/testgtk/radiobutton.rb +61 -0
  404. data/sample/testgtk/range.rb +65 -0
  405. data/sample/testgtk/reparent.rb +91 -0
  406. data/sample/testgtk/sample.rb +80 -0
  407. data/sample/testgtk/savedposition.rb +87 -0
  408. data/sample/testgtk/scrolledwindow.rb +67 -0
  409. data/sample/testgtk/shapedwindow.rb +99 -0
  410. data/sample/testgtk/spinbutton.rb +181 -0
  411. data/sample/testgtk/statusbar.rb +89 -0
  412. data/sample/testgtk/test.xpm +92 -0
  413. data/sample/testgtk/testgtk.rb +176 -0
  414. data/sample/testgtk/testgtkrc +146 -0
  415. data/sample/testgtk/testgtkrc2 +21 -0
  416. data/sample/testgtk/togglebutton.rb +53 -0
  417. data/sample/testgtk/toolbar.rb +82 -0
  418. data/sample/testgtk/tooltips.rb +41 -0
  419. data/sample/testgtk/wmhints.rb +40 -0
  420. data/test/gtk-test-utils.rb +15 -0
  421. data/test/run-test.rb +58 -0
  422. data/test/test_gc.rb +22 -0
  423. data/test/test_gtk.rb +23 -0
  424. data/test/test_gtk_about_dialog.rb +13 -0
  425. data/test/test_gtk_accel_group_entry.rb +24 -0
  426. data/test/test_gtk_accel_key.rb +24 -0
  427. data/test/test_gtk_accessible.rb +31 -0
  428. data/test/test_gtk_action_group.rb +46 -0
  429. data/test/test_gtk_allocation.rb +24 -0
  430. data/test/test_gtk_border.rb +24 -0
  431. data/test/test_gtk_buildable.rb +56 -0
  432. data/test/test_gtk_builder.rb +166 -0
  433. data/test/test_gtk_container.rb +32 -0
  434. data/test/test_gtk_css_provider.rb +27 -0
  435. data/test/test_gtk_entry.rb +52 -0
  436. data/test/test_gtk_header_bar.rb +66 -0
  437. data/test/test_gtk_icon_theme.rb +31 -0
  438. data/test/test_gtk_icon_view.rb +41 -0
  439. data/test/test_gtk_image.rb +8 -0
  440. data/test/test_gtk_level_bar.rb +82 -0
  441. data/test/test_gtk_list_store.rb +105 -0
  442. data/test/test_gtk_menu_button.rb +49 -0
  443. data/test/test_gtk_menu_item.rb +13 -0
  444. data/test/test_gtk_recent_data.rb +24 -0
  445. data/test/test_gtk_recent_filter_info.rb +26 -0
  446. data/test/test_gtk_revealer.rb +57 -0
  447. data/test/test_gtk_search_bar.rb +55 -0
  448. data/test/test_gtk_search_entry.rb +34 -0
  449. data/test/test_gtk_stack.rb +115 -0
  450. data/test/test_gtk_stack_switcher.rb +30 -0
  451. data/test/test_gtk_style_context.rb +30 -0
  452. data/test/test_gtk_style_properties.rb +38 -0
  453. data/test/test_gtk_tree_path.rb +20 -0
  454. data/test/test_gtk_tree_selection.rb +31 -0
  455. data/test/test_gtk_unix_print.rb +14 -0
  456. data/test/test_gtk_widget.rb +24 -0
  457. metadata +582 -0
@@ -0,0 +1,51 @@
1
+ # Copyright (c) 2005 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ # $Id: cairo-clip-image.rb,v 1.2 2005/10/16 12:07:32 mutoh Exp $
5
+ =begin
6
+ = cairo/Clip Image
7
+
8
+ This demo shows how to use GDK and cairo to use clip for image.
9
+ From http://cairographics.org/samples/clip_image.html.
10
+ =end
11
+ require 'common'
12
+
13
+ module Demo
14
+ class CairoClipImage < CairoWindow
15
+ def initialize
16
+ super('cairo clip image')
17
+ end
18
+
19
+ def draw(cr)
20
+ cr.save do
21
+ cr.arc(0.5, 0.5, 0.4, 0, 2 * Math::PI)
22
+ cr.clip
23
+
24
+ cr.new_path
25
+
26
+ loader = Gdk::PixbufLoader.new
27
+ File.open("background.jpg", "rb") do |f|
28
+ loader.last_write(f.read)
29
+ end
30
+ pixbuf = loader.pixbuf
31
+ cr.scale(1.0 / pixbuf.width, 1.0 / pixbuf.height)
32
+
33
+ cr.set_source_pixbuf(pixbuf, 0, 0)
34
+ cr.paint
35
+ end
36
+
37
+ cr.save do
38
+ cr.arc(0.5, 0.5, 0.3, 0, 2 * Math::PI)
39
+ cr.clip
40
+
41
+ cr.new_path
42
+
43
+ image = Cairo::ImageSurface.from_png("ruby-gnome2-logo.png")
44
+ cr.scale(1.0 / image.width, 1.0 / image.height)
45
+
46
+ cr.set_source(image, 0, 0)
47
+ cr.paint
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,35 @@
1
+ # Copyright (c) 2005 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ # $Id: cairo-clip-rectangle.rb,v 1.1 2005/10/12 05:38:30 ktou Exp $
5
+ =begin
6
+ = cairo/Clip Rectangle
7
+
8
+ This demo shows how to use GDK and cairo to clip as rectangle.
9
+ From http://cairographics.org/samples/xxx_clip_rectangle.html.
10
+ =end
11
+ require 'common'
12
+
13
+ module Demo
14
+ class CairoClipRectangle < CairoWindow
15
+ def initialize
16
+ super('cairo clip rectangle')
17
+ end
18
+
19
+ def draw(cr)
20
+ cr.new_path
21
+ cr.move_to(0.25, 0.25)
22
+ cr.line_to(0.25, 0.75)
23
+ cr.line_to(0.75, 0.75)
24
+ cr.line_to(0.75, 0.25)
25
+ cr.line_to(0.25, 0.25)
26
+ cr.close_path
27
+
28
+ cr.clip
29
+
30
+ cr.move_to(0, 0)
31
+ cr.line_to(1, 1)
32
+ cr.stroke
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,35 @@
1
+ # Copyright (c) 2005 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ # $Id: cairo-clip.rb,v 1.1 2005/10/12 05:38:30 ktou Exp $
5
+ =begin
6
+ = cairo/Clip
7
+
8
+ This demo shows how to use GDK and cairo to use clip.
9
+ From http://cairographics.org/samples/clip.html.
10
+ =end
11
+ require 'common'
12
+
13
+ module Demo
14
+ class CairoClip < CairoWindow
15
+ def initialize
16
+ super('cairo clip')
17
+ end
18
+
19
+ def draw(cr)
20
+ cr.arc(0.5, 0.5, 0.3, 0, 2 * Math::PI)
21
+ cr.clip
22
+
23
+ cr.new_path
24
+
25
+ cr.rectangle(0, 0, 1, 1)
26
+ cr.fill
27
+ cr.set_source_rgba(0, 1, 0)
28
+ cr.move_to(0, 0)
29
+ cr.line_to(1, 1)
30
+ cr.move_to(1, 0)
31
+ cr.line_to(0, 1)
32
+ cr.stroke
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,76 @@
1
+ # Copyright (c) 2005 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ # $Id: cairo-curve-rectangle.rb,v 1.1 2005/10/12 05:38:30 ktou Exp $
5
+ =begin
6
+ = cairo/Curve Rectangle
7
+
8
+ This demo shows how to use GDK and cairo to draw curve rectangle.
9
+ From http://cairographics.org/samples/curve_rectangle.html.
10
+ =end
11
+ require 'common'
12
+
13
+ module Demo
14
+ class CairoCurveRectangle < CairoWindow
15
+ # a custom shape, that could be wrapped in a function
16
+ X0 = 0.1 #< parameters like Cairo::Context#rectangle
17
+ Y0 = 0.1
18
+ RECT_WIDTH = 0.8
19
+ RECT_HEIGHT = 0.8
20
+ RADIUS = 0.4 #< and an approximate curvature radius
21
+
22
+ X1 = X0 + RECT_WIDTH
23
+ Y1 = Y0 + RECT_HEIGHT
24
+
25
+ def initialize
26
+ super('cairo curve rectangle')
27
+ end
28
+
29
+ def draw(cr)
30
+ return if (RECT_WIDTH <= 0 || RECT_HEIGHT <= 0)
31
+
32
+ if (RECT_WIDTH / 2 < RADIUS)
33
+ if (RECT_HEIGHT / 2 < RADIUS)
34
+ cr.move_to(X0, (Y0 + Y1) / 2)
35
+ cr.curve_to(X0 ,Y0, X0, Y0, (X0 + X1) / 2, Y0)
36
+ cr.curve_to(X1, Y0, X1, Y0, X1, (Y0 + Y1) / 2)
37
+ cr.curve_to(X1, Y1, X1, Y1, (X1 + X0) / 2, Y1)
38
+ cr.curve_to(X0, Y1, X0, Y1, X0, (Y0 + Y1) / 2)
39
+ else
40
+ cr.move_to(X0, Y0 + RADIUS)
41
+ cr.curve_to(X0 ,Y0, X0, Y0, (X0 + X1) / 2, Y0)
42
+ cr.curve_to(X1, Y0, X1, Y0, X1, Y0 + RADIUS)
43
+ cr.line_to(X1 , Y1 - RADIUS)
44
+ cr.curve_to(X1, Y1, X1, Y1, (X1 + X0) / 2, Y1)
45
+ cr.curve_to(X0, Y1, X0, Y1, X0, Y1- RADIUS)
46
+ end
47
+ else
48
+ if (RECT_HEIGHT / 2 < RADIUS)
49
+ cr.move_to(X0, (Y0 + Y1) / 2)
50
+ cr.curve_to(X0, Y0, X0 , Y0, X0 + RADIUS, Y0)
51
+ cr.line_to(X1 - RADIUS, Y0)
52
+ cr.curve_to(X1, Y0, X1, Y0, X1, (Y0 + Y1) / 2)
53
+ cr.curve_to(X1, Y1, X1, Y1, X1 - RADIUS, Y1)
54
+ cr.line_to(X0 + RADIUS, Y1)
55
+ cr.curve_to(X0, Y1, X0, Y1, X0, (Y0 + Y1) / 2)
56
+ else
57
+ cr.move_to(X0, Y0 + RADIUS)
58
+ cr.curve_to(X0 , Y0, X0 , Y0, X0 + RADIUS, Y0)
59
+ cr.line_to(X1 - RADIUS, Y0)
60
+ cr.curve_to(X1, Y0, X1, Y0, X1, Y0 + RADIUS)
61
+ cr.line_to(X1 , Y1 - RADIUS)
62
+ cr.curve_to(X1, Y1, X1, Y1, X1 - RADIUS, Y1)
63
+ cr.line_to(X0 + RADIUS, Y1)
64
+ cr.curve_to(X0, Y1, X0, Y1, X0, Y1- RADIUS)
65
+ end
66
+ end
67
+
68
+ cr.close_path
69
+
70
+ cr.set_source_rgba(0.5,0.5,1)
71
+ cr.fill_preserve
72
+ cr.set_source_rgba(0.5, 0, 0, 0.5)
73
+ cr.stroke
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,43 @@
1
+ # Copyright (c) 2005 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ # $Id: cairo-curve-to.rb,v 1.1 2005/10/12 05:38:30 ktou Exp $
5
+ =begin
6
+ = cairo/Curve To
7
+
8
+ This demo shows how to use GDK and cairo to draw curve.
9
+ From http://cairographics.org/samples/curve_to.html.
10
+ =end
11
+ require 'common'
12
+
13
+ module Demo
14
+ class CairoCurveTo < CairoWindow
15
+ X = 0.1
16
+ Y = 0.5
17
+ X1 = 0.4
18
+ Y1 = 0.9
19
+ X2 = 0.6
20
+ Y2 = 0.1
21
+ X3 = 0.9
22
+ Y3 = 0.5
23
+
24
+ def initialize
25
+ super('cairo curve to')
26
+ end
27
+
28
+ def draw(cr)
29
+ cr.move_to(X, Y)
30
+ cr.curve_to(X1, Y1, X2, Y2, X3, Y3)
31
+
32
+ cr.stroke
33
+
34
+ cr.set_source_rgba(1, 0.2, 0.2, 0.6)
35
+ cr.set_line_width(0.03)
36
+ cr.move_to(X, Y)
37
+ cr.line_to(X1, Y1)
38
+ cr.move_to(X2, Y2)
39
+ cr.line_to(X3, Y3)
40
+ cr.stroke
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,39 @@
1
+ # Copyright (c) 2005 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ # $Id: cairo-dash.rb,v 1.1 2005/10/12 05:38:30 ktou Exp $
5
+ =begin
6
+ = cairo/Dash
7
+
8
+ This demo shows how to use GDK and cairo to show dash.
9
+ From http://cairographics.org/samples/xxx_dash.html.
10
+ =end
11
+ require 'common'
12
+
13
+ module Demo
14
+ class CairoDash < CairoWindow
15
+ def initialize
16
+ super('cairo dash')
17
+ end
18
+
19
+ def draw(cr)
20
+ dashes = [
21
+ 0.20, # in
22
+ 0.05, # skip
23
+ 0.05, # ink
24
+ 0.05, # skip
25
+ ]
26
+
27
+ offset = -0.2
28
+
29
+ cr.set_dash(dashes, offset)
30
+
31
+ cr.move_to(0.5, 0.1)
32
+ cr.line_to(0.9, 0.9)
33
+ cr.rel_line_to(-0.4, 0.0)
34
+ cr.curve_to(0.2, 0.9, 0.2, 0.5, 0.5, 0.5)
35
+
36
+ cr.stroke
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,32 @@
1
+ # Copyright (c) 2005 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ # $Id: cairo-fill-and-stroke.rb,v 1.1 2005/10/12 05:38:30 ktou Exp $
5
+ =begin
6
+ = cairo/Fill And Stroke
7
+
8
+ This demo shows how to use GDK and cairo to fill and stroke.
9
+ From http://cairographics.org/samples/fill_and_stroke.html.
10
+ =end
11
+ require 'common'
12
+
13
+ module Demo
14
+ class CairoFillAndStroke < CairoWindow
15
+ def initialize
16
+ super('cairo fill and stroke')
17
+ end
18
+
19
+ def draw(cr)
20
+ cr.move_to(0.5, 0.1)
21
+ cr.line_to(0.9, 0.9)
22
+ cr.rel_line_to(-0.4, 0.0)
23
+ cr.curve_to(0.2, 0.9, 0.2, 0.5, 0.5, 0.5)
24
+ cr.close_path
25
+
26
+ cr.set_source_rgba(0, 0, 1)
27
+ cr.fill_preserve
28
+ cr.set_source_rgba(0, 0, 0)
29
+ cr.stroke
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,38 @@
1
+ # Copyright (c) 2005 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ # $Id: cairo-fill-and-stroke2.rb,v 1.1 2005/10/12 05:38:30 ktou Exp $
5
+ =begin
6
+ = cairo/Fill And Stroke2
7
+
8
+ This demo shows how to use GDK and cairo to fill and stroke.
9
+ From http://cairographics.org/samples/fill_and_stroke2.html.
10
+ =end
11
+ require 'common'
12
+
13
+ module Demo
14
+ class CairoFillAndStroke2 < CairoWindow
15
+ def initialize
16
+ super('cairo fill and stroke2')
17
+ end
18
+
19
+ def draw(cr)
20
+ cr.move_to(0.5, 0.1)
21
+ cr.line_to(0.9, 0.9)
22
+ cr.rel_line_to(-0.4, 0.0)
23
+ cr.curve_to(0.2, 0.9, 0.2, 0.5, 0.5, 0.5)
24
+ cr.close_path
25
+
26
+ cr.move_to(0.25, 0.1)
27
+ cr.rel_line_to(0.2, 0.2)
28
+ cr.rel_line_to(-0.2, 0.2)
29
+ cr.rel_line_to(-0.2, -0.2)
30
+ cr.close_path
31
+
32
+ cr.set_source_rgba(0, 0, 1)
33
+ cr.fill_preserve
34
+ cr.set_source_rgba(0, 0, 0)
35
+ cr.stroke
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,35 @@
1
+ # Copyright (c) 2005 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ # $Id: cairo-gradient.rb,v 1.2 2005/10/12 15:23:49 ktou Exp $
5
+ =begin
6
+ = cairo/Gradient
7
+
8
+ This demo shows how to use GDK and cairo to gradient.
9
+ From http://cairographics.org/samples/gradient.html.
10
+ =end
11
+ require 'common'
12
+
13
+ module Demo
14
+ class CairoGradient < CairoWindow
15
+ def initialize
16
+ super('cairo gradient')
17
+ end
18
+
19
+ def draw(cr)
20
+ pat = Cairo::LinearPattern.new(0.0, 0.0, 0.0, 1.0)
21
+ pat.add_color_stop_rgb(1, 0, 0, 0)
22
+ pat.add_color_stop_rgb(0, 1, 0, 0)
23
+ cr.rectangle(0, 0, 1, 1)
24
+ cr.set_source(pat)
25
+ cr.fill
26
+
27
+ pat = Cairo::RadialPattern.new(0.45, 0.4, 0.1, 0.4, 0.4, 0.5)
28
+ pat.add_color_stop_rgba(0, 1, 1, 1, 0.8)
29
+ pat.add_color_stop_rgba(1, 0, 0, 0)
30
+ cr.set_source(pat)
31
+ cr.arc(0.5, 0.5, 0.3, 0, 2 * Math::PI)
32
+ cr.fill
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,39 @@
1
+ # Copyright (c) 2005 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ # $Id: cairo-image-pattern.rb,v 1.1 2005/10/12 05:38:30 ktou Exp $
5
+ =begin
6
+ = cairo/Image Pattern
7
+
8
+ This demo shows how to use GDK and cairo to use image pattern.
9
+ From http://cairographics.org/samples/imagepattern.html.
10
+ =end
11
+ require 'common'
12
+
13
+ module Demo
14
+ class CairoImagePattern < CairoWindow
15
+ def initialize
16
+ super('cairo image pattern')
17
+ end
18
+
19
+ def draw(cr)
20
+ image = Cairo::ImageSurface.from_png("ruby-gnome2-logo.png")
21
+
22
+ pattern = Cairo::SurfacePattern.new(image)
23
+ pattern.set_extend(Cairo::EXTEND_REPEAT)
24
+
25
+ cr.translate(0.5, 0.5)
26
+ cr.rotate(Math::PI / 4)
27
+ cr.scale(1 / Math.sqrt(2), 1 / Math.sqrt(2))
28
+ cr.translate(-0.5, -0.5)
29
+
30
+ matrix = Cairo::Matrix.scale(image.width * 5, image.height * 5)
31
+ pattern.set_matrix(matrix)
32
+
33
+ cr.set_source(pattern)
34
+
35
+ cr.rectangle(0, 0, 1.0, 1.0)
36
+ cr.fill
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,49 @@
1
+ # Copyright (c) 2005 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ # $Id: cairo-image.rb,v 1.2 2005/10/16 12:07:32 mutoh Exp $
5
+ =begin
6
+ = cairo/Image
7
+
8
+ This demo shows how to use GDK and cairo to show image.
9
+ From http://cairographics.org/samples/image.html.
10
+ =end
11
+ require 'common'
12
+
13
+ module Demo
14
+ class CairoImage < CairoWindow
15
+ def initialize
16
+ super('cairo gradient')
17
+ end
18
+
19
+ def draw(cr)
20
+ cr.save do
21
+ loader = Gdk::PixbufLoader.new
22
+ File.open("background.jpg", "rb") do |f|
23
+ loader.last_write(f.read)
24
+ end
25
+ pixbuf = loader.pixbuf
26
+
27
+ cr.translate(0.5, 0.5)
28
+ cr.rotate(45 * Math::PI / 180)
29
+ cr.scale(1.0 / pixbuf.width, 1.0 / pixbuf.height)
30
+ cr.translate(-0.5 * pixbuf.width, -0.5 * pixbuf.height)
31
+
32
+ cr.set_source_pixbuf(pixbuf, 0, 0)
33
+ cr.paint
34
+ end
35
+
36
+ cr.save do
37
+ image = Cairo::ImageSurface.from_png("ruby-gnome2-logo.png")
38
+
39
+ cr.translate(0.5, 0.5)
40
+ cr.rotate(60 * Math::PI / 180)
41
+ cr.scale(0.8 / image.width, 0.8 / image.height)
42
+ cr.translate(-0.5 * image.width, -0.5 * image.height)
43
+
44
+ cr.set_source(image, 0, 0)
45
+ cr.paint
46
+ end
47
+ end
48
+ end
49
+ end