1#!/usr/bin/env python 2"""Display a png file 3""" 4 5import sys 6 7import cairo 8import gi 9gi.require_version("Gtk", "3.0") 10from gi.repository import Gtk 11 12 13def draw_event(widget, ctx, surface): 14 ctx.set_source_surface(surface, 0, 0) 15 ctx.paint() 16 17 18if len(sys.argv) != 2: 19 raise SystemExit('usage: png_view.py png_file') 20 21filename = sys.argv[1] 22 23surface = cairo.ImageSurface.create_from_png(filename) 24width = surface.get_width() 25height = surface.get_height() 26 27win = Gtk.Window() 28win.connect('destroy', Gtk.main_quit) 29 30drawingarea = Gtk.DrawingArea() 31win.add(drawingarea) 32drawingarea.connect('draw', draw_event, surface) 33drawingarea.set_size_request(width, height) 34 35win.show_all() 36Gtk.main() 37