ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/rxvt.h
(Generate patch)

Comparing rxvt-unicode/src/rxvt.h (file contents):
Revision 1.289 by sasha, Wed Aug 8 22:39:49 2007 UTC vs.
Revision 1.297 by ayin, Sun Aug 26 16:55:58 2007 UTC

99 ***************************************************************************** 99 *****************************************************************************
100 * PROTOTYPES 100 * PROTOTYPES
101 ***************************************************************************** 101 *****************************************************************************
102 */ 102 */
103// main.C 103// main.C
104RETSIGTYPE rxvt_Child_signal (int sig) NOTHROW;
105RETSIGTYPE rxvt_Exit_signal (int sig) NOTHROW;
106void rxvt_clean_exit () NOTHROW;
107void * rxvt_malloc (size_t size); 104void * rxvt_malloc (size_t size);
108void * rxvt_calloc (size_t number, size_t size); 105void * rxvt_calloc (size_t number, size_t size);
109void * rxvt_realloc (void *ptr, size_t size); 106void * rxvt_realloc (void *ptr, size_t size);
110 107
111// misc.C 108// misc.C
173#endif 170#endif
174 171
175#if defined(XPM_BACKGROUND) || defined(ENABLE_TRANSPARENCY) 172#if defined(XPM_BACKGROUND) || defined(ENABLE_TRANSPARENCY)
176# define HAVE_BG_PIXMAP 1/* to simplify further usage */ 173# define HAVE_BG_PIXMAP 1/* to simplify further usage */
177struct bgPixmap_t { 174struct bgPixmap_t {
178# define bgPmap_geometrySet (1UL<<0)
179# define bgPmap_propScale (1UL<<1)
180# define bgPmap_geometryFlags (bgPmap_geometrySet|bgPmap_propScale)
181 175
182# define bgPmap_Transparent (1UL<<16) 176 enum {
177 geometrySet = (1UL<<0),
178 propScale = (1UL<<1),
179 geometryFlags = (geometrySet|propScale),
180
181 tintSet = (1UL<<8),
182 tintNeeded = (1UL<<9),
183 tintWholesome = (1UL<<10),
184 tintServerSide = (1UL<<11),
185 tintFlags = (tintSet|tintServerSide|tintNeeded|tintWholesome),
186 blurNeeded = (1UL<<12),
187
188 isTransparent = (1UL<<16),
189 isInvalid = (1UL<<17)
190 };
191
183 unsigned long flags; 192 unsigned long flags;
193
194 enum {
195 transpPmapTiled = (1UL<<0),
196 transpPmapTinted = tintNeeded,
197 transpPmapBlured = blurNeeded,
198 transpTransformations = (tintNeeded|blurNeeded)
199 }; /* this flags are returned by make_transparency_pixmap if called */
184 200
185# ifdef XPM_BACKGROUND 201# ifdef XPM_BACKGROUND
186# ifdef HAVE_AFTERIMAGE 202# ifdef HAVE_AFTERIMAGE
187 ASImage *original_asim; 203 ASImage *original_asim;
188 bool render_asim (ASImage *background, ARGB32 background_tint); 204 bool render_asim (ASImage *background, ARGB32 background_tint);
189# endif 205# endif
190 206
191#define bgPmap_defaultScale 100 207 enum { defaultScale = 100, defaultAlign = 50 };
192#define bgPmap_defaultAlign 50 208
193 unsigned int h_scale, v_scale;/* percents of the window size */ 209 unsigned int h_scale, v_scale;/* percents of the window size */
194 int h_align, v_align; /* percents of the window size: 210 int h_align, v_align; /* percents of the window size:
195 0 - left align, 50 - center, 100 - right */ 211 0 - left align, 50 - center, 100 - right */
212 void unset_geometry () { flags = flags & ~geometryFlags; };
196 bool handle_geometry (const char *geom); 213 bool set_geometry (const char *geom);
197 void set_defaultGeometry () 214 void set_defaultGeometry ()
198 { 215 {
199 h_scale = v_scale = bgPmap_defaultScale; 216 h_scale = v_scale = defaultScale;
200 h_align = v_align = bgPmap_defaultAlign; 217 h_align = v_align = defaultAlign;
201 flags |= bgPmap_geometrySet; 218 flags |= geometrySet;
202 }; 219 };
203 220
221 bool set_file (const char *file);
204# endif /* XPM_BACKGROUND */ 222# endif /* XPM_BACKGROUND */
205 223
206 rxvt_term *target; 224 rxvt_term *target;
207 bool set_target (rxvt_term *new_target) 225 bool set_target (rxvt_term *new_target);
208 { 226
209 if (new_target) 227# ifdef ENABLE_TRANSPARENCY
210 if (target != new_target) 228 int root_depth; /* obtained when target is set */
211 { 229 Pixmap root_pixmap; /* current root pixmap set */
212 target = new_target; 230 rxvt_color tint;
213 return true; 231 int shade;
214 } 232 int h_blurRadius, v_blurRadius;
215 return false; 233
216 }; 234 bool set_transparent ();
235 bool set_blur_radius (const char *geom);
236 bool set_tint (rxvt_color &new_tint);
237 bool unset_tint ();
238 bool set_shade (const char *shade_str);
239 bool set_root_pixmap ();
240
241 unsigned long make_transparency_pixmap ();/* returns combination of the transpTransformations flags */
242# endif
243 double invalid_since;
217 244
218 Pixmap pixmap; 245 Pixmap pixmap;
219 unsigned int pmap_width, pmap_height; 246 unsigned int pmap_width, pmap_height;
220 unsigned int pmap_depth; 247 unsigned int pmap_depth;
221 248
222 bool window_size_sensitive(); 249 bool window_size_sensitive ();
223 void apply_background(); 250 bool need_client_side_rendering ();
224 251 void apply ();
252 bool render ();
253 void invalidate () {
254 if (!(flags & isInvalid))
255 {
256 flags |= isInvalid;
257 invalid_since = NOW;
258 }
259 };
225}; 260};
226#else 261#else
227# undef HAVE_BG_PIXMAP 262# undef HAVE_BG_PIXMAP
228#endif 263#endif
229 264
661#define PrivMode_LFNL (1UL<<19) 696#define PrivMode_LFNL (1UL<<19)
662/* too annoying to implement X11 highlight tracking */ 697/* too annoying to implement X11 highlight tracking */
663/* #define PrivMode_MouseX11Track (1LU<<20) */ 698/* #define PrivMode_MouseX11Track (1LU<<20) */
664 699
665#define PrivMode_mouse_report (PrivMode_MouseX10|PrivMode_MouseX11) 700#define PrivMode_mouse_report (PrivMode_MouseX10|PrivMode_MouseX11)
666#define PrivMode(test,bit) \
667 if (test) \
668 priv_modes |= (bit); \
669 else \
670 priv_modes &= ~(bit)
671 701
672#ifdef ALLOW_132_MODE 702#ifdef ALLOW_132_MODE
673# define PrivMode_Default (PrivMode_Autowrap|PrivMode_ShiftKeys|PrivMode_VisibleCursor|PrivMode_132OK) 703# define PrivMode_Default (PrivMode_Autowrap|PrivMode_ShiftKeys|PrivMode_VisibleCursor|PrivMode_132OK)
674#else 704#else
675# define PrivMode_Default (PrivMode_Autowrap|PrivMode_ShiftKeys|PrivMode_VisibleCursor) 705# define PrivMode_Default (PrivMode_Autowrap|PrivMode_ShiftKeys|PrivMode_VisibleCursor)
934 struct mbstate mbstate; // current input multibyte state 964 struct mbstate mbstate; // current input multibyte state
935 965
936 unsigned char want_refresh:1, 966 unsigned char want_refresh:1,
937#ifdef ENABLE_TRANSPARENCY 967#ifdef ENABLE_TRANSPARENCY
938 want_full_refresh:1, /* awaiting full screen refresh */ 968 want_full_refresh:1, /* awaiting full screen refresh */
939 am_transparent:1, /* is a transparent term */
940 am_pixmap_trans:1, /* transparency w/known root pixmap */
941#endif 969#endif
942 current_screen:1, /* primary or secondary */ 970 current_screen:1, /* primary or secondary */
943 num_scr_allow:1, 971 num_scr_allow:1,
944 bypass_keystate:1, 972 bypass_keystate:1,
945#ifdef CURSOR_BLINK 973#ifdef CURSOR_BLINK
1128 1156
1129#if ENABLE_TRANSPARENCY || ENABLE_PERL 1157#if ENABLE_TRANSPARENCY || ENABLE_PERL
1130 void rootwin_cb (XEvent &xev); 1158 void rootwin_cb (XEvent &xev);
1131 xevent_watcher rootwin_ev; 1159 xevent_watcher rootwin_ev;
1132#endif 1160#endif
1133#if ENABLE_TRANSPARENCY 1161#ifdef HAVE_BG_PIXMAP
1134 int check_our_parents (); 1162 int update_background ();
1135 void check_our_parents_cb (time_watcher &w); 1163 void update_background_cb (time_watcher &w);
1136 time_watcher check_our_parents_ev; 1164 time_watcher update_background_ev;
1137#endif 1165#endif
1138 1166
1139 void x_cb (XEvent &xev); 1167 void x_cb (XEvent &xev);
1140 void flush (); 1168 void flush ();
1141 xevent_watcher termwin_ev; 1169 xevent_watcher termwin_ev;
1362 { 1390 {
1363 if (set) 1391 if (set)
1364 options[opt >> 3] |= (1 << (opt & 7)); 1392 options[opt >> 3] |= (1 << (opt & 7));
1365 else 1393 else
1366 options[opt >> 3] &= ~(1 << (opt & 7)); 1394 options[opt >> 3] &= ~(1 << (opt & 7));
1395 }
1396
1397 void PrivMode (int set, unsigned bit) NOTHROW
1398 {
1399 if (set)
1400 priv_modes |= bit;
1401 else
1402 priv_modes &= ~bit;
1367 } 1403 }
1368 1404
1369 void scr_blank_line (line_t &l, unsigned int col, unsigned int width, rend_t efs) const NOTHROW; 1405 void scr_blank_line (line_t &l, unsigned int col, unsigned int width, rend_t efs) const NOTHROW;
1370 void scr_blank_screen_mem (line_t &l, rend_t efs) const NOTHROW; 1406 void scr_blank_screen_mem (line_t &l, rend_t efs) const NOTHROW;
1371 int scr_scroll_text (int row1, int row2, int count) NOTHROW; 1407 int scr_scroll_text (int row1, int row2, int count) NOTHROW;
1477 void get_options (int argc, const char *const *argv); 1513 void get_options (int argc, const char *const *argv);
1478 int parse_keysym (const char *str, const char *arg); 1514 int parse_keysym (const char *str, const char *arg);
1479 void get_xdefaults (FILE *stream, const char *name); 1515 void get_xdefaults (FILE *stream, const char *name);
1480 void extract_resources (); 1516 void extract_resources ();
1481 // xpm.C 1517 // xpm.C
1482//int scale_pixmap (const char *geom); 1518 void get_window_origin (int &x, int &y);
1483 void resize_pixmap (); 1519 Pixmap get_pixmap_property (int prop_id);
1484 void set_bgPixmap (const char *file);
1485}; 1520};
1486 1521
1487/*
1488 *****************************************************************************
1489 * PROTOTYPES
1490 *****************************************************************************
1491 */
1492#ifdef PROTOTYPES
1493# define __PROTO(p) p
1494#else
1495# define __PROTO(p) ()
1496#endif
1497
1498#endif /* _RXVT_H_ */ 1522#endif /* _RXVT_H_ */
1499 1523

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines