/*
- * Geeqie
- * (C) 2004 John Ellis
+ * Copyright (C) 2004 John Ellis
+ * Copyright (C) 2008 - 2016 The Geeqie Team
*
* Author: John Ellis
*
- * This software is released under the GNU General Public License (GNU GPL).
- * Please read the included file COPYING for more information.
- * This software comes with no warranty of any kind, use at your own risk!
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-
#ifndef FULLSCREEN_H
#define FULLSCREEN_H
-#define FULL_SCREEN_HIDE_MOUSE_DELAY 3000
-#define FULL_SCREEN_BUSY_MOUSE_DELAY 200
+#include <glib.h>
+#include <gtk/gtk.h>
+#include "image-overlay.h"
-FullScreenData *fullscreen_start(GtkWidget *window, ImageWindow *imd,
- void (*stop_func)(FullScreenData *, gpointer), gpointer stop_data);
-void fullscreen_stop(FullScreenData *fs);
+struct ImageWindow;
+struct FullScreenData
+{
+ GtkWidget *window;
+ ImageWindow *imd;
-/* screen numbers for fullscreen_prefs are as follows:
- * 0 use default display size
- * 101 screen 0, monitor 0
- * 102 screen 0, monitor 1
- * 201 screen 1, monitor 0
- */
+ GtkWidget *normal_window;
+ ImageWindow *normal_imd;
+ guint hide_mouse_id; /**< event source id */
+ guint busy_mouse_id; /**< event source id */
-typedef struct _ScreenData ScreenData;
-struct _ScreenData {
- gint number;
- gchar *description;
- gint x;
- gint y;
- gint width;
- gint height;
-};
+ gint cursor_state;
+OsdShowFlags osd_flags;
+ guint saver_block_id; /**< event source id */
-GList *fullscreen_prefs_list(void);
-void fullscreen_prefs_list_free(GList *list);
+ using StopFunc = void (*)(FullScreenData *, gpointer);
+ StopFunc stop_func;
+ gpointer stop_data;
-ScreenData *fullscreen_prefs_list_find(GList *list, gint screen);
+ gboolean same_region; /**< the returned region will overlap the current location of widget. */
+};
-void fullscreen_prefs_get_geometry(gint screen, GtkWidget *widget, gint *x, gint *y, gint *width, gint *height,
- GdkScreen **dest_screen, gint *same_region);
+FullScreenData *fullscreen_start(GtkWidget *window, ImageWindow *imd,
+ FullScreenData::StopFunc stop_func, gpointer stop_data);
+void fullscreen_stop(FullScreenData *fs);
-gint fullscreen_prefs_find_screen_for_widget(GtkWidget *widget);
-GtkWidget *fullscreen_prefs_selection_new(const gchar *text, gint *screen_value, gint *above_value);
+GtkWidget *fullscreen_prefs_selection_new(const gchar *text, gint *screen_value, gboolean *above_value);
#endif
-
-
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */