Mercurial > geeqie.yaz
annotate src/pixbuf_util.h @ 117:0c2e1f0a001b
Wed Nov 29 14:28:30 2006 John Ellis <johne@verizon.net>
* image-overlay.[ch]: Rewrite most of the information overlay code to
be more flexible and easily extended.
* image.[ch], typedefs.h: Remove image_new_func, and replace it with
image_state_func callback which is much more informative.
* img-view.c, layout.c, layout_image.c: Updates for new image overlay
function names.
author | gqview |
---|---|
date | Wed, 29 Nov 2006 19:38:25 +0000 |
parents | d063f97503b7 |
children | f6e307c7bad6 |
rev | line source |
---|---|
9 | 1 /* |
2 * GQview | |
3 * (C) 2004 John Ellis | |
4 * | |
5 * Author: John Ellis | |
6 * | |
7 * This software is released under the GNU General Public License (GNU GPL). | |
8 * Please read the included file COPYING for more information. | |
9 * This software comes with no warranty of any kind, use at your own risk! | |
10 */ | |
11 | |
12 | |
13 #ifndef PIXBUF_UTIL_H | |
14 #define PIXBUF_UTIL_H | |
15 | |
16 | |
17 gboolean pixbuf_to_file_as_png (GdkPixbuf *pixbuf, const char *filename); | |
18 gboolean pixbuf_to_file_as_jpg(GdkPixbuf *pixbuf, const gchar *filename, gint quality); | |
19 | |
20 | |
21 GdkPixbuf *pixbuf_inline(const gchar *key); | |
22 | |
23 #define PIXBUF_INLINE_FOLDER_CLOSED "folder_closed" | |
24 #define PIXBUF_INLINE_FOLDER_LOCKED "folder_locked" | |
25 #define PIXBUF_INLINE_FOLDER_OPEN "folder_open" | |
26 #define PIXBUF_INLINE_FOLDER_UP "folder_up" | |
27 #define PIXBUF_INLINE_SCROLLER "scroller" | |
28 #define PIXBUF_INLINE_BROKEN "broken" | |
91
d063f97503b7
Wed Nov 1 11:39:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
29 #define PIXBUF_INLINE_ICON "icon" |
9 | 30 #define PIXBUF_INLINE_LOGO "logo" |
31 | |
41
6281cc38e5ca
Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
32 #define PIXBUF_INLINE_ICON_FLOAT "icon_float" |
6281cc38e5ca
Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
33 #define PIXBUF_INLINE_ICON_THUMB "icon_thumb" |
6281cc38e5ca
Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
gqview
parents:
33
diff
changeset
|
34 |
91
d063f97503b7
Wed Nov 1 11:39:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
35 #define PIXBUF_INLINE_ICON_BOOK "icon_book" |
d063f97503b7
Wed Nov 1 11:39:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
36 #define PIXBUF_INLINE_ICON_CONFIG "icon_config" |
d063f97503b7
Wed Nov 1 11:39:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
37 #define PIXBUF_INLINE_ICON_TOOLS "icon_tools" |
d063f97503b7
Wed Nov 1 11:39:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
38 #define PIXBUF_INLINE_ICON_VIEW "icon_view" |
d063f97503b7
Wed Nov 1 11:39:48 2006 John Ellis <johne@verizon.net>
gqview
parents:
82
diff
changeset
|
39 |
9 | 40 |
41 GdkPixbuf *pixbuf_copy_rotate_90(GdkPixbuf *src, gint counter_clockwise); | |
42 GdkPixbuf *pixbuf_copy_mirror(GdkPixbuf *src, gint mirror, gint flip); | |
43 | |
44 | |
45 void pixbuf_draw_rect_fill(GdkPixbuf *pb, | |
46 gint x, gint y, gint w, gint h, | |
47 gint r, gint g, gint b, gint a); | |
48 | |
49 void pixbuf_draw_rect(GdkPixbuf *pb, | |
50 gint x, gint y, gint w, gint h, | |
51 gint r, gint g, gint b, gint a, | |
52 gint left, gint right, gint top, gint bottom); | |
53 | |
54 void pixbuf_set_rect_fill(GdkPixbuf *pb, | |
55 gint x, gint y, gint w, gint h, | |
56 gint r, gint g, gint b, gint a); | |
57 | |
58 void pixbuf_set_rect(GdkPixbuf *pb, | |
59 gint x, gint y, gint w, gint h, | |
60 gint r, gint g, gint b, gint a, | |
61 gint left, gint right, gint top, gint bottom); | |
62 | |
63 void pixbuf_pixel_set(GdkPixbuf *pb, gint x, gint y, gint r, gint g, gint b, gint a); | |
64 | |
65 | |
66 void pixbuf_draw_layout(GdkPixbuf *pixbuf, PangoLayout *layout, GtkWidget *widget, | |
67 gint x, gint y, | |
68 guint8 r, guint8 g, guint8 b, guint8 a); | |
69 | |
70 | |
33
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
71 void pixbuf_draw_triangle(GdkPixbuf *pb, |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
72 gint clip_x, gint clip_y, gint clip_w, gint clip_h, |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
73 gint x1, gint y1, gint x2, gint y2, gint x3, gint y3, |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
74 guint8 r, guint8 g, guint8 b, guint8 a); |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
75 |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
76 void pixbuf_draw_line(GdkPixbuf *pb, |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
77 gint clip_x, gint clip_y, gint clip_w, gint clip_h, |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
78 gint x1, gint y1, gint x2, gint y2, |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
79 guint8 r, guint8 g, guint8 b, guint8 a); |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
80 |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
81 void pixbuf_draw_shadow(GdkPixbuf *pb, |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
82 gint clip_x, gint clip_y, gint clip_w, gint clip_h, |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
83 gint x, gint y, gint w, gint h, gint border, |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
84 guint8 r, guint8 g, guint8 b, guint8 a); |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
85 |
82
a4c1b7014e6e
Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
86 void pixbuf_desaturate_rect(GdkPixbuf *pb, |
a4c1b7014e6e
Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
87 gint x, gint y, gint w, gint h); |
a4c1b7014e6e
Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
88 |
a4c1b7014e6e
Thu Oct 19 15:20:51 2006 John Ellis <johne@verizon.net>
gqview
parents:
41
diff
changeset
|
89 |
33
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
90 /* clipping utils */ |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
91 |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
92 gint util_clip_region(gint x, gint y, gint w, gint h, |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
93 gint clip_x, gint clip_y, gint clip_w, gint clip_h, |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
94 gint *rx, gint *ry, gint *rw, gint *rh); |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
95 void util_clip_triangle(gint x1, gint y1, gint x2, gint y2, gint x3, gint y3, |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
96 gint *rx, gint *ry, gint *rw, gint *rh); |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
97 |
a41ecbb26a96
Wed Apr 6 06:41:25 2005 John Ellis <johne@verizon.net>
gqview
parents:
9
diff
changeset
|
98 |
9 | 99 #endif |
100 | |
101 |