ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/background.h
Revision: 1.14
Committed: Sat Jan 5 13:42:37 2008 UTC (16 years, 4 months ago) by ayin
Content type: text/plain
Branch: MAIN
Changes since 1.13: +2 -1 lines
Log Message:
Fix style.

File Contents

# User Rev Content
1 sasha 1.1 /*
2     * background.h
3     */
4    
5     #ifndef BACKGROUND_H_
6     #define BACKGROUND_H_
7    
8     #ifdef HAVE_AFTERIMAGE
9 sasha 1.4 # include <afterimage.h>
10     # undef min
11     # undef max
12 sasha 1.1 #endif
13    
14 sasha 1.2 #if defined(BG_IMAGE_FROM_FILE) || defined(ENABLE_TRANSPARENCY)
15 sasha 1.1 # define HAVE_BG_PIXMAP 1/* to simplify further usage */
16 root 1.10 struct bgPixmap_t
17     {
18     bgPixmap_t ();
19     void destroy ();
20 sasha 1.2
21 sasha 1.1 enum {
22     geometrySet = (1UL<<0),
23     propScale = (1UL<<1),
24     geometryFlags = (geometrySet|propScale),
25    
26     tintSet = (1UL<<8),
27     tintNeeded = (1UL<<9),
28     tintWholesome = (1UL<<10),
29     tintServerSide = (1UL<<11),
30     tintFlags = (tintSet|tintServerSide|tintNeeded|tintWholesome),
31     blurNeeded = (1UL<<12),
32     blurServerSide = (1UL<<13), /* this don't work yet */
33    
34     isTransparent = (1UL<<16),
35     isInvalid = (1UL<<17),
36 sasha 1.3 isVtOrigin = (1UL<<18), /* if set pixmap has origin at corner of
37 sasha 1.1 vt window instead of parent[0]! */
38 sasha 1.3 hasChanged = (1UL<<19)
39 sasha 1.1 };
40    
41     unsigned long flags;
42    
43     enum {
44     transpPmapTiled = (1UL<<0),
45     transpPmapTinted = tintNeeded,
46     transpPmapBlured = blurNeeded,
47     transpTransformations = (tintNeeded|blurNeeded)
48     }; /* this flags are returned by make_transparency_pixmap if called */
49    
50 sasha 1.3 bool check_clearChanged () { bool r = flags & hasChanged; flags &= ~hasChanged; return r; };
51 ayin 1.5
52 sasha 1.2 # ifdef BG_IMAGE_FROM_FILE
53 sasha 1.1 # ifdef HAVE_AFTERIMAGE
54     ASImage *original_asim;
55     bool render_asim (ASImage *background, ARGB32 background_tint);
56     # endif
57    
58 sasha 1.11 enum {
59     noScale = 0,
60     windowScale = 100,
61     defaultScale = windowScale,
62     centerAlign = 50,
63     defaultAlign = centerAlign,
64     rootAlign = -10000
65     };
66 sasha 1.1
67     unsigned int h_scale, v_scale;/* percents of the window size */
68     int h_align, v_align; /* percents of the window size:
69     0 - left align, 50 - center, 100 - right */
70     void unset_geometry () { flags = flags & ~geometryFlags; };
71     bool set_geometry (const char *geom);
72     void set_defaultGeometry ()
73     {
74     h_scale = v_scale = defaultScale;
75     h_align = v_align = defaultAlign;
76     flags |= geometrySet;
77     };
78    
79     bool set_file (const char *file);
80 sasha 1.2 # endif /* BG_IMAGE_FROM_FILE */
81 sasha 1.1
82     rxvt_term *target;
83     bool set_target (rxvt_term *new_target);
84    
85     # ifdef ENABLE_TRANSPARENCY
86     int root_depth; /* obtained when target is set */
87     Pixmap root_pixmap; /* current root pixmap set */
88     rxvt_color tint;
89     int shade;
90     int h_blurRadius, v_blurRadius;
91    
92     bool set_transparent ();
93     bool set_blur_radius (const char *geom);
94     bool set_tint (rxvt_color &new_tint);
95     bool unset_tint ();
96     bool set_shade (const char *shade_str);
97     bool set_root_pixmap ();
98    
99     unsigned long make_transparency_pixmap ();/* returns combination of the transpTransformations flags */
100     # endif
101 sasha 1.13 double invalid_since, valid_since;
102 sasha 1.1
103     Pixmap pixmap;
104     unsigned int pmap_width, pmap_height;
105     unsigned int pmap_depth;
106    
107     bool window_size_sensitive ();
108 sasha 1.9 bool window_position_sensitive ();
109 sasha 1.1
110 ayin 1.14 bool is_parentOrigin ()
111     {
112 sasha 1.1 return !(flags & isVtOrigin);
113     };
114    
115     bool need_client_side_rendering ();
116     void apply ();
117     bool render ();
118 root 1.12 void invalidate ()
119     {
120 sasha 1.1 if (!(flags & isInvalid))
121 ayin 1.5 {
122     flags |= isInvalid;
123 root 1.6 invalid_since = ev::now ();
124 sasha 1.1 }
125     };
126     };
127     #else
128     # undef HAVE_BG_PIXMAP
129     #endif
130    
131    
132    
133 ayin 1.8 #endif /* _BACKGROUND_H_ */