gtk2 0.20.1 → 0.90.2

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 (443) hide show
  1. data/ChangeLog +30 -0
  2. data/Rakefile +60 -54
  3. data/ext/gtk2/Makefile +163 -0
  4. data/ext/gtk2/depend +10 -0
  5. data/ext/gtk2/extconf.rb +202 -0
  6. data/{src → ext/gtk2}/global.h +0 -0
  7. data/ext/gtk2/gtk2.def +27 -0
  8. data/{src → ext/gtk2}/init.c +0 -0
  9. data/{src → ext/gtk2}/rbgdk.c +0 -0
  10. data/{src → ext/gtk2}/rbgdk.h +0 -0
  11. data/{src → ext/gtk2}/rbgdkatom.c +0 -0
  12. data/{src → ext/gtk2}/rbgdkcairo.c +0 -0
  13. data/{src → ext/gtk2}/rbgdkcolor.c +0 -0
  14. data/{src → ext/gtk2}/rbgdkcolormap.c +0 -0
  15. data/{src → ext/gtk2}/rbgdkconst.c +0 -0
  16. data/{src → ext/gtk2}/rbgdkconversions.h +0 -0
  17. data/{src → ext/gtk2}/rbgdkcursor.c +0 -0
  18. data/{src → ext/gtk2}/rbgdkdevice.c +0 -0
  19. data/{src → ext/gtk2}/rbgdkdisplay.c +0 -0
  20. data/{src → ext/gtk2}/rbgdkdisplaymanager.c +0 -0
  21. data/{src → ext/gtk2}/rbgdkdragcontext.c +0 -0
  22. data/{src → ext/gtk2}/rbgdkdraw.c +0 -0
  23. data/{src → ext/gtk2}/rbgdkevent.c +0 -0
  24. data/{src → ext/gtk2}/rbgdkgc.c +0 -0
  25. data/{src → ext/gtk2}/rbgdkgeometry.c +0 -0
  26. data/{src → ext/gtk2}/rbgdkimage.c +0 -0
  27. data/{src → ext/gtk2}/rbgdkinput.c +0 -0
  28. data/{src → ext/gtk2}/rbgdkkeymap.c +0 -0
  29. data/{src → ext/gtk2}/rbgdkkeysyms.h +0 -466
  30. data/{src → ext/gtk2}/rbgdkkeyval.c +0 -0
  31. data/{src → ext/gtk2}/rbgdkpango.c +0 -0
  32. data/{src → ext/gtk2}/rbgdkpangorenderer.c +0 -0
  33. data/{src → ext/gtk2}/rbgdkpixbuf.c +0 -0
  34. data/{src → ext/gtk2}/rbgdkpixmap.c +0 -0
  35. data/{src → ext/gtk2}/rbgdkproperty.c +0 -0
  36. data/{src → ext/gtk2}/rbgdkrectangle.c +0 -0
  37. data/{src → ext/gtk2}/rbgdkregion.c +0 -0
  38. data/{src → ext/gtk2}/rbgdkrgb.c +0 -0
  39. data/{src → ext/gtk2}/rbgdkscreen.c +0 -0
  40. data/{src → ext/gtk2}/rbgdkselection.c +0 -0
  41. data/{src → ext/gtk2}/rbgdkthreads.c +0 -0
  42. data/{src → ext/gtk2}/rbgdktimecoord.c +0 -0
  43. data/{src → ext/gtk2}/rbgdkvisual.c +0 -0
  44. data/{src → ext/gtk2}/rbgdkwindow.c +0 -0
  45. data/{src → ext/gtk2}/rbgdkwindowattr.c +0 -0
  46. data/{src → ext/gtk2}/rbgdkx11.c +0 -0
  47. data/{src → ext/gtk2}/rbgtk.c +0 -0
  48. data/{src → ext/gtk2}/rbgtk.h +0 -4
  49. data/{src → ext/gtk2}/rbgtkaboutdialog.c +0 -0
  50. data/{src → ext/gtk2}/rbgtkaccelerator.c +0 -0
  51. data/{src → ext/gtk2}/rbgtkaccelgroup.c +0 -0
  52. data/{src → ext/gtk2}/rbgtkaccelgroupentry.c +0 -0
  53. data/{src → ext/gtk2}/rbgtkaccelkey.c +0 -0
  54. data/{src → ext/gtk2}/rbgtkaccellabel.c +0 -0
  55. data/{src → ext/gtk2}/rbgtkaccelmap.c +0 -0
  56. data/{src → ext/gtk2}/rbgtkaccessible.c +0 -0
  57. data/{src → ext/gtk2}/rbgtkaction.c +0 -0
  58. data/{src → ext/gtk2}/rbgtkactiongroup.c +0 -0
  59. data/{src → ext/gtk2}/rbgtkadjustment.c +0 -0
  60. data/{src → ext/gtk2}/rbgtkalignment.c +0 -0
  61. data/{src → ext/gtk2}/rbgtkallocation.c +0 -0
  62. data/{src → ext/gtk2}/rbgtkarrow.c +0 -0
  63. data/{src → ext/gtk2}/rbgtkaspectframe.c +0 -0
  64. data/{src → ext/gtk2}/rbgtkassistant.c +0 -0
  65. data/{src → ext/gtk2}/rbgtkbbox.c +0 -0
  66. data/{src → ext/gtk2}/rbgtkbin.c +0 -0
  67. data/{src → ext/gtk2}/rbgtkbindingset.c +0 -0
  68. data/{src → ext/gtk2}/rbgtkborder.c +0 -0
  69. data/{src → ext/gtk2}/rbgtkbox.c +0 -0
  70. data/{src → ext/gtk2}/rbgtkbuildable.c +0 -0
  71. data/{src → ext/gtk2}/rbgtkbuilder.c +0 -0
  72. data/{src → ext/gtk2}/rbgtkbutton.c +0 -0
  73. data/{src → ext/gtk2}/rbgtkcalendar.c +0 -0
  74. data/{src → ext/gtk2}/rbgtkcelleditable.c +0 -0
  75. data/{src → ext/gtk2}/rbgtkcelllayout.c +0 -0
  76. data/{src → ext/gtk2}/rbgtkcellrenderer.c +0 -0
  77. data/{src → ext/gtk2}/rbgtkcellrendereraccel.c +0 -0
  78. data/{src → ext/gtk2}/rbgtkcellrenderercombo.c +0 -0
  79. data/{src → ext/gtk2}/rbgtkcellrendererpixbuf.c +0 -0
  80. data/{src → ext/gtk2}/rbgtkcellrendererprogress.c +0 -0
  81. data/{src → ext/gtk2}/rbgtkcellrendererspin.c +0 -0
  82. data/{src → ext/gtk2}/rbgtkcellrenderertext.c +0 -0
  83. data/{src → ext/gtk2}/rbgtkcellrenderertoggle.c +0 -0
  84. data/{src → ext/gtk2}/rbgtkcellview.c +0 -0
  85. data/{src → ext/gtk2}/rbgtkcheckbutton.c +0 -0
  86. data/{src → ext/gtk2}/rbgtkcheckmenuitem.c +0 -0
  87. data/{src → ext/gtk2}/rbgtkclipboard.c +0 -0
  88. data/{src → ext/gtk2}/rbgtkcolorbutton.c +0 -0
  89. data/{src → ext/gtk2}/rbgtkcolorsel.c +0 -0
  90. data/{src → ext/gtk2}/rbgtkcolorselectiondialog.c +0 -0
  91. data/{src → ext/gtk2}/rbgtkcombo.c +0 -0
  92. data/{src → ext/gtk2}/rbgtkcombobox.c +0 -0
  93. data/{src → ext/gtk2}/rbgtkcomboboxentry.c +0 -0
  94. data/{src → ext/gtk2}/rbgtkconst.c +0 -0
  95. data/{src → ext/gtk2}/rbgtkcontainer.c +0 -0
  96. data/{src → ext/gtk2}/rbgtkconversions.h +0 -0
  97. data/{src → ext/gtk2}/rbgtkcurve.c +0 -0
  98. data/{src → ext/gtk2}/rbgtkdialog.c +0 -0
  99. data/{src → ext/gtk2}/rbgtkdrag.c +0 -0
  100. data/{src → ext/gtk2}/rbgtkdrawingarea.c +0 -0
  101. data/{src → ext/gtk2}/rbgtkeditable.c +0 -0
  102. data/{src → ext/gtk2}/rbgtkentry.c +0 -0
  103. data/{src → ext/gtk2}/rbgtkentrycompletion.c +0 -0
  104. data/{src → ext/gtk2}/rbgtkeventbox.c +0 -0
  105. data/{src → ext/gtk2}/rbgtkexpander.c +0 -0
  106. data/{src → ext/gtk2}/rbgtkfilechooser.c +0 -0
  107. data/{src → ext/gtk2}/rbgtkfilechooserbutton.c +0 -0
  108. data/{src → ext/gtk2}/rbgtkfilechooserdialog.c +0 -0
  109. data/{src → ext/gtk2}/rbgtkfilechooserwidget.c +0 -0
  110. data/{src → ext/gtk2}/rbgtkfilefilter.c +0 -0
  111. data/{src → ext/gtk2}/rbgtkfilesel.c +0 -0
  112. data/{src → ext/gtk2}/rbgtkfixed.c +0 -0
  113. data/{src → ext/gtk2}/rbgtkfontbutton.c +0 -0
  114. data/{src → ext/gtk2}/rbgtkfontselection.c +0 -0
  115. data/{src → ext/gtk2}/rbgtkfontselectiondialog.c +0 -0
  116. data/{src → ext/gtk2}/rbgtkframe.c +0 -0
  117. data/{src → ext/gtk2}/rbgtkgamma.c +0 -0
  118. data/{src → ext/gtk2}/rbgtkhandlebox.c +0 -0
  119. data/{src → ext/gtk2}/rbgtkhbbox.c +0 -0
  120. data/{src → ext/gtk2}/rbgtkhbox.c +0 -0
  121. data/{src → ext/gtk2}/rbgtkhpaned.c +0 -0
  122. data/{src → ext/gtk2}/rbgtkhruler.c +0 -0
  123. data/{src → ext/gtk2}/rbgtkhscale.c +0 -0
  124. data/{src → ext/gtk2}/rbgtkhscrollbar.c +0 -0
  125. data/{src → ext/gtk2}/rbgtkhseparator.c +0 -0
  126. data/{src → ext/gtk2}/rbgtkiconfactory.c +0 -0
  127. data/{src → ext/gtk2}/rbgtkiconinfo.c +0 -0
  128. data/{src → ext/gtk2}/rbgtkiconset.c +0 -0
  129. data/{src → ext/gtk2}/rbgtkiconsize.c +0 -0
  130. data/{src → ext/gtk2}/rbgtkiconsource.c +0 -0
  131. data/{src → ext/gtk2}/rbgtkicontheme.c +0 -0
  132. data/{src → ext/gtk2}/rbgtkiconview.c +0 -0
  133. data/{src → ext/gtk2}/rbgtkimage.c +0 -0
  134. data/{src → ext/gtk2}/rbgtkimagemenuitem.c +0 -0
  135. data/{src → ext/gtk2}/rbgtkimcontext.c +0 -0
  136. data/{src → ext/gtk2}/rbgtkimcontextsimple.c +0 -0
  137. data/{src → ext/gtk2}/rbgtkimmulticontext.c +0 -0
  138. data/{src → ext/gtk2}/rbgtkinits.c +2 -6
  139. data/{src → ext/gtk2}/rbgtkinputdialog.c +0 -0
  140. data/{src → ext/gtk2}/rbgtkinvisible.c +0 -0
  141. data/{src → ext/gtk2}/rbgtkitem.c +0 -0
  142. data/{src → ext/gtk2}/rbgtkitemfactory.c +0 -0
  143. data/{src → ext/gtk2}/rbgtklabel.c +0 -0
  144. data/{src → ext/gtk2}/rbgtklayout.c +0 -0
  145. data/{src → ext/gtk2}/rbgtklinkbutton.c +0 -0
  146. data/{src → ext/gtk2}/rbgtkliststore.c +0 -0
  147. data/{src → ext/gtk2}/rbgtkmacros.h +0 -0
  148. data/{src → ext/gtk2}/rbgtkmain.c +0 -0
  149. data/{src → ext/gtk2}/rbgtkmenu.c +0 -0
  150. data/{src → ext/gtk2}/rbgtkmenubar.c +0 -0
  151. data/{src → ext/gtk2}/rbgtkmenuitem.c +0 -0
  152. data/{src → ext/gtk2}/rbgtkmenushell.c +0 -0
  153. data/{src → ext/gtk2}/rbgtkmenutoolbutton.c +0 -0
  154. data/{src → ext/gtk2}/rbgtkmessagedialog.c +0 -0
  155. data/{src → ext/gtk2}/rbgtkmisc.c +0 -0
  156. data/{src → ext/gtk2}/rbgtknotebook.c +0 -0
  157. data/{src → ext/gtk2}/rbgtkobject.c +0 -0
  158. data/{src → ext/gtk2}/rbgtkoptionmenu.c +0 -0
  159. data/{src → ext/gtk2}/rbgtkpagesetup.c +0 -0
  160. data/{src → ext/gtk2}/rbgtkpagesetupunixdialog.c +0 -0
  161. data/{src → ext/gtk2}/rbgtkpaned.c +0 -0
  162. data/{src → ext/gtk2}/rbgtkpapersize.c +0 -0
  163. data/{src → ext/gtk2}/rbgtkplug.c +0 -0
  164. data/{src → ext/gtk2}/rbgtkprintcontext.c +0 -0
  165. data/{src → ext/gtk2}/rbgtkprinter.c +0 -0
  166. data/{src → ext/gtk2}/rbgtkprintjob.c +0 -0
  167. data/{src → ext/gtk2}/rbgtkprintoperation.c +0 -0
  168. data/{src → ext/gtk2}/rbgtkprintoperationpreview.c +0 -0
  169. data/{src → ext/gtk2}/rbgtkprintsettings.c +0 -0
  170. data/{src → ext/gtk2}/rbgtkprintunixdialog.c +0 -0
  171. data/{src → ext/gtk2}/rbgtkprogress.c +0 -0
  172. data/{src → ext/gtk2}/rbgtkprogressbar.c +0 -0
  173. data/{src → ext/gtk2}/rbgtkradioaction.c +0 -0
  174. data/{src → ext/gtk2}/rbgtkradiobutton.c +0 -0
  175. data/{src → ext/gtk2}/rbgtkradiomenuitem.c +0 -0
  176. data/{src → ext/gtk2}/rbgtkradiotoolbutton.c +0 -0
  177. data/{src → ext/gtk2}/rbgtkrange.c +0 -0
  178. data/{src → ext/gtk2}/rbgtkrc.c +0 -0
  179. data/{src → ext/gtk2}/rbgtkrcstyle.c +0 -0
  180. data/{src → ext/gtk2}/rbgtkrecentaction.c +0 -0
  181. data/{src → ext/gtk2}/rbgtkrecentchooser.c +0 -0
  182. data/{src → ext/gtk2}/rbgtkrecentchooserdialog.c +0 -0
  183. data/{src → ext/gtk2}/rbgtkrecentchoosermenu.c +0 -0
  184. data/{src → ext/gtk2}/rbgtkrecentchooserwidget.c +0 -0
  185. data/{src → ext/gtk2}/rbgtkrecentdata.c +0 -0
  186. data/{src → ext/gtk2}/rbgtkrecentfilter.c +0 -0
  187. data/{src → ext/gtk2}/rbgtkrecentfilterinfo.c +0 -0
  188. data/{src → ext/gtk2}/rbgtkrecentinfo.c +0 -0
  189. data/{src → ext/gtk2}/rbgtkrecentmanager.c +0 -0
  190. data/{src → ext/gtk2}/rbgtkruler.c +0 -0
  191. data/{src → ext/gtk2}/rbgtkscale.c +0 -0
  192. data/{src → ext/gtk2}/rbgtkscalebutton.c +0 -0
  193. data/{src → ext/gtk2}/rbgtkscrollbar.c +0 -0
  194. data/{src → ext/gtk2}/rbgtkscrolledwindow.c +0 -0
  195. data/{src → ext/gtk2}/rbgtkselection.c +0 -0
  196. data/{src → ext/gtk2}/rbgtkselectiondata.c +0 -0
  197. data/{src → ext/gtk2}/rbgtkseparator.c +0 -0
  198. data/{src → ext/gtk2}/rbgtkseparatormenuitem.c +0 -0
  199. data/{src → ext/gtk2}/rbgtkseparatortoolitem.c +0 -0
  200. data/{src → ext/gtk2}/rbgtksettings.c +0 -0
  201. data/{src → ext/gtk2}/rbgtksizegroup.c +0 -0
  202. data/{src → ext/gtk2}/rbgtksocket.c +0 -0
  203. data/{src → ext/gtk2}/rbgtkspinbutton.c +0 -0
  204. data/{src → ext/gtk2}/rbgtkstatusbar.c +0 -0
  205. data/{src → ext/gtk2}/rbgtkstatusicon.c +0 -0
  206. data/{src → ext/gtk2}/rbgtkstock.c +0 -0
  207. data/{src → ext/gtk2}/rbgtkstyle.c +0 -0
  208. data/{src → ext/gtk2}/rbgtktable.c +0 -0
  209. data/{src → ext/gtk2}/rbgtktargetlist.c +0 -0
  210. data/{src → ext/gtk2}/rbgtktearoffmenuitem.c +0 -0
  211. data/{src → ext/gtk2}/rbgtktextappearance.c +0 -0
  212. data/{src → ext/gtk2}/rbgtktextattributes.c +0 -0
  213. data/{src → ext/gtk2}/rbgtktextbuffer.c +0 -0
  214. data/{src → ext/gtk2}/rbgtktextchild.c +0 -0
  215. data/{src → ext/gtk2}/rbgtktextiter.c +0 -0
  216. data/{src → ext/gtk2}/rbgtktextmark.c +0 -0
  217. data/{src → ext/gtk2}/rbgtktexttag.c +0 -0
  218. data/{src → ext/gtk2}/rbgtktexttagtable.c +0 -0
  219. data/{src → ext/gtk2}/rbgtktextview.c +0 -0
  220. data/{src → ext/gtk2}/rbgtktoggleaction.c +0 -0
  221. data/{src → ext/gtk2}/rbgtktogglebutton.c +0 -0
  222. data/{src → ext/gtk2}/rbgtktoggletoolbutton.c +0 -0
  223. data/{src → ext/gtk2}/rbgtktoolbar.c +0 -0
  224. data/{src → ext/gtk2}/rbgtktoolbutton.c +0 -0
  225. data/{src → ext/gtk2}/rbgtktoolitem.c +0 -0
  226. data/{src → ext/gtk2}/rbgtktooltip.c +0 -0
  227. data/{src → ext/gtk2}/rbgtktooltips.c +0 -0
  228. data/{src → ext/gtk2}/rbgtktreedragdest.c +0 -0
  229. data/{src → ext/gtk2}/rbgtktreedragsource.c +0 -0
  230. data/{src → ext/gtk2}/rbgtktreeiter.c +0 -0
  231. data/{src → ext/gtk2}/rbgtktreemodel.c +0 -0
  232. data/{src → ext/gtk2}/rbgtktreemodelfilter.c +0 -0
  233. data/{src → ext/gtk2}/rbgtktreemodelsort.c +0 -0
  234. data/{src → ext/gtk2}/rbgtktreepath.c +0 -0
  235. data/{src → ext/gtk2}/rbgtktreerowreference.c +0 -0
  236. data/{src → ext/gtk2}/rbgtktreeselection.c +0 -0
  237. data/{src → ext/gtk2}/rbgtktreesortable.c +0 -0
  238. data/{src → ext/gtk2}/rbgtktreestore.c +0 -0
  239. data/{src → ext/gtk2}/rbgtktreeview.c +0 -0
  240. data/{src → ext/gtk2}/rbgtktreeviewcolumn.c +0 -0
  241. data/{src → ext/gtk2}/rbgtkuimanager.c +0 -0
  242. data/{src → ext/gtk2}/rbgtkvbbox.c +0 -0
  243. data/{src → ext/gtk2}/rbgtkvbox.c +0 -0
  244. data/{src → ext/gtk2}/rbgtkviewport.c +0 -0
  245. data/{src → ext/gtk2}/rbgtkvolumebutton.c +0 -0
  246. data/{src → ext/gtk2}/rbgtkvpaned.c +0 -0
  247. data/{src → ext/gtk2}/rbgtkvruler.c +0 -0
  248. data/{src → ext/gtk2}/rbgtkvscale.c +0 -0
  249. data/{src → ext/gtk2}/rbgtkvscrollbar.c +0 -0
  250. data/{src → ext/gtk2}/rbgtkvseparator.c +0 -0
  251. data/{src → ext/gtk2}/rbgtkwidget.c +0 -0
  252. data/{src → ext/gtk2}/rbgtkwindow.c +0 -0
  253. data/{src → ext/gtk2}/rbgtkwindowgroup.c +0 -0
  254. data/extconf.rb +48 -113
  255. data/{src/lib → lib}/gtk2.rb +0 -0
  256. data/{src/lib → lib}/gtk2/base.rb +12 -1
  257. data/sample/gtk-demo/README +7 -0
  258. data/sample/gtk-demo/alphatest.png +0 -0
  259. data/sample/gtk-demo/apple-red.png +0 -0
  260. data/sample/gtk-demo/appwindow.rb +233 -0
  261. data/sample/gtk-demo/background.jpg +0 -0
  262. data/sample/gtk-demo/builder.rb +51 -0
  263. data/sample/gtk-demo/button_box.rb +84 -0
  264. data/sample/gtk-demo/cairo-arc-negative.rb +41 -0
  265. data/sample/gtk-demo/cairo-arc.rb +41 -0
  266. data/sample/gtk-demo/cairo-clip-image.rb +51 -0
  267. data/sample/gtk-demo/cairo-clip-rectangle.rb +35 -0
  268. data/sample/gtk-demo/cairo-clip.rb +35 -0
  269. data/sample/gtk-demo/cairo-curve-rectangle.rb +76 -0
  270. data/sample/gtk-demo/cairo-curve-to.rb +43 -0
  271. data/sample/gtk-demo/cairo-dash.rb +39 -0
  272. data/sample/gtk-demo/cairo-fill-and-stroke.rb +32 -0
  273. data/sample/gtk-demo/cairo-fill-and-stroke2.rb +38 -0
  274. data/sample/gtk-demo/cairo-gradient.rb +35 -0
  275. data/sample/gtk-demo/cairo-image-pattern.rb +39 -0
  276. data/sample/gtk-demo/cairo-image.rb +49 -0
  277. data/sample/gtk-demo/cairo-line-cap.rb +53 -0
  278. data/sample/gtk-demo/cairo-line-join.rb +41 -0
  279. data/sample/gtk-demo/cairo-long-lines.rb +41 -0
  280. data/sample/gtk-demo/cairo-operator.rb +83 -0
  281. data/sample/gtk-demo/cairo-path.rb +28 -0
  282. data/sample/gtk-demo/cairo-pattern-fill.rb +88 -0
  283. data/sample/gtk-demo/cairo-self-intersect.rb +32 -0
  284. data/sample/gtk-demo/cairo-text-align-center.rb +45 -0
  285. data/sample/gtk-demo/cairo-text-extents.rb +46 -0
  286. data/sample/gtk-demo/cairo-text.rb +43 -0
  287. data/sample/gtk-demo/changedisplay.rb +408 -0
  288. data/sample/gtk-demo/clipboard.rb +72 -0
  289. data/sample/gtk-demo/colorsel.rb +84 -0
  290. data/sample/gtk-demo/common.rb +88 -0
  291. data/sample/gtk-demo/demo.ui +258 -0
  292. data/sample/gtk-demo/dialog.rb +137 -0
  293. data/sample/gtk-demo/drawingarea.rb +226 -0
  294. data/sample/gtk-demo/editable_cells.rb +172 -0
  295. data/sample/gtk-demo/entry_completion.rb +63 -0
  296. data/sample/gtk-demo/expander.rb +40 -0
  297. data/sample/gtk-demo/floppybuddy.gif +0 -0
  298. data/sample/gtk-demo/gnome-applets.png +0 -0
  299. data/sample/gtk-demo/gnome-calendar.png +0 -0
  300. data/sample/gtk-demo/gnome-foot.png +0 -0
  301. data/sample/gtk-demo/gnome-fs-directory.png +0 -0
  302. data/sample/gtk-demo/gnome-fs-regular.png +0 -0
  303. data/sample/gtk-demo/gnome-gimp.png +0 -0
  304. data/sample/gtk-demo/gnome-gmush.png +0 -0
  305. data/sample/gtk-demo/gnome-gsame.png +0 -0
  306. data/sample/gtk-demo/gnu-keys.png +0 -0
  307. data/sample/gtk-demo/gtk-logo-rgb.gif +0 -0
  308. data/sample/gtk-demo/hypertext.rb +211 -0
  309. data/sample/gtk-demo/iconview.rb +109 -0
  310. data/sample/gtk-demo/images.rb +197 -0
  311. data/sample/gtk-demo/item_factory.rb +94 -0
  312. data/sample/gtk-demo/list_store.rb +138 -0
  313. data/sample/gtk-demo/main.rb +380 -0
  314. data/sample/gtk-demo/menus.rb +172 -0
  315. data/sample/gtk-demo/panes.rb +156 -0
  316. data/sample/gtk-demo/pixbufs.rb +176 -0
  317. data/sample/gtk-demo/printing.rb +128 -0
  318. data/sample/gtk-demo/rotated_text.rb +84 -0
  319. data/sample/gtk-demo/ruby-gnome2-logo.png +0 -0
  320. data/sample/gtk-demo/sizegroup.rb +118 -0
  321. data/sample/gtk-demo/stock_browser.rb +235 -0
  322. data/sample/gtk-demo/textview.rb +435 -0
  323. data/sample/gtk-demo/tree_store.rb +270 -0
  324. data/sample/misc/aboutdialog.rb +42 -0
  325. data/sample/misc/aboutdialog2.rb +42 -0
  326. data/sample/misc/alpha-demo.rb +70 -0
  327. data/sample/misc/assistant.rb +347 -0
  328. data/sample/misc/bindings.rb +107 -0
  329. data/sample/misc/button.rb +69 -0
  330. data/sample/misc/button2.rb +28 -0
  331. data/sample/misc/buttonbox.rb +93 -0
  332. data/sample/misc/cairo-pong.rb +215 -0
  333. data/sample/misc/calendar.rb +62 -0
  334. data/sample/misc/checkbutton.rb +46 -0
  335. data/sample/misc/colorselection.rb +25 -0
  336. data/sample/misc/combo_check.rb +71 -0
  337. data/sample/misc/combobox.rb +86 -0
  338. data/sample/misc/composited-windows.rb +113 -0
  339. data/sample/misc/cursor.rb +32 -0
  340. data/sample/misc/dialog.rb +44 -0
  341. data/sample/misc/dialog2.rb +39 -0
  342. data/sample/misc/dnd.rb +65 -0
  343. data/sample/misc/dndtreeview.rb +56 -0
  344. data/sample/misc/drag-move.rb +131 -0
  345. data/sample/misc/drawing.rb +90 -0
  346. data/sample/misc/entry.rb +34 -0
  347. data/sample/misc/entrycompletion.rb +39 -0
  348. data/sample/misc/expander.rb +27 -0
  349. data/sample/misc/filechooser.rb +49 -0
  350. data/sample/misc/fileselection.rb +26 -0
  351. data/sample/misc/frame.rb +69 -0
  352. data/sample/misc/gc.rb +59 -0
  353. data/sample/misc/gdkscreen.rb +32 -0
  354. data/sample/misc/gnome-logo-icon.png +0 -0
  355. data/sample/misc/helloworld.rb +35 -0
  356. data/sample/misc/iconview.rb +38 -0
  357. data/sample/misc/image.rb +42 -0
  358. data/sample/misc/itemfactory.rb +73 -0
  359. data/sample/misc/itemfactory2.rb +74 -0
  360. data/sample/misc/keyboard_grab.rb +29 -0
  361. data/sample/misc/label.rb +33 -0
  362. data/sample/misc/linkbutton.rb +42 -0
  363. data/sample/misc/listview.rb +92 -0
  364. data/sample/misc/menu.rb +81 -0
  365. data/sample/misc/misc_button.rb +59 -0
  366. data/sample/misc/mouse-gesture.rb +465 -0
  367. data/sample/misc/pangorenderer.rb +66 -0
  368. data/sample/misc/pointer_grab.rb +34 -0
  369. data/sample/misc/print.rb +247 -0
  370. data/sample/misc/properties.rb +85 -0
  371. data/sample/misc/radiobutton.rb +47 -0
  372. data/sample/misc/recentchooserdialog.rb +59 -0
  373. data/sample/misc/rgtk+cairo.rb +44 -0
  374. data/sample/misc/scalebutton.rb +25 -0
  375. data/sample/misc/settings.rb +41 -0
  376. data/sample/misc/statusicon.rb +123 -0
  377. data/sample/misc/stock.rb +36 -0
  378. data/sample/misc/style_property.rb +67 -0
  379. data/sample/misc/style_property.rc +19 -0
  380. data/sample/misc/t-gtkplug.rb +58 -0
  381. data/sample/misc/t-gtksocket.rb +65 -0
  382. data/sample/misc/test.xpm +92 -0
  383. data/sample/misc/textbuffer_serialize.rb +130 -0
  384. data/sample/misc/threads.rb +72 -0
  385. data/sample/misc/to_drawable.rb +42 -0
  386. data/sample/misc/togglebutton.rb +34 -0
  387. data/sample/misc/toolbar.rb +55 -0
  388. data/sample/misc/tooltips.rb +204 -0
  389. data/sample/misc/tree_combo.rb +85 -0
  390. data/sample/misc/tree_progress.rb +69 -0
  391. data/sample/misc/treemodelfilter.rb +55 -0
  392. data/sample/misc/treeview.rb +71 -0
  393. data/sample/misc/uimanager.rb +148 -0
  394. data/sample/misc/uimanager2.rb +91 -0
  395. data/sample/misc/uimanager2.xml +36 -0
  396. data/sample/misc/window.rb +24 -0
  397. data/sample/misc/xbm_cursor.rb +43 -0
  398. data/sample/testgtk/3DRings.xpm +116 -0
  399. data/sample/testgtk/FilesQueue.xpm +98 -0
  400. data/sample/testgtk/Modeller.xpm +117 -0
  401. data/sample/testgtk/README +14 -0
  402. data/sample/testgtk/button.rb +133 -0
  403. data/sample/testgtk/buttonbox.rb +108 -0
  404. data/sample/testgtk/check-n.xpm +21 -0
  405. data/sample/testgtk/check-y.xpm +21 -0
  406. data/sample/testgtk/checkbutton.rb +67 -0
  407. data/sample/testgtk/circles.xbm +46 -0
  408. data/sample/testgtk/colorselect.rb +33 -0
  409. data/sample/testgtk/dialog.rb +47 -0
  410. data/sample/testgtk/entry.rb +73 -0
  411. data/sample/testgtk/filesel.rb +67 -0
  412. data/sample/testgtk/fontselection.rb +56 -0
  413. data/sample/testgtk/gammacurve.rb +70 -0
  414. data/sample/testgtk/labels.rb +73 -0
  415. data/sample/testgtk/layout.rb +108 -0
  416. data/sample/testgtk/marble.xpm +408 -0
  417. data/sample/testgtk/menu.rb +79 -0
  418. data/sample/testgtk/notebook.rb +281 -0
  419. data/sample/testgtk/pixmap.rb +58 -0
  420. data/sample/testgtk/progressbar.rb +181 -0
  421. data/sample/testgtk/radiobutton.rb +61 -0
  422. data/sample/testgtk/range.rb +65 -0
  423. data/sample/testgtk/reparent.rb +91 -0
  424. data/sample/testgtk/rulers.rb +46 -0
  425. data/sample/testgtk/sample.rb +80 -0
  426. data/sample/testgtk/savedposition.rb +87 -0
  427. data/sample/testgtk/scrolledwindow.rb +67 -0
  428. data/sample/testgtk/shapedwindow.rb +99 -0
  429. data/sample/testgtk/spinbutton.rb +181 -0
  430. data/sample/testgtk/statusbar.rb +89 -0
  431. data/sample/testgtk/test.xpm +92 -0
  432. data/sample/testgtk/testgtk.rb +179 -0
  433. data/sample/testgtk/testgtkrc +146 -0
  434. data/sample/testgtk/testgtkrc2 +21 -0
  435. data/sample/testgtk/togglebutton.rb +53 -0
  436. data/sample/testgtk/toolbar.rb +82 -0
  437. data/sample/testgtk/tooltips.rb +41 -0
  438. data/sample/testgtk/wmhints.rb +40 -0
  439. data/test/run-test.rb +10 -8
  440. data/test/test_gtk_builder.rb +1 -1
  441. metadata +495 -334
  442. data/src/makeinits.rb +0 -57
  443. data/src/makekeysyms.rb +0 -5
@@ -0,0 +1,51 @@
1
+ # Copyright (c) 2008 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ =begin
5
+ = Interface Builder
6
+
7
+ Demonstrates an interface loaded from a XML description.
8
+ =end
9
+
10
+ require 'common'
11
+
12
+ module Demo
13
+ class Dialog < Demo::BasicWindow
14
+ def initialize
15
+ super('Interface Builder')
16
+
17
+ available = Gtk.check_version?(2, 12, 0)
18
+ if available
19
+ label = Gtk::Label.new("Build an interface from XML description.")
20
+ else
21
+ label = Gtk::Label.new("You need GTK+ >= 2.12.0 to run this demo.")
22
+ end
23
+ add(label)
24
+ return unless available
25
+
26
+ @builder = Gtk::Builder.new
27
+ filename = File.join(File.dirname(__FILE__), "demo.ui")
28
+ @builder << filename
29
+ @builder.connect_signals {|name| method(name)}
30
+ @window = @builder["window1"]
31
+ @window.show_all
32
+
33
+ signal_connect("destroy") do
34
+ @window.destroy unless @window.destroyed?
35
+ end
36
+ end
37
+
38
+ private
39
+ def quit_activate
40
+ @window.destroy
41
+ destroy unless destroyed?
42
+ end
43
+
44
+ def about_activate
45
+ dialog = @builder["aboutdialog1"]
46
+ dialog.run
47
+ dialog.hide
48
+ end
49
+ end
50
+ end
51
+
@@ -0,0 +1,84 @@
1
+ # Copyright (c) 2003-2005 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ # $Id: button_box.rb,v 1.3 2005/02/12 23:02:43 kzys Exp $
5
+ =begin
6
+ = Button Boxes
7
+
8
+ The Button Box widgets are used to arrange buttons with padding.
9
+ =end
10
+ require 'common'
11
+
12
+ module Demo
13
+ class ButtonBox < BasicWindow
14
+ def initialize
15
+ super('Button Boxes')
16
+ set_border_width(10)
17
+
18
+ main_vbox = Gtk::VBox.new(false, 0)
19
+ add(main_vbox)
20
+
21
+ frame_horiz = Gtk::Frame.new('Horizontal Button Boxes')
22
+ main_vbox.pack_start(frame_horiz, true, true, 10)
23
+
24
+ vbox = Gtk::VBox.new(false, 0)
25
+ vbox.set_border_width(10)
26
+ frame_horiz.add(vbox)
27
+
28
+ vbox.pack_start(create_bbox(true, 'Spread', 40, Gtk::ButtonBox::SPREAD),
29
+ true, true, 0)
30
+
31
+ vbox.pack_start(create_bbox(true, 'Edge', 40, Gtk::ButtonBox::EDGE),
32
+ true, true, 5)
33
+
34
+ vbox.pack_start(create_bbox(true, 'Start', 40, Gtk::ButtonBox::START),
35
+ true, true, 5)
36
+
37
+ vbox.pack_start(create_bbox(true, 'End', 40, Gtk::ButtonBox::END),
38
+ true, true, 5)
39
+
40
+ frame_vert = Gtk::Frame.new('Vertical Button Boxes')
41
+ main_vbox.pack_start(frame_vert, true, true, 10)
42
+
43
+ hbox = Gtk::HBox.new(false, 0)
44
+ hbox.set_border_width(10)
45
+ frame_vert.add(hbox)
46
+
47
+ hbox.pack_start(create_bbox(false, 'Spread', 30, Gtk::ButtonBox::SPREAD),
48
+ true, true, 0)
49
+
50
+ hbox.pack_start(create_bbox(false, 'Edge', 30, Gtk::ButtonBox::EDGE),
51
+ true, true, 5)
52
+
53
+ hbox.pack_start(create_bbox(false, 'Start', 30, Gtk::ButtonBox::START),
54
+ true, true, 5)
55
+
56
+ hbox.pack_start(create_bbox(false, 'End', 30, Gtk::ButtonBox::END),
57
+ true, true, 5)
58
+
59
+ end
60
+
61
+ def create_bbox(horizontal, title, spacing, layout)
62
+ frame = Gtk::Frame.new(title)
63
+
64
+ bbox = if horizontal
65
+ Gtk::HButtonBox.new
66
+ else
67
+ Gtk::VButtonBox.new
68
+ end
69
+
70
+ bbox.set_border_width(5)
71
+ frame.add(bbox)
72
+
73
+ bbox.layout_style = layout
74
+ bbox.set_spacing(spacing)
75
+
76
+ [Gtk::Stock::OK, Gtk::Stock::CANCEL, Gtk::Stock::HELP].each do |stock|
77
+ button = Gtk::Button.new(stock)
78
+ bbox.add(button)
79
+ end
80
+
81
+ return frame
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,41 @@
1
+ # Copyright (c) 2005 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ # $Id: cairo-arc-negative.rb,v 1.1 2005/10/12 05:38:30 ktou Exp $
5
+ =begin
6
+ = cairo/Arc Negative
7
+
8
+ This demo shows how to use GDK and cairo to draw arc in negative.
9
+ From http://cairographics.org/samples/arc_negative.html.
10
+ =end
11
+ require 'common'
12
+
13
+ module Demo
14
+ class CairoArcNegative < CairoWindow
15
+ CENTER_X = 0.5
16
+ CENTER_Y = 0.5
17
+ RADIUS = 0.4
18
+ ANGLE1 = 45.0 * (Math::PI / 180.0) # angles are specified
19
+ ANGLE2 = 180.0 * (Math::PI / 180.0) # in radians
20
+
21
+ def initialize
22
+ super('cairo arc_negative')
23
+ end
24
+
25
+ def draw(cr)
26
+ cr.arc_negative(CENTER_X, CENTER_Y, RADIUS, ANGLE1, ANGLE2)
27
+ cr.stroke
28
+
29
+ # draw helping lines
30
+ cr.set_source_rgba(1, 0.2, 0.2, 0.6)
31
+ cr.arc(CENTER_X, CENTER_Y, 0.05, 0, 2 * Math::PI)
32
+ cr.fill
33
+ cr.set_line_width(0.03)
34
+ cr.arc(CENTER_X, CENTER_Y, RADIUS, ANGLE1, ANGLE1)
35
+ cr.line_to(CENTER_X, CENTER_Y)
36
+ cr.arc(CENTER_X, CENTER_Y, RADIUS, ANGLE2, ANGLE2)
37
+ cr.line_to(CENTER_X, CENTER_Y)
38
+ cr.stroke
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,41 @@
1
+ # Copyright (c) 2005 Ruby-GNOME2 Project Team
2
+ # This program is licenced under the same licence as Ruby-GNOME2.
3
+ #
4
+ # $Id: cairo-arc.rb,v 1.1 2005/10/12 05:38:30 ktou Exp $
5
+ =begin
6
+ = cairo/Arc
7
+
8
+ This demo shows how to use GDK and cairo to draw arc.
9
+ From http://cairographics.org/samples/arc.html.
10
+ =end
11
+ require 'common'
12
+
13
+ module Demo
14
+ class CairoArc < CairoWindow
15
+ CENTER_X = 0.5
16
+ CENTER_Y = 0.5
17
+ RADIUS = 0.4
18
+ ANGLE1 = 45.0 * (Math::PI / 180.0) # angles are specified
19
+ ANGLE2 = 180.0 * (Math::PI / 180.0) # in radians
20
+
21
+ def initialize
22
+ super('cairo arc')
23
+ end
24
+
25
+ def draw(cr)
26
+ cr.arc(CENTER_X, CENTER_Y, RADIUS, ANGLE1, ANGLE2)
27
+ cr.stroke
28
+
29
+ # draw helping lines
30
+ cr.set_source_rgba(1, 0.2, 0.2, 0.6)
31
+ cr.arc(CENTER_X, CENTER_Y, 0.05, 0, 2 * Math::PI)
32
+ cr.fill
33
+ cr.set_line_width(0.03)
34
+ cr.arc(CENTER_X, CENTER_Y, RADIUS, ANGLE1, ANGLE1)
35
+ cr.line_to(CENTER_X, CENTER_Y)
36
+ cr.arc(CENTER_X, CENTER_Y, RADIUS, ANGLE2, ANGLE2)
37
+ cr.line_to(CENTER_X, CENTER_Y)
38
+ cr.stroke
39
+ end
40
+ end
41
+ end
@@ -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