From 1a2003d1f176001f4c691d14a080e722bb12fc7b Mon Sep 17 00:00:00 2001 From: matz Date: Fri, 3 Jul 1998 06:28:57 +0000 Subject: *** empty log message *** git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/gtk/gtk.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'ext') 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 @@ -510,6 +510,18 @@ get_gdkdraw(draw, klass, kname) #define get_gdkpixmap(w) get_gdkdraw((w),gdkPixmap,"GdkPixmap") #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; @@ -2054,6 +2066,16 @@ widget_propagate_default_style(self) return Qnil; } +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); -- cgit v1.2.3