nuclear@0: #ifndef COMP_WIN_H_ nuclear@0: #define COMP_WIN_H_ nuclear@0: nuclear@0: #include nuclear@7: #include nuclear@3: #include "texture.h" nuclear@0: nuclear@2: class CompWindow { nuclear@2: public: nuclear@0: Window xwin; nuclear@0: Pixmap xpixmap; nuclear@12: bool pixmap_valid; nuclear@0: nuclear@2: XWindowAttributes attr; nuclear@3: bool mapped; nuclear@3: nuclear@7: Damage damage; nuclear@7: XRectangle damage_rect; nuclear@12: bool damaged; nuclear@7: nuclear@3: Texture tex; nuclear@12: bool tex_valid; nuclear@2: nuclear@2: CompWindow(Window xid = 0); nuclear@7: ~CompWindow(); nuclear@12: nuclear@12: bool update_attr(); nuclear@12: bool update_pixmap(); nuclear@12: bool update_texture(); nuclear@0: }; nuclear@0: nuclear@0: void add_window(CompWindow *cwin); nuclear@2: bool remove_window(CompWindow *cwin); nuclear@0: bool have_window(CompWindow *cwin); nuclear@0: CompWindow *find_window_xid(Window xid); nuclear@1: CompWindow *find_window_pixmap(Pixmap pix); nuclear@0: nuclear@0: int get_window_count(); nuclear@0: CompWindow *get_window(int idx); nuclear@0: nuclear@0: #endif // COMP_WIN_H_