Remove commented out code.
[geeqie.git] / src / pixbuf_util.h
1 /*
2  * Geeqie
3  * (C) 2004 John Ellis
4  * Copyright (C) 2008 - 2012 The Geeqie Team
5  *
6  * Author: John Ellis
7  *
8  * This software is released under the GNU General Public License (GNU GPL).
9  * Please read the included file COPYING for more information.
10  * This software comes with no warranty of any kind, use at your own risk!
11  */
12
13
14 #ifndef PIXBUF_UTIL_H
15 #define PIXBUF_UTIL_H
16
17
18 gboolean pixbuf_to_file_as_png (GdkPixbuf *pixbuf, const gchar *filename);
19 gboolean pixbuf_to_file_as_jpg(GdkPixbuf *pixbuf, const gchar *filename, gint quality);
20
21 void pixbuf_inline_register_stock_icons(void);
22 gboolean register_theme_icon_as_stock(const gchar *key, const gchar *icon);
23
24 GdkPixbuf *pixbuf_inline(const gchar *key);
25 GdkPixbuf *pixbuf_fallback(FileData *fd, gint requested_width, gint requested_height);
26
27 gboolean pixbuf_scale_aspect(gint req_w, gint req_h, gint old_w, gint old_h, gint *new_w, gint *new_h);
28
29 #define PIXBUF_INLINE_FOLDER_CLOSED     "folder_closed"
30 #define PIXBUF_INLINE_FOLDER_LOCKED     "folder_locked"
31 #define PIXBUF_INLINE_FOLDER_OPEN       "folder_open"
32 #define PIXBUF_INLINE_FOLDER_UP         "folder_up"
33 #define PIXBUF_INLINE_SCROLLER          "scroller"
34 #define PIXBUF_INLINE_BROKEN            "broken"
35 #define PIXBUF_INLINE_ICON              "icon"
36 #define PIXBUF_INLINE_LOGO              "logo"
37
38 #define PIXBUF_INLINE_ICON_FLOAT        "icon_float"
39 #define PIXBUF_INLINE_ICON_THUMB        "icon_thumb"
40
41 #define PIXBUF_INLINE_ICON_BOOK         "icon_book"
42 #define PIXBUF_INLINE_ICON_CONFIG       "icon_config"
43 #define PIXBUF_INLINE_ICON_TOOLS        "icon_tools"
44 #define PIXBUF_INLINE_ICON_VIEW         "icon_view"
45
46
47 GdkPixbuf *pixbuf_copy_rotate_90(GdkPixbuf *src, gboolean counter_clockwise);
48 GdkPixbuf *pixbuf_copy_mirror(GdkPixbuf *src, gboolean mirror, gboolean flip);
49 GdkPixbuf* pixbuf_apply_orientation(GdkPixbuf *pixbuf, gint orientation);
50
51 void pixbuf_draw_rect_fill(GdkPixbuf *pb,
52                            gint x, gint y, gint w, gint h,
53                            gint r, gint g, gint b, gint a);
54
55 void pixbuf_draw_rect(GdkPixbuf *pb,
56                       gint x, gint y, gint w, gint h,
57                       gint r, gint g, gint b, gint a,
58                       gint left, gint right, gint top, gint bottom);
59
60 void pixbuf_set_rect_fill(GdkPixbuf *pb,
61                           gint x, gint y, gint w, gint h,
62                           gint r, gint g, gint b, gint a);
63
64 void pixbuf_set_rect(GdkPixbuf *pb,
65                      gint x, gint y, gint w, gint h,
66                      gint r, gint g, gint b, gint a,
67                      gint left, gint right, gint top, gint bottom);
68
69 void pixbuf_pixel_set(GdkPixbuf *pb, gint x, gint y, gint r, gint g, gint b, gint a);
70
71
72 void pixbuf_draw_layout(GdkPixbuf *pixbuf, PangoLayout *layout, GtkWidget *widget,
73                         gint x, gint y,
74                         guint8 r, guint8 g, guint8 b, guint8 a);
75
76
77 void pixbuf_draw_triangle(GdkPixbuf *pb,
78                           gint clip_x, gint clip_y, gint clip_w, gint clip_h,
79                           gint x1, gint y1, gint x2, gint y2, gint x3, gint y3,
80                           guint8 r, guint8 g, guint8 b, guint8 a);
81
82 void pixbuf_draw_line(GdkPixbuf *pb,
83                       gint clip_x, gint clip_y, gint clip_w, gint clip_h,
84                       gint x1, gint y1, gint x2, gint y2,
85                       guint8 r, guint8 g, guint8 b, guint8 a);
86
87 void pixbuf_draw_shadow(GdkPixbuf *pb,
88                         gint clip_x, gint clip_y, gint clip_w, gint clip_h,
89                         gint x, gint y, gint w, gint h, gint border,
90                         guint8 r, guint8 g, guint8 b, guint8 a);
91
92 void pixbuf_desaturate_rect(GdkPixbuf *pb,
93                             gint x, gint y, gint w, gint h);
94
95
96 /* clipping utils */
97
98 gboolean util_clip_region(gint x, gint y, gint w, gint h,
99                           gint clip_x, gint clip_y, gint clip_w, gint clip_h,
100                           gint *rx, gint *ry, gint *rw, gint *rh);
101 void util_clip_triangle(gint x1, gint y1, gint x2, gint y2, gint x3, gint y3,
102                         gint *rx, gint *ry, gint *rw, gint *rh);
103
104
105 #endif
106 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */