Part fix #796: Restored windows all show the same location
[geeqie.git] / src / image.h
index 5c7f3fa..be96312 100644 (file)
@@ -1,16 +1,24 @@
 /*
- * Geeqie
- * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2009 The Geeqie Team
+ * 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 IMAGE_H
 #define IMAGE_H
 
@@ -28,11 +36,14 @@ void image_set_button_func(ImageWindow *imd,
        void (*func)(ImageWindow *, GdkEventButton *event, gpointer),
        gpointer data);
 void image_set_drag_func(ImageWindow *imd,
-       void (*func)(ImageWindow *, GdkEventButton *event, gdouble dx, gdouble dy, gpointer),
+       void (*func)(ImageWindow *, GdkEventMotion *event, gdouble dx, gdouble dy, gpointer),
        gpointer data);
 void image_set_scroll_func(ImageWindow *imd,
        void (*func)(ImageWindow *, GdkEventScroll *event, gpointer),
        gpointer data);
+void image_set_focus_in_func(ImageWindow *imd,
+       void (*func)(ImageWindow *, gpointer),
+       gpointer data);
 void image_set_scroll_notify_func(ImageWindow *imd,
                                  void (*func)(ImageWindow *imd, gint x, gint y, gint width, gint height, gpointer data),
                                  gpointer data);
@@ -46,6 +57,7 @@ void image_set_state_func(ImageWindow *imd,
 void image_select(ImageWindow *imd, gboolean select);
 void image_set_selectable(ImageWindow *imd, gboolean selectable);
 
+void image_grab_focus(ImageWindow *imd);
 /* path, name */
 const gchar *image_get_path(ImageWindow *imd);
 const gchar *image_get_name(ImageWindow *imd);
@@ -59,7 +71,8 @@ void image_change_fd(ImageWindow *imd, FileData *fd, gdouble zoom);
 void image_change_pixbuf(ImageWindow *imd, GdkPixbuf *pixbuf, gdouble zoom, gboolean lazy);
 void image_change_from_collection(ImageWindow *imd, CollectionData *cd, CollectInfo *info, gdouble zoom);
 CollectionData *image_get_collection(ImageWindow *imd, CollectInfo **info);
-void image_change_from_image(ImageWindow *imd, ImageWindow *source);
+void image_copy_from_image(ImageWindow *imd, ImageWindow *source);
+void image_move_from_image(ImageWindow *imd, ImageWindow *source);
 
 gboolean image_get_image_size(ImageWindow *imd, gint *width, gint *height);
 GdkPixbuf *image_get_pixbuf(ImageWindow *imd);
@@ -72,7 +85,12 @@ void image_scroll_to_point(ImageWindow *imd, gint x, gint y,
                           gdouble x_align, gdouble y_align);
 void image_get_scroll_center(ImageWindow *imd, gdouble *x, gdouble *y);
 void image_set_scroll_center(ImageWindow *imd, gdouble x, gdouble y);
-void image_alter(ImageWindow *imd, AlterType type);
+void image_alter_orientation(ImageWindow *imd, FileData *fd, AlterType type);
+void image_set_desaturate(ImageWindow *imd, gboolean desaturate);
+gboolean image_get_desaturate(ImageWindow *imd);
+void image_set_overunderexposed(ImageWindow *imd, gboolean overunderexposed);
+gboolean image_get_overunderexposed(ImageWindow *imd);
+void image_set_ignore_alpha(ImageWindow *imd, gboolean ignore_alpha);
 
 /* zoom */
 void image_zoom_adjust(ImageWindow *imd, gdouble increment);
@@ -85,6 +103,14 @@ gdouble image_zoom_get_real(ImageWindow *imd);
 gchar *image_zoom_get_as_text(ImageWindow *imd);
 gdouble image_zoom_get_default(ImageWindow *imd);
 
+/* stereo */
+gint image_stereo_get(ImageWindow *imd);
+void image_stereo_set(ImageWindow *imd, gint stereo_mode);
+void image_stereo_swap(ImageWindow *imd);
+
+StereoPixbufData image_stereo_pixbuf_get(ImageWindow *imd);
+void image_stereo_pixbuf_set(ImageWindow *imd, StereoPixbufData stereo_mode);
+
 /* read ahead, pass NULL to cancel */
 void image_prebuffer_set(ImageWindow *imd, FileData *fd);
 
@@ -96,17 +122,18 @@ void image_top_window_set_sync(ImageWindow *imd, gboolean allow_sync);
 
 /* background of image */
 void image_background_set_color(ImageWindow *imd, GdkColor *color);
+void image_background_set_color_from_options(ImageWindow *imd, gboolean fullscreen);
 
 /* color profiles */
 void image_color_profile_set(ImageWindow *imd,
-                            gint input_type, gint screen_type,
+                            gint input_type,
                             gboolean use_image);
 gboolean image_color_profile_get(ImageWindow *imd,
-                            gint *input_type, gint *screen_type,
+                            gint *input_type,
                             gboolean *use_image);
 void image_color_profile_set_use(ImageWindow *imd, gboolean enable);
 gboolean image_color_profile_get_use(ImageWindow *imd);
-gint image_color_profile_get_from_image(ImageWindow *imd);
+gboolean image_color_profile_get_status(ImageWindow *imd, gchar **image_profile, gchar **screen_profile);
 
 /* set delayed page flipping */
 void image_set_delay_flip(ImageWindow *imd, gint delay);
@@ -126,6 +153,7 @@ void image_set_image_as_tiles(ImageWindow *imd, gint width, gint height,
 /* reset default options */
 void image_options_sync(void);
 
-
+void image_get_rectangle(gint *x1, gint *y1, gint *x2, gint *y2);
+void image_update_title(ImageWindow *imd);
 #endif
 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */