gtk2 0.20.0

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 (281) hide show
  1. data/ChangeLog +6664 -0
  2. data/README +33 -0
  3. data/Rakefile +71 -0
  4. data/extconf.rb +116 -0
  5. data/src/global.h +33 -0
  6. data/src/init.c +39 -0
  7. data/src/lib/gtk2.rb +13 -0
  8. data/src/lib/gtk2/base.rb +95 -0
  9. data/src/makeinits.rb +57 -0
  10. data/src/makekeysyms.rb +5 -0
  11. data/src/rbgdk.c +395 -0
  12. data/src/rbgdk.h +50 -0
  13. data/src/rbgdkatom.c +122 -0
  14. data/src/rbgdkcairo.c +100 -0
  15. data/src/rbgdkcolor.c +151 -0
  16. data/src/rbgdkcolormap.c +142 -0
  17. data/src/rbgdkconst.c +29 -0
  18. data/src/rbgdkconversions.h +18 -0
  19. data/src/rbgdkcursor.c +115 -0
  20. data/src/rbgdkdevice.c +235 -0
  21. data/src/rbgdkdisplay.c +634 -0
  22. data/src/rbgdkdisplaymanager.c +50 -0
  23. data/src/rbgdkdragcontext.c +280 -0
  24. data/src/rbgdkdraw.c +487 -0
  25. data/src/rbgdkevent.c +1020 -0
  26. data/src/rbgdkgc.c +456 -0
  27. data/src/rbgdkgeometry.c +272 -0
  28. data/src/rbgdkimage.c +155 -0
  29. data/src/rbgdkinput.c +70 -0
  30. data/src/rbgdkkeymap.c +153 -0
  31. data/src/rbgdkkeysyms.h +2174 -0
  32. data/src/rbgdkkeyval.c +105 -0
  33. data/src/rbgdkpango.c +171 -0
  34. data/src/rbgdkpangorenderer.c +132 -0
  35. data/src/rbgdkpixbuf.c +178 -0
  36. data/src/rbgdkpixmap.c +255 -0
  37. data/src/rbgdkproperty.c +342 -0
  38. data/src/rbgdkrectangle.c +146 -0
  39. data/src/rbgdkregion.c +242 -0
  40. data/src/rbgdkrgb.c +197 -0
  41. data/src/rbgdkscreen.c +535 -0
  42. data/src/rbgdkselection.c +161 -0
  43. data/src/rbgdkthreads.c +68 -0
  44. data/src/rbgdktimecoord.c +118 -0
  45. data/src/rbgdkvisual.c +273 -0
  46. data/src/rbgdkwindow.c +1302 -0
  47. data/src/rbgdkwindowattr.c +213 -0
  48. data/src/rbgdkx11.c +256 -0
  49. data/src/rbgtk.c +93 -0
  50. data/src/rbgtk.h +121 -0
  51. data/src/rbgtkaboutdialog.c +195 -0
  52. data/src/rbgtkaccelerator.c +78 -0
  53. data/src/rbgtkaccelgroup.c +216 -0
  54. data/src/rbgtkaccelgroupentry.c +85 -0
  55. data/src/rbgtkaccelkey.c +116 -0
  56. data/src/rbgtkaccellabel.c +46 -0
  57. data/src/rbgtkaccelmap.c +162 -0
  58. data/src/rbgtkaccessible.c +29 -0
  59. data/src/rbgtkaction.c +277 -0
  60. data/src/rbgtkactiongroup.c +377 -0
  61. data/src/rbgtkadjustment.c +153 -0
  62. data/src/rbgtkalignment.c +71 -0
  63. data/src/rbgtkallocation.c +171 -0
  64. data/src/rbgtkarrow.c +47 -0
  65. data/src/rbgtkaspectframe.c +46 -0
  66. data/src/rbgtkassistant.c +230 -0
  67. data/src/rbgtkbbox.c +47 -0
  68. data/src/rbgtkbin.c +31 -0
  69. data/src/rbgtkbindingset.c +192 -0
  70. data/src/rbgtkborder.c +80 -0
  71. data/src/rbgtkbox.c +142 -0
  72. data/src/rbgtkbuildable.c +115 -0
  73. data/src/rbgtkbuilder.c +154 -0
  74. data/src/rbgtkbutton.c +151 -0
  75. data/src/rbgtkcalendar.c +159 -0
  76. data/src/rbgtkcelleditable.c +49 -0
  77. data/src/rbgtkcelllayout.c +144 -0
  78. data/src/rbgtkcellrenderer.c +139 -0
  79. data/src/rbgtkcellrendereraccel.c +42 -0
  80. data/src/rbgtkcellrenderercombo.c +37 -0
  81. data/src/rbgtkcellrendererpixbuf.c +33 -0
  82. data/src/rbgtkcellrendererprogress.c +37 -0
  83. data/src/rbgtkcellrendererspin.c +38 -0
  84. data/src/rbgtkcellrenderertext.c +45 -0
  85. data/src/rbgtkcellrenderertoggle.c +32 -0
  86. data/src/rbgtkcellview.c +134 -0
  87. data/src/rbgtkcheckbutton.c +55 -0
  88. data/src/rbgtkcheckmenuitem.c +56 -0
  89. data/src/rbgtkclipboard.c +473 -0
  90. data/src/rbgtkcolorbutton.c +63 -0
  91. data/src/rbgtkcolorsel.c +175 -0
  92. data/src/rbgtkcolorselectiondialog.c +72 -0
  93. data/src/rbgtkcombo.c +117 -0
  94. data/src/rbgtkcombobox.c +240 -0
  95. data/src/rbgtkcomboboxentry.c +60 -0
  96. data/src/rbgtkconst.c +163 -0
  97. data/src/rbgtkcontainer.c +776 -0
  98. data/src/rbgtkconversions.h +26 -0
  99. data/src/rbgtkcurve.c +105 -0
  100. data/src/rbgtkdialog.c +244 -0
  101. data/src/rbgtkdrag.c +436 -0
  102. data/src/rbgtkdrawingarea.c +31 -0
  103. data/src/rbgtkeditable.c +152 -0
  104. data/src/rbgtkentry.c +161 -0
  105. data/src/rbgtkentrycompletion.c +167 -0
  106. data/src/rbgtkeventbox.c +31 -0
  107. data/src/rbgtkexpander.c +67 -0
  108. data/src/rbgtkfilechooser.c +403 -0
  109. data/src/rbgtkfilechooserbutton.c +72 -0
  110. data/src/rbgtkfilechooserdialog.c +58 -0
  111. data/src/rbgtkfilechooserwidget.c +50 -0
  112. data/src/rbgtkfilefilter.c +139 -0
  113. data/src/rbgtkfilesel.c +155 -0
  114. data/src/rbgtkfixed.c +72 -0
  115. data/src/rbgtkfontbutton.c +69 -0
  116. data/src/rbgtkfontselection.c +30 -0
  117. data/src/rbgtkfontselectiondialog.c +106 -0
  118. data/src/rbgtkframe.c +64 -0
  119. data/src/rbgtkgamma.c +47 -0
  120. data/src/rbgtkhandlebox.c +42 -0
  121. data/src/rbgtkhbbox.c +31 -0
  122. data/src/rbgtkhbox.c +38 -0
  123. data/src/rbgtkhpaned.c +31 -0
  124. data/src/rbgtkhruler.c +31 -0
  125. data/src/rbgtkhscale.c +45 -0
  126. data/src/rbgtkhscrollbar.c +38 -0
  127. data/src/rbgtkhseparator.c +30 -0
  128. data/src/rbgtkiconfactory.c +80 -0
  129. data/src/rbgtkiconinfo.c +118 -0
  130. data/src/rbgtkiconset.c +87 -0
  131. data/src/rbgtkiconsize.c +90 -0
  132. data/src/rbgtkiconsource.c +176 -0
  133. data/src/rbgtkicontheme.c +309 -0
  134. data/src/rbgtkiconview.c +351 -0
  135. data/src/rbgtkimage.c +152 -0
  136. data/src/rbgtkimagemenuitem.c +52 -0
  137. data/src/rbgtkimcontext.c +134 -0
  138. data/src/rbgtkimcontextsimple.c +48 -0
  139. data/src/rbgtkimmulticontext.c +38 -0
  140. data/src/rbgtkinits.c +473 -0
  141. data/src/rbgtkinputdialog.c +30 -0
  142. data/src/rbgtkinvisible.c +68 -0
  143. data/src/rbgtkitem.c +51 -0
  144. data/src/rbgtkitemfactory.c +312 -0
  145. data/src/rbgtklabel.c +168 -0
  146. data/src/rbgtklayout.c +91 -0
  147. data/src/rbgtklinkbutton.c +68 -0
  148. data/src/rbgtkliststore.c +412 -0
  149. data/src/rbgtkmacros.h +26 -0
  150. data/src/rbgtkmain.c +532 -0
  151. data/src/rbgtkmenu.c +272 -0
  152. data/src/rbgtkmenubar.c +48 -0
  153. data/src/rbgtkmenuitem.c +171 -0
  154. data/src/rbgtkmenushell.c +128 -0
  155. data/src/rbgtkmenutoolbutton.c +74 -0
  156. data/src/rbgtkmessagedialog.c +102 -0
  157. data/src/rbgtkmisc.c +63 -0
  158. data/src/rbgtknotebook.c +484 -0
  159. data/src/rbgtkobject.c +186 -0
  160. data/src/rbgtkoptionmenu.c +65 -0
  161. data/src/rbgtkpagesetup.c +196 -0
  162. data/src/rbgtkpagesetupunixdialog.c +80 -0
  163. data/src/rbgtkpaned.c +114 -0
  164. data/src/rbgtkpapersize.c +186 -0
  165. data/src/rbgtkplug.c +84 -0
  166. data/src/rbgtkprintcontext.c +124 -0
  167. data/src/rbgtkprinter.c +155 -0
  168. data/src/rbgtkprintjob.c +151 -0
  169. data/src/rbgtkprintoperation.c +152 -0
  170. data/src/rbgtkprintoperationpreview.c +54 -0
  171. data/src/rbgtkprintsettings.c +794 -0
  172. data/src/rbgtkprintunixdialog.c +98 -0
  173. data/src/rbgtkprogress.c +21 -0
  174. data/src/rbgtkprogressbar.c +72 -0
  175. data/src/rbgtkradioaction.c +102 -0
  176. data/src/rbgtkradiobutton.c +83 -0
  177. data/src/rbgtkradiomenuitem.c +115 -0
  178. data/src/rbgtkradiotoolbutton.c +99 -0
  179. data/src/rbgtkrange.c +98 -0
  180. data/src/rbgtkrc.c +228 -0
  181. data/src/rbgtkrcstyle.c +184 -0
  182. data/src/rbgtkrecentaction.c +52 -0
  183. data/src/rbgtkrecentchooser.c +276 -0
  184. data/src/rbgtkrecentchooserdialog.c +59 -0
  185. data/src/rbgtkrecentchoosermenu.c +55 -0
  186. data/src/rbgtkrecentchooserwidget.c +45 -0
  187. data/src/rbgtkrecentdata.c +152 -0
  188. data/src/rbgtkrecentfilter.c +180 -0
  189. data/src/rbgtkrecentfilterinfo.c +197 -0
  190. data/src/rbgtkrecentinfo.c +232 -0
  191. data/src/rbgtkrecentmanager.c +164 -0
  192. data/src/rbgtkruler.c +82 -0
  193. data/src/rbgtkscale.c +47 -0
  194. data/src/rbgtkscalebutton.c +115 -0
  195. data/src/rbgtkscrollbar.c +21 -0
  196. data/src/rbgtkscrolledwindow.c +160 -0
  197. data/src/rbgtkselection.c +171 -0
  198. data/src/rbgtkselectiondata.c +333 -0
  199. data/src/rbgtkseparator.c +21 -0
  200. data/src/rbgtkseparatormenuitem.c +28 -0
  201. data/src/rbgtkseparatortoolitem.c +40 -0
  202. data/src/rbgtksettings.c +225 -0
  203. data/src/rbgtksizegroup.c +74 -0
  204. data/src/rbgtksocket.c +72 -0
  205. data/src/rbgtkspinbutton.c +138 -0
  206. data/src/rbgtkstatusbar.c +90 -0
  207. data/src/rbgtkstatusicon.c +120 -0
  208. data/src/rbgtkstock.c +264 -0
  209. data/src/rbgtkstyle.c +722 -0
  210. data/src/rbgtktable.c +190 -0
  211. data/src/rbgtktargetlist.c +148 -0
  212. data/src/rbgtktearoffmenuitem.c +30 -0
  213. data/src/rbgtktextappearance.c +173 -0
  214. data/src/rbgtktextattributes.c +209 -0
  215. data/src/rbgtktextbuffer.c +993 -0
  216. data/src/rbgtktextchild.c +49 -0
  217. data/src/rbgtktextiter.c +553 -0
  218. data/src/rbgtktextmark.c +87 -0
  219. data/src/rbgtktexttag.c +66 -0
  220. data/src/rbgtktexttagtable.c +94 -0
  221. data/src/rbgtktextview.c +351 -0
  222. data/src/rbgtktoggleaction.c +76 -0
  223. data/src/rbgtktogglebutton.c +84 -0
  224. data/src/rbgtktoggletoolbutton.c +70 -0
  225. data/src/rbgtktoolbar.c +373 -0
  226. data/src/rbgtktoolbutton.c +75 -0
  227. data/src/rbgtktoolitem.c +184 -0
  228. data/src/rbgtktooltip.c +76 -0
  229. data/src/rbgtktooltips.c +107 -0
  230. data/src/rbgtktreedragdest.c +19 -0
  231. data/src/rbgtktreedragsource.c +19 -0
  232. data/src/rbgtktreeiter.c +259 -0
  233. data/src/rbgtktreemodel.c +256 -0
  234. data/src/rbgtktreemodelfilter.c +214 -0
  235. data/src/rbgtktreemodelsort.c +113 -0
  236. data/src/rbgtktreepath.c +195 -0
  237. data/src/rbgtktreerowreference.c +168 -0
  238. data/src/rbgtktreeselection.c +235 -0
  239. data/src/rbgtktreesortable.c +127 -0
  240. data/src/rbgtktreestore.c +379 -0
  241. data/src/rbgtktreeview.c +881 -0
  242. data/src/rbgtktreeviewcolumn.c +331 -0
  243. data/src/rbgtkuimanager.c +210 -0
  244. data/src/rbgtkvbbox.c +31 -0
  245. data/src/rbgtkvbox.c +38 -0
  246. data/src/rbgtkviewport.c +33 -0
  247. data/src/rbgtkvolumebutton.c +36 -0
  248. data/src/rbgtkvpaned.c +31 -0
  249. data/src/rbgtkvruler.c +30 -0
  250. data/src/rbgtkvscale.c +45 -0
  251. data/src/rbgtkvscrollbar.c +38 -0
  252. data/src/rbgtkvseparator.c +30 -0
  253. data/src/rbgtkwidget.c +1414 -0
  254. data/src/rbgtkwindow.c +822 -0
  255. data/src/rbgtkwindowgroup.c +48 -0
  256. data/test/gtk-test-utils.rb +15 -0
  257. data/test/run-test.rb +30 -0
  258. data/test/test_gc.rb +25 -0
  259. data/test/test_gdk.rb +18 -0
  260. data/test/test_gdk_color.rb +10 -0
  261. data/test/test_gdk_display.rb +37 -0
  262. data/test/test_gdk_event.rb +11 -0
  263. data/test/test_gdk_gc.rb +7 -0
  264. data/test/test_gdk_keymap.rb +8 -0
  265. data/test/test_gdk_pango.rb +9 -0
  266. data/test/test_gdk_selection_data.rb +17 -0
  267. data/test/test_gdk_window.rb +29 -0
  268. data/test/test_gdk_window_attribute.rb +9 -0
  269. data/test/test_gtk_about_dialog.rb +14 -0
  270. data/test/test_gtk_buildable.rb +66 -0
  271. data/test/test_gtk_builder.rb +188 -0
  272. data/test/test_gtk_entry.rb +18 -0
  273. data/test/test_gtk_icon_theme.rb +30 -0
  274. data/test/test_gtk_image.rb +8 -0
  275. data/test/test_gtk_list_store.rb +65 -0
  276. data/test/test_gtk_menu_item.rb +13 -0
  277. data/test/test_gtk_rc_style.rb +14 -0
  278. data/test/test_gtk_tree_path.rb +20 -0
  279. data/test/test_gtk_unix_print.rb +14 -0
  280. data/test/test_gtk_widget.rb +32 -0
  281. metadata +393 -0
@@ -0,0 +1,213 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgdkwindowattr.c -
5
+
6
+ $Author: ggc $
7
+ $Date: 2007/07/13 16:07:31 $
8
+
9
+ Copyright (C) 2003 Masao Mutoh
10
+ ************************************************/
11
+
12
+ #include "global.h"
13
+
14
+ /*****************************************/
15
+ static GdkWindowAttr*
16
+ attr_copy(const GdkWindowAttr* win)
17
+ {
18
+ GdkWindowAttr* new_win;
19
+ g_return_val_if_fail (win != NULL, NULL);
20
+ new_win = g_new(GdkWindowAttr, 1);
21
+ *new_win = *win;
22
+ return new_win;
23
+ }
24
+
25
+ GType
26
+ gdk_windowattr_get_type(void)
27
+ {
28
+ static GType our_type = 0;
29
+ if (our_type == 0)
30
+ our_type = g_boxed_type_register_static ("GdkWindowAttr",
31
+ (GBoxedCopyFunc)attr_copy,
32
+ (GBoxedFreeFunc)g_free);
33
+ return our_type;
34
+ }
35
+ /*****************************************/
36
+
37
+ #define _SELF(w) ((GdkWindowAttr*)RVAL2BOXED(w, GDK_TYPE_WINDOW_ATTR))
38
+
39
+ static VALUE
40
+ attr_initialize(VALUE self, VALUE width, VALUE height, VALUE wclass,
41
+ VALUE window_type)
42
+ {
43
+ GdkWindowAttr w;
44
+ w.width = NUM2INT(width);
45
+ w.height = NUM2INT(height);
46
+ w.wclass = RVAL2GENUM(wclass, GDK_TYPE_WINDOW_CLASS);
47
+ w.window_type = RVAL2GENUM(window_type, GDK_TYPE_WINDOW_TYPE);
48
+ G_INITIALIZE(self, &w);
49
+ return Qnil;
50
+ }
51
+
52
+ #define ATTR_STR(name)\
53
+ static VALUE \
54
+ attr_get_ ## name (self)\
55
+ VALUE self;\
56
+ {\
57
+ return CSTR2RVAL(_SELF(self)->name);\
58
+ }\
59
+ static VALUE \
60
+ attr_set_ ## name (self, val)\
61
+ VALUE self, val;\
62
+ {\
63
+ _SELF(self)->name = RVAL2CSTR(val);\
64
+ return self;\
65
+ }
66
+
67
+ #define ATTR_INT(name)\
68
+ static VALUE \
69
+ attr_get_ ## name (self)\
70
+ VALUE self;\
71
+ {\
72
+ return INT2NUM(_SELF(self)->name);\
73
+ }\
74
+ static VALUE \
75
+ attr_set_ ## name (self, val)\
76
+ VALUE self, val;\
77
+ {\
78
+ _SELF(self)->name = NUM2INT(val);\
79
+ return self;\
80
+ }
81
+
82
+ ATTR_STR(title);
83
+ ATTR_INT(event_mask);
84
+ ATTR_INT(x);
85
+ ATTR_INT(y);
86
+ ATTR_INT(width);
87
+ ATTR_INT(height);
88
+
89
+ static VALUE
90
+ attr_get_wclass(self)
91
+ VALUE self;
92
+ {
93
+ return GENUM2RVAL(_SELF(self)->wclass, GDK_TYPE_WINDOW_CLASS);
94
+ }
95
+ static VALUE
96
+ attr_set_wclass(self, val)
97
+ VALUE self, val;
98
+ {
99
+ _SELF(self)->wclass = RVAL2GENUM(val, GDK_TYPE_WINDOW_CLASS);
100
+ return self;
101
+ }
102
+
103
+ static VALUE
104
+ attr_get_visual(self)
105
+ VALUE self;
106
+ {
107
+ return GOBJ2RVAL(_SELF(self)->visual);
108
+ }
109
+ static VALUE
110
+ attr_set_visual(self, val)
111
+ VALUE self, val;
112
+ {
113
+ _SELF(self)->visual = GDK_VISUAL(RVAL2GOBJ(val));
114
+ return self;
115
+ }
116
+
117
+ static VALUE
118
+ attr_get_colormap(self)
119
+ VALUE self;
120
+ {
121
+ return GOBJ2RVAL(_SELF(self)->colormap);
122
+ }
123
+ static VALUE
124
+ attr_set_colormap(self, val)
125
+ VALUE self, val;
126
+ {
127
+ _SELF(self)->colormap = GDK_COLORMAP(RVAL2GOBJ(val));
128
+ return self;
129
+ }
130
+
131
+ static VALUE
132
+ attr_get_window_type(self)
133
+ VALUE self;
134
+ {
135
+ return GENUM2RVAL(_SELF(self)->window_type, GDK_TYPE_WINDOW_TYPE);
136
+ }
137
+ static VALUE
138
+ attr_set_window_type(self, val)
139
+ VALUE self, val;
140
+ {
141
+ _SELF(self)->window_type = RVAL2GENUM(val, GDK_TYPE_WINDOW_TYPE);
142
+ return self;
143
+ }
144
+
145
+ static VALUE
146
+ attr_get_cursor(self)
147
+ VALUE self;
148
+ {
149
+ return BOXED2RVAL(_SELF(self)->cursor, GDK_TYPE_CURSOR);
150
+ }
151
+ static VALUE
152
+ attr_set_cursor(self, val)
153
+ VALUE self, val;
154
+ {
155
+ _SELF(self)->cursor = (GdkCursor*)(RVAL2BOXED(val, GDK_TYPE_CURSOR));
156
+ return self;
157
+ }
158
+
159
+ ATTR_STR(wmclass_name);
160
+ ATTR_STR(wmclass_class);
161
+
162
+ static VALUE
163
+ attr_get_override_redirect(self)
164
+ VALUE self;
165
+ {
166
+ return CBOOL2RVAL(_SELF(self)->override_redirect);
167
+ }
168
+ static VALUE
169
+ attr_set_override_redirect(self, val)
170
+ VALUE self, val;
171
+ {
172
+ _SELF(self)->override_redirect = RVAL2CBOOL(val);
173
+ return self;
174
+ }
175
+
176
+ void
177
+ Init_gtk_gdk_windowattr()
178
+ {
179
+ VALUE gWindowAttr = G_DEF_CLASS(GDK_TYPE_WINDOW_ATTR, "WindowAttr", mGdk);
180
+
181
+ rb_define_method(gWindowAttr, "initialize", attr_initialize, 4);
182
+ rb_define_method(gWindowAttr, "title", attr_get_title, 0);
183
+ rb_define_method(gWindowAttr, "set_title", attr_set_title, 1);
184
+ rb_define_method(gWindowAttr, "event_mask", attr_get_event_mask, 0);
185
+ rb_define_method(gWindowAttr, "set_event_mask", attr_set_event_mask, 1);
186
+ rb_define_method(gWindowAttr, "x", attr_get_x, 0);
187
+ rb_define_method(gWindowAttr, "set_x", attr_set_x, 1);
188
+ rb_define_method(gWindowAttr, "y", attr_get_y, 0);
189
+ rb_define_method(gWindowAttr, "set_y", attr_set_y, 1);
190
+ rb_define_method(gWindowAttr, "width", attr_get_width, 0);
191
+ rb_define_method(gWindowAttr, "set_width", attr_set_width, 1);
192
+ rb_define_method(gWindowAttr, "height", attr_get_height, 0);
193
+ rb_define_method(gWindowAttr, "set_height", attr_set_height, 1);
194
+ rb_define_method(gWindowAttr, "wclass", attr_get_wclass, 0);
195
+ rb_define_method(gWindowAttr, "set_wclass", attr_set_wclass, 1);
196
+ rb_define_method(gWindowAttr, "visual", attr_get_visual, 0);
197
+ rb_define_method(gWindowAttr, "set_visual", attr_set_visual, 1);
198
+ rb_define_method(gWindowAttr, "colormap", attr_get_colormap, 0);
199
+ rb_define_method(gWindowAttr, "set_colormap", attr_set_colormap, 1);
200
+ rb_define_method(gWindowAttr, "window_type", attr_get_window_type, 0);
201
+ rb_define_method(gWindowAttr, "set_window_type", attr_set_window_type, 1);
202
+ rb_define_method(gWindowAttr, "cursor", attr_get_cursor, 0);
203
+ rb_define_method(gWindowAttr, "set_cursor", attr_set_cursor, 1);
204
+ rb_define_method(gWindowAttr, "wmclass_name", attr_get_wmclass_name, 0);
205
+ rb_define_method(gWindowAttr, "set_wmclass_name", attr_set_wmclass_name, 1);
206
+ rb_define_method(gWindowAttr, "wmclass_class", attr_get_wmclass_class, 0);
207
+ rb_define_method(gWindowAttr, "set_wmclass_class", attr_set_wmclass_class, 1);
208
+ rb_define_method(gWindowAttr, "override_redirect", attr_get_override_redirect, 0);
209
+ rb_define_method(gWindowAttr, "set_override_redirect", attr_set_override_redirect, 1);
210
+
211
+ G_DEF_SETTERS(gWindowAttr);
212
+
213
+ }
@@ -0,0 +1,256 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /************************************************
3
+
4
+ rbgdkx11.c -
5
+
6
+ $Author $
7
+ $Date: 2005/03/05 18:30:12 $
8
+
9
+ Copyright (C) 2005 Masao Mutoh
10
+ ************************************************/
11
+
12
+ #include "global.h"
13
+ #ifdef GDK_WINDOWING_X11
14
+ /* Can't implement
15
+ #define GDK_ROOT_WINDOW ()
16
+ */
17
+ /* Deprecated.
18
+ #define GDK_ROOT_PARENT ()
19
+ */
20
+ /* Can't implement
21
+ #define GDK_DISPLAY ()
22
+ #define GDK_WINDOW_XDISPLAY (win)
23
+ */
24
+ /* Use Gdk::Drawable#xid
25
+ #define GDK_WINDOW_XID (win)
26
+ */
27
+ /* Same as GDK_WINDOW_*
28
+ #define GDK_PIXMAP_XDISPLAY (pix)
29
+ #define GDK_PIXMAP_XID (pix)
30
+ #define GDK_DISPLAY_XDISPLAY (display)
31
+ #define GDK_DRAWABLE_XDISPLAY (win)
32
+ #define GDK_DRAWABLE_XID (win)
33
+ */
34
+ /* Can't implement
35
+ #define GDK_IMAGE_XDISPLAY (image)
36
+ #define GDK_IMAGE_XIMAGE (image)
37
+ #define GDK_GC_XDISPLAY (gc)
38
+ #define GDK_COLORMAP_XDISPLAY (cmap)
39
+ #define GDK_COLORMAP_XCOLORMAP (cmap)
40
+ #define GDK_SCREEN_XDISPLAY (screen)
41
+ */
42
+ /* Implement at Gdk::Screen
43
+ #define GDK_SCREEN_XNUMBER (screen)
44
+ */
45
+ /* Can't implement
46
+ #define GDK_SCREEN_XSCREEN (screen)
47
+ #define GDK_VISUAL_XVISUAL (vis)
48
+ */
49
+ /* Deprecated.
50
+ #define GDK_FONT_XDISPLAY (font)
51
+ #define GDK_FONT_XFONT (font)
52
+ */
53
+ /* Can't implement.
54
+ #define GDK_CURSOR_XCURSOR (cursor)
55
+ #define GDK_CURSOR_XDISPLAY (cursor)
56
+ #define GDK_GC_XGC (gc)
57
+ #define GDK_GC_GET_XGC (gc)
58
+ */
59
+ /* Don't need this.
60
+ #define GDK_WINDOW_XWINDOW
61
+ */
62
+ /* Can't implement.
63
+ GdkVisual* gdkx_visual_get (VisualID xvisualid);
64
+ GdkColormap* gdkx_colormap_get (Colormap xcolormap);
65
+ */
66
+ /* Implement at Gdk::Pixmap.
67
+ GdkPixmap* gdk_pixmap_foreign_new (GdkNativeWindow anid);
68
+ GdkPixmap* gdk_pixmap_foreign_new_for_display
69
+ (GdkDisplay *display,
70
+ GdkNativeWindow anid);
71
+ */
72
+ /* Implement at Gdk::Window.
73
+ GdkWindow* gdk_window_foreign_new (GdkNativeWindow anid);
74
+ GdkWindow* gdk_window_foreign_new_for_display
75
+ (GdkDisplay *display,
76
+ GdkNativeWindow anid);
77
+ */
78
+
79
+ static VALUE
80
+ rbx11_xid_table_lookup(argc, argv, self)
81
+ int argc;
82
+ VALUE *argv;
83
+ VALUE self;
84
+ {
85
+ VALUE arg[2];
86
+ GdkPixmap* win = NULL;
87
+
88
+ rb_scan_args(argc, argv, "11", &arg[0], &arg[1]);
89
+
90
+ switch(argc)
91
+ {
92
+ case 1:
93
+ win = gdk_xid_table_lookup(NUM2UINT(arg[0]));
94
+ break;
95
+ case 2:
96
+ #if GTK_CHECK_VERSION(2,2,0)
97
+ win = gdk_xid_table_lookup_for_display(RVAL2GOBJ(arg[0]), NUM2UINT(arg[1]));
98
+ #else
99
+ win = gdk_xid_table_lookup(NUM2UINT(arg[1]));
100
+ rb_warn("Not supported in GTK+-2.0.x.");
101
+ #endif
102
+ break;
103
+ }
104
+ if (win == NULL)
105
+ return Qnil;
106
+ else {
107
+ return GOBJ2RVAL(win);
108
+ }
109
+ }
110
+
111
+ /* Implement at Gdk::Window
112
+ GdkWindow* gdk_window_lookup (GdkNativeWindow anid);
113
+ GdkWindow* gdk_window_lookup_for_display (GdkDisplay *display,
114
+ GdkNativeWindow anid);
115
+ */
116
+ /* Implement at Gdk::Pixmap
117
+ GdkPixmap* gdk_pixmap_lookup (GdkNativeWindow anid);
118
+ GdkPixmap* gdk_pixmap_lookup_for_display (GdkDisplay *display,
119
+ GdkNativeWindow anid);
120
+ */
121
+ /* Deprecated.
122
+ #define gdk_font_lookup (xid)
123
+ #define gdk_font_lookup_for_display (display, xid)
124
+ */
125
+ /* Can't implement.
126
+ GdkDisplay* gdk_x11_lookup_xdisplay (Display *xdisplay);
127
+ */
128
+ /* Implement at Gdk::Window
129
+ guint32 gdk_x11_get_server_time (GdkWindow *window);
130
+ */
131
+
132
+ static VALUE
133
+ rbx11_net_wm_supports(self, property)
134
+ VALUE self, property;
135
+ {
136
+ return CBOOL2RVAL(gdk_net_wm_supports(RVAL2ATOM(property)));
137
+ }
138
+
139
+ /* Implement at Gdk::Screen
140
+ gboolean gdk_x11_screen_supports_net_wm_hint
141
+ (GdkScreen *screen,
142
+ GdkAtom property);
143
+ const char* gdk_x11_screen_get_window_manager_name
144
+ (GdkScreen *screen);
145
+ */
146
+ /* Can't implement
147
+ GdkVisual* gdk_x11_screen_lookup_visual (GdkScreen *screen,
148
+ VisualID xvisualid);
149
+ GdkColormap* gdk_x11_colormap_foreign_new (GdkVisual *visual,
150
+ Colormap xcolormap);
151
+ Colormap gdk_x11_colormap_get_xcolormap (GdkColormap *colormap);
152
+ Display* gdk_x11_colormap_get_xdisplay (GdkColormap *colormap);
153
+ Cursor gdk_x11_cursor_get_xcursor (GdkCursor *cursor);
154
+ Display* gdk_x11_cursor_get_xdisplay (GdkCursor *cursor);
155
+ Display* gdk_x11_display_get_xdisplay (GdkDisplay *display);
156
+ */
157
+
158
+ /* Implement at Gdk::Display
159
+ void gdk_x11_display_grab (GdkDisplay *display);
160
+ void gdk_x11_display_ungrab (GdkDisplay *display);
161
+ void gdk_x11_register_standard_event_type
162
+ (GdkDisplay *display,
163
+ gint event_base,
164
+ gint n_events);
165
+ */
166
+ /* Can't implement
167
+ Display* gdk_x11_drawable_get_xdisplay (GdkDrawable *drawable);
168
+ */
169
+ /* Use Gdk::Drawable#xid instead
170
+ XID gdk_x11_drawable_get_xid (GdkDrawable *drawable);
171
+ */
172
+ /* Deprecated
173
+ G_CONST_RETURN char* gdk_x11_font_get_name (GdkFont *font);
174
+ Display* gdk_x11_font_get_xdisplay (GdkFont *font);
175
+ gpointer gdk_x11_font_get_xfont (GdkFont *font);
176
+ */
177
+ /* Can't implement
178
+ Display* gdk_x11_gc_get_xdisplay (GdkGC *gc);
179
+ GC gdk_x11_gc_get_xgc (GdkGC *gc);
180
+ Window gdk_x11_get_default_root_xwindow
181
+ (void);
182
+ */
183
+
184
+ static VALUE
185
+ rbx11_get_default_screen(self)
186
+ VALUE self;
187
+ {
188
+ return INT2NUM(gdk_x11_get_default_screen());
189
+ }
190
+ /* Can't implement
191
+ Display* gdk_x11_get_default_xdisplay (void);
192
+ */
193
+
194
+ static VALUE
195
+ rbx11_grab_server(self)
196
+ VALUE self;
197
+ {
198
+ gdk_x11_grab_server();
199
+ return Qnil;
200
+ }
201
+ /* Can't implement
202
+ Display* gdk_x11_image_get_xdisplay (GdkImage *image);
203
+ XImage* gdk_x11_image_get_ximage (GdkImage *image);
204
+ */
205
+ /* Implement at Gdk::Screen.
206
+ int gdk_x11_screen_get_screen_number
207
+ (GdkScreen *screen);
208
+ */
209
+ /* Can't impelement
210
+ Screen* gdk_x11_screen_get_xscreen (GdkScreen *screen);
211
+ */
212
+
213
+ static VALUE
214
+ rbx11_ungrab_server(self)
215
+ VALUE self;
216
+ {
217
+ gdk_x11_ungrab_server();
218
+ return Qnil;
219
+ }
220
+ /* Can't implement
221
+ Visual* gdk_x11_visual_get_xvisual (GdkVisual *visual);
222
+
223
+ Atom gdk_x11_atom_to_xatom (GdkAtom atom);
224
+ Atom gdk_x11_atom_to_xatom_for_display
225
+ (GdkDisplay *display,
226
+ GdkAtom atom);
227
+ GdkAtom gdk_x11_xatom_to_atom (Atom xatom);
228
+ GdkAtom gdk_x11_xatom_to_atom_for_display
229
+ (GdkDisplay *display,
230
+ Atom xatom);
231
+ Atom gdk_x11_get_xatom_by_name (const gchar *atom_name);
232
+ Atom gdk_x11_get_xatom_by_name_for_display
233
+ (GdkDisplay *display,
234
+ const gchar *atom_name);
235
+ G_CONST_RETURN gchar* gdk_x11_get_xatom_name
236
+ (Atom xatom);
237
+ G_CONST_RETURN gchar* gdk_x11_get_xatom_name_for_display
238
+ (GdkDisplay *display,
239
+ Atom xatom);
240
+ */
241
+ #endif
242
+ void
243
+ Init_gtk_gdk_x11()
244
+ {
245
+ #ifdef GDK_WINDOWING_X11
246
+ VALUE mX11 = rb_define_module_under(mGdk, "X11");
247
+
248
+ rb_define_module_function(mX11, "xid_table_lookup", rbx11_xid_table_lookup, -1);
249
+ rb_define_module_function(mX11, "net_wm_supports?", rbx11_net_wm_supports, 1);
250
+
251
+ rb_define_module_function(mX11, "default_screen", rbx11_get_default_screen, 0);
252
+ rb_define_module_function(mX11, "grab_server", rbx11_grab_server, 0);
253
+
254
+ rb_define_module_function(mX11, "ungrab_server", rbx11_ungrab_server, 0);
255
+ #endif
256
+ }