summaryrefslogtreecommitdiffstats
path: root/src/compositor/hardware_integration/xcomposite_share/xcompositebuffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/compositor/hardware_integration/xcomposite_share/xcompositebuffer.h')
-rw-r--r--src/compositor/hardware_integration/xcomposite_share/xcompositebuffer.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/compositor/hardware_integration/xcomposite_share/xcompositebuffer.h b/src/compositor/hardware_integration/xcomposite_share/xcompositebuffer.h
new file mode 100644
index 000000000..52154d406
--- /dev/null
+++ b/src/compositor/hardware_integration/xcomposite_share/xcompositebuffer.h
@@ -0,0 +1,43 @@
+#ifndef XCOMPOSITEBUFFER_H
+#define XCOMPOSITEBUFFER_H
+
+#include "waylandobject.h"
+#include "wayland_wrapper/wlcompositor.h"
+
+#include <QtCore/QSize>
+
+#include <QtCore/QTextStream>
+#include <QtCore/QDataStream>
+#include <QtCore/QMetaType>
+#include <QtCore/QVariant>
+#include <QtWidgets/QWidget>
+
+#include <X11/X.h>
+
+class XCompositeBuffer : public Wayland::Object<struct wl_buffer>
+{
+public:
+ XCompositeBuffer(Wayland::Compositor *compositor, Window window, const QSize &size);
+
+ Window window();
+
+ static struct wl_buffer_interface buffer_interface;
+ static void delete_resource(struct wl_resource *resource);
+
+ bool isYInverted() const { return mInvertedY; }
+ void setInvertedY(bool inverted) { mInvertedY = inverted; }
+private:
+ Window mWindow;
+ bool mInvertedY;
+
+ static void buffer_interface_destroy(struct wl_client *client,
+ struct wl_resource *buffer);
+ static void buffer_interface_damage(struct wl_client *client,
+ struct wl_resource *buffer,
+ int x,
+ int y,
+ int width,
+ int height);
+};
+
+#endif // XCOMPOSITORBUFFER_H