ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/rxvtimg.h
Revision: 1.1
Committed: Sun Jun 3 09:59:58 2012 UTC (11 years, 11 months ago) by root
Content type: text/plain
Branch: MAIN
Log Message:
details

File Contents

# Content
1 #ifndef IMG_H
2 #define IMG_H
3
4 #if defined HAVE_BG_PIXMAP && defined BG_IMAGE_FROM_FILE && defined ENABLE_TRANSPARENCY && defined HAVE_PIXBUF
5 #define HAVE_IMG 1
6 #endif
7
8 #if HAVE_IMG
9
10 #include <X11/extensions/Xrender.h>
11
12 struct rxvt_img
13 {
14 rxvt_screen *s;
15 Pixmap pm;
16 int w, h;
17 int depth;
18 XRenderPictFormat *format;
19
20 rxvt_img (rxvt_screen *screen, XRenderPictFormat *format, int width, int height);
21 rxvt_img (rxvt_screen *screen, Pixmap *pixmap, XRenderPictFormat *format, int width, int height);
22 ~rxvt_img ();
23
24 void render (GdkPixbuf *pixbuf, int src_x, int src_y, int width, int height, int dst_x, int dst_y);
25
26 Pixmap steal ()
27 {
28 Pixmap res = pm;
29 pm = 0;
30 return res;
31 }
32
33 // inplace
34 void fill (const rxvt_color &c);
35 void blur (int rh, int rv);
36 void brightness (double r, double g, double b, double a = 1.);
37 void contrast (double r, double g, double b, double a = 1.);
38
39 // copy
40 rxvt_img *copy ();
41 rxvt_img *scale (int new_width, int new_height);
42 rxvt_img *transform (int new_width, int new_height, double matrix[16]);
43 };
44
45 #endif
46
47 #endif
48