Esempio n. 1
0
	def __init__(self, res):
		gtk.DrawingArea.__init__(self)

		self.res = res

		self.set_flags(gtk.CAN_FOCUS)

                self.add_events(gtk.gdk.BUTTON_PRESS_MASK | gtk.gdk.BUTTON_RELEASE_MASK)
                self.connect("button-press-event", self.on_area_button_press)
                self.connect("button-release-event", self.on_area_button_release)
                self.add_events(gtk.gdk.POINTER_MOTION_MASK | gtk.gdk.POINTER_MOTION_HINT_MASK | gtk.gdk.BUTTON_RELEASE_MASK)
                self.connect("motion-notify-event", self.on_area_motion_notify)
                self.connect("scroll-event", self.on_area_scroll_event)
                self.connect('key-press-event', self.on_key_press_event)

		self.connect('set-scroll-adjustments', self.on_set_scroll_adjustments)
		self.connect("size-allocate", self.on_allocation_size_changed)
		self.connect("position-changed", self.on_position_changed)

		self.zoom_ratio = 1.0
                self.x, self.y = 0.0, 0.0

		self.chart_width, self.chart_height = draw.extents(res)
		self.hadj = None
		self.vadj = None
Esempio n. 2
0
def render(writer, res, options, filename):
    handlers = {
        "png": (lambda w, h: cairo.ImageSurface(cairo.FORMAT_ARGB32, w, h), \
                lambda sfc: sfc.write_to_png(filename)),
        "pdf": (lambda w, h: cairo.PDFSurface(filename, w, h), lambda sfc: 0),
        "svg": (lambda w, h: cairo.SVGSurface(filename, w, h), lambda sfc: 0)
    }

    if options.format is None:
        fmt = filename.rsplit('.', 1)[1]
    else:
        fmt = options.format

    if not (fmt in handlers):
        writer.error ("Unknown format '%s'." % fmt)
        return 10

    make_surface, write_surface = handlers[fmt]
    (w, h) = draw.extents (1.0, *res)
    w = max (w, draw.MIN_IMG_W)
    surface = make_surface (w, h)
    ctx = cairo.Context (surface)
    draw.render (ctx, options, 1.0, *res)
    write_surface (surface)
    writer.status ("bootchart written to '%s'" % filename)
Esempio n. 3
0
def render(writer, trace, app_options, filename):
    handlers = {
        "png": (lambda w, h: cairo.ImageSurface(cairo.FORMAT_ARGB32, w, h), \
                lambda sfc: sfc.write_to_png(filename)),
        "pdf": (lambda w, h: cairo.PDFSurface(filename, w, h), lambda sfc: 0),
        "svg": (lambda w, h: cairo.SVGSurface(filename, w, h), lambda sfc: 0)
    }

    if app_options.format is None:
        fmt = filename.rsplit('.', 1)[1]
    else:
        fmt = app_options.format

    if not (fmt in handlers):
        writer.error("Unknown format '%s'." % fmt)
        return 10

    make_surface, write_surface = handlers[fmt]
    options = RenderOptions(app_options)
    (w, h) = draw.extents(options, 1.0, trace)
    w = max(w, draw.MIN_IMG_W)
    surface = make_surface(w, h)
    ctx = cairo.Context(surface)
    draw.render(ctx, options, 1.0, trace)
    write_surface(surface)
    writer.status("bootchart written to '%s'" % filename)
Esempio n. 4
0
def render(res, format, filename):
    handlers = {
        "png": (lambda w,h: cairo.ImageSurface(cairo.FORMAT_ARGB32,w,h), lambda sfc: sfc.write_to_png(filename)),
        "pdf": (lambda w,h: cairo.PDFSurface(filename, w, h), lambda sfc: 0),
        "svg": (lambda w,h: cairo.SVGSurface(filename, w, h), lambda sfc: 0)
    }

    if not(handlers.has_key(format)):
        print "Unknown format '%s'." % format
        return 10

    make_surface, write_surface = handlers[format]
    w,h = draw.extents(res)
    w = max(w, draw.MIN_IMG_W)
    surface = make_surface(w,h)
    ctx = cairo.Context(surface)
    draw.render(ctx, res)
    write_surface(surface)
Esempio n. 5
0
def render(res, format, filename):
    handlers = {
        "png": (lambda w, h: cairo.ImageSurface(cairo.FORMAT_ARGB32, w, h),
                lambda sfc: sfc.write_to_png(filename)),
        "pdf": (lambda w, h: cairo.PDFSurface(filename, w, h), lambda sfc: 0),
        "svg": (lambda w, h: cairo.SVGSurface(filename, w, h), lambda sfc: 0)
    }

    if not (handlers.has_key(format)):
        print "Unknown format '%s'." % format
        return 10

    make_surface, write_surface = handlers[format]
    w, h = draw.extents(res)
    w = max(w, draw.MIN_IMG_W)
    surface = make_surface(w, h)
    ctx = cairo.Context(surface)
    draw.render(ctx, res)
    write_surface(surface)
Esempio n. 6
0
	def set_xscale(self, xscale):
	    old_mid_x = self.x + self.hadj.page_size / 2
	    self.xscale = xscale
	    self.chart_width, self.chart_height = draw.extents(self.options, self.xscale, self.trace)
	    new_x = old_mid_x
	    self.zoom_image (self.zoom_ratio)