[ekiga] Video: Added a call to specify to clutter to go fullscreen.



commit 1fb97308c5e2dcda820f45db91cd8d733dc167fe
Author: Damien Sandras <dsandras beip be>
Date:   Sat Jan 25 16:03:54 2014 +0100

    Video: Added a call to specify to clutter to go fullscreen.

 lib/engine/gui/gtk-frontend/call-window.cpp |    4 ++++
 lib/gui/gmvideowidget.c                     |   12 ++++++++++++
 lib/gui/gmvideowidget.h                     |    5 +++++
 3 files changed, 21 insertions(+), 0 deletions(-)
---
diff --git a/lib/engine/gui/gtk-frontend/call-window.cpp b/lib/engine/gui/gtk-frontend/call-window.cpp
index 83ed1a4..649ca26 100644
--- a/lib/engine/gui/gtk-frontend/call-window.cpp
+++ b/lib/engine/gui/gtk-frontend/call-window.cpp
@@ -1889,17 +1889,21 @@ ekiga_call_window_toggle_fullscreen (EkigaCallWindow *cw)
     gtk_widget_hide (cw->priv->main_menu);
     gtk_widget_hide (cw->priv->call_panel_toolbar);
     gtk_widget_hide (cw->priv->statusbar_ebox);
+    gtk_window_maximize (GTK_WINDOW (cw));
     gtk_window_fullscreen (GTK_WINDOW (cw));
+    gm_video_widget_set_fullscreen (GM_VIDEO_WIDGET (cw->priv->video_widget), true);
     gtk_window_set_keep_above (GTK_WINDOW (cw), true);
   }
   else {
     gtk_widget_show (cw->priv->main_menu);
     gtk_widget_show (cw->priv->call_panel_toolbar);
     gtk_widget_show (cw->priv->statusbar_ebox);
+    gtk_window_unmaximize (GTK_WINDOW (cw));
     gtk_window_unfullscreen (GTK_WINDOW (cw));
     gtk_window_set_keep_above (GTK_WINDOW (cw),
                                cw->priv->video_display_settings->get_bool ("stay-on-top"));
     gm_window_restore (GM_WINDOW (cw));
+    gm_video_widget_set_fullscreen (GM_VIDEO_WIDGET (cw->priv->video_widget), false);
   }
 }
 
diff --git a/lib/gui/gmvideowidget.c b/lib/gui/gmvideowidget.c
index 05cab3d..7e36fcc 100644
--- a/lib/gui/gmvideowidget.c
+++ b/lib/gui/gmvideowidget.c
@@ -769,3 +769,15 @@ gm_video_widget_get_logo_scale (GmVideoWidget *self)
 
   return self->priv->logo_scale;
 }
+
+void
+gm_video_widget_set_fullscreen (GmVideoWidget *self,
+                                const gboolean fs)
+{
+  g_return_val_if_fail (GM_IS_VIDEO_WIDGET (self), -1);
+
+  ClutterActor *stage = NULL;
+
+  stage = gtk_clutter_embed_get_stage (GTK_CLUTTER_EMBED (self));
+  clutter_stage_set_fullscreen (CLUTTER_STAGE (stage), fs);
+}
diff --git a/lib/gui/gmvideowidget.h b/lib/gui/gmvideowidget.h
index 98bf39d..83c4dc5 100644
--- a/lib/gui/gmvideowidget.h
+++ b/lib/gui/gmvideowidget.h
@@ -227,6 +227,11 @@ void gm_video_widget_set_logo_scale (GmVideoWidget *video_widget,
  */
 gfloat gm_video_widget_get_logo_scale (GmVideoWidget *video_widget);
 
+/** Set the GmVideoWidget fullscreen or not.
+ * @param video_widget is the GmVideoWidget
+ */
+void gm_video_widget_set_fullscreen (GmVideoWidget *self,
+                                     const gboolean fs);
 
 /* GObject boilerplate */
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]