def __init__(self, settings=None, realizedCb=None, sink=None): # Prevent black frames and flickering while resizing or changing focus: # The aspect ratio gets overridden by setDisplayAspectRatio. Gtk.AspectFrame.__init__(self, xalign=0.5, yalign=0.5, ratio=4.0 / 3.0, obey_child=False) Loggable.__init__(self) self.drawing_area = Pitivi.viewer_new(sink) self.drawing_area.set_double_buffered(False) self.drawing_area.connect("draw", self._drawCb, None) # We keep the ViewerWidget hidden initially, or the desktop wallpaper # would show through the non-double-buffered widget! if realizedCb: self.drawing_area.connect("realize", realizedCb, self) self.add(self.drawing_area) self.drawing_area.show() self.seeker = Seeker() self.settings = settings self.box = None self.stored = False self.area = None self.zoom = 1.0 self.sink = sink self.pixbuf = None self.pipeline = None self.transformation_properties = None self._setting_ratio = False
def _switch_output_window(self): # Bail out if we don't have a playable pipeline (it happens!) if self.pipeline is None: return self.target.show() if Pitivi.viewer_set_sink(self.target.drawing_area, self.sink): self.sink.expose()