2 * Copyright (C) 2004 John Ellis
3 * Copyright (C) 2008 - 2016 The Geeqie Team
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
26 gboolean pixbuf_to_file_as_png (GdkPixbuf *pixbuf, const gchar *filename);
27 gboolean pixbuf_to_file_as_jpg(GdkPixbuf *pixbuf, const gchar *filename, gint quality);
29 void pixbuf_inline_register_stock_icons(void);
30 gboolean register_theme_icon_as_stock(const gchar *key, const gchar *icon);
32 GdkPixbuf *pixbuf_inline(const gchar *key);
33 GdkPixbuf *pixbuf_fallback(FileData *fd, gint requested_width, gint requested_height);
35 gboolean pixbuf_scale_aspect(gint req_w, gint req_h, gint old_w, gint old_h, gint *new_w, gint *new_h);
37 #define PIXBUF_INLINE_FOLDER_CLOSED "folder_closed"
38 #define PIXBUF_INLINE_FOLDER_LOCKED "folder_locked"
39 #define PIXBUF_INLINE_FOLDER_OPEN "folder_open"
40 #define PIXBUF_INLINE_FOLDER_UP "folder_up"
41 #define PIXBUF_INLINE_SCROLLER "scroller"
42 #define PIXBUF_INLINE_BROKEN "broken"
43 #define PIXBUF_INLINE_METADATA "metadata"
44 #define PIXBUF_INLINE_UNKNOWN "unknown"
45 #define PIXBUF_INLINE_VIDEO "video"
46 #define PIXBUF_INLINE_COLLECTION "collection"
47 #define PIXBUF_INLINE_ICON "icon"
48 #define PIXBUF_INLINE_LOGO "logo"
50 #define PIXBUF_INLINE_ICON_FLOAT "icon_float"
51 #define PIXBUF_INLINE_ICON_THUMB "icon_thumb"
53 #define PIXBUF_INLINE_ICON_BOOK "icon_book"
54 #define PIXBUF_INLINE_ICON_CONFIG "icon_config"
55 #define PIXBUF_INLINE_ICON_TOOLS "icon_tools"
56 #define PIXBUF_INLINE_ICON_VIEW "icon_view"
57 #define PIXBUF_INLINE_ICON_GUIDELINES "icon_guidelines"
58 #define PIXBUF_INLINE_ICON_PANORAMA "icon_panorama"
59 #define PIXBUF_INLINE_ICON_MAINTENANCE "icon_maintenance"
60 #define PIXBUF_INLINE_ICON_ZOOMFILLHOR "icon_zoomfillhor"
61 #define PIXBUF_INLINE_ICON_ZOOMFILLVERT "icon_zoomfillvert"
62 #define PIXBUF_INLINE_ICON_HIDETOOLS "icon_hidetools"
63 #define PIXBUF_INLINE_ICON_EXIF "icon_exif"
64 #define PIXBUF_INLINE_ICON_MARKS "icon_marks"
65 #define PIXBUF_INLINE_ICON_INFO "icon_info"
66 #define PIXBUF_INLINE_ICON_SORT "icon_sort"
68 GdkPixbuf *pixbuf_copy_rotate_90(GdkPixbuf *src, gboolean counter_clockwise);
69 GdkPixbuf *pixbuf_copy_mirror(GdkPixbuf *src, gboolean mirror, gboolean flip);
70 GdkPixbuf* pixbuf_apply_orientation(GdkPixbuf *pixbuf, gint orientation);
72 void pixbuf_draw_rect_fill(GdkPixbuf *pb,
73 gint x, gint y, gint w, gint h,
74 gint r, gint g, gint b, gint a);
76 void pixbuf_draw_rect(GdkPixbuf *pb,
77 gint x, gint y, gint w, gint h,
78 gint r, gint g, gint b, gint a,
79 gint left, gint right, gint top, gint bottom);
81 void pixbuf_set_rect_fill(GdkPixbuf *pb,
82 gint x, gint y, gint w, gint h,
83 gint r, gint g, gint b, gint a);
85 void pixbuf_set_rect(GdkPixbuf *pb,
86 gint x, gint y, gint w, gint h,
87 gint r, gint g, gint b, gint a,
88 gint left, gint right, gint top, gint bottom);
90 void pixbuf_pixel_set(GdkPixbuf *pb, gint x, gint y, gint r, gint g, gint b, gint a);
93 void pixbuf_draw_layout(GdkPixbuf *pixbuf, PangoLayout *layout, GtkWidget *widget,
95 guint8 r, guint8 g, guint8 b, guint8 a);
98 void pixbuf_draw_triangle(GdkPixbuf *pb,
99 gint clip_x, gint clip_y, gint clip_w, gint clip_h,
100 gint x1, gint y1, gint x2, gint y2, gint x3, gint y3,
101 guint8 r, guint8 g, guint8 b, guint8 a);
103 void pixbuf_draw_line(GdkPixbuf *pb,
104 gint clip_x, gint clip_y, gint clip_w, gint clip_h,
105 gint x1, gint y1, gint x2, gint y2,
106 guint8 r, guint8 g, guint8 b, guint8 a);
108 void pixbuf_draw_shadow(GdkPixbuf *pb,
109 gint clip_x, gint clip_y, gint clip_w, gint clip_h,
110 gint x, gint y, gint w, gint h, gint border,
111 guint8 r, guint8 g, guint8 b, guint8 a);
113 void pixbuf_desaturate_rect(GdkPixbuf *pb,
114 gint x, gint y, gint w, gint h);
119 gboolean util_clip_region(gint x, gint y, gint w, gint h,
120 gint clip_x, gint clip_y, gint clip_w, gint clip_h,
121 gint *rx, gint *ry, gint *rw, gint *rh);
122 void util_clip_triangle(gint x1, gint y1, gint x2, gint y2, gint x3, gint y3,
123 gint *rx, gint *ry, gint *rw, gint *rh);
127 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */