gtk2 1.0.3 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (255) hide show
  1. data/Rakefile +66 -1
  2. data/ext/gtk2/extconf.rb +0 -96
  3. data/ext/gtk2/global.h +274 -13
  4. data/ext/gtk2/gtk2.def +5 -3
  5. data/ext/gtk2/init.c +263 -19
  6. data/ext/gtk2/rbgdk.c +245 -89
  7. data/ext/gtk2/rbgdk.h +32 -6
  8. data/ext/gtk2/rbgdkatom.c +38 -28
  9. data/ext/gtk2/rbgdkcairo.c +32 -42
  10. data/ext/gtk2/rbgdkcolor.c +52 -42
  11. data/ext/gtk2/rbgdkcolormap.c +42 -37
  12. data/ext/gtk2/rbgdkconst.c +23 -13
  13. data/ext/gtk2/rbgdkconversions.h +19 -6
  14. data/ext/gtk2/rbgdkcursor.c +37 -25
  15. data/ext/gtk2/rbgdkdevice.c +77 -67
  16. data/ext/gtk2/rbgdkdisplay.c +158 -150
  17. data/ext/gtk2/rbgdkdisplaymanager.c +27 -15
  18. data/ext/gtk2/rbgdkdragcontext.c +121 -70
  19. data/ext/gtk2/rbgdkdraw.c +252 -160
  20. data/ext/gtk2/rbgdkevent.c +30 -20
  21. data/ext/gtk2/rbgdkgc.c +123 -116
  22. data/ext/gtk2/rbgdkgeometry.c +77 -68
  23. data/ext/gtk2/rbgdkimage.c +58 -47
  24. data/ext/gtk2/rbgdkinput.c +33 -26
  25. data/ext/gtk2/rbgdkkeymap.c +38 -27
  26. data/ext/gtk2/rbgdkkeyval.c +44 -32
  27. data/ext/gtk2/rbgdkpango.c +66 -39
  28. data/ext/gtk2/rbgdkpangorenderer.c +63 -35
  29. data/ext/gtk2/rbgdkpixbuf.c +36 -25
  30. data/ext/gtk2/rbgdkpixmap.c +65 -49
  31. data/ext/gtk2/rbgdkproperty.c +66 -60
  32. data/ext/gtk2/rbgdkrectangle.c +54 -46
  33. data/ext/gtk2/rbgdkregion.c +144 -79
  34. data/ext/gtk2/rbgdkrgb.c +74 -58
  35. data/ext/gtk2/rbgdkscreen.c +103 -97
  36. data/ext/gtk2/rbgdkselection.c +49 -39
  37. data/ext/gtk2/rbgdkthreads.c +32 -19
  38. data/ext/gtk2/rbgdktimecoord.c +60 -38
  39. data/ext/gtk2/rbgdkvisual.c +79 -71
  40. data/ext/gtk2/rbgdkwindow.c +284 -305
  41. data/ext/gtk2/rbgdkwindowattr.c +69 -58
  42. data/ext/gtk2/rbgdkx11.c +41 -28
  43. data/ext/gtk2/rbgtk.c +498 -19
  44. data/ext/gtk2/rbgtk.h +35 -20
  45. data/ext/gtk2/rbgtkaboutdialog.c +33 -80
  46. data/ext/gtk2/rbgtkaccelerator.c +36 -23
  47. data/ext/gtk2/rbgtkaccelgroup.c +50 -40
  48. data/ext/gtk2/rbgtkaccelgroupentry.c +32 -20
  49. data/ext/gtk2/rbgtkaccelkey.c +40 -28
  50. data/ext/gtk2/rbgtkaccellabel.c +30 -18
  51. data/ext/gtk2/rbgtkaccelmap.c +55 -42
  52. data/ext/gtk2/rbgtkaccessible.c +25 -14
  53. data/ext/gtk2/rbgtkaction.c +68 -68
  54. data/ext/gtk2/rbgtkactiongroup.c +317 -195
  55. data/ext/gtk2/rbgtkadjustment.c +33 -46
  56. data/ext/gtk2/rbgtkalignment.c +36 -24
  57. data/ext/gtk2/rbgtkallocation.c +53 -42
  58. data/ext/gtk2/rbgtkarrow.c +34 -22
  59. data/ext/gtk2/rbgtkaspectframe.c +32 -20
  60. data/ext/gtk2/rbgtkassistant.c +81 -61
  61. data/ext/gtk2/rbgtkbbox.c +32 -20
  62. data/ext/gtk2/rbgtkbin.c +28 -16
  63. data/ext/gtk2/rbgtkbindingset.c +42 -35
  64. data/ext/gtk2/rbgtkborder.c +34 -23
  65. data/ext/gtk2/rbgtkbox.c +40 -29
  66. data/ext/gtk2/rbgtkbuildable.c +57 -45
  67. data/ext/gtk2/rbgtkbuilder.c +53 -38
  68. data/ext/gtk2/rbgtkbutton.c +41 -55
  69. data/ext/gtk2/rbgtkcalendar.c +51 -40
  70. data/ext/gtk2/rbgtkcelleditable.c +28 -17
  71. data/ext/gtk2/rbgtkcelllayout.c +41 -30
  72. data/ext/gtk2/rbgtkcellrenderer.c +43 -32
  73. data/ext/gtk2/rbgtkcellrendereraccel.c +26 -18
  74. data/ext/gtk2/rbgtkcellrenderercombo.c +25 -17
  75. data/ext/gtk2/rbgtkcellrendererpixbuf.c +24 -17
  76. data/ext/gtk2/rbgtkcellrendererprogress.c +25 -17
  77. data/ext/gtk2/rbgtkcellrendererspin.c +24 -16
  78. data/ext/gtk2/rbgtkcellrendererspinner.c +23 -11
  79. data/ext/gtk2/rbgtkcellrenderertext.c +28 -21
  80. data/ext/gtk2/rbgtkcellrenderertoggle.c +24 -16
  81. data/ext/gtk2/rbgtkcellview.c +34 -33
  82. data/ext/gtk2/rbgtkcheckbutton.c +28 -16
  83. data/ext/gtk2/rbgtkcheckmenuitem.c +31 -19
  84. data/ext/gtk2/rbgtkclipboard.c +123 -77
  85. data/ext/gtk2/rbgtkcolorbutton.c +26 -31
  86. data/ext/gtk2/rbgtkcolorsel.c +109 -55
  87. data/ext/gtk2/rbgtkcolorselectiondialog.c +28 -19
  88. data/ext/gtk2/rbgtkcombo.c +43 -32
  89. data/ext/gtk2/rbgtkcombobox.c +44 -83
  90. data/ext/gtk2/rbgtkcomboboxentry.c +26 -21
  91. data/ext/gtk2/rbgtkconst.c +23 -13
  92. data/ext/gtk2/rbgtkcontainer.c +153 -100
  93. data/ext/gtk2/rbgtkconversions.h +19 -6
  94. data/ext/gtk2/rbgtkcurve.c +46 -36
  95. data/ext/gtk2/rbgtkdialog.c +104 -70
  96. data/ext/gtk2/rbgtkdrag.c +173 -121
  97. data/ext/gtk2/rbgtkdrawingarea.c +28 -16
  98. data/ext/gtk2/rbgtkeditable.c +63 -51
  99. data/ext/gtk2/rbgtkentry.c +48 -85
  100. data/ext/gtk2/rbgtkentrycompletion.c +42 -55
  101. data/ext/gtk2/rbgtkeventbox.c +28 -16
  102. data/ext/gtk2/rbgtkexpander.c +26 -35
  103. data/ext/gtk2/rbgtkfilechooser.c +87 -143
  104. data/ext/gtk2/rbgtkfilechooserbutton.c +26 -32
  105. data/ext/gtk2/rbgtkfilechooserdialog.c +25 -15
  106. data/ext/gtk2/rbgtkfilechooserwidget.c +26 -15
  107. data/ext/gtk2/rbgtkfilefilter.c +45 -35
  108. data/ext/gtk2/rbgtkfilesel.c +54 -43
  109. data/ext/gtk2/rbgtkfilesystemerror.c +51 -0
  110. data/ext/gtk2/rbgtkfixed.c +36 -25
  111. data/ext/gtk2/rbgtkfontbutton.c +26 -37
  112. data/ext/gtk2/rbgtkfontselection.c +27 -15
  113. data/ext/gtk2/rbgtkfontselectiondialog.c +43 -32
  114. data/ext/gtk2/rbgtkframe.c +39 -28
  115. data/ext/gtk2/rbgtkgamma.c +32 -20
  116. data/ext/gtk2/rbgtkhandlebox.c +31 -19
  117. data/ext/gtk2/rbgtkhbbox.c +28 -16
  118. data/ext/gtk2/rbgtkhbox.c +29 -17
  119. data/ext/gtk2/rbgtkhpaned.c +28 -16
  120. data/ext/gtk2/rbgtkhruler.c +28 -16
  121. data/ext/gtk2/rbgtkhscale.c +28 -16
  122. data/ext/gtk2/rbgtkhscrollbar.c +28 -16
  123. data/ext/gtk2/rbgtkhseparator.c +28 -16
  124. data/ext/gtk2/rbgtkiconfactory.c +35 -23
  125. data/ext/gtk2/rbgtkiconinfo.c +42 -30
  126. data/ext/gtk2/rbgtkiconset.c +31 -19
  127. data/ext/gtk2/rbgtkiconsize.c +38 -25
  128. data/ext/gtk2/rbgtkiconsource.c +62 -50
  129. data/ext/gtk2/rbgtkicontheme.c +95 -95
  130. data/ext/gtk2/rbgtkiconview.c +87 -121
  131. data/ext/gtk2/rbgtkimage.c +31 -40
  132. data/ext/gtk2/rbgtkimagemenuitem.c +26 -14
  133. data/ext/gtk2/rbgtkimcontext.c +46 -34
  134. data/ext/gtk2/rbgtkimcontextsimple.c +47 -24
  135. data/ext/gtk2/rbgtkimmulticontext.c +26 -14
  136. data/ext/gtk2/rbgtkinputdialog.c +28 -16
  137. data/ext/gtk2/rbgtkinvisible.c +24 -18
  138. data/ext/gtk2/rbgtkitem.c +32 -20
  139. data/ext/gtk2/rbgtkitemfactory.c +65 -57
  140. data/ext/gtk2/rbgtklabel.c +46 -57
  141. data/ext/gtk2/rbgtklayout.c +40 -29
  142. data/ext/gtk2/rbgtklinkbutton.c +26 -15
  143. data/ext/gtk2/rbgtkliststore.c +145 -102
  144. data/ext/gtk2/rbgtkmacros.h +19 -6
  145. data/ext/gtk2/rbgtkmenu.c +47 -59
  146. data/ext/gtk2/rbgtkmenubar.c +30 -30
  147. data/ext/gtk2/rbgtkmenuitem.c +34 -41
  148. data/ext/gtk2/rbgtkmenushell.c +43 -42
  149. data/ext/gtk2/rbgtkmenutoolbutton.c +27 -16
  150. data/ext/gtk2/rbgtkmessagedialog.c +31 -25
  151. data/ext/gtk2/rbgtkmisc.c +33 -22
  152. data/ext/gtk2/rbgtknotebook.c +98 -134
  153. data/ext/gtk2/rbgtkobject.c +46 -81
  154. data/ext/gtk2/rbgtkoptionmenu.c +35 -23
  155. data/ext/gtk2/rbgtkpagesetup.c +64 -54
  156. data/ext/gtk2/rbgtkpagesetupunixdialog.c +34 -27
  157. data/ext/gtk2/rbgtkpaned.c +46 -36
  158. data/ext/gtk2/rbgtkpapersize.c +60 -54
  159. data/ext/gtk2/rbgtkplug.c +32 -20
  160. data/ext/gtk2/rbgtkprintcontext.c +43 -35
  161. data/ext/gtk2/rbgtkprinter.c +36 -37
  162. data/ext/gtk2/rbgtkprintjob.c +36 -37
  163. data/ext/gtk2/rbgtkprintoperation.c +44 -33
  164. data/ext/gtk2/rbgtkprintoperationpreview.c +30 -18
  165. data/ext/gtk2/rbgtkprintsettings.c +248 -192
  166. data/ext/gtk2/rbgtkprintunixdialog.c +33 -45
  167. data/ext/gtk2/rbgtkprogress.c +23 -13
  168. data/ext/gtk2/rbgtkprogressbar.c +47 -46
  169. data/ext/gtk2/rbgtkradioaction.c +84 -39
  170. data/ext/gtk2/rbgtkradiobutton.c +33 -21
  171. data/ext/gtk2/rbgtkradiomenuitem.c +86 -45
  172. data/ext/gtk2/rbgtkradiotoolbutton.c +99 -53
  173. data/ext/gtk2/rbgtkrange.c +36 -56
  174. data/ext/gtk2/rbgtkrc.c +61 -49
  175. data/ext/gtk2/rbgtkrcstyle.c +59 -48
  176. data/ext/gtk2/rbgtkrecentaction.c +28 -16
  177. data/ext/gtk2/rbgtkrecentchooser.c +58 -92
  178. data/ext/gtk2/rbgtkrecentchooserdialog.c +29 -18
  179. data/ext/gtk2/rbgtkrecentchoosermenu.c +25 -21
  180. data/ext/gtk2/rbgtkrecentchooserwidget.c +24 -13
  181. data/ext/gtk2/rbgtkrecentdata.c +47 -36
  182. data/ext/gtk2/rbgtkrecentfilter.c +55 -46
  183. data/ext/gtk2/rbgtkrecentfilterinfo.c +51 -40
  184. data/ext/gtk2/rbgtkrecentinfo.c +66 -56
  185. data/ext/gtk2/rbgtkrecentmanager.c +47 -43
  186. data/ext/gtk2/rbgtkruler.c +35 -30
  187. data/ext/gtk2/rbgtkscale.c +29 -18
  188. data/ext/gtk2/rbgtkscalebutton.c +27 -27
  189. data/ext/gtk2/rbgtkscrollbar.c +23 -13
  190. data/ext/gtk2/rbgtkscrolledwindow.c +44 -60
  191. data/ext/gtk2/rbgtkselection.c +87 -67
  192. data/ext/gtk2/rbgtkselectiondata.c +74 -65
  193. data/ext/gtk2/rbgtkseparator.c +23 -13
  194. data/ext/gtk2/rbgtkseparatormenuitem.c +25 -13
  195. data/ext/gtk2/rbgtkseparatortoolitem.c +26 -21
  196. data/ext/gtk2/rbgtksettings.c +123 -103
  197. data/ext/gtk2/rbgtksizegroup.c +33 -30
  198. data/ext/gtk2/rbgtksocket.c +32 -20
  199. data/ext/gtk2/rbgtkspinbutton.c +48 -38
  200. data/ext/gtk2/rbgtkspinner.c +27 -14
  201. data/ext/gtk2/rbgtkstatusbar.c +36 -31
  202. data/ext/gtk2/rbgtkstatusicon.c +31 -44
  203. data/ext/gtk2/rbgtkstock.c +137 -125
  204. data/ext/gtk2/rbgtkstyle.c +177 -161
  205. data/ext/gtk2/rbgtktable.c +58 -47
  206. data/ext/gtk2/rbgtktargetlist.c +56 -36
  207. data/ext/gtk2/rbgtktearoffmenuitem.c +28 -16
  208. data/ext/gtk2/rbgtktextappearance.c +44 -34
  209. data/ext/gtk2/rbgtktextattributes.c +54 -42
  210. data/ext/gtk2/rbgtktextbuffer.c +188 -191
  211. data/ext/gtk2/rbgtktextchild.c +29 -18
  212. data/ext/gtk2/rbgtktextiter.c +153 -145
  213. data/ext/gtk2/rbgtktextmark.c +33 -30
  214. data/ext/gtk2/rbgtktexttag.c +34 -22
  215. data/ext/gtk2/rbgtktexttagtable.c +36 -25
  216. data/ext/gtk2/rbgtktextview.c +85 -73
  217. data/ext/gtk2/rbgtktoggleaction.c +27 -22
  218. data/ext/gtk2/rbgtktogglebutton.c +37 -26
  219. data/ext/gtk2/rbgtktoggletoolbutton.c +26 -20
  220. data/ext/gtk2/rbgtktoolbar.c +66 -69
  221. data/ext/gtk2/rbgtktoolbutton.c +27 -40
  222. data/ext/gtk2/rbgtktoolitem.c +60 -62
  223. data/ext/gtk2/rbgtktooltip.c +36 -25
  224. data/ext/gtk2/rbgtktooltips.c +42 -34
  225. data/ext/gtk2/rbgtktreedragdest.c +20 -11
  226. data/ext/gtk2/rbgtktreedragsource.c +20 -11
  227. data/ext/gtk2/rbgtktreeiter.c +58 -47
  228. data/ext/gtk2/rbgtktreemodel.c +83 -65
  229. data/ext/gtk2/rbgtktreemodelfilter.c +47 -35
  230. data/ext/gtk2/rbgtktreemodelsort.c +38 -27
  231. data/ext/gtk2/rbgtktreepath.c +55 -44
  232. data/ext/gtk2/rbgtktreerowreference.c +60 -42
  233. data/ext/gtk2/rbgtktreeselection.c +61 -52
  234. data/ext/gtk2/rbgtktreesortable.c +52 -42
  235. data/ext/gtk2/rbgtktreestore.c +88 -67
  236. data/ext/gtk2/rbgtktreeview.c +157 -185
  237. data/ext/gtk2/rbgtktreeviewcolumn.c +57 -62
  238. data/ext/gtk2/rbgtkuimanager.c +61 -61
  239. data/ext/gtk2/rbgtkvbbox.c +28 -16
  240. data/ext/gtk2/rbgtkvbox.c +29 -17
  241. data/ext/gtk2/rbgtkviewport.c +28 -16
  242. data/ext/gtk2/rbgtkvolumebutton.c +28 -16
  243. data/ext/gtk2/rbgtkvpaned.c +28 -16
  244. data/ext/gtk2/rbgtkvruler.c +28 -16
  245. data/ext/gtk2/rbgtkvscale.c +28 -16
  246. data/ext/gtk2/rbgtkvscrollbar.c +28 -16
  247. data/ext/gtk2/rbgtkvseparator.c +28 -16
  248. data/ext/gtk2/rbgtkwidget.c +284 -296
  249. data/ext/gtk2/rbgtkwindow.c +156 -214
  250. data/ext/gtk2/rbgtkwindowgroup.c +35 -24
  251. data/sample/testgtk/labels.rb +1 -0
  252. data/sample/testgtk/testgtk.rb +2 -0
  253. metadata +16 -17
  254. data/ChangeLog +0 -6902
  255. data/ext/gtk2/rbgtkmain.c +0 -493
@@ -4,7 +4,9 @@ EXPORTS
4
4
  rb_cGdkColor DATA
5
5
  mGtk DATA
6
6
  exec_callback
7
- gdk_atom_copy
7
+ rbgdk_rval2gdkpoints
8
+ rbgdk_rval2gdkatoms
9
+ rbgdk_rval2gdkpixbufglist
8
10
  gdk_atom_get_type
9
11
  gdk_geometry_get_type
10
12
  gdk_region_get_type
@@ -13,13 +15,13 @@ EXPORTS
13
15
  get_gdkevent
14
16
  gtk_accel_group_entry_get_type
15
17
  gtk_accel_key_get_type
16
- gtk_notebookpage_get_type
17
18
  gtk_target_list_get_type
18
19
  gtk_bindingset_get_type
19
20
  make_gdkevent
20
- notebookpage_copy
21
21
  rbgtk_atom2selectiondata
22
22
  rbgtk_atom2selectiondata_free
23
+ rbgtk_rval2gtktargetentries
24
+ rbgtk_rval2gtktargetentries_accept_nil
23
25
  rbgtk_get_target_entry
24
26
  rbgtk_initialize_gtkobject
25
27
  rbgtk_register_treeiter_set_value_func
@@ -1,28 +1,36 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /************************************************
3
-
4
- init.c -
5
-
6
- $Author: mutoh $
7
- $Date: 2006/10/21 16:58:00 $
8
-
9
- Copyright (C) 2002-2006 Ruby-GNOME2 Project Team
10
- Copyright (C) 1998-2001 Yukihiro Matsumoto,
11
- Daisuke Kanda,
12
- Hiroshi Igarashi
13
- ************************************************/
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2002-2006 Ruby-GNOME2 Project Team
5
+ * Copyright (C) 1998-2001 Yukihiro Matsumoto,
6
+ * Daisuke Kanda,
7
+ * Hiroshi Igarashi
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,
22
+ * MA 02110-1301 USA
23
+ */
14
24
 
15
25
  #include "global.h"
16
26
  #include "gmodule.h"
17
27
 
18
- extern void Init_gtk_gdk();
19
- extern void Init_gtk_gtk();
20
- extern void Init_gtk_inits();
21
-
22
28
  VALUE treeiter_set_value_table;
23
29
 
30
+ extern void Init_gtk2(void);
31
+
24
32
  void
25
- Init_gtk2()
33
+ Init_gtk2(void)
26
34
  {
27
35
  /*
28
36
  * For Gtk::TreeModel, Gtk::TreeIter.
@@ -34,6 +42,242 @@ Init_gtk2()
34
42
  Init_gtk_gdk();
35
43
  Init_gtk_gtk();
36
44
 
37
- Init_gtk_inits();
38
-
45
+ Init_gtk_gdk_atom(mGdk);
46
+ Init_gtk_gdk_cairo();
47
+ Init_gtk_gdk_color(mGdk);
48
+ Init_gtk_gdk_colormap(mGdk);
49
+ Init_gtk_gdk_const(mGdk);
50
+ Init_gtk_gdk_cursor(mGdk);
51
+ Init_gtk_gdk_device(mGdk);
52
+ Init_gtk_gdk_display(mGdk);
53
+ Init_gtk_gdk_display_manager(mGdk);
54
+ Init_gtk_gdk_dragcontext(mGdk);
55
+ Init_gtk_gdk_event(mGdk);
56
+ Init_gtk_gdk_geometry(mGdk);
57
+ Init_gtk_gdk_image(mGdk);
58
+ Init_gtk_gdk_input(mGdk);
59
+ Init_gtk_gdk_keymap(mGdk);
60
+ Init_gtk_gdk_keyval(mGdk);
61
+ Init_gtk_gdk_pango(mGdk);
62
+ Init_gtk_gdk_pangorenderer(mGdk);
63
+ Init_gtk_gdk_pixbuf(mGdk);
64
+ Init_gtk_gdk_pixmap(mGdk);
65
+ Init_gtk_gdk_property(mGdk);
66
+ Init_gtk_gdk_rectangle(mGdk);
67
+ Init_gtk_gdk_region(mGdk);
68
+ Init_gtk_gdk_rgb(mGdk);
69
+ Init_gtk_gdk_screen(mGdk);
70
+ Init_gtk_gdk_selection(mGdk);
71
+ Init_gtk_gdk_threads(mGdk);
72
+ Init_gtk_gdk_timecoord(mGdk);
73
+ Init_gtk_gdk_visual(mGdk);
74
+ Init_gtk_gdk_window(mGdk);
75
+ Init_gtk_gdk_windowattr(mGdk);
76
+ Init_gtk_gdk_x11(mGdk);
77
+ Init_gtk_aboutdialog(mGtk);
78
+ Init_gtk_accelerator(mGtk);
79
+ Init_gtk_accel_group(mGtk);
80
+ Init_gtk_accel_group_entry(mGtk);
81
+ Init_gtk_accel_key(mGtk);
82
+ Init_gtk_accel_label(mGtk);
83
+ Init_gtk_accel_map(mGtk);
84
+ Init_gtk_accessible(mGtk);
85
+ Init_gtk_action(mGtk);
86
+ Init_gtk_actiongroup(mGtk);
87
+ Init_gtk_adjustment(mGtk);
88
+ Init_gtk_alignment(mGtk);
89
+ Init_gtk_allocation(mGtk);
90
+ Init_gtk_arrow(mGtk);
91
+ Init_gtk_aspect_frame(mGtk);
92
+ Init_gtk_assistant(mGtk);
93
+ Init_gtk_button_box(mGtk);
94
+ Init_gtk_bin(mGtk);
95
+ Init_gtk_bindings(mGtk);
96
+ Init_gtk_border(mGtk);
97
+ Init_gtk_box(mGtk);
98
+ Init_gtk_buildable(mGtk);
99
+ Init_gtk_builder(mGtk);
100
+ Init_gtk_button(mGtk);
101
+ Init_gtk_calendar(mGtk);
102
+ Init_gtk_celleditable(mGtk);
103
+ Init_gtk_celllayout(mGtk);
104
+ Init_gtk_cellrenderer(mGtk);
105
+ Init_gtk_cellrendereraccel(mGtk);
106
+ Init_gtk_cellrenderercombo(mGtk);
107
+ Init_gtk_cellrendererpixbuf(mGtk);
108
+ Init_gtk_cellrendererprogress(mGtk);
109
+ Init_gtk_cellrendererspin(mGtk);
110
+ Init_gtk_cellrendererspinner(mGtk);
111
+ Init_gtk_cellrenderertext(mGtk);
112
+ Init_gtk_cellrenderertoggle(mGtk);
113
+ Init_gtk_cellview(mGtk);
114
+ Init_gtk_check_button(mGtk);
115
+ Init_gtk_check_menu_item(mGtk);
116
+ Init_gtk_clipboard(mGtk);
117
+ Init_gtk_colorbutton(mGtk);
118
+ Init_gtk_color_selection(mGtk);
119
+ Init_gtk_color_selection_dialog(mGtk);
120
+ Init_gtk_combo(mGtk);
121
+ Init_gtk_combobox(mGtk);
122
+ Init_gtk_comboboxentry(mGtk);
123
+ Init_gtk_const(mGtk);
124
+ Init_gtk_container(mGtk);
125
+ Init_gtk_curve(mGtk);
126
+ Init_gtk_dialog(mGtk);
127
+ Init_gtk_drag(mGtk);
128
+ Init_gtk_drawing_area(mGtk);
129
+ Init_gtk_editable(mGtk);
130
+ Init_gtk_entry(mGtk);
131
+ Init_gtk_entry_completion(mGtk);
132
+ Init_gtk_eventbox(mGtk);
133
+ Init_gtk_expander(mGtk);
134
+ Init_gtk_file_chooser(mGtk);
135
+ Init_gtk_filesystemerror(mGtk);
136
+ Init_gtk_filechooserbutton(mGtk);
137
+ Init_gtk_file_chooser_dialog(mGtk);
138
+ Init_gtk_file_chooser_widget(mGtk);
139
+ Init_gtk_file_filter(mGtk);
140
+ Init_gtk_file_selection(mGtk);
141
+ Init_gtk_fixed(mGtk);
142
+ Init_gtk_fontbutton(mGtk);
143
+ Init_gtk_font_selection(mGtk);
144
+ Init_gtk_font_selection_dialog(mGtk);
145
+ Init_gtk_frame(mGtk);
146
+ Init_gtk_gamma_curve(mGtk);
147
+ Init_gtk_gdk_draw(mGdk);
148
+ Init_gtk_gdk_gc(mGdk);
149
+ Init_gtk_handle_box(mGtk);
150
+ Init_gtk_hbutton_box(mGtk);
151
+ Init_gtk_hbox(mGtk);
152
+ Init_gtk_hpaned(mGtk);
153
+ Init_gtk_hruler(mGtk);
154
+ Init_gtk_hscale(mGtk);
155
+ Init_gtk_hscrollbar(mGtk);
156
+ Init_gtk_hseparator(mGtk);
157
+ Init_gtk_icon_factory(mGtk);
158
+ Init_gtk_iconinfo(mGtk);
159
+ Init_gtk_icon_set(mGtk);
160
+ Init_gtk_icon_size(mGtk);
161
+ Init_gtk_icon_source(mGtk);
162
+ Init_gtk_icon_theme(mGtk);
163
+ Init_gtk_iconview(mGtk);
164
+ Init_gtk_image(mGtk);
165
+ Init_gtk_image_menu_item(mGtk);
166
+ Init_gtk_imcontext(mGtk);
167
+ Init_gtk_imcontext_simple(mGtk);
168
+ Init_gtk_im_multicontext(mGtk);
169
+ Init_gtk_input_dialog(mGtk);
170
+ Init_gtk_invisible(mGtk);
171
+ Init_gtk_item(mGtk);
172
+ Init_gtk_itemfactory(mGtk);
173
+ Init_gtk_label(mGtk);
174
+ Init_gtk_layout(mGtk);
175
+ Init_gtk_link_button(mGtk);
176
+ Init_gtk_list_store(mGtk);
177
+ Init_gtk_menu(mGtk);
178
+ Init_gtk_menu_bar(mGtk);
179
+ Init_gtk_menu_item(mGtk);
180
+ Init_gtk_menu_shell(mGtk);
181
+ Init_gtk_menutoolbutton(mGtk);
182
+ Init_gtk_message_dialog(mGtk);
183
+ Init_gtk_misc(mGtk);
184
+ Init_gtk_notebook(mGtk);
185
+ Init_gtk_object(mGtk);
186
+ Init_gtk_option_menu(mGtk);
187
+ Init_gtk_page_setup(mGtk);
188
+ Init_gtk_page_setup_unix_dialog(mGtk);
189
+ Init_gtk_paned(mGtk);
190
+ Init_gtk_paper_size(mGtk);
191
+ Init_gtk_plug(mGtk);
192
+ Init_gtk_print_context(mGtk);
193
+ Init_gtk_printer(mGtk);
194
+ Init_gtk_print_job(mGtk);
195
+ Init_gtk_print_operation(mGtk);
196
+ Init_gtk_print_operation_preview(mGtk);
197
+ Init_gtk_print_settings(mGtk);
198
+ Init_gtk_print_unix_dialog(mGtk);
199
+ Init_gtk_progress(mGtk);
200
+ Init_gtk_progress_bar(mGtk);
201
+ Init_gtk_radio_action(mGtk);
202
+ Init_gtk_radio_button(mGtk);
203
+ Init_gtk_radio_menu_item(mGtk);
204
+ Init_gtk_radiotoolbutton(mGtk);
205
+ Init_gtk_range(mGtk);
206
+ Init_gtk_rc(mGtk);
207
+ Init_gtk_rcstyle(mGtk);
208
+ Init_gtk_recentaction(mGtk);
209
+ Init_gtk_recent_chooser(mGtk);
210
+ Init_gtk_recent_chooser_dialog(mGtk);
211
+ Init_gtk_recent_chooser_menu(mGtk);
212
+ Init_gtk_recent_chooser_widget(mGtk);
213
+ Init_gtk_recent_data(mGtk);
214
+ Init_gtk_recent_filter(mGtk);
215
+ Init_gtk_recent_filter_info(mGtk);
216
+ Init_gtk_recent_info(mGtk);
217
+ Init_gtk_recent_manager(mGtk);
218
+ Init_gtk_ruler(mGtk);
219
+ Init_gtk_scale(mGtk);
220
+ Init_gtk_scalebutton(mGtk);
221
+ Init_gtk_scrollbar(mGtk);
222
+ Init_gtk_scrolled_window(mGtk);
223
+ Init_gtk_selection(mGtk);
224
+ Init_gtk_selectiondata(mGtk);
225
+ Init_gtk_separator(mGtk);
226
+ Init_gtk_separator_menu_item(mGtk);
227
+ Init_gtk_separatortoolitem(mGtk);
228
+ Init_gtk_settings(mGtk);
229
+ Init_gtk_size_group(mGtk);
230
+ Init_gtk_socket(mGtk);
231
+ Init_gtk_spin_button(mGtk);
232
+ Init_gtk_spinner(mGtk);
233
+ Init_gtk_statusbar(mGtk);
234
+ Init_gtk_status_icon(mGtk);
235
+ Init_gtk_stock(mGtk);
236
+ Init_gtk_style(mGtk);
237
+ Init_gtk_table(mGtk);
238
+ Init_gtk_target_list(mGtk);
239
+ Init_gtk_tearoff_menu_item(mGtk);
240
+ Init_gtk_text_appearance(mGtk);
241
+ Init_gtk_text_attributes(mGtk);
242
+ Init_gtk_textbuffer(mGtk);
243
+ Init_gtk_textchild(mGtk);
244
+ Init_gtk_textiter(mGtk);
245
+ Init_gtk_textmark(mGtk);
246
+ Init_gtk_texttag(mGtk);
247
+ Init_gtk_text_tag_table(mGtk);
248
+ Init_gtk_textview(mGtk);
249
+ Init_gtk_toggle_action(mGtk);
250
+ Init_gtk_toggle_button(mGtk);
251
+ Init_gtk_toggletoolbutton(mGtk);
252
+ Init_gtk_toolbar(mGtk);
253
+ Init_gtk_toolbutton(mGtk);
254
+ Init_gtk_toolitem(mGtk);
255
+ Init_gtk_tooltip(mGtk);
256
+ Init_gtk_tooltips(mGtk);
257
+ Init_gtk_treedragdest(mGtk);
258
+ Init_gtk_treedragsource(mGtk);
259
+ Init_gtk_treeiter(mGtk);
260
+ Init_gtk_treemodel(mGtk);
261
+ Init_gtk_treemodelfilter(mGtk);
262
+ Init_gtk_tmodelsort(mGtk);
263
+ Init_gtk_treepath(mGtk);
264
+ Init_gtk_treerowreference(mGtk);
265
+ Init_gtk_treeselection(mGtk);
266
+ Init_gtk_treesortable(mGtk);
267
+ Init_gtk_tree_store(mGtk);
268
+ Init_gtk_treeview(mGtk);
269
+ Init_gtk_treeviewcolumn(mGtk);
270
+ Init_gtk_uimanager(mGtk);
271
+ Init_gtk_vbutton_box(mGtk);
272
+ Init_gtk_vbox(mGtk);
273
+ Init_gtk_viewport(mGtk);
274
+ Init_gtk_volumebutton(mGtk);
275
+ Init_gtk_vpaned(mGtk);
276
+ Init_gtk_vruler(mGtk);
277
+ Init_gtk_vscale(mGtk);
278
+ Init_gtk_vscrollbar(mGtk);
279
+ Init_gtk_vseparator(mGtk);
280
+ Init_gtk_widget(mGtk);
281
+ Init_gtk_window(mGtk);
282
+ Init_gtk_windowgroup(mGtk);
39
283
  }
@@ -1,20 +1,32 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
- /************************************************
3
-
4
- rbgdk.c -
5
-
6
- $Author: ggc $
7
- $Date: 2007/07/13 16:07:30 $
8
-
9
- Copyright (C) 2002,2003 Ruby-GNOME2 Project Team
10
- Copyright (C) 1998-2000 Yukihiro Matsumoto,
11
- Daisuke Kanda,
12
- Hiroshi Igarashi
13
- ************************************************/
2
+ /*
3
+ * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
+ * Copyright (C) 2002,2003 Ruby-GNOME2 Project Team
5
+ * Copyright (C) 1998-2000 Yukihiro Matsumoto,
6
+ * Daisuke Kanda,
7
+ * Hiroshi Igarashi
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,
22
+ * MA 02110-1301 USA
23
+ */
14
24
 
15
25
  #include "global.h"
16
26
 
17
- VALUE mGdk;
27
+ #define RG_TARGET_NAMESPACE mGdk
28
+
29
+ VALUE RG_TARGET_NAMESPACE;
18
30
 
19
31
  /* We don't need them.
20
32
  void gdk_init (gint *argc,
@@ -25,22 +37,156 @@ void gdk_parse_args (gint *argc,
25
37
  gchar ***argv);
26
38
  */
27
39
 
40
+ struct rbgdk_rval2gdkpoints_args {
41
+ VALUE ary;
42
+ long n;
43
+ GdkPoint *result;
44
+ };
45
+
46
+ static VALUE
47
+ rbgdk_rval2gdkpoints_body(VALUE value)
48
+ {
49
+ long i;
50
+ struct rbgdk_rval2gdkpoints_args *args = (struct rbgdk_rval2gdkpoints_args *)value;
51
+
52
+ for (i = 0; i < args->n; i++) {
53
+ VALUE points = rb_ary_to_ary(RARRAY_PTR(args->ary)[i]);
54
+
55
+ if (RARRAY_LEN(points) != 2)
56
+ rb_raise(rb_eArgError, "point %ld should be array of size 2", i);
57
+
58
+ args->result[i].x = NUM2INT(RARRAY_PTR(points)[0]);
59
+ args->result[i].y = NUM2INT(RARRAY_PTR(points)[1]);
60
+ }
61
+
62
+ return Qnil;
63
+ }
64
+
65
+ static G_GNUC_NORETURN VALUE
66
+ rbgdk_rval2gdkpoints_rescue(VALUE value)
67
+ {
68
+ g_free(((struct rbgdk_rval2gdkpoints_args *)value)->result);
69
+
70
+ rb_exc_raise(rb_errinfo());
71
+ }
72
+
73
+ GdkPoint *
74
+ rbgdk_rval2gdkpoints(VALUE value, long *n)
75
+ {
76
+ struct rbgdk_rval2gdkpoints_args args;
77
+
78
+ args.ary = rb_ary_to_ary(value);
79
+ args.n = RARRAY_LEN(args.ary);
80
+ args.result = g_new(GdkPoint, args.n + 1);
81
+
82
+ rb_rescue(rbgdk_rval2gdkpoints_body, (VALUE)&args,
83
+ rbgdk_rval2gdkpoints_rescue, (VALUE)&args);
84
+
85
+ *n = args.n;
86
+
87
+ return args.result;
88
+ }
89
+
90
+ struct rbgdk_rval2gdkatoms_args {
91
+ VALUE ary;
92
+ long n;
93
+ GdkAtom *result;
94
+ };
95
+
96
+ static VALUE
97
+ rbgdk_rval2gdkatoms_body(VALUE value)
98
+ {
99
+ long i;
100
+ struct rbgdk_rval2gdkatoms_args *args = (struct rbgdk_rval2gdkatoms_args *)value;
101
+
102
+ for (i = 0; i < args->n; i++)
103
+ args->result[i] = RVAL2ATOM(RARRAY_PTR(args->ary)[i]);
104
+
105
+ return Qnil;
106
+ }
107
+
108
+ static G_GNUC_NORETURN VALUE
109
+ rbgdk_rval2gdkatoms_rescue(VALUE value)
110
+ {
111
+ g_free(((struct rbgdk_rval2gdkatoms_args *)value)->result);
112
+
113
+ rb_exc_raise(rb_errinfo());
114
+ }
115
+
116
+ GdkAtom *
117
+ rbgdk_rval2gdkatoms(VALUE value, long *n)
118
+ {
119
+ struct rbgdk_rval2gdkatoms_args args;
120
+
121
+ args.ary = rb_ary_to_ary(value);
122
+ args.n = RARRAY_LEN(args.ary);
123
+ args.result = g_new(GdkAtom, args.n + 1);
124
+
125
+ rb_rescue(rbgdk_rval2gdkatoms_body, (VALUE)&args,
126
+ rbgdk_rval2gdkatoms_rescue, (VALUE)&args);
127
+
128
+ *n = args.n;
129
+
130
+ return args.result;
131
+ }
132
+
133
+ struct rval2gdkpixbufglist_args {
134
+ VALUE ary;
135
+ long n;
136
+ GList *result;
137
+ };
138
+
139
+ static VALUE
140
+ rbgdk_rval2gdkpixbufglist_body(VALUE value)
141
+ {
142
+ long i;
143
+ struct rval2gdkpixbufglist_args *args = (struct rval2gdkpixbufglist_args *)value;
144
+
145
+ for (i = 0; i < args->n; i++)
146
+ args->result = g_list_append(args->result, GDK_PIXBUF(RVAL2GOBJ(RARRAY_PTR(args->ary)[i])));
147
+
148
+ return Qnil;
149
+ }
150
+
151
+ static G_GNUC_NORETURN VALUE
152
+ rbgdk_rval2gdkpixbufglist_rescue(VALUE value)
153
+ {
154
+ g_list_free(((struct rval2gdkpixbufglist_args *)value)->result);
155
+
156
+ rb_exc_raise(rb_errinfo());
157
+ }
158
+
159
+ GList *
160
+ rbgdk_rval2gdkpixbufglist(VALUE value)
161
+ {
162
+ struct rval2gdkpixbufglist_args args;
163
+
164
+ args.ary = rb_ary_to_ary(value);
165
+ args.n = RARRAY_LEN(args.ary);
166
+ args.result = NULL;
167
+
168
+ rb_rescue(rbgdk_rval2gdkpixbufglist_body, (VALUE)&args,
169
+ rbgdk_rval2gdkpixbufglist_rescue, (VALUE)&args);
170
+
171
+ return args.result;
172
+ }
173
+
28
174
  #if GTK_CHECK_VERSION(2,2,0)
29
175
  static VALUE
30
- gdk_s_get_display_arg_name(VALUE self)
176
+ rg_m_display_arg_name(G_GNUC_UNUSED VALUE self)
31
177
  {
32
178
  return CSTR2RVAL(gdk_get_display_arg_name());
33
179
  }
34
180
  #endif
35
181
 
36
182
  static VALUE
37
- gdk_s_set_locale(VALUE self)
183
+ rg_m_set_locale(G_GNUC_UNUSED VALUE self)
38
184
  {
39
185
  return CSTR2RVAL(gdk_set_locale());
40
186
  }
41
187
 
42
188
  static VALUE
43
- gdk_s_set_sm_client_id(VALUE self, VALUE id)
189
+ rg_m_set_sm_client_id(VALUE self, VALUE id)
44
190
  {
45
191
  gdk_set_sm_client_id(NIL_P(id) ? NULL : RVAL2CSTR(id));
46
192
  return self;
@@ -48,21 +194,21 @@ gdk_s_set_sm_client_id(VALUE self, VALUE id)
48
194
 
49
195
  #if GTK_CHECK_VERSION(2,2,0)
50
196
  static VALUE
51
- gdk_s_notify_startup_complete(int argc, VALUE *argv, VALUE self)
197
+ rg_m_notify_startup_complete(int argc, VALUE *argv, VALUE self)
52
198
  {
53
199
  VALUE startup_id;
54
200
 
55
201
  rb_scan_args(argc, argv, "01", &startup_id);
56
202
 
57
203
  if (NIL_P(startup_id)) {
58
- gdk_notify_startup_complete();
204
+ gdk_notify_startup_complete();
59
205
  } else {
60
206
  #if GTK_CHECK_VERSION(2, 12, 0)
61
- gdk_notify_startup_complete_with_id(RVAL2CSTR(startup_id));
207
+ gdk_notify_startup_complete_with_id(RVAL2CSTR(startup_id));
62
208
  #else
63
- rb_raise(rb_eNotImpError,
64
- "GTK+ >= 2.12 is required to use "
65
- "Gdk.notify_startup_complete with startup ID.");
209
+ rb_raise(rb_eNotImpError,
210
+ "GTK+ >= 2.12 is required to use "
211
+ "Gdk.notify_startup_complete with startup ID.");
66
212
  #endif
67
213
  }
68
214
  return self;
@@ -70,20 +216,20 @@ gdk_s_notify_startup_complete(int argc, VALUE *argv, VALUE self)
70
216
  #endif
71
217
 
72
218
  static VALUE
73
- gdk_s_get_program_class(VALUE self)
219
+ rg_m_program_class(G_GNUC_UNUSED VALUE self)
74
220
  {
75
221
  return CSTR2RVAL(gdk_get_program_class());
76
222
  }
77
223
 
78
224
  static VALUE
79
- gdk_s_set_program_class(VALUE self, VALUE program_class)
225
+ rg_m_set_program_class(VALUE self, VALUE program_class)
80
226
  {
81
227
  gdk_set_program_class(RVAL2CSTR(program_class));
82
228
  return self;
83
229
  }
84
230
 
85
231
  static VALUE
86
- gdk_s_get_display(VALUE self)
232
+ rg_m_display(G_GNUC_UNUSED VALUE self)
87
233
  {
88
234
  return CSTR2RVAL(gdk_get_display());
89
235
  }
@@ -100,7 +246,7 @@ static int
100
246
  rbgdk_x_error(Display *display, XErrorEvent *error)
101
247
  {
102
248
  gchar buf[64];
103
-
249
+
104
250
  XGetErrorText(display, error->error_code, buf, 63);
105
251
 
106
252
  rb_funcall((VALUE)rb_x_error, id_call, 4, INT2NUM(error->serial),
@@ -125,7 +271,7 @@ rbgdk_x_io_error(Display *display)
125
271
  disp = "(none)";
126
272
 
127
273
  error = g_strerror(errno_saved);
128
-
274
+
129
275
  rb_funcall((VALUE)rb_x_io_error, id_call, 3, CSTR2RVAL(disp),
130
276
  INT2NUM(errno), CSTR2RVAL(error));
131
277
  return 0;
@@ -134,7 +280,7 @@ rbgdk_x_io_error(Display *display)
134
280
  #endif
135
281
 
136
282
  static VALUE
137
- gdk_s_set_x_error_handler(VALUE self)
283
+ rg_m_set_x_error_handler(VALUE self)
138
284
  {
139
285
  #ifdef HAVE_XGETERRORTEXT
140
286
  rb_x_error = rb_block_proc();
@@ -147,7 +293,7 @@ gdk_s_set_x_error_handler(VALUE self)
147
293
  }
148
294
 
149
295
  static VALUE
150
- gdk_s_set_x_io_error_handler(VALUE self)
296
+ rg_m_set_x_io_error_handler(VALUE self)
151
297
  {
152
298
  #ifdef HAVE_XGETERRORTEXT
153
299
  rb_x_io_error = rb_block_proc();
@@ -160,38 +306,38 @@ gdk_s_set_x_io_error_handler(VALUE self)
160
306
  }
161
307
 
162
308
  static VALUE
163
- gdk_s_flush(VALUE self)
309
+ rg_m_flush(VALUE self)
164
310
  {
165
311
  gdk_flush();
166
312
  return self;
167
313
  }
168
314
 
169
315
  static VALUE
170
- gdk_s_screen_width(VALUE self)
316
+ rg_m_screen_width(G_GNUC_UNUSED VALUE self)
171
317
  {
172
318
  return INT2NUM(gdk_screen_width());
173
319
  }
174
320
 
175
321
  static VALUE
176
- gdk_s_screen_width_mm(VALUE self)
322
+ rg_m_screen_width_mm(G_GNUC_UNUSED VALUE self)
177
323
  {
178
324
  return INT2NUM(gdk_screen_width_mm());
179
325
  }
180
326
 
181
327
  static VALUE
182
- gdk_s_screen_height(VALUE self)
328
+ rg_m_screen_height(G_GNUC_UNUSED VALUE self)
183
329
  {
184
330
  return INT2NUM(gdk_screen_height());
185
331
  }
186
332
 
187
333
  static VALUE
188
- gdk_s_screen_height_mm(VALUE self)
334
+ rg_m_screen_height_mm(G_GNUC_UNUSED VALUE self)
189
335
  {
190
336
  return INT2NUM(gdk_screen_height_mm());
191
337
  }
192
338
 
193
339
  static VALUE
194
- gdk_s_pointer_grab(VALUE self, VALUE win, VALUE owner_events, VALUE event_mask, VALUE confine_to, VALUE cursor, VALUE time)
340
+ rg_m_pointer_grab(G_GNUC_UNUSED VALUE self, VALUE win, VALUE owner_events, VALUE event_mask, VALUE confine_to, VALUE cursor, VALUE time)
195
341
  {
196
342
  return GENUM2RVAL(gdk_pointer_grab(GDK_WINDOW(RVAL2GOBJ(win)),
197
343
  RVAL2CBOOL(owner_events),
@@ -202,14 +348,14 @@ gdk_s_pointer_grab(VALUE self, VALUE win, VALUE owner_events, VALUE event_mask,
202
348
  }
203
349
 
204
350
  static VALUE
205
- gdk_s_pointer_ungrab(VALUE self, VALUE time)
351
+ rg_m_pointer_ungrab(VALUE self, VALUE time)
206
352
  {
207
353
  gdk_pointer_ungrab(NUM2INT(time));
208
354
  return self;
209
355
  }
210
356
 
211
357
  static VALUE
212
- gdk_s_keyboard_grab(VALUE self, VALUE win, VALUE owner_events, VALUE time)
358
+ rg_m_keyboard_grab(G_GNUC_UNUSED VALUE self, VALUE win, VALUE owner_events, VALUE time)
213
359
  {
214
360
  return GENUM2RVAL(gdk_keyboard_grab(GDK_WINDOW(RVAL2GOBJ(win)),
215
361
  RVAL2CBOOL(owner_events), NUM2INT(time)),
@@ -217,48 +363,48 @@ gdk_s_keyboard_grab(VALUE self, VALUE win, VALUE owner_events, VALUE time)
217
363
  }
218
364
 
219
365
  static VALUE
220
- gdk_s_keyboard_ungrab(VALUE self, VALUE time)
366
+ rg_m_keyboard_ungrab(VALUE self, VALUE time)
221
367
  {
222
368
  gdk_keyboard_ungrab(NUM2INT(time));
223
369
  return self;
224
370
  }
225
371
 
226
372
  static VALUE
227
- gdk_s_pointer_is_grabbed(VALUE self)
373
+ rg_m_pointer_is_grabbed_p(G_GNUC_UNUSED VALUE self)
228
374
  {
229
375
  return CBOOL2RVAL(gdk_pointer_is_grabbed());
230
376
  }
231
377
 
232
378
  static VALUE
233
- gdk_s_set_double_click_time(VALUE self, VALUE msec)
379
+ rg_m_set_double_click_time(VALUE self, VALUE msec)
234
380
  {
235
381
  gdk_set_double_click_time(NUM2UINT(msec));
236
382
  return self;
237
383
  }
238
384
 
239
385
  static VALUE
240
- gdk_s_beep(VALUE self)
386
+ rg_m_beep(VALUE self)
241
387
  {
242
388
  gdk_beep();
243
389
  return self;
244
390
  }
245
391
 
246
392
  static VALUE
247
- gdk_s_error_trap_push(VALUE self)
393
+ rg_m_error_trap_push(VALUE self)
248
394
  {
249
395
  gdk_error_trap_push();
250
396
  return self;
251
397
  }
252
398
 
253
399
  static VALUE
254
- gdk_s_error_trap_pop(VALUE self)
400
+ rg_m_error_trap_pop(VALUE self)
255
401
  {
256
402
  gdk_error_trap_pop();
257
403
  return self;
258
404
  }
259
405
 
260
406
  static VALUE
261
- gdk_s_windowing_x11(VALUE self)
407
+ rg_m_windowing_x11_p(G_GNUC_UNUSED VALUE self)
262
408
  {
263
409
  #ifdef GDK_WINDOWING_X11
264
410
  return Qtrue;
@@ -268,7 +414,7 @@ gdk_s_windowing_x11(VALUE self)
268
414
  }
269
415
 
270
416
  static VALUE
271
- gdk_s_windowing_win32(VALUE self)
417
+ rg_m_windowing_win32_p(G_GNUC_UNUSED VALUE self)
272
418
  {
273
419
  #ifdef GDK_WINDOWING_WIN32
274
420
  return Qtrue;
@@ -278,7 +424,7 @@ gdk_s_windowing_win32(VALUE self)
278
424
  }
279
425
 
280
426
  static VALUE
281
- gdk_s_windowing_fb(VALUE self)
427
+ rg_m_windowing_fb_p(G_GNUC_UNUSED VALUE self)
282
428
  {
283
429
  #ifdef GDK_WINDOWING_FB
284
430
  return Qtrue;
@@ -288,7 +434,7 @@ gdk_s_windowing_fb(VALUE self)
288
434
  }
289
435
 
290
436
  static VALUE
291
- gdk_s_windowing_quartz(VALUE self)
437
+ rg_m_windowing_quartz_p(G_GNUC_UNUSED VALUE self)
292
438
  {
293
439
  #ifdef GDK_WINDOWING_QUARTZ
294
440
  return Qtrue;
@@ -298,7 +444,7 @@ gdk_s_windowing_quartz(VALUE self)
298
444
  }
299
445
 
300
446
  static VALUE
301
- gdk_s_windowing_directfb(VALUE self)
447
+ rg_m_windowing_directfb_p(G_GNUC_UNUSED VALUE self)
302
448
  {
303
449
  #ifdef GDK_WINDOWING_DIRECTFB
304
450
  return Qtrue;
@@ -308,57 +454,67 @@ gdk_s_windowing_directfb(VALUE self)
308
454
  }
309
455
 
310
456
  static VALUE
311
- gdk_m_target(VALUE self)
457
+ rg_m_target(G_GNUC_UNUSED VALUE self)
312
458
  {
313
459
  return CSTR2RVAL(RUBY_GTK2_TARGET);
314
460
  }
315
461
 
462
+ static VALUE
463
+ rg_m_cairo_available_p(G_GNUC_UNUSED VALUE self)
464
+ {
465
+ #if CAIRO_AVAILABLE
466
+ return Qtrue;
467
+ #else
468
+ return Qfalse;
469
+ #endif
470
+ }
471
+
316
472
  void
317
- Init_gtk_gdk()
473
+ Init_gtk_gdk(void)
318
474
  {
319
- mGdk = rb_define_module("Gdk");
475
+ RG_TARGET_NAMESPACE = rb_define_module("Gdk");
320
476
 
321
477
  #if GTK_CHECK_VERSION(2,2,0)
322
- rb_define_module_function(mGdk, "display_arg_name", gdk_s_get_display_arg_name, 0);
478
+ RG_DEF_MODFUNC(display_arg_name, 0);
323
479
  #endif
324
- rb_define_module_function(mGdk, "set_locale", gdk_s_set_locale, 0);
325
- rb_define_module_function(mGdk, "set_sm_client_id", gdk_s_set_sm_client_id, 1);
480
+ RG_DEF_MODFUNC(set_locale, 0);
481
+ RG_DEF_MODFUNC(set_sm_client_id, 1);
326
482
  #if GTK_CHECK_VERSION(2, 2, 0)
327
- rb_define_module_function(mGdk, "notify_startup_complete",
328
- gdk_s_notify_startup_complete, -1);
483
+ RG_DEF_MODFUNC(notify_startup_complete, -1);
329
484
  #endif
330
- rb_define_module_function(mGdk, "program_class", gdk_s_get_program_class, 0);
331
- rb_define_module_function(mGdk, "set_program_class", gdk_s_set_program_class, 1);
332
- rb_define_module_function(mGdk, "display", gdk_s_get_display, 0);
333
-
334
- rb_define_module_function(mGdk, "set_x_error_handler", gdk_s_set_x_error_handler , 0);
335
- rb_define_module_function(mGdk, "set_x_io_error_handler", gdk_s_set_x_io_error_handler , 0);
336
- rb_define_module_function(mGdk, "screen_width", gdk_s_screen_width, 0);
337
- rb_define_module_function(mGdk, "screen_width_mm", gdk_s_screen_width_mm, 0);
338
- rb_define_module_function(mGdk, "screen_height", gdk_s_screen_height, 0);
339
- rb_define_module_function(mGdk, "screen_height_mm", gdk_s_screen_height_mm, 0);
340
- rb_define_module_function(mGdk, "beep", gdk_s_beep, 0);
341
- rb_define_module_function(mGdk, "flush", gdk_s_flush, 0);
342
- rb_define_module_function(mGdk, "set_double_click_time", gdk_s_set_double_click_time, 1);
343
- rb_define_module_function(mGdk, "pointer_grab", gdk_s_pointer_grab, 6);
344
- rb_define_module_function(mGdk, "pointer_ungrab", gdk_s_pointer_ungrab, 1);
345
- rb_define_module_function(mGdk, "keyboard_grab", gdk_s_keyboard_grab, 3);
346
- rb_define_module_function(mGdk, "keyboard_ungrab", gdk_s_keyboard_ungrab, 1);
347
- rb_define_module_function(mGdk, "pointer_is_grabbed?", gdk_s_pointer_is_grabbed, 0);
348
- rb_define_module_function(mGdk, "error_trap_push", gdk_s_error_trap_push, 0);
349
- rb_define_module_function(mGdk, "error_trap_pop", gdk_s_error_trap_pop, 0);
350
- rb_define_module_function(mGdk, "windowing_x11?", gdk_s_windowing_x11, 0);
351
- rb_define_module_function(mGdk, "windowing_win32?", gdk_s_windowing_win32, 0);
352
- rb_define_module_function(mGdk, "windowing_fb?", gdk_s_windowing_fb, 0);
353
- rb_define_module_function(mGdk, "windowing_quartz?", gdk_s_windowing_quartz, 0);
354
- rb_define_module_function(mGdk, "windowing_directfb?", gdk_s_windowing_directfb, 0);
355
-
356
- rb_define_module_function(mGdk, "target", gdk_m_target, 0);
357
-
358
- /* GdkGrabStatus */
359
- G_DEF_CLASS(GDK_TYPE_GRAB_STATUS, "GrabStatus", mGdk);
360
- G_DEF_CONSTANTS(mGdk, GDK_TYPE_GRAB_STATUS, "GDK_");
485
+ RG_DEF_MODFUNC(program_class, 0);
486
+ RG_DEF_MODFUNC(set_program_class, 1);
487
+ RG_DEF_MODFUNC(display, 0);
488
+
489
+ RG_DEF_MODFUNC(set_x_error_handler, 0);
490
+ RG_DEF_MODFUNC(set_x_io_error_handler, 0);
491
+ RG_DEF_MODFUNC(screen_width, 0);
492
+ RG_DEF_MODFUNC(screen_width_mm, 0);
493
+ RG_DEF_MODFUNC(screen_height, 0);
494
+ RG_DEF_MODFUNC(screen_height_mm, 0);
495
+ RG_DEF_MODFUNC(beep, 0);
496
+ RG_DEF_MODFUNC(flush, 0);
497
+ RG_DEF_MODFUNC(set_double_click_time, 1);
498
+ RG_DEF_MODFUNC(pointer_grab, 6);
499
+ RG_DEF_MODFUNC(pointer_ungrab, 1);
500
+ RG_DEF_MODFUNC(keyboard_grab, 3);
501
+ RG_DEF_MODFUNC(keyboard_ungrab, 1);
502
+ RG_DEF_MODFUNC_P(pointer_is_grabbed, 0);
503
+ RG_DEF_MODFUNC(error_trap_push, 0);
504
+ RG_DEF_MODFUNC(error_trap_pop, 0);
505
+ RG_DEF_MODFUNC_P(windowing_x11, 0);
506
+ RG_DEF_MODFUNC_P(windowing_win32, 0);
507
+ RG_DEF_MODFUNC_P(windowing_fb, 0);
508
+ RG_DEF_MODFUNC_P(windowing_quartz, 0);
509
+ RG_DEF_MODFUNC_P(windowing_directfb, 0);
510
+
511
+ RG_DEF_MODFUNC(target, 0);
512
+
513
+ RG_DEF_MODFUNC_P(cairo_available, 0);
361
514
 
362
- G_DEF_SETTERS(mGdk);
363
- }
515
+ /* GdkGrabStatus */
516
+ G_DEF_CLASS(GDK_TYPE_GRAB_STATUS, "GrabStatus", RG_TARGET_NAMESPACE);
517
+ G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_GRAB_STATUS, "GDK_");
364
518
 
519
+ G_DEF_SETTERS(RG_TARGET_NAMESPACE);
520
+ }