def configure_cb(drawing_area, evt):
    pixbuf = drawing_area.get_data("pixbuf")

    print "X:%d Y:%d" % (evt.width, evt.height)
    if evt.width  != pixbuf.get_width() or \
       evt.height != pixbuf.get_height():
        root = gtk._root_window()
        new_pixbuf = GdkPixbuf.GdkPixbufFromDrawable ( \
            None, root, None,
            0, 0, 0, 0,
            evt.width, evt.height)
        drawing_area.set_data("pixbuf", new_pixbuf)
        del pixbuf

    return FALSE
def configure_cb (drawing_area, evt):
	pixbuf = drawing_area.get_data ("pixbuf")

	print "X:%d Y:%d" % (evt.width, evt.height)
	if evt.width  != pixbuf.get_width() or \
	   evt.height != pixbuf.get_height():
		root = gtk._root_window ()
		new_pixbuf = GdkPixbuf.GdkPixbufFromDrawable ( \
						None, root, None,
						0, 0, 0, 0,
						evt.width, evt.height)
		drawing_area.set_data ("pixbuf", new_pixbuf)
		del pixbuf
	
	return FALSE
def main():
    push_rgb_visual()

    root = gtk._root_window()
    pixbuf = GdkPixbuf.GdkPixbufFromDrawable(None, root, None, 0, 0, 0, 0, 150,
                                             160)
    win = GtkWindow()
    win.connect("delete_event", mainquit)
    win.connect("destroy", mainquit)

    vbox = GtkVBox()
    win.add(vbox)

    drawing_area = GtkDrawingArea()
    drawing_area.size(pixbuf.get_width(), pixbuf.get_height())
    drawing_area.connect("expose_event", expose_cb)
    drawing_area.connect("configure_event", configure_cb)
    drawing_area.set_data("pixbuf", pixbuf)
    vbox.pack_start(drawing_area)

    win.show_all()
    mainloop()
def main ():
	push_rgb_visual ()
	
	root = gtk._root_window ()
	pixbuf = GdkPixbuf.GdkPixbufFromDrawable (None, root, None,
					0, 0, 0, 0, 150, 160)
	win = GtkWindow ()
	win.connect ("delete_event", mainquit)
	win.connect ("destroy", mainquit)
	
	vbox = GtkVBox ()
	win.add (vbox)

	drawing_area = GtkDrawingArea ()
	drawing_area.size (pixbuf.get_width(), pixbuf.get_height())
	drawing_area.connect ("expose_event", expose_cb)
	drawing_area.connect ("configure_event", configure_cb)
	drawing_area.set_data ("pixbuf", pixbuf)
	vbox.pack_start (drawing_area)

	win.show_all ()
	mainloop ()