summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-07-03 06:28:57 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>1998-07-03 06:28:57 +0000
commit1a2003d1f176001f4c691d14a080e722bb12fc7b (patch)
tree437cb6b1c90415be4d907fb59d2c873982109336
parentd7b1e063ff799f8172916df6eb7feedea27d6f2a (diff)
*** empty log message ***
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ext/gtk/gtk.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/ext/gtk/gtk.c b/ext/gtk/gtk.c
index 9efdc1ce0b..2f51b728de 100644
--- a/ext/gtk/gtk.c
+++ b/ext/gtk/gtk.c
@@ -511,6 +511,18 @@ get_gdkdraw(draw, klass, kname)
#define get_gdkbitmap(w) get_gdkdraw((w),gdkBitmap,"GdkBitmap")
static VALUE
+gdkdraw_get_geometry(self)
+ VALUE self;
+{
+ gint x, y, width, height, depth;
+
+ gdk_window_get_geometry(get_gdkdrawable(self),
+ &x, &y, &width, &height, &depth);
+ return ary_new3(5, INT2NUM(x), INT2NUM(y),
+ INT2NUM(width), INT2NUM(height), INT2NUM(depth));
+}
+
+static VALUE
gdkpmap_s_new(self, win, w, h, depth)
VALUE self, win, w, h, depth;
{
@@ -2055,6 +2067,16 @@ widget_propagate_default_style(self)
}
static VALUE
+widget_shape_combine_mask(self, gdk_pixmap_mask, x, y)
+ VALUE self, gdk_pixmap_mask, x, y;
+{
+ gtk_widget_shape_combine_mask(get_widget(self),
+ get_gdkpixmap(gdk_pixmap_mask),
+ NUM2INT(x), NUM2INT(y));
+ return self;
+}
+
+static VALUE
bbox_get_child_size_default(self)
VALUE self;
{
@@ -6086,6 +6108,7 @@ Init_gtk()
rb_define_method(gWidget, "ancestor?", widget_is_ancestor, 1);
rb_define_method(gWidget, "child?", widget_is_child, 1);
rb_define_method(gWidget, "window", widget_window, 0);
+ rb_define_method(gWidget, "shape_combine_mask", widget_shape_combine_mask, 3);
rb_define_singleton_method(gWidget, "push_colomap", widget_push_cmap, 1);
rb_define_singleton_method(gWidget, "push_visual", widget_push_visual, 1);
@@ -6706,6 +6729,7 @@ Init_gtk()
rb_define_method(gdkDrawable, "draw_image", gdkdraw_draw_image, 8);
rb_define_method(gdkDrawable, "draw_points", gdkdraw_draw_pnts, 2);
rb_define_method(gdkDrawable, "draw_segments", gdkdraw_draw_segs, 2);
+ rb_define_method(gdkDrawable, "get_geometry", gdkdraw_get_geometry, 0);
/* GdkPixmap */
rb_define_singleton_method(gdkPixmap, "new", gdkpmap_s_new, 4);