void FullscreenVideoControllerGtk::hideHud() { if (m_hudTimeoutId) { g_source_remove(m_hudTimeoutId); m_hudTimeoutId = 0; } if (!m_hudWindow) return; // Keep the hud visible if a seek is in progress or if the volume // popup is visible. GtkWidget* volumePopup = gtk_scale_button_get_popup(GTK_SCALE_BUTTON(m_volumeButton)); if (m_seekLock || gtk_widget_get_visible(volumePopup)) { showHud(true); return; } GdkWindow* window = gtk_widget_get_window(m_window); GRefPtr<GdkCursor> cursor = adoptGRef(gdk_cursor_new(GDK_BLANK_CURSOR)); gdk_window_set_cursor(window, cursor.get()); gtk_widget_hide(m_hudWindow); if (m_progressBarUpdateId) { g_source_remove(m_progressBarUpdateId); m_progressBarUpdateId = 0; } }
void FullscreenVideoControllerGtk::initializeWindow() { m_window = reinterpret_cast<GtkWidget*>(m_gstreamerGWorld->platformVideoWindow()->window()); if (!m_hudWindow) createHud(); // Ensure black background. #ifdef GTK_API_VERSION_2 GdkColor color = { 1, 0, 0, 0 }; gtk_widget_modify_bg(m_window, GTK_STATE_NORMAL, &color); #else GdkRGBA color = { 0, 0, 0, 1}; gtk_widget_override_background_color(m_window, GTK_STATE_FLAG_NORMAL, &color); #endif gtk_widget_set_double_buffered(m_window, FALSE); m_keyPressSignalId = g_signal_connect(m_window, "key-press-event", G_CALLBACK(onFullscreenGtkKeyPressEvent), this); m_destroySignalId = g_signal_connect(m_window, "destroy", G_CALLBACK(onFullscreenGtkDestroy), this); m_isActiveSignalId = g_signal_connect(m_window, "notify::is-active", G_CALLBACK(onFullscreenGtkActiveNotification), this); gtk_widget_show_all(m_window); GdkWindow* window = gtk_widget_get_window(m_window); GRefPtr<GdkCursor> cursor = adoptGRef(gdk_cursor_new(GDK_BLANK_CURSOR)); gdk_window_set_cursor(window, cursor.get()); m_motionNotifySignalId = g_signal_connect(m_window, "motion-notify-event", G_CALLBACK(onFullscreenGtkMotionNotifyEvent), this); m_configureEventSignalId = g_signal_connect(m_window, "configure-event", G_CALLBACK(onFullscreenGtkConfigureEvent), this); gtk_window_fullscreen(GTK_WINDOW(m_window)); showHud(true); }
void IUIMapWindow::onPushedOver () { showHud(); UIWindow::onPushedOver(); if (_cursorActive) showCursor(true); }
void FullscreenVideoControllerGtk::playStateChanged() { if (m_client->mediaPlayerIsPaused()) g_object_set(m_playPauseAction, "tooltip", _("Play"), "icon-name", PLAY_ICON_NAME, NULL); else g_object_set(m_playPauseAction, "tooltip", _("Pause"), "icon-name", PAUSE_ICON_NAME, NULL); showHud(!m_client->mediaPlayerIsPaused()); }