summaryrefslogtreecommitdiff
path: root/src/x.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/x.hpp')
-rw-r--r--src/x.hpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/x.hpp b/src/x.hpp
index de36cb4..d54bc65 100644
--- a/src/x.hpp
+++ b/src/x.hpp
@@ -23,10 +23,13 @@
#include <iostream>
#include <X11/Xlib.h>
+#include <X11/Xatom.h>
#include <X11/extensions/XShm.h>
#include <X11/extensions/Xrender.h>
+#include <X11/extensions/shape.h>
#include <X11/extensions/Xcomposite.h>
#include <X11/extensions/Xrandr.h>
+//#include <meta/meta-shadow-factory.h>
#include <sys/shm.h>
#include <string>
#include <vector>
@@ -35,9 +38,17 @@
class X11 {
private:
- bool haveXShm;
- XImage* getImageShm( Window d, int x, int y, int w, int h );
+ bool hasClipping( Window d );
+ XserverRegion findRegion( Window d );
+ void unionClippingRegions( XserverRegion rootRegion, Window child );
+ void unionBorderRegions( XserverRegion rootRegion, Window d );
+ XImage* getImageUsingXRender( Window draw, int localx, int localy, int w, int h );
+ XImage* getImageUsingXShm( Window draw, int localx, int localy, int w, int h );
public:
+ bool haveXComposite;
+ bool haveXRender;
+ bool haveXShm;
+ bool haveXFixes;
bool haveXRR;
X11( std::string displayName );
~X11();
@@ -52,6 +63,5 @@ public:
};
glm::ivec4 getWindowGeometry( X11* x11, Window win );
-//glm::ivec4 getWindowGeometryWithoutBorder( X11* x11, Window win );
#endif