summaryrefslogtreecommitdiffstats
path: root/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'common.h')
-rw-r--r--common.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/common.h b/common.h
index 76a7b34e3..d3bc58023 100644
--- a/common.h
+++ b/common.h
@@ -468,6 +468,8 @@ typedef struct {
int benchmark;
/// Window to constantly repaint in benchmark mode. 0 for full-screen.
Window benchmark_wid;
+ /// A list of conditions of windows not to paint.
+ c2_lptr_t *paint_blacklist;
/// Whether to work under synchronized mode for debugging.
bool synchronize;
@@ -896,6 +898,8 @@ typedef struct _win {
bool rounded_corners;
/// Whether this window is to be painted.
bool to_paint;
+ /// Whether the window is painting excluded.
+ bool paint_excluded;
/// Whether this window is in open/close state.
bool in_openclose;
@@ -936,6 +940,7 @@ typedef struct _win {
const c2_lptr_t *cache_ivclst;
const c2_lptr_t *cache_bbblst;
const c2_lptr_t *cache_oparule;
+ const c2_lptr_t *cache_pblst;
// Opacity-related members
/// Current window opacity.
@@ -1721,6 +1726,17 @@ rect_is_fullscreen(session_t *ps, int x, int y, unsigned wid, unsigned hei) {
}
/**
+ * Check if a window is a fullscreen window.
+ *
+ * It's not using w->border_size for performance measures.
+ */
+static inline bool
+win_is_fullscreen(session_t *ps, const win *w) {
+ return rect_is_fullscreen(ps, w->a.x, w->a.y, w->widthb, w->heightb)
+ && !w->bounding_shaped;
+}
+
+/**
* Determine if a window has a specific property.
*
* @param ps current session