From 569999bb109be7356ddddfb9f873b3602eb7bd22 Mon Sep 17 00:00:00 2001 From: Stefan Sauer Date: Thu, 28 Oct 2010 02:15:56 +0300 Subject: [PATCH] info: initialy paint video area black --- mediainfo/src/mi-info.vala | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/mediainfo/src/mi-info.vala b/mediainfo/src/mi-info.vala index 964cb82f0f..fdb42cacf0 100644 --- a/mediainfo/src/mi-info.vala +++ b/mediainfo/src/mi-info.vala @@ -60,6 +60,7 @@ public class MediaInfo.Info : VBox // FIXME: paint it black from the start drawing_area = new DrawingArea (); drawing_area.set_size_request (300, 150); + drawing_area.expose_event.connect (on_drawing_area_expose); drawing_area.realize.connect (on_drawing_area_realize); drawing_area.unrealize.connect (on_drawing_area_unrealize); pack_start (drawing_area, true, true, 0); @@ -129,6 +130,7 @@ public class MediaInfo.Info : VBox bus.set_sync_handler (bus.sync_signal_handler); bus.sync_message["element"].connect (on_element_sync_message); + state = State.NULL; } ~Info () @@ -216,6 +218,21 @@ public class MediaInfo.Info : VBox // signal handlers + private bool on_drawing_area_expose (Widget widget, Gdk.EventExpose event) + { + if (pb.current_state < State.PAUSED) { + Gdk.Window w = widget.get_window(); + Gtk.Allocation a; + widget.get_allocation(out a); + Cairo.Context cr = Gdk.cairo_create (w); + + cr.set_source_rgb (0, 0, 0); + cr.rectangle (0, 0, a.width, a.height); + cr.fill (); + } + return false; + } + private void on_drawing_area_realize (Widget widget) { widget.get_window ().ensure_native ();