… | |
… | |
4 | |
4 | |
5 | #ifndef BACKGROUND_H_ |
5 | #ifndef BACKGROUND_H_ |
6 | #define BACKGROUND_H_ |
6 | #define BACKGROUND_H_ |
7 | |
7 | |
8 | #ifdef HAVE_AFTERIMAGE |
8 | #ifdef HAVE_AFTERIMAGE |
9 | # include <afterimage.h> |
9 | # include <afterimage.h> |
|
|
10 | # undef min |
|
|
11 | # undef max |
10 | #endif |
12 | #endif |
11 | |
13 | |
12 | #if defined(BG_IMAGE_FROM_FILE) || defined(ENABLE_TRANSPARENCY) |
14 | #if defined(BG_IMAGE_FROM_FILE) || defined(ENABLE_TRANSPARENCY) |
13 | # define HAVE_BG_PIXMAP 1/* to simplify further usage */ |
15 | # define HAVE_BG_PIXMAP 1/* to simplify further usage */ |
14 | struct bgPixmap_t { |
16 | struct bgPixmap_t { |
15 | |
17 | |
16 | bgPixmap_t(); |
18 | bgPixmap_t(); |
|
|
19 | ~bgPixmap_t(); |
17 | |
20 | |
18 | enum { |
21 | enum { |
19 | geometrySet = (1UL<<0), |
22 | geometrySet = (1UL<<0), |
20 | propScale = (1UL<<1), |
23 | propScale = (1UL<<1), |
21 | geometryFlags = (geometrySet|propScale), |
24 | geometryFlags = (geometrySet|propScale), |
… | |
… | |
43 | transpPmapBlured = blurNeeded, |
46 | transpPmapBlured = blurNeeded, |
44 | transpTransformations = (tintNeeded|blurNeeded) |
47 | transpTransformations = (tintNeeded|blurNeeded) |
45 | }; /* this flags are returned by make_transparency_pixmap if called */ |
48 | }; /* this flags are returned by make_transparency_pixmap if called */ |
46 | |
49 | |
47 | bool check_clearChanged () { bool r = flags & hasChanged; flags &= ~hasChanged; return r; }; |
50 | bool check_clearChanged () { bool r = flags & hasChanged; flags &= ~hasChanged; return r; }; |
48 | |
51 | |
49 | # ifdef BG_IMAGE_FROM_FILE |
52 | # ifdef BG_IMAGE_FROM_FILE |
50 | # ifdef HAVE_AFTERIMAGE |
53 | # ifdef HAVE_AFTERIMAGE |
51 | ASImage *original_asim; |
54 | ASImage *original_asim; |
52 | bool render_asim (ASImage *background, ARGB32 background_tint); |
55 | bool render_asim (ASImage *background, ARGB32 background_tint); |
53 | # endif |
56 | # endif |
… | |
… | |
106 | bool need_client_side_rendering (); |
109 | bool need_client_side_rendering (); |
107 | void apply (); |
110 | void apply (); |
108 | bool render (); |
111 | bool render (); |
109 | void invalidate () { |
112 | void invalidate () { |
110 | if (!(flags & isInvalid)) |
113 | if (!(flags & isInvalid)) |
111 | { |
114 | { |
112 | flags |= isInvalid; |
115 | flags |= isInvalid; |
113 | invalid_since = NOW; |
116 | invalid_since = ev::now (); |
114 | } |
117 | } |
115 | }; |
118 | }; |
116 | }; |
119 | }; |
117 | #else |
120 | #else |
118 | # undef HAVE_BG_PIXMAP |
121 | # undef HAVE_BG_PIXMAP |