summaryrefslogtreecommitdiffstats
path: root/common.h
diff options
context:
space:
mode:
authorRichard Grenville <pyxlcy@gmail.com>2013-06-09 17:06:35 +0800
committerRichard Grenville <pyxlcy@gmail.com>2013-06-09 17:09:28 +0800
commit0dca9aa79edbc5e2d665d9f65321adc32a595d2a (patch)
tree338792a3973d6e1daa730ebaf81fa76e2b671c7b /common.h
parentd800a62b878fa152c94253b2c0f60ef4f5b9b9d1 (diff)
downloadtdebase-0dca9aa79edbc5e2d665d9f65321adc32a595d2a.tar.gz
tdebase-0dca9aa79edbc5e2d665d9f65321adc32a595d2a.zip
Feature #116: Shadow exclusion region
- Add --shadow-exclude-reg, which excludes certain regions on the screen to have shadows painted in. (#116) - Adjust session initialization order. Now X root and screen info and basic X extensions are available in configuration parsing step.
Diffstat (limited to 'common.h')
-rw-r--r--common.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/common.h b/common.h
index 0b97d5009..76a7b34e3 100644
--- a/common.h
+++ b/common.h
@@ -234,6 +234,14 @@ typedef enum {
UNSET
} switch_t;
+/// Structure representing a X geometry.
+typedef struct {
+ int wid;
+ int hei;
+ int x;
+ int y;
+} geometry_t;
+
/// Enumeration type of window painting mode.
typedef enum {
WMODE_TRANS,
@@ -484,6 +492,8 @@ typedef struct {
int shadow_offset_x, shadow_offset_y;
double shadow_opacity;
bool clear_shadow;
+ /// Geometry of a region in which shadow is not painted on.
+ geometry_t shadow_exclude_reg_geom;
/// Shadow blacklist. A linked list of conditions.
c2_lptr_t *shadow_blacklist;
/// Whether bounding-shaped window should be ignored.
@@ -695,6 +705,8 @@ typedef struct {
unsigned char *shadow_corner;
/// Pre-computed color table for a side of shadow.
unsigned char *shadow_top;
+ /// A region in which shadow is not painted on.
+ XserverRegion shadow_exclude_reg;
// === Software-optimization-related ===
/// Currently used refresh rate.