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.
- data/ChangeLog +6664 -0
- data/README +33 -0
- data/Rakefile +71 -0
- data/extconf.rb +116 -0
- data/src/global.h +33 -0
- data/src/init.c +39 -0
- data/src/lib/gtk2.rb +13 -0
- data/src/lib/gtk2/base.rb +95 -0
- data/src/makeinits.rb +57 -0
- data/src/makekeysyms.rb +5 -0
- data/src/rbgdk.c +395 -0
- data/src/rbgdk.h +50 -0
- data/src/rbgdkatom.c +122 -0
- data/src/rbgdkcairo.c +100 -0
- data/src/rbgdkcolor.c +151 -0
- data/src/rbgdkcolormap.c +142 -0
- data/src/rbgdkconst.c +29 -0
- data/src/rbgdkconversions.h +18 -0
- data/src/rbgdkcursor.c +115 -0
- data/src/rbgdkdevice.c +235 -0
- data/src/rbgdkdisplay.c +634 -0
- data/src/rbgdkdisplaymanager.c +50 -0
- data/src/rbgdkdragcontext.c +280 -0
- data/src/rbgdkdraw.c +487 -0
- data/src/rbgdkevent.c +1020 -0
- data/src/rbgdkgc.c +456 -0
- data/src/rbgdkgeometry.c +272 -0
- data/src/rbgdkimage.c +155 -0
- data/src/rbgdkinput.c +70 -0
- data/src/rbgdkkeymap.c +153 -0
- data/src/rbgdkkeysyms.h +2174 -0
- data/src/rbgdkkeyval.c +105 -0
- data/src/rbgdkpango.c +171 -0
- data/src/rbgdkpangorenderer.c +132 -0
- data/src/rbgdkpixbuf.c +178 -0
- data/src/rbgdkpixmap.c +255 -0
- data/src/rbgdkproperty.c +342 -0
- data/src/rbgdkrectangle.c +146 -0
- data/src/rbgdkregion.c +242 -0
- data/src/rbgdkrgb.c +197 -0
- data/src/rbgdkscreen.c +535 -0
- data/src/rbgdkselection.c +161 -0
- data/src/rbgdkthreads.c +68 -0
- data/src/rbgdktimecoord.c +118 -0
- data/src/rbgdkvisual.c +273 -0
- data/src/rbgdkwindow.c +1302 -0
- data/src/rbgdkwindowattr.c +213 -0
- data/src/rbgdkx11.c +256 -0
- data/src/rbgtk.c +93 -0
- data/src/rbgtk.h +121 -0
- data/src/rbgtkaboutdialog.c +195 -0
- data/src/rbgtkaccelerator.c +78 -0
- data/src/rbgtkaccelgroup.c +216 -0
- data/src/rbgtkaccelgroupentry.c +85 -0
- data/src/rbgtkaccelkey.c +116 -0
- data/src/rbgtkaccellabel.c +46 -0
- data/src/rbgtkaccelmap.c +162 -0
- data/src/rbgtkaccessible.c +29 -0
- data/src/rbgtkaction.c +277 -0
- data/src/rbgtkactiongroup.c +377 -0
- data/src/rbgtkadjustment.c +153 -0
- data/src/rbgtkalignment.c +71 -0
- data/src/rbgtkallocation.c +171 -0
- data/src/rbgtkarrow.c +47 -0
- data/src/rbgtkaspectframe.c +46 -0
- data/src/rbgtkassistant.c +230 -0
- data/src/rbgtkbbox.c +47 -0
- data/src/rbgtkbin.c +31 -0
- data/src/rbgtkbindingset.c +192 -0
- data/src/rbgtkborder.c +80 -0
- data/src/rbgtkbox.c +142 -0
- data/src/rbgtkbuildable.c +115 -0
- data/src/rbgtkbuilder.c +154 -0
- data/src/rbgtkbutton.c +151 -0
- data/src/rbgtkcalendar.c +159 -0
- data/src/rbgtkcelleditable.c +49 -0
- data/src/rbgtkcelllayout.c +144 -0
- data/src/rbgtkcellrenderer.c +139 -0
- data/src/rbgtkcellrendereraccel.c +42 -0
- data/src/rbgtkcellrenderercombo.c +37 -0
- data/src/rbgtkcellrendererpixbuf.c +33 -0
- data/src/rbgtkcellrendererprogress.c +37 -0
- data/src/rbgtkcellrendererspin.c +38 -0
- data/src/rbgtkcellrenderertext.c +45 -0
- data/src/rbgtkcellrenderertoggle.c +32 -0
- data/src/rbgtkcellview.c +134 -0
- data/src/rbgtkcheckbutton.c +55 -0
- data/src/rbgtkcheckmenuitem.c +56 -0
- data/src/rbgtkclipboard.c +473 -0
- data/src/rbgtkcolorbutton.c +63 -0
- data/src/rbgtkcolorsel.c +175 -0
- data/src/rbgtkcolorselectiondialog.c +72 -0
- data/src/rbgtkcombo.c +117 -0
- data/src/rbgtkcombobox.c +240 -0
- data/src/rbgtkcomboboxentry.c +60 -0
- data/src/rbgtkconst.c +163 -0
- data/src/rbgtkcontainer.c +776 -0
- data/src/rbgtkconversions.h +26 -0
- data/src/rbgtkcurve.c +105 -0
- data/src/rbgtkdialog.c +244 -0
- data/src/rbgtkdrag.c +436 -0
- data/src/rbgtkdrawingarea.c +31 -0
- data/src/rbgtkeditable.c +152 -0
- data/src/rbgtkentry.c +161 -0
- data/src/rbgtkentrycompletion.c +167 -0
- data/src/rbgtkeventbox.c +31 -0
- data/src/rbgtkexpander.c +67 -0
- data/src/rbgtkfilechooser.c +403 -0
- data/src/rbgtkfilechooserbutton.c +72 -0
- data/src/rbgtkfilechooserdialog.c +58 -0
- data/src/rbgtkfilechooserwidget.c +50 -0
- data/src/rbgtkfilefilter.c +139 -0
- data/src/rbgtkfilesel.c +155 -0
- data/src/rbgtkfixed.c +72 -0
- data/src/rbgtkfontbutton.c +69 -0
- data/src/rbgtkfontselection.c +30 -0
- data/src/rbgtkfontselectiondialog.c +106 -0
- data/src/rbgtkframe.c +64 -0
- data/src/rbgtkgamma.c +47 -0
- data/src/rbgtkhandlebox.c +42 -0
- data/src/rbgtkhbbox.c +31 -0
- data/src/rbgtkhbox.c +38 -0
- data/src/rbgtkhpaned.c +31 -0
- data/src/rbgtkhruler.c +31 -0
- data/src/rbgtkhscale.c +45 -0
- data/src/rbgtkhscrollbar.c +38 -0
- data/src/rbgtkhseparator.c +30 -0
- data/src/rbgtkiconfactory.c +80 -0
- data/src/rbgtkiconinfo.c +118 -0
- data/src/rbgtkiconset.c +87 -0
- data/src/rbgtkiconsize.c +90 -0
- data/src/rbgtkiconsource.c +176 -0
- data/src/rbgtkicontheme.c +309 -0
- data/src/rbgtkiconview.c +351 -0
- data/src/rbgtkimage.c +152 -0
- data/src/rbgtkimagemenuitem.c +52 -0
- data/src/rbgtkimcontext.c +134 -0
- data/src/rbgtkimcontextsimple.c +48 -0
- data/src/rbgtkimmulticontext.c +38 -0
- data/src/rbgtkinits.c +473 -0
- data/src/rbgtkinputdialog.c +30 -0
- data/src/rbgtkinvisible.c +68 -0
- data/src/rbgtkitem.c +51 -0
- data/src/rbgtkitemfactory.c +312 -0
- data/src/rbgtklabel.c +168 -0
- data/src/rbgtklayout.c +91 -0
- data/src/rbgtklinkbutton.c +68 -0
- data/src/rbgtkliststore.c +412 -0
- data/src/rbgtkmacros.h +26 -0
- data/src/rbgtkmain.c +532 -0
- data/src/rbgtkmenu.c +272 -0
- data/src/rbgtkmenubar.c +48 -0
- data/src/rbgtkmenuitem.c +171 -0
- data/src/rbgtkmenushell.c +128 -0
- data/src/rbgtkmenutoolbutton.c +74 -0
- data/src/rbgtkmessagedialog.c +102 -0
- data/src/rbgtkmisc.c +63 -0
- data/src/rbgtknotebook.c +484 -0
- data/src/rbgtkobject.c +186 -0
- data/src/rbgtkoptionmenu.c +65 -0
- data/src/rbgtkpagesetup.c +196 -0
- data/src/rbgtkpagesetupunixdialog.c +80 -0
- data/src/rbgtkpaned.c +114 -0
- data/src/rbgtkpapersize.c +186 -0
- data/src/rbgtkplug.c +84 -0
- data/src/rbgtkprintcontext.c +124 -0
- data/src/rbgtkprinter.c +155 -0
- data/src/rbgtkprintjob.c +151 -0
- data/src/rbgtkprintoperation.c +152 -0
- data/src/rbgtkprintoperationpreview.c +54 -0
- data/src/rbgtkprintsettings.c +794 -0
- data/src/rbgtkprintunixdialog.c +98 -0
- data/src/rbgtkprogress.c +21 -0
- data/src/rbgtkprogressbar.c +72 -0
- data/src/rbgtkradioaction.c +102 -0
- data/src/rbgtkradiobutton.c +83 -0
- data/src/rbgtkradiomenuitem.c +115 -0
- data/src/rbgtkradiotoolbutton.c +99 -0
- data/src/rbgtkrange.c +98 -0
- data/src/rbgtkrc.c +228 -0
- data/src/rbgtkrcstyle.c +184 -0
- data/src/rbgtkrecentaction.c +52 -0
- data/src/rbgtkrecentchooser.c +276 -0
- data/src/rbgtkrecentchooserdialog.c +59 -0
- data/src/rbgtkrecentchoosermenu.c +55 -0
- data/src/rbgtkrecentchooserwidget.c +45 -0
- data/src/rbgtkrecentdata.c +152 -0
- data/src/rbgtkrecentfilter.c +180 -0
- data/src/rbgtkrecentfilterinfo.c +197 -0
- data/src/rbgtkrecentinfo.c +232 -0
- data/src/rbgtkrecentmanager.c +164 -0
- data/src/rbgtkruler.c +82 -0
- data/src/rbgtkscale.c +47 -0
- data/src/rbgtkscalebutton.c +115 -0
- data/src/rbgtkscrollbar.c +21 -0
- data/src/rbgtkscrolledwindow.c +160 -0
- data/src/rbgtkselection.c +171 -0
- data/src/rbgtkselectiondata.c +333 -0
- data/src/rbgtkseparator.c +21 -0
- data/src/rbgtkseparatormenuitem.c +28 -0
- data/src/rbgtkseparatortoolitem.c +40 -0
- data/src/rbgtksettings.c +225 -0
- data/src/rbgtksizegroup.c +74 -0
- data/src/rbgtksocket.c +72 -0
- data/src/rbgtkspinbutton.c +138 -0
- data/src/rbgtkstatusbar.c +90 -0
- data/src/rbgtkstatusicon.c +120 -0
- data/src/rbgtkstock.c +264 -0
- data/src/rbgtkstyle.c +722 -0
- data/src/rbgtktable.c +190 -0
- data/src/rbgtktargetlist.c +148 -0
- data/src/rbgtktearoffmenuitem.c +30 -0
- data/src/rbgtktextappearance.c +173 -0
- data/src/rbgtktextattributes.c +209 -0
- data/src/rbgtktextbuffer.c +993 -0
- data/src/rbgtktextchild.c +49 -0
- data/src/rbgtktextiter.c +553 -0
- data/src/rbgtktextmark.c +87 -0
- data/src/rbgtktexttag.c +66 -0
- data/src/rbgtktexttagtable.c +94 -0
- data/src/rbgtktextview.c +351 -0
- data/src/rbgtktoggleaction.c +76 -0
- data/src/rbgtktogglebutton.c +84 -0
- data/src/rbgtktoggletoolbutton.c +70 -0
- data/src/rbgtktoolbar.c +373 -0
- data/src/rbgtktoolbutton.c +75 -0
- data/src/rbgtktoolitem.c +184 -0
- data/src/rbgtktooltip.c +76 -0
- data/src/rbgtktooltips.c +107 -0
- data/src/rbgtktreedragdest.c +19 -0
- data/src/rbgtktreedragsource.c +19 -0
- data/src/rbgtktreeiter.c +259 -0
- data/src/rbgtktreemodel.c +256 -0
- data/src/rbgtktreemodelfilter.c +214 -0
- data/src/rbgtktreemodelsort.c +113 -0
- data/src/rbgtktreepath.c +195 -0
- data/src/rbgtktreerowreference.c +168 -0
- data/src/rbgtktreeselection.c +235 -0
- data/src/rbgtktreesortable.c +127 -0
- data/src/rbgtktreestore.c +379 -0
- data/src/rbgtktreeview.c +881 -0
- data/src/rbgtktreeviewcolumn.c +331 -0
- data/src/rbgtkuimanager.c +210 -0
- data/src/rbgtkvbbox.c +31 -0
- data/src/rbgtkvbox.c +38 -0
- data/src/rbgtkviewport.c +33 -0
- data/src/rbgtkvolumebutton.c +36 -0
- data/src/rbgtkvpaned.c +31 -0
- data/src/rbgtkvruler.c +30 -0
- data/src/rbgtkvscale.c +45 -0
- data/src/rbgtkvscrollbar.c +38 -0
- data/src/rbgtkvseparator.c +30 -0
- data/src/rbgtkwidget.c +1414 -0
- data/src/rbgtkwindow.c +822 -0
- data/src/rbgtkwindowgroup.c +48 -0
- data/test/gtk-test-utils.rb +15 -0
- data/test/run-test.rb +30 -0
- data/test/test_gc.rb +25 -0
- data/test/test_gdk.rb +18 -0
- data/test/test_gdk_color.rb +10 -0
- data/test/test_gdk_display.rb +37 -0
- data/test/test_gdk_event.rb +11 -0
- data/test/test_gdk_gc.rb +7 -0
- data/test/test_gdk_keymap.rb +8 -0
- data/test/test_gdk_pango.rb +9 -0
- data/test/test_gdk_selection_data.rb +17 -0
- data/test/test_gdk_window.rb +29 -0
- data/test/test_gdk_window_attribute.rb +9 -0
- data/test/test_gtk_about_dialog.rb +14 -0
- data/test/test_gtk_buildable.rb +66 -0
- data/test/test_gtk_builder.rb +188 -0
- data/test/test_gtk_entry.rb +18 -0
- data/test/test_gtk_icon_theme.rb +30 -0
- data/test/test_gtk_image.rb +8 -0
- data/test/test_gtk_list_store.rb +65 -0
- data/test/test_gtk_menu_item.rb +13 -0
- data/test/test_gtk_rc_style.rb +14 -0
- data/test/test_gtk_tree_path.rb +20 -0
- data/test/test_gtk_unix_print.rb +14 -0
- data/test/test_gtk_widget.rb +32 -0
- 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
|
+
}
|
data/src/rbgdkx11.c
ADDED
|
@@ -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
|
+
}
|