re: re: How do I use the fullscreen in a Gtkmm app?
- From: "Garth's KidStuff" <garthskidstuff gmail com>
- To: gtk-app-devel-list gnome org
- Subject: re: re: How do I use the fullscreen in a Gtkmm app?
- Date: Thu, 12 Jun 2008 08:52:58 -0700
Thanks so much, Carlos. This was exactly what I needed.
In Gtkmm:
Gtk::Window has the methods fullscreen and unfullscreen. Perfect.
Rather than using a bool of my own to track the state, I did what the docs
on fullscreen() suggested and set a function to be signaled when the windows
state changed.
LXMainWindow::LXMainWindow()
{
<snip>
m_bFullScreen = false;
signal_window_state_event().connect(sigc::mem_fun(*this,
&LXMainWindow::OnWindowStateEvent));
}
void LXMainWindow::ToggleFullScreen()
{ // Toggle fullscreen mode off and on.
if (m_bFullScreen))
unfullscreen();
else
fullscreen();
}
bool LXMainWindow::OnWindowStateEvent(
GdkEventWindowState* pEvent) // [in] from system -- has flags of current
state
{
m_bFullScreen = (pEvent->new_window_state &
GDK_WINDOW_STATE_FULLSCREEN);
return true; // we want to keep getting this signal
}
Thanks again. Happy coding!
Garth's KidStuff wrote:
Hi All,
I notice that quite a few apps (firefox, gimp, terminal, etc. -- but
not
gedit, huh?) have the option to toggle fullscreen mode in their view
menu
using the F11 key. How would I implement this in my Gtkmm app?
Connect the key_press_event to your top window, ot to a drawing area,
and then prepare a callback along these lines (sorry, C code):
#include <gdk/gdkkeysyms.h>
void function_handle_key_press (GtkWidget *widget,
GdkEventKey *event, void *data)
{
GtkWidget *window = (GtkWindow *) data; /* this is just a simple example
*/
static int fullscreen = FALSE;
switch (event->keyval)
{
case GDK_F11:
if (fullscreen == FALSE)
{
gdk_window_raise (window->window);
hide decorations;
gtk_window_fullscreen (GTK_WINDOW (window));
fullscreen = TRUE;
}
else
{
show decorations;
gtk_window_unfullscreen (GTK_WINDOW (window));
fullscreen = FALSE;
}
break;
}
--
Garth Upshaw
Garth's KidStuff
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]