Skip to content

Commit 1a2003d

Browse files
author
matz
committed
*** empty log message ***
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1 parent d7b1e06 commit 1a2003d

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

ext/gtk/gtk.c

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,18 @@ get_gdkdraw(draw, klass, kname)
510510
#define get_gdkpixmap(w) get_gdkdraw((w),gdkPixmap,"GdkPixmap")
511511
#define get_gdkbitmap(w) get_gdkdraw((w),gdkBitmap,"GdkBitmap")
512512

513+
static VALUE
514+
gdkdraw_get_geometry(self)
515+
VALUE self;
516+
{
517+
gint x, y, width, height, depth;
518+
519+
gdk_window_get_geometry(get_gdkdrawable(self),
520+
&x, &y, &width, &height, &depth);
521+
return ary_new3(5, INT2NUM(x), INT2NUM(y),
522+
INT2NUM(width), INT2NUM(height), INT2NUM(depth));
523+
}
524+
513525
static VALUE
514526
gdkpmap_s_new(self, win, w, h, depth)
515527
VALUE self, win, w, h, depth;
@@ -2054,6 +2066,16 @@ widget_propagate_default_style(self)
20542066
return Qnil;
20552067
}
20562068

2069+
static VALUE
2070+
widget_shape_combine_mask(self, gdk_pixmap_mask, x, y)
2071+
VALUE self, gdk_pixmap_mask, x, y;
2072+
{
2073+
gtk_widget_shape_combine_mask(get_widget(self),
2074+
get_gdkpixmap(gdk_pixmap_mask),
2075+
NUM2INT(x), NUM2INT(y));
2076+
return self;
2077+
}
2078+
20572079
static VALUE
20582080
bbox_get_child_size_default(self)
20592081
VALUE self;
@@ -6086,6 +6108,7 @@ Init_gtk()
60866108
rb_define_method(gWidget, "ancestor?", widget_is_ancestor, 1);
60876109
rb_define_method(gWidget, "child?", widget_is_child, 1);
60886110
rb_define_method(gWidget, "window", widget_window, 0);
6111+
rb_define_method(gWidget, "shape_combine_mask", widget_shape_combine_mask, 3);
60896112

60906113
rb_define_singleton_method(gWidget, "push_colomap", widget_push_cmap, 1);
60916114
rb_define_singleton_method(gWidget, "push_visual", widget_push_visual, 1);
@@ -6706,6 +6729,7 @@ Init_gtk()
67066729
rb_define_method(gdkDrawable, "draw_image", gdkdraw_draw_image, 8);
67076730
rb_define_method(gdkDrawable, "draw_points", gdkdraw_draw_pnts, 2);
67086731
rb_define_method(gdkDrawable, "draw_segments", gdkdraw_draw_segs, 2);
6732+
rb_define_method(gdkDrawable, "get_geometry", gdkdraw_get_geometry, 0);
67096733

67106734
/* GdkPixmap */
67116735
rb_define_singleton_method(gdkPixmap, "new", gdkpmap_s_new, 4);

0 commit comments

Comments
 (0)