From 6e42377fdcfa6952603188af1dcd93baf3c0f0df Mon Sep 17 00:00:00 2001 From: CarlosC Date: Fri, 18 Jan 2013 20:48:47 +0000 Subject: Clase 5 Hacking --- (limited to 'images/example.py~') diff --git a/images/example.py~ b/images/example.py~ new file mode 100755 index 0000000..669e11a --- /dev/null +++ b/images/example.py~ @@ -0,0 +1,60 @@ +#!/usr/bin/python +import gtk +import gobject + + +class MyApp(): + + def __init__(self): + window = gtk.Window() + hbox = gtk.HBox() + vbox = gtk.HBox() + hslide = gtk.HScale() + vslide = gtk.VScale() + + drawing_area = gtk.DrawingArea() + drawing_area.set_size_request(600, 600) + + self.pixbuf = gtk.gdk.pixbuf_new_from_file('images/arco.jpg') + + window.connect('destroy', self.destroy) + drawing_area.connect('configure_event', self.__configure_cb) + drawing_area.connect('expose-event', self.__expose_cb) + + #window.add(drawing_area) + window.add(hbox) + hbox.add(vbox) + vbox.add(drawing_area) + hbox.add(vslide) + vbox.add(hslide) + + window.show() + vbox.show() + hbox.show() + drawing_area.show() + + def destroy(self, window, data=None): + gtk.main_quit() + + def __configure_cb(self, drawing_area, data=None): + x, y, width, height = drawing_area.get_allocation() + + canvas = drawing_area.window + self.pixmap = gtk.gdk.Pixmap(canvas, width, height) + + self.pixmap.draw_pixbuf(None, self.pixbuf, 0, 0, 0, 0, -1, -1, + gtk.gdk.RGB_DITHER_NONE, 0, 0) + return True + + def __expose_cb(self, drawing_area, data=None): + x, y, width, height = data.area + context = drawing_area.get_style().fg_gc[gtk.STATE_NORMAL] + + canvas = drawing_area.window + canvas.draw_drawable(context, self.pixmap, x, y, x, y, width, height) + + return False + +if __name__ == "__main__": + my_app = MyApp() + gtk.main() -- cgit v0.9.1