ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/rxvtimg.h
Revision: 1.8
Committed: Mon Jun 4 15:15:49 2012 UTC (11 years, 11 months ago) by root
Content type: text/plain
Branch: MAIN
Changes since 1.7: +4 -3 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 #ifndef IMG_H
2 #define IMG_H
3
4 #if HAVE_BG_PIXMAP && BG_IMAGE_FROM_FILE && ENABLE_TRANSPARENCY && 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 bool shared; // true if we don't own it
19
20 rxvt_img (rxvt_screen *screen, XRenderPictFormat *format, int width, int height);
21 rxvt_img (rxvt_screen *screen, XRenderPictFormat *format, int width, int height, Pixmap pixmap);
22 static rxvt_img *new_from_root (rxvt_screen *s); // get root pixmap
23 static rxvt_img *new_from_file (rxvt_screen *s, const char *filename); // from pixbuf
24
25 ~rxvt_img ();
26
27 Pixmap steal ()
28 {
29 shared = true;
30 return pm;
31 }
32
33 // inplace
34 void unshare (); // create a copy of the pixmap if !shared
35 void fill (const rxvt_color &c);
36 void blur (int rh, int rv);
37 void brightness (double r, double g, double b, double a = 1.);
38 void contrast (double r, double g, double b, double a = 1.);
39 void render (GdkPixbuf *pixbuf, int src_x, int src_y, int width, int height, int dst_x, int dst_y);
40
41 // copy
42 rxvt_img *clone ();
43 rxvt_img *scale (int new_width, int new_height);
44 rxvt_img *transform (int new_width, int new_height, int repeat, double matrix[9]);
45 rxvt_img *convert_to (XRenderPictFormat *format);
46 };
47
48 #endif
49
50 #endif
51