summaryrefslogtreecommitdiffstats
path: root/src/plugins/waylandcompositors/xcomposite_share/xcompositebuffer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/waylandcompositors/xcomposite_share/xcompositebuffer.cpp')
-rw-r--r--src/plugins/waylandcompositors/xcomposite_share/xcompositebuffer.cpp31
1 files changed, 10 insertions, 21 deletions
diff --git a/src/plugins/waylandcompositors/xcomposite_share/xcompositebuffer.cpp b/src/plugins/waylandcompositors/xcomposite_share/xcompositebuffer.cpp
index d7196b796..0457214b4 100644
--- a/src/plugins/waylandcompositors/xcomposite_share/xcompositebuffer.cpp
+++ b/src/plugins/waylandcompositors/xcomposite_share/xcompositebuffer.cpp
@@ -40,41 +40,30 @@
#include "xcompositebuffer.h"
-QT_USE_NAMESPACE
+QT_BEGIN_NAMESPACE
XCompositeBuffer::XCompositeBuffer(Window window, const QSize &size,
struct ::wl_client *client, uint32_t id)
- : mWindow(window)
+ : QtWaylandServer::wl_buffer(client, id)
+ , mWindow(window)
, mInvertedY(false)
+ , mSize(size)
{
- base()->height = size.height();
- base()->width = size.width();
-
- base()->resource.object.id = id;
- base()->resource.object.interface = &::wl_buffer_interface;
- base()->resource.object.implementation = (void (**)(void))&buffer_interface;
- base()->resource.data = base();
- wl_client_add_resource(client, &base()->resource);
-
- base()->resource.destroy = delete_resource;
}
-struct wl_buffer_interface XCompositeBuffer::buffer_interface = {
- XCompositeBuffer::buffer_interface_destroy
-};
-
-void XCompositeBuffer::buffer_interface_destroy(wl_client *client, wl_resource *buffer)
+void XCompositeBuffer::buffer_destroy_resource(Resource *)
{
- Q_UNUSED(client);
- Q_UNUSED(buffer);
+ delete this;
}
-void XCompositeBuffer::delete_resource(struct wl_resource *resource)
+void XCompositeBuffer::buffer_destroy(Resource *resource)
{
- delete static_cast<XCompositeBuffer *>(static_cast<wl_buffer *>(resource->data));
+ wl_resource_destroy(resource->handle);
}
Window XCompositeBuffer::window()
{
return mWindow;
}
+
+QT_END_NAMESPACE