ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/rxvtimg.h
Revision: 1.5
Committed: Sun Jun 3 16:55:31 2012 UTC (11 years, 11 months ago) by root
Content type: text/plain
Branch: MAIN
Changes since 1.4: +2 -2 lines
Log Message:
*** empty log message ***

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 XRenderPictFormat *format;
18
19 rxvt_img (rxvt_screen *screen, XRenderPictFormat *format, int width, int height);
20 rxvt_img (rxvt_screen *screen, XRenderPictFormat *format, int width, int height, Pixmap pixmap);
21 static rxvt_img *new_from_root (rxvt_screen *s); // get root pixmap
22 static rxvt_img *new_from_file (const char *filename); // from pixbuf
23
24 ~rxvt_img ();
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 void render (GdkPixbuf *pixbuf, int src_x, int src_y, int width, int height, int dst_x, int dst_y);
39
40 // copy
41 rxvt_img *copy ();
42 rxvt_img *scale (int new_width, int new_height);
43 rxvt_img *transform (int new_width, int new_height, double matrix[16]);
44 };
45
46 #endif
47
48 #endif
49