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,48 @@
1
+ #
2
+ # This sample code is a port of gtk3/demos/gtk-demo/theming_style_classes.c.
3
+ # The UI file used in this sample code is copied from gtk3/demos/gtk-demo.
4
+ # This is licensed under the terms of the GNU Lesser General Public
5
+ # License, version 2.1 or (at your option) later.
6
+ #
7
+ # Copyright (C) 2014 Ruby-GNOME2 Project Team
8
+ #
9
+ # This library is free software; you can redistribute it and/or
10
+ # modify it under the terms of the GNU Lesser General Public
11
+ # License as published by the Free Software Foundation; either
12
+ # version 2.1 of the License, or (at your option) any later version.
13
+ #
14
+ # This library is distributed in the hope that it will be useful,
15
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
+ # Lesser General Public License for more details.
18
+ #
19
+ # You should have received a copy of the GNU Lesser General Public
20
+ # License along with this library; if not, write to the Free Software
21
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22
+ =begin
23
+ = CSS Theming/Style Classes
24
+
25
+ GTK+ uses CSS for theming. Style classes can be associated
26
+ with widgets to inform the theme about intended rendering.
27
+
28
+ This demo shows some common examples where theming features
29
+ of GTK+ are used for certain effects: primary toolbars,
30
+ inline toolbars and linked buttons.
31
+ =end
32
+
33
+ require "common"
34
+
35
+ module Demo
36
+ class ThemingStyleClasses < BasicWindow
37
+ def initialize
38
+ super("Style Claases")
39
+ self.border_width = 12
40
+
41
+ builder = Gtk::Builder.new
42
+ builder.add("theming.ui")
43
+
44
+ grid = builder.get_object("grid")
45
+ add(grid)
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,270 @@
1
+ # Copyright (c) 2003-2005 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ # $Id: tree_store.rb,v 1.7 2005/02/06 18:25:13 kzys Exp $
5
+ =begin
6
+ = Tree View/Tree Store
7
+
8
+ The Gtk::TreeStore is used to store data in tree form, to be
9
+ used later on by a Gtk::TreeView to display it. This demo builds
10
+ a simple Gtk::TreeStore and displays it. If you're new to the
11
+ GtkTreeView widgets and associates, look into the Gtk::ListStore
12
+ example first.
13
+ =end
14
+ require 'common'
15
+
16
+ module Demo
17
+ class TreeStore < BasicWindow
18
+ # TreeItem structure
19
+ TreeItem = Struct.new('TreeItem',
20
+ :label,
21
+ :alex, :havoc, :tim, :owen, :dave,
22
+ :world_holiday) # shared by the European hackers
23
+
24
+ # columns
25
+ (
26
+ HOLIDAY_NAME_COLUMN,
27
+ ALEX_COLUMN,
28
+ HAVOC_COLUMN,
29
+ TIM_COLUMN,
30
+ OWEN_COLUMN,
31
+ DAVE_COLUMN,
32
+
33
+ VISIBLE_COLUMN,
34
+ WORLD_COLUMN,
35
+ NUM_COLUMNS,
36
+ ) = *(0..9).to_a
37
+
38
+
39
+ # tree data
40
+ TOPLEVEL = [
41
+ ['January',
42
+ [
43
+ ["New Years Day", true, true, true, true, false, true],
44
+ ["Presidential Inauguration", false, true, false, true, false, false],
45
+ ["Martin Luther King Jr. day", false, true, false, true, false, false],
46
+ ]
47
+ ],
48
+ ['February',
49
+ [
50
+ ["Presidents' Day", false, true, false, true, false, false],
51
+ ["Groundhog Day", false, false, false, false, false, false],
52
+ ["Valentine's Day", false, false, false, false, true, true],
53
+ ]
54
+ ],
55
+ ['March',
56
+ [
57
+ ["National Tree Planting Day", false, false, false, false, false, false],
58
+ [ "St Patrick's Day", false, false, false, false, false, true],
59
+ ]
60
+ ],
61
+ ['April',
62
+ [
63
+ [ "April Fools' Day", false, false, false, false, false, true ],
64
+ [ "Army Day", false, false, false, false, false, false ],
65
+ [ "Earth Day", false, false, false, false, false, true ],
66
+ [ "Administrative Professionals' Day", false, false, false, false, false, false ],
67
+ ]],
68
+ ['May',
69
+ [
70
+ [ "Nurses' Day", false, false, false, false, false, false ],
71
+ [ "National Day of Prayer", false, false, false, false, false, false ],
72
+ [ "Mothers' Day", false, false, false, false, false, true ],
73
+ [ "Armed Forces Day", false, false, false, false, false, false ],
74
+ [ "Memorial Day", true, true, true, true, false, true ],
75
+
76
+ ]
77
+ ],
78
+ ['June',
79
+ [
80
+ [ "June Fathers' Day", false, false, false, false, false, true ],
81
+ [ "Juneteenth (Liberation of Slaves)", false, false, false, false, false, false ],
82
+ [ "Flag Day", false, true, false, true, false, false ],
83
+ ]
84
+ ],
85
+ ['July',
86
+ [
87
+ [ "Parents' Day", false, false, false, false, false, true ],
88
+ [ "Independence Day", false, true, false, true, false, false ],
89
+ ]
90
+ ],
91
+ ['August',
92
+ [
93
+ [ "Air Force Day", false, false, false, false, false, false ],
94
+ [ "Coast Guard Day", false, false, false, false, false, false ],
95
+ [ "Friendship Day", false, false, false, false, false, false ],
96
+ ]
97
+ ],
98
+ ['September',
99
+ [
100
+ [ "Grandparents' Day", false, false, false, false, false, true ],
101
+ [ "Citizenship Day or Constitution Day", false, false, false, false, false, false ],
102
+ [ "Labor Day", true, true, true, true, false, true ],
103
+ ]
104
+ ],
105
+ ['October',
106
+ [
107
+ [ "National Children's Day", false, false, false, false, false, false ],
108
+ [ "Bosses' Day", false, false, false, false, false, false ],
109
+ [ "Sweetest Day", false, false, false, false, false, false ],
110
+ [ "Mother-in-Law's Day", false, false, false, false, false, false ],
111
+ [ "Navy Day", false, false, false, false, false, false ],
112
+ [ "Columbus Day", false, true, false, true, false, false ],
113
+ [ "Halloween", false, false, false, false, false, true ],
114
+ ]
115
+ ],
116
+ ['November',
117
+ [
118
+ [ "Marine Corps Day", false, false, false, false, false, false ],
119
+ [ "Veterans' Day", true, true, true, true, false, true ],
120
+ [ "Thanksgiving", false, true, false, true, false, false ],
121
+ ]
122
+ ],
123
+ ['December',
124
+ [
125
+ [ 'Pearl Harbor Remembrance Day', false, false, false, false, false, false ],
126
+ [ 'Christmas', true, true, true, true, false, true ],
127
+ [ 'Kwanzaa', false, false, false, false, false, false ],
128
+ ]
129
+ ],
130
+ ].collect do |month_name, holidays|
131
+ [
132
+ month_name,
133
+ holidays.collect do |args| TreeItem.new(args) end,
134
+ ]
135
+ end
136
+
137
+ def initialize
138
+ # create window, etc
139
+ super('Card planning sheet')
140
+
141
+ vbox = Gtk::VBox.new(false, 8)
142
+ vbox.border_width = 8
143
+ add(vbox)
144
+
145
+ vbox.pack_start(Gtk::Label.new("Jonathan's Holiday Card Planning Sheet"),
146
+ :expand => false, :fill => false, :padding => 0)
147
+
148
+ sw = Gtk::ScrolledWindow.new(nil, nil)
149
+ sw.shadow_type = Gtk::SHADOW_ETCHED_IN
150
+ sw.set_policy(:automatic,
151
+ :automatic)
152
+ vbox.pack_start(sw, :expand => true, :fill => true, :padding => 0)
153
+
154
+ # create model
155
+ model = create_model
156
+
157
+ # create tree view
158
+ treeview = Gtk::TreeView.new(model)
159
+ treeview.rules_hint = true
160
+ treeview.selection.mode = Gtk::SELECTION_MULTIPLE
161
+
162
+ add_columns(treeview)
163
+
164
+ sw.add(treeview)
165
+
166
+ # expand all rows after the treeview widget has been realized
167
+ treeview.signal_connect('realize') do
168
+ treeview.expand_all
169
+ end
170
+ set_default_size(650, 400)
171
+ end
172
+
173
+ def create_model
174
+ # create tree store
175
+ model = Gtk::TreeStore.new(String,
176
+ TrueClass,
177
+ TrueClass,
178
+ TrueClass,
179
+ TrueClass,
180
+ TrueClass,
181
+ TrueClass,
182
+ TrueClass)
183
+
184
+ # add data to the tree store
185
+ TOPLEVEL.each do |month_name, holidays|
186
+ iter = model.append(nil)
187
+
188
+ iter[HOLIDAY_NAME_COLUMN] = month_name
189
+ (ALEX_COLUMN..DAVE_COLUMN).each do |index|
190
+ iter[index] = false
191
+ end
192
+
193
+ # add children
194
+ holidays.each do |holiday|
195
+ child_iter = model.append(iter)
196
+ child_iter[HOLIDAY_NAME_COLUMN] = holiday.label[0]
197
+ %w(alex havoc tim owen dave).each_with_index do |person, i|
198
+ child_iter[ALEX_COLUMN + i] = holiday[person]
199
+ end
200
+ child_iter[VISIBLE_COLUMN] = true
201
+ child_iter[WORLD_COLUMN] = holiday.world_holiday
202
+ end
203
+
204
+ end
205
+
206
+ return model
207
+ end
208
+
209
+ def add_columns(treeview)
210
+ model = treeview.model
211
+
212
+ # column for holiday names
213
+ renderer = Gtk::CellRendererText.new
214
+ renderer.xalign = 0.0
215
+
216
+ col_offset = treeview.insert_column(-1, 'Holiday',
217
+ renderer,
218
+ 'text' => HOLIDAY_NAME_COLUMN)
219
+ column = treeview.get_column(col_offset - 1)
220
+ column.clickable = true
221
+
222
+ [
223
+ ['Alex', true ],
224
+ ['Havoc', false],
225
+ ['Tim', true ],
226
+ ['Owen', false],
227
+ ['Dave', false],
228
+ ].each_with_index do |args, i|
229
+ person, european = *args
230
+ renderer = Gtk::CellRendererToggle.new
231
+ renderer.xalign = 0.0
232
+ eval(%Q[def renderer.column; #{ALEX_COLUMN + i}; end])
233
+
234
+ renderer.signal_connect('toggled') do |cell, path|
235
+ item_toggled(cell, path, model)
236
+ end
237
+
238
+ attributes = {
239
+ 'active' => (ALEX_COLUMN + i),
240
+ 'visible' => VISIBLE_COLUMN,
241
+ }
242
+ if european
243
+ attributes['activatable'] = WORLD_COLUMN
244
+ end
245
+ col_offset = treeview.insert_column(-1, person, renderer, attributes)
246
+
247
+ column = treeview.get_column(col_offset - 1)
248
+ column.sizing = Gtk::TreeViewColumn::FIXED
249
+ column.fixed_width = 50
250
+ column.clickable = true
251
+ end
252
+ end
253
+
254
+ def item_toggled (cell, path_str, model)
255
+ path = Gtk::TreePath.new(path_str)
256
+
257
+ column = cell.column
258
+
259
+ # get toggled iter
260
+ iter = model.get_iter(path)
261
+ toggle_item = iter[column]
262
+
263
+ # do something with the value
264
+ toggle_item ^= 1
265
+
266
+ # set new value
267
+ iter[column] = toggle_item
268
+ end
269
+ end
270
+ end
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env ruby
2
+ =begin
3
+ aboutdialog.rb - Ruby/GTK sample script.
4
+
5
+ Copyright (c) 2005,2006 Ruby-GNOME2 Project Team
6
+ This program is licenced under the same licence as Ruby-GNOME2.
7
+
8
+ $Id: aboutdialog.rb,v 1.2 2006/06/17 13:18:12 mutoh Exp $
9
+ =end
10
+ require 'gtk3'
11
+
12
+ if str = Gtk.check_version(2, 6, 0)
13
+ puts "This sample requires GTK+ 2.6.0 or later"
14
+ puts str
15
+ exit
16
+ end
17
+
18
+ Gtk::AboutDialog.set_email_hook {|about, link|
19
+ p "email_hook"
20
+ p link
21
+ }
22
+ Gtk::AboutDialog.set_url_hook {|about, link|
23
+ p "url_hook"
24
+ p link
25
+ }
26
+
27
+ a = Gtk::AboutDialog.new
28
+ a.artists = ["Artist 1 <no1@foo.bar.com>", "Artist 2 <no2@foo.bar.com>"]
29
+ a.authors = ["Author 1 <no1@foo.bar.com>", "Author 2 <no2@foo.bar.com>"]
30
+ a.comments = "This is a sample script for Gtk::AboutDialog"
31
+ a.copyright = "Copyright (C) 2005 Ruby-GNOME2 Project"
32
+ a.documenters = ["Documenter 1 <no1@foo.bar.com>", "Documenter 2 <no2@foo.bar.com>"]
33
+ a.license = "This program is licenced under the same licence as Ruby-GNOME2."
34
+ a.logo = Gdk::Pixbuf.new("gnome-logo-icon.png")
35
+ a.program_name = "Gtk::AboutDialog sample"
36
+ a.translator_credits = "Translator 1\nTranslator 2\n"
37
+ a.version = "1.0.0"
38
+ a.website = "http://ruby-gnome2.sourceforge.jp"
39
+ a.website_label = "Ruby-GNOME2 Project Website"
40
+
41
+ p a.run
42
+
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env ruby
2
+ =begin
3
+ aboutdialog2.rb - Ruby/GTK sample script.
4
+
5
+ Copyright (c) 2005,2006 Ruby-GNOME2 Project Team
6
+ This program is licenced under the same licence as Ruby-GNOME2.
7
+
8
+ $Id: aboutdialog2.rb,v 1.2 2006/06/17 13:18:12 mutoh Exp $
9
+ =end
10
+ require 'gtk3'
11
+
12
+ if str = Gtk.check_version(2, 6, 0)
13
+ puts "This sample requires GTK+ 2.6.0 or later"
14
+ puts str
15
+ exit
16
+ end
17
+
18
+ Gtk::AboutDialog.set_email_hook {|about, link|
19
+ p "email_hook"
20
+ p link
21
+ }
22
+ Gtk::AboutDialog.set_url_hook {|about, link|
23
+ p "url_hook"
24
+ p link
25
+ }
26
+
27
+ Gtk::AboutDialog.show(nil,
28
+ "artists" => ["Artist 1 <no1@foo.bar.com>", "Artist 2 <no2@foo.bar.com>"],
29
+ "authors" => ["Author 1 <no1@foo.bar.com>", "Author 2 <no2@foo.bar.com>"],
30
+ "comments" => "This is a sample script for Gtk::AboutDialog",
31
+ "copyright" => "Copyright (C) 2005 Ruby-GNOME2 Project",
32
+ "documenters" => ["Documenter 1 <no1@foo.bar.com>", "Documenter 2 <no2@foo.bar.com>"],
33
+ "license" => "This program is licenced under the same licence as Ruby-GNOME2.",
34
+ "logo_icon_name" => "gtk-home",
35
+ "program_name" => "Gtk::AboutDialog sample",
36
+ "translator_credits" => "Translator 1 <no1@foo.bar.com>\nTranslator 2 <no2@foo.bar.com>\n",
37
+ "version" => "1.0.0",
38
+ "website" => "http://ruby-gnome2.sourceforge.jp",
39
+ "website_label" => "Ruby-GNOME2 Project Website"
40
+ )
41
+
42
+ Gtk.main
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/env ruby
2
+ =begin
3
+ alpha-demo.rb - alpha blended window sample script. (need xcompmgr)
4
+
5
+ Original: alphademo.py by Mike Hearn (*1) and David Trowbridge (*2)
6
+ * (1) http://plan99.net/~mike/blog/2006/06/05/alpha-blended-windows-in-python/
7
+ * (2) http://david.navi.cx/blog/?p=91
8
+
9
+ Translated to Ruby by Juergen Mangler <juergen.mangler@univie.ac.at>
10
+
11
+ Copyright (c) 2006 Ruby-GNOME2 Project Team
12
+ This program is licenced under the same licence as Ruby-GNOME2.
13
+
14
+ $Id: alpha-demo.rb,v 1.1 2007/01/06 03:55:44 ktou Exp $
15
+ =end
16
+
17
+ require 'gtk3'
18
+ require 'cairo'
19
+
20
+ class AlphaDemo < Gtk::Window
21
+
22
+ def initialize()
23
+ super()
24
+
25
+ set_app_paintable(true)
26
+ set_title("AlphaDemo")
27
+ set_decorated(false)
28
+ set_default_size(200, 220)
29
+ signal_connect("delete_event") do
30
+ Gtk.main_quit
31
+ end
32
+ set_double_buffered(false)
33
+
34
+ signal_connect('draw') do |widget, event|
35
+ cr = widget.window.create_cairo_context
36
+
37
+ rgba = [1.0, 1.0, 1.0]
38
+ rgba << 0.0 if @supports_alpha
39
+ cr.set_source_rgba(rgba)
40
+ cr.set_operator(Cairo::OPERATOR_SOURCE)
41
+ cr.paint
42
+
43
+ twidth, theight = widget.size
44
+
45
+ cr.set_source_rgba(1.0, 0.2, 0.2, 0.6)
46
+ radius = [twidth, theight].min.to_f / 2 - 0.8
47
+
48
+ cr.arc(twidth.to_f / 2, theight.to_f / 2, radius, 0, 2.0 * Math::PI)
49
+ cr.fill_preserve
50
+ cr.stroke
51
+ end
52
+ signal_connect('screen-changed') do |widget, old_screen|
53
+ screen_changed(widget, old_screen)
54
+ end
55
+
56
+ screen_changed(self)
57
+ end
58
+
59
+ def screen_changed(widget,old_screen=nil)
60
+ tcolormap = widget.screen.rgba_colormap
61
+ @supports_alpha = !tcolormap.nil?
62
+ tcolormap ||= widget.screen.rgb_colormap
63
+ widget.set_colormap(tcolormap)
64
+ end
65
+ end
66
+
67
+ alpha = AlphaDemo.new
68
+ alpha.show
69
+
70
+ Gtk.main()