gtk2 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
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
+ }