@@ -510,6 +510,18 @@ get_gdkdraw(draw, klass, kname)
510
510
#define get_gdkpixmap (w ) get_gdkdraw((w),gdkPixmap,"GdkPixmap")
511
511
#define get_gdkbitmap (w ) get_gdkdraw((w),gdkBitmap,"GdkBitmap")
512
512
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
+
513
525
static VALUE
514
526
gdkpmap_s_new (self , win , w , h , depth )
515
527
VALUE self , win , w , h , depth ;
@@ -2054,6 +2066,16 @@ widget_propagate_default_style(self)
2054
2066
return Qnil ;
2055
2067
}
2056
2068
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
+
2057
2079
static VALUE
2058
2080
bbox_get_child_size_default (self )
2059
2081
VALUE self ;
@@ -6086,6 +6108,7 @@ Init_gtk()
6086
6108
rb_define_method (gWidget , "ancestor?" , widget_is_ancestor , 1 );
6087
6109
rb_define_method (gWidget , "child?" , widget_is_child , 1 );
6088
6110
rb_define_method (gWidget , "window" , widget_window , 0 );
6111
+ rb_define_method (gWidget , "shape_combine_mask" , widget_shape_combine_mask , 3 );
6089
6112
6090
6113
rb_define_singleton_method (gWidget , "push_colomap" , widget_push_cmap , 1 );
6091
6114
rb_define_singleton_method (gWidget , "push_visual" , widget_push_visual , 1 );
@@ -6706,6 +6729,7 @@ Init_gtk()
6706
6729
rb_define_method (gdkDrawable , "draw_image" , gdkdraw_draw_image , 8 );
6707
6730
rb_define_method (gdkDrawable , "draw_points" , gdkdraw_draw_pnts , 2 );
6708
6731
rb_define_method (gdkDrawable , "draw_segments" , gdkdraw_draw_segs , 2 );
6732
+ rb_define_method (gdkDrawable , "get_geometry" , gdkdraw_get_geometry , 0 );
6709
6733
6710
6734
/* GdkPixmap */
6711
6735
rb_define_singleton_method (gdkPixmap , "new" , gdkpmap_s_new , 4 );
0 commit comments