Include a Other Software section in Help file
[geeqie.git] / src / pixbuf_util.h
index a0e00e7..6c8347c 100644 (file)
@@ -1,24 +1,38 @@
 /*
- * 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 PIXBUF_UTIL_H
 #define PIXBUF_UTIL_H
 
 
-gboolean pixbuf_to_file_as_png (GdkPixbuf *pixbuf, const char *filename);
+gboolean pixbuf_to_file_as_png (GdkPixbuf *pixbuf, const gchar *filename);
 gboolean pixbuf_to_file_as_jpg(GdkPixbuf *pixbuf, const gchar *filename, gint quality);
 
+void pixbuf_inline_register_stock_icons(void);
+gboolean register_theme_icon_as_stock(const gchar *key, const gchar *icon);
 
 GdkPixbuf *pixbuf_inline(const gchar *key);
+GdkPixbuf *pixbuf_fallback(FileData *fd, gint requested_width, gint requested_height);
+
+gboolean pixbuf_scale_aspect(gint req_w, gint req_h, gint old_w, gint old_h, gint *new_w, gint *new_h);
 
 #define PIXBUF_INLINE_FOLDER_CLOSED    "folder_closed"
 #define PIXBUF_INLINE_FOLDER_LOCKED    "folder_locked"
@@ -26,6 +40,10 @@ GdkPixbuf *pixbuf_inline(const gchar *key);
 #define PIXBUF_INLINE_FOLDER_UP                "folder_up"
 #define PIXBUF_INLINE_SCROLLER         "scroller"
 #define PIXBUF_INLINE_BROKEN           "broken"
+#define PIXBUF_INLINE_METADATA         "metadata"
+#define PIXBUF_INLINE_UNKNOWN          "unknown"
+#define PIXBUF_INLINE_VIDEO                    "video"
+#define PIXBUF_INLINE_COLLECTION       "collection"
 #define PIXBUF_INLINE_ICON             "icon"
 #define PIXBUF_INLINE_LOGO             "logo"
 
@@ -36,11 +54,41 @@ GdkPixbuf *pixbuf_inline(const gchar *key);
 #define PIXBUF_INLINE_ICON_CONFIG      "icon_config"
 #define PIXBUF_INLINE_ICON_TOOLS       "icon_tools"
 #define PIXBUF_INLINE_ICON_VIEW                "icon_view"
-
-
-GdkPixbuf *pixbuf_copy_rotate_90(GdkPixbuf *src, gint counter_clockwise);
-GdkPixbuf *pixbuf_copy_mirror(GdkPixbuf *src, gint mirror, gint flip);
-
+#define PIXBUF_INLINE_ICON_GUIDELINES  "icon_guidelines"
+#define PIXBUF_INLINE_ICON_PANORAMA            "icon_panorama"
+#define PIXBUF_INLINE_ICON_MAINTENANCE "icon_maintenance"
+#define PIXBUF_INLINE_ICON_ZOOMFILLHOR "icon_zoomfillhor"
+#define PIXBUF_INLINE_ICON_ZOOMFILLVERT        "icon_zoomfillvert"
+#define PIXBUF_INLINE_ICON_HIDETOOLS   "icon_hidetools"
+#define PIXBUF_INLINE_ICON_EXIF                "icon_exif"
+#define PIXBUF_INLINE_ICON_MARKS       "icon_marks"
+#define PIXBUF_INLINE_ICON_INFO                "icon_info"
+#define PIXBUF_INLINE_ICON_SORT                "icon_sort"
+#define PIXBUF_INLINE_ICON_PDF         "icon_pdf"
+#define PIXBUF_INLINE_ICON_DRAW_RECTANGLE      "icon_draw_rectangle"
+#define PIXBUF_INLINE_ICON_MOVE                "icon_move"
+#define PIXBUF_INLINE_ICON_RENAME      "icon_rename"
+#define PIXBUF_INLINE_ICON_SELECT_ALL  "icon_select_all"
+#define PIXBUF_INLINE_ICON_SELECT_NONE "icon_select_none"
+#define PIXBUF_INLINE_ICON_SELECT_INVERT       "icon_select_invert"
+#define PIXBUF_INLINE_ICON_SELECT_RECTANGLE    "icon_select_rectangle"
+#define PIXBUF_INLINE_ICON_FILE_FILTER "icon_file_filter"
+#define PIXBUF_INLINE_ICON_TRASH       "icon_trash"
+#define PIXBUF_INLINE_ICON_HEIF        "icon_heic"
+#define PIXBUF_INLINE_ICON_GRAYSCALE   "icon_grayscale"
+#define PIXBUF_INLINE_ICON_EXPOSURE            "icon_exposure"
+#define PIXBUF_INLINE_SPLIT_PANE_SYNC  "icon_split_pane_sync"
+
+#define PIXBUF_INLINE_ICON_CW  "icon_rotate_clockwise"
+#define PIXBUF_INLINE_ICON_CCW "icon_rotate_counter_clockwise"
+#define PIXBUF_INLINE_ICON_180 "icon_rotate_180"
+#define PIXBUF_INLINE_ICON_MIRROR      "icon_mirror"
+#define PIXBUF_INLINE_ICON_FLIP        "icon_flip"
+#define PIXBUF_INLINE_ICON_ORIGINAL    "icon_original"
+
+GdkPixbuf *pixbuf_copy_rotate_90(GdkPixbuf *src, gboolean counter_clockwise);
+GdkPixbuf *pixbuf_copy_mirror(GdkPixbuf *src, gboolean mirror, gboolean flip);
+GdkPixbuf* pixbuf_apply_orientation(GdkPixbuf *pixbuf, gint orientation);
 
 void pixbuf_draw_rect_fill(GdkPixbuf *pb,
                           gint x, gint y, gint w, gint h,
@@ -85,15 +133,19 @@ void pixbuf_draw_shadow(GdkPixbuf *pb,
 
 void pixbuf_desaturate_rect(GdkPixbuf *pb,
                            gint x, gint y, gint w, gint h);
-
+void pixbuf_highlight_overunderexposed(GdkPixbuf *pb,
+                           gint x, gint y, gint w, gint h);
+void pixbuf_ignore_alpha_rect(GdkPixbuf *pb,
+                 gint x, gint y, gint w, gint h);
 
 /* clipping utils */
 
-gint util_clip_region(gint x, gint y, gint w, gint h,
-                     gint clip_x, gint clip_y, gint clip_w, gint clip_h,
-                     gint *rx, gint *ry, gint *rw, gint *rh);
+gboolean util_clip_region(gint x, gint y, gint w, gint h,
+                         gint clip_x, gint clip_y, gint clip_w, gint clip_h,
+                         gint *rx, gint *ry, gint *rw, gint *rh);
 void util_clip_triangle(gint x1, gint y1, gint x2, gint y2, gint x3, gint y3,
                        gint *rx, gint *ry, gint *rw, gint *rh);
 
 
 #endif
+/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */