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
data/src/makekeysyms.rb
ADDED
data/src/rbgdk.c
ADDED
|
@@ -0,0 +1,395 @@
|
|
|
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
|
+
************************************************/
|
|
14
|
+
|
|
15
|
+
#include "global.h"
|
|
16
|
+
|
|
17
|
+
VALUE mGdk;
|
|
18
|
+
|
|
19
|
+
/* We don't need them.
|
|
20
|
+
void gdk_init (gint *argc,
|
|
21
|
+
gchar ***argv);
|
|
22
|
+
gboolean gdk_init_check (gint *argc,
|
|
23
|
+
gchar ***argv);
|
|
24
|
+
void gdk_parse_args (gint *argc,
|
|
25
|
+
gchar ***argv);
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
#if GTK_CHECK_VERSION(2,2,0)
|
|
29
|
+
static VALUE
|
|
30
|
+
gdk_s_get_display_arg_name(self)
|
|
31
|
+
VALUE self;
|
|
32
|
+
{
|
|
33
|
+
return CSTR2RVAL(gdk_get_display_arg_name());
|
|
34
|
+
}
|
|
35
|
+
#endif
|
|
36
|
+
|
|
37
|
+
static VALUE
|
|
38
|
+
gdk_s_set_locale(self)
|
|
39
|
+
VALUE self;
|
|
40
|
+
{
|
|
41
|
+
return CSTR2RVAL(gdk_set_locale());
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
static VALUE
|
|
45
|
+
gdk_s_set_sm_client_id(self, id)
|
|
46
|
+
VALUE self, id;
|
|
47
|
+
{
|
|
48
|
+
gdk_set_sm_client_id(NIL_P(id) ? NULL : RVAL2CSTR(id));
|
|
49
|
+
return self;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
#if GTK_CHECK_VERSION(2,2,0)
|
|
53
|
+
static VALUE
|
|
54
|
+
gdk_s_notify_startup_complete(int argc, VALUE *argv, VALUE self)
|
|
55
|
+
{
|
|
56
|
+
VALUE startup_id;
|
|
57
|
+
|
|
58
|
+
rb_scan_args(argc, argv, "01", &startup_id);
|
|
59
|
+
|
|
60
|
+
if (NIL_P(startup_id)) {
|
|
61
|
+
gdk_notify_startup_complete();
|
|
62
|
+
} else {
|
|
63
|
+
#if GTK_CHECK_VERSION(2, 12, 0)
|
|
64
|
+
gdk_notify_startup_complete_with_id(RVAL2CSTR(startup_id));
|
|
65
|
+
#else
|
|
66
|
+
rb_raise(rb_eNotImpError,
|
|
67
|
+
"GTK+ >= 2.12 is required to use "
|
|
68
|
+
"Gdk.notify_startup_complete with startup ID.");
|
|
69
|
+
#endif
|
|
70
|
+
}
|
|
71
|
+
return self;
|
|
72
|
+
}
|
|
73
|
+
#endif
|
|
74
|
+
|
|
75
|
+
static VALUE
|
|
76
|
+
gdk_s_get_program_class(self)
|
|
77
|
+
VALUE self;
|
|
78
|
+
{
|
|
79
|
+
return CSTR2RVAL(gdk_get_program_class());
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
static VALUE
|
|
83
|
+
gdk_s_set_program_class(self, program_class)
|
|
84
|
+
VALUE self, program_class;
|
|
85
|
+
{
|
|
86
|
+
gdk_set_program_class(RVAL2CSTR(program_class));
|
|
87
|
+
return self;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
static VALUE
|
|
91
|
+
gdk_s_get_display(self)
|
|
92
|
+
VALUE self;
|
|
93
|
+
{
|
|
94
|
+
return CSTR2RVAL(gdk_get_display());
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
#ifdef HAVE_X11_XLIB_H
|
|
98
|
+
#ifdef HAVE_XGETERRORTEXT
|
|
99
|
+
#include <X11/Xlib.h>
|
|
100
|
+
#include <errno.h>
|
|
101
|
+
|
|
102
|
+
static VALUE rb_x_error;
|
|
103
|
+
static VALUE rb_x_io_error;
|
|
104
|
+
|
|
105
|
+
static int
|
|
106
|
+
rbgdk_x_error(display, error)
|
|
107
|
+
Display* display;
|
|
108
|
+
XErrorEvent* error;
|
|
109
|
+
{
|
|
110
|
+
gchar buf[64];
|
|
111
|
+
|
|
112
|
+
XGetErrorText(display, error->error_code, buf, 63);
|
|
113
|
+
|
|
114
|
+
rb_funcall((VALUE)rb_x_error, id_call, 4, INT2NUM(error->serial),
|
|
115
|
+
INT2NUM(error->error_code), INT2NUM(error->request_code),
|
|
116
|
+
INT2NUM(error->minor_code));
|
|
117
|
+
return 0;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
static int
|
|
121
|
+
rbgdk_x_io_error(display)
|
|
122
|
+
Display* display;
|
|
123
|
+
{
|
|
124
|
+
int errno_saved = errno;
|
|
125
|
+
const gchar* disp;
|
|
126
|
+
const gchar* error;
|
|
127
|
+
|
|
128
|
+
#if GTK_CHECK_VERSION(2,2,0)
|
|
129
|
+
disp = display ? DisplayString(display) : gdk_get_display_arg_name();
|
|
130
|
+
#else
|
|
131
|
+
disp = DisplayString(display);
|
|
132
|
+
#endif
|
|
133
|
+
if (! disp)
|
|
134
|
+
disp = "(none)";
|
|
135
|
+
|
|
136
|
+
error = g_strerror(errno_saved);
|
|
137
|
+
|
|
138
|
+
rb_funcall((VALUE)rb_x_io_error, id_call, 3, CSTR2RVAL(disp),
|
|
139
|
+
INT2NUM(errno), CSTR2RVAL(error));
|
|
140
|
+
return 0;
|
|
141
|
+
}
|
|
142
|
+
#endif
|
|
143
|
+
#endif
|
|
144
|
+
|
|
145
|
+
static VALUE
|
|
146
|
+
gdk_s_set_x_error_handler(self)
|
|
147
|
+
VALUE self;
|
|
148
|
+
{
|
|
149
|
+
#ifdef HAVE_XGETERRORTEXT
|
|
150
|
+
rb_x_error = rb_block_proc();
|
|
151
|
+
G_RELATIVE(self, rb_x_error);
|
|
152
|
+
XSetErrorHandler(rbgdk_x_error);
|
|
153
|
+
#else
|
|
154
|
+
rb_warn("Not supported on this environment.");
|
|
155
|
+
#endif
|
|
156
|
+
return self;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
static VALUE
|
|
160
|
+
gdk_s_set_x_io_error_handler(self)
|
|
161
|
+
VALUE self;
|
|
162
|
+
{
|
|
163
|
+
#ifdef HAVE_XGETERRORTEXT
|
|
164
|
+
rb_x_io_error = rb_block_proc();
|
|
165
|
+
G_RELATIVE(self, rb_x_io_error);
|
|
166
|
+
XSetIOErrorHandler(rbgdk_x_io_error);
|
|
167
|
+
#else
|
|
168
|
+
rb_warn("Not supported on this environment.");
|
|
169
|
+
#endif
|
|
170
|
+
return self;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
static VALUE
|
|
174
|
+
gdk_s_flush(self)
|
|
175
|
+
VALUE self;
|
|
176
|
+
{
|
|
177
|
+
gdk_flush();
|
|
178
|
+
return self;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
static VALUE
|
|
182
|
+
gdk_s_screen_width(self)
|
|
183
|
+
VALUE self;
|
|
184
|
+
{
|
|
185
|
+
return INT2NUM(gdk_screen_width());
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
static VALUE
|
|
189
|
+
gdk_s_screen_width_mm(self)
|
|
190
|
+
VALUE self;
|
|
191
|
+
{
|
|
192
|
+
return INT2NUM(gdk_screen_width_mm());
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
static VALUE
|
|
196
|
+
gdk_s_screen_height(self)
|
|
197
|
+
VALUE self;
|
|
198
|
+
{
|
|
199
|
+
return INT2NUM(gdk_screen_height());
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
static VALUE
|
|
203
|
+
gdk_s_screen_height_mm(self)
|
|
204
|
+
VALUE self;
|
|
205
|
+
{
|
|
206
|
+
return INT2NUM(gdk_screen_height_mm());
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
static VALUE
|
|
210
|
+
gdk_s_pointer_grab(self, win, owner_events, event_mask, confine_to, cursor, time)
|
|
211
|
+
VALUE self, win, owner_events, event_mask, confine_to, cursor, time;
|
|
212
|
+
{
|
|
213
|
+
return GENUM2RVAL(gdk_pointer_grab(GDK_WINDOW(RVAL2GOBJ(win)),
|
|
214
|
+
RVAL2CBOOL(owner_events),
|
|
215
|
+
RVAL2GFLAGS(event_mask, GDK_TYPE_EVENT_MASK),
|
|
216
|
+
NIL_P(confine_to)?NULL:GDK_WINDOW(RVAL2GOBJ(confine_to)),
|
|
217
|
+
NIL_P(cursor)?NULL:(GdkCursor*)RVAL2BOXED(cursor, GDK_TYPE_CURSOR),
|
|
218
|
+
NUM2INT(time)), GDK_TYPE_GRAB_STATUS);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
static VALUE
|
|
222
|
+
gdk_s_pointer_ungrab(self, time)
|
|
223
|
+
VALUE self, time;
|
|
224
|
+
{
|
|
225
|
+
gdk_pointer_ungrab(NUM2INT(time));
|
|
226
|
+
return self;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
static VALUE
|
|
230
|
+
gdk_s_keyboard_grab(self, win, owner_events, time)
|
|
231
|
+
VALUE self, win, owner_events, time;
|
|
232
|
+
{
|
|
233
|
+
return GENUM2RVAL(gdk_keyboard_grab(GDK_WINDOW(RVAL2GOBJ(win)),
|
|
234
|
+
RVAL2CBOOL(owner_events), NUM2INT(time)),
|
|
235
|
+
GDK_TYPE_GRAB_STATUS);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
static VALUE
|
|
239
|
+
gdk_s_keyboard_ungrab(self, time)
|
|
240
|
+
VALUE self, time;
|
|
241
|
+
{
|
|
242
|
+
gdk_keyboard_ungrab(NUM2INT(time));
|
|
243
|
+
return self;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
static VALUE
|
|
247
|
+
gdk_s_pointer_is_grabbed(self)
|
|
248
|
+
VALUE self;
|
|
249
|
+
{
|
|
250
|
+
return CBOOL2RVAL(gdk_pointer_is_grabbed());
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
static VALUE
|
|
254
|
+
gdk_s_set_double_click_time(self, msec)
|
|
255
|
+
VALUE self, msec;
|
|
256
|
+
{
|
|
257
|
+
gdk_set_double_click_time(NUM2UINT(msec));
|
|
258
|
+
return self;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
static VALUE
|
|
262
|
+
gdk_s_beep(self)
|
|
263
|
+
VALUE self;
|
|
264
|
+
{
|
|
265
|
+
gdk_beep();
|
|
266
|
+
return self;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
static VALUE
|
|
270
|
+
gdk_s_error_trap_push(self)
|
|
271
|
+
VALUE self;
|
|
272
|
+
{
|
|
273
|
+
gdk_error_trap_push();
|
|
274
|
+
return self;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
static VALUE
|
|
278
|
+
gdk_s_error_trap_pop(self)
|
|
279
|
+
VALUE self;
|
|
280
|
+
{
|
|
281
|
+
gdk_error_trap_pop();
|
|
282
|
+
return self;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
static VALUE
|
|
286
|
+
gdk_s_windowing_x11(self)
|
|
287
|
+
VALUE self;
|
|
288
|
+
{
|
|
289
|
+
#ifdef GDK_WINDOWING_X11
|
|
290
|
+
return Qtrue;
|
|
291
|
+
#else
|
|
292
|
+
return Qfalse;
|
|
293
|
+
#endif
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
static VALUE
|
|
297
|
+
gdk_s_windowing_win32(self)
|
|
298
|
+
VALUE self;
|
|
299
|
+
{
|
|
300
|
+
#ifdef GDK_WINDOWING_WIN32
|
|
301
|
+
return Qtrue;
|
|
302
|
+
#else
|
|
303
|
+
return Qfalse;
|
|
304
|
+
#endif
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
static VALUE
|
|
308
|
+
gdk_s_windowing_fb(self)
|
|
309
|
+
VALUE self;
|
|
310
|
+
{
|
|
311
|
+
#ifdef GDK_WINDOWING_FB
|
|
312
|
+
return Qtrue;
|
|
313
|
+
#else
|
|
314
|
+
return Qfalse;
|
|
315
|
+
#endif
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
static VALUE
|
|
319
|
+
gdk_s_windowing_quartz(self)
|
|
320
|
+
VALUE self;
|
|
321
|
+
{
|
|
322
|
+
#ifdef GDK_WINDOWING_QUARTZ
|
|
323
|
+
return Qtrue;
|
|
324
|
+
#else
|
|
325
|
+
return Qfalse;
|
|
326
|
+
#endif
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
static VALUE
|
|
330
|
+
gdk_s_windowing_directfb(self)
|
|
331
|
+
VALUE self;
|
|
332
|
+
{
|
|
333
|
+
#ifdef GDK_WINDOWING_DIRECTFB
|
|
334
|
+
return Qtrue;
|
|
335
|
+
#else
|
|
336
|
+
return Qfalse;
|
|
337
|
+
#endif
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
static VALUE
|
|
341
|
+
gdk_m_target(self)
|
|
342
|
+
VALUE self;
|
|
343
|
+
{
|
|
344
|
+
return CSTR2RVAL(RUBY_GTK2_TARGET);
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
void
|
|
348
|
+
Init_gtk_gdk()
|
|
349
|
+
{
|
|
350
|
+
mGdk = rb_define_module("Gdk");
|
|
351
|
+
|
|
352
|
+
#if GTK_CHECK_VERSION(2,2,0)
|
|
353
|
+
rb_define_module_function(mGdk, "display_arg_name", gdk_s_get_display_arg_name, 0);
|
|
354
|
+
#endif
|
|
355
|
+
rb_define_module_function(mGdk, "set_locale", gdk_s_set_locale, 0);
|
|
356
|
+
rb_define_module_function(mGdk, "set_sm_client_id", gdk_s_set_sm_client_id, 1);
|
|
357
|
+
#if GTK_CHECK_VERSION(2, 2, 0)
|
|
358
|
+
rb_define_module_function(mGdk, "notify_startup_complete",
|
|
359
|
+
gdk_s_notify_startup_complete, -1);
|
|
360
|
+
#endif
|
|
361
|
+
rb_define_module_function(mGdk, "program_class", gdk_s_get_program_class, 0);
|
|
362
|
+
rb_define_module_function(mGdk, "set_program_class", gdk_s_set_program_class, 1);
|
|
363
|
+
rb_define_module_function(mGdk, "display", gdk_s_get_display, 0);
|
|
364
|
+
|
|
365
|
+
rb_define_module_function(mGdk, "set_x_error_handler", gdk_s_set_x_error_handler , 0);
|
|
366
|
+
rb_define_module_function(mGdk, "set_x_io_error_handler", gdk_s_set_x_io_error_handler , 0);
|
|
367
|
+
rb_define_module_function(mGdk, "screen_width", gdk_s_screen_width, 0);
|
|
368
|
+
rb_define_module_function(mGdk, "screen_width_mm", gdk_s_screen_width_mm, 0);
|
|
369
|
+
rb_define_module_function(mGdk, "screen_height", gdk_s_screen_height, 0);
|
|
370
|
+
rb_define_module_function(mGdk, "screen_height_mm", gdk_s_screen_height_mm, 0);
|
|
371
|
+
rb_define_module_function(mGdk, "beep", gdk_s_beep, 0);
|
|
372
|
+
rb_define_module_function(mGdk, "flush", gdk_s_flush, 0);
|
|
373
|
+
rb_define_module_function(mGdk, "set_double_click_time", gdk_s_set_double_click_time, 1);
|
|
374
|
+
rb_define_module_function(mGdk, "pointer_grab", gdk_s_pointer_grab, 6);
|
|
375
|
+
rb_define_module_function(mGdk, "pointer_ungrab", gdk_s_pointer_ungrab, 1);
|
|
376
|
+
rb_define_module_function(mGdk, "keyboard_grab", gdk_s_keyboard_grab, 3);
|
|
377
|
+
rb_define_module_function(mGdk, "keyboard_ungrab", gdk_s_keyboard_ungrab, 1);
|
|
378
|
+
rb_define_module_function(mGdk, "pointer_is_grabbed?", gdk_s_pointer_is_grabbed, 0);
|
|
379
|
+
rb_define_module_function(mGdk, "error_trap_push", gdk_s_error_trap_push, 0);
|
|
380
|
+
rb_define_module_function(mGdk, "error_trap_pop", gdk_s_error_trap_pop, 0);
|
|
381
|
+
rb_define_module_function(mGdk, "windowing_x11?", gdk_s_windowing_x11, 0);
|
|
382
|
+
rb_define_module_function(mGdk, "windowing_win32?", gdk_s_windowing_win32, 0);
|
|
383
|
+
rb_define_module_function(mGdk, "windowing_fb?", gdk_s_windowing_fb, 0);
|
|
384
|
+
rb_define_module_function(mGdk, "windowing_quartz?", gdk_s_windowing_quartz, 0);
|
|
385
|
+
rb_define_module_function(mGdk, "windowing_directfb?", gdk_s_windowing_directfb, 0);
|
|
386
|
+
|
|
387
|
+
rb_define_module_function(mGdk, "target", gdk_m_target, 0);
|
|
388
|
+
|
|
389
|
+
/* GdkGrabStatus */
|
|
390
|
+
G_DEF_CLASS(GDK_TYPE_GRAB_STATUS, "GrabStatus", mGdk);
|
|
391
|
+
G_DEF_CONSTANTS(mGdk, GDK_TYPE_GRAB_STATUS, "GDK_");
|
|
392
|
+
|
|
393
|
+
G_DEF_SETTERS(mGdk);
|
|
394
|
+
}
|
|
395
|
+
|
data/src/rbgdk.h
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
|
2
|
+
/************************************************
|
|
3
|
+
|
|
4
|
+
rbgdkconversions.h -
|
|
5
|
+
|
|
6
|
+
Copyright (C) 2008 Ruby-GNOME2 Project Team
|
|
7
|
+
************************************************/
|
|
8
|
+
|
|
9
|
+
#ifndef __RB_GDK_H__
|
|
10
|
+
#define __RB_GDK_H__
|
|
11
|
+
|
|
12
|
+
#include <rbgobject.h>
|
|
13
|
+
#include <rbgtkmacros.h>
|
|
14
|
+
#include <gdk/gdk.h>
|
|
15
|
+
#include <rbgdkconversions.h>
|
|
16
|
+
|
|
17
|
+
#ifdef GDK_WINDOWING_X11
|
|
18
|
+
# include <gdk/gdkx.h>
|
|
19
|
+
#endif
|
|
20
|
+
|
|
21
|
+
#define GDK_BITMAP(b) ((GdkBitmap*)GDK_PIXMAP(b))
|
|
22
|
+
|
|
23
|
+
#define GEV2RVAL(ev) (make_gdkevent(ev))
|
|
24
|
+
#define RVAL2GEV(ev) (get_gdkevent(ev))
|
|
25
|
+
#define RVAL2ATOM(atom) (get_gdkatom(atom))
|
|
26
|
+
|
|
27
|
+
#define GDK_TYPE_GEOMETRY (gdk_geometry_get_type())
|
|
28
|
+
#define GDK_TYPE_REGION (gdk_region_get_type())
|
|
29
|
+
#define GDK_TYPE_ATOM (gdk_atom_get_type())
|
|
30
|
+
#define GDK_TYPE_WINDOW_ATTR (gdk_windowattr_get_type())
|
|
31
|
+
#define GDK_TYPE_TIME_COORD (gdk_timecoord_get_type())
|
|
32
|
+
|
|
33
|
+
RUBY_GTK2_VAR VALUE mGdk;
|
|
34
|
+
RUBY_GTK2_VAR VALUE rb_cGdkColor;
|
|
35
|
+
|
|
36
|
+
typedef struct {
|
|
37
|
+
GdkAtom atom;
|
|
38
|
+
} GdkAtomData;
|
|
39
|
+
|
|
40
|
+
extern GType gdk_windowattr_get_type(void);
|
|
41
|
+
extern GType gdk_atom_get_type(void);
|
|
42
|
+
extern GType gdk_geometry_get_type(void);
|
|
43
|
+
extern GType gdk_region_get_type(void);
|
|
44
|
+
extern GType gdk_timecoord_get_type(void);
|
|
45
|
+
|
|
46
|
+
extern GdkAtom get_gdkatom(VALUE atom);
|
|
47
|
+
extern VALUE make_gdkevent(GdkEvent* event);
|
|
48
|
+
extern GdkEvent* get_gdkevent(VALUE event);
|
|
49
|
+
|
|
50
|
+
#endif /* __RB_GDK_H__ */
|