1
/* GST123 - GStreamer based command line media player
2
* Copyright (C) 2010 Stefan Westerfeld
4
* This library is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2 of the License, or (at your option) any later version.
9
* This library is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
14
* You should have received a copy of the GNU Lesser General
15
* Public License along with this library; if not, write to the
16
* Free Software Foundation, Inc., 59 Temple Place, Suite 330,
17
* Boston, MA 02111-1307, USA.
19
#ifndef GST123_GTK_INTERFACE_H
20
#define GST123_GTK_INTERFACE_H
23
#include "keyhandler.h"
29
GtkWidget *gtk_window;
30
bool gtk_window_visible;
31
KeyHandler *key_handler;
32
GdkCursor *invisible_cursor;
33
GdkCursor *visible_cursor;
34
int cursor_timeout; // number of timeout events until we hide the cursor (-1 if already hidden)
36
std::map<int,int> key_map;
39
void init (int *argc, char ***argv, class KeyHandler *key_handler);
45
void toggle_fullscreen();
46
bool handle_keypress_event (GdkEventKey *event);
47
bool handle_motion_notify_event (GdkEventMotion *event);
48
bool handle_timeout();
50
void resize (int x, int y);
51
void set_title (const std::string& title);
53
static bool have_x11_display();