xglcomp
annotate src/cwin.h @ 15:6726f29ebbb8
update backing texture on damage
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Mon, 08 Feb 2016 19:42:54 +0200 |
parents | 03ca0fd49916 |
children |
rev | line source |
---|---|
nuclear@0 | 1 #ifndef COMP_WIN_H_ |
nuclear@0 | 2 #define COMP_WIN_H_ |
nuclear@0 | 3 |
nuclear@0 | 4 #include <X11/Xlib.h> |
nuclear@7 | 5 #include <X11/extensions/Xdamage.h> |
nuclear@3 | 6 #include "texture.h" |
nuclear@0 | 7 |
nuclear@2 | 8 class CompWindow { |
nuclear@2 | 9 public: |
nuclear@0 | 10 Window xwin; |
nuclear@0 | 11 Pixmap xpixmap; |
nuclear@12 | 12 bool pixmap_valid; |
nuclear@0 | 13 |
nuclear@2 | 14 XWindowAttributes attr; |
nuclear@3 | 15 bool mapped; |
nuclear@3 | 16 |
nuclear@7 | 17 Damage damage; |
nuclear@7 | 18 XRectangle damage_rect; |
nuclear@12 | 19 bool damaged; |
nuclear@7 | 20 |
nuclear@3 | 21 Texture tex; |
nuclear@12 | 22 bool tex_valid; |
nuclear@2 | 23 |
nuclear@2 | 24 CompWindow(Window xid = 0); |
nuclear@7 | 25 ~CompWindow(); |
nuclear@12 | 26 |
nuclear@12 | 27 bool update_attr(); |
nuclear@12 | 28 bool update_pixmap(); |
nuclear@12 | 29 bool update_texture(); |
nuclear@0 | 30 }; |
nuclear@0 | 31 |
nuclear@0 | 32 void add_window(CompWindow *cwin); |
nuclear@2 | 33 bool remove_window(CompWindow *cwin); |
nuclear@0 | 34 bool have_window(CompWindow *cwin); |
nuclear@0 | 35 CompWindow *find_window_xid(Window xid); |
nuclear@1 | 36 CompWindow *find_window_pixmap(Pixmap pix); |
nuclear@0 | 37 |
nuclear@0 | 38 int get_window_count(); |
nuclear@0 | 39 CompWindow *get_window(int idx); |
nuclear@0 | 40 |
nuclear@0 | 41 #endif // COMP_WIN_H_ |