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 ()