diff options
author | Jørgen Lind <jorgen.lind@theqtcompany.com> | 2015-05-08 14:55:14 +0200 |
---|---|---|
committer | Jørgen Lind <jorgen.lind@theqtcompany.com> | 2015-08-28 13:09:42 +0200 |
commit | d1359f8b0c2b8fcffc2112d2e29d530ac1ab7c9a (patch) | |
tree | 0f7fdee380c657914065230d522f91a89563088e /src/compositor/extensions/qwlextendedsurface.cpp | |
parent | 85b1d4e6524504321fa769457eea5fb3b7e62e7e (diff) |
Improve QWaylandExtension
By using curiously recurring template pattern we can generate a getter
which is very convenient, and all QWaylandExtensions should have this
casting operation
Change-Id: Idb5a786655f2e106cf5388b11ed71e8b6ddddec0
Diffstat (limited to 'src/compositor/extensions/qwlextendedsurface.cpp')
-rw-r--r-- | src/compositor/extensions/qwlextendedsurface.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/compositor/extensions/qwlextendedsurface.cpp b/src/compositor/extensions/qwlextendedsurface.cpp index 42c100531..c9aae421a 100644 --- a/src/compositor/extensions/qwlextendedsurface.cpp +++ b/src/compositor/extensions/qwlextendedsurface.cpp @@ -44,7 +44,7 @@ QT_BEGIN_NAMESPACE namespace QtWayland { SurfaceExtensionGlobal::SurfaceExtensionGlobal(Compositor *compositor) - : QWaylandExtension(compositor->waylandCompositor()) + : QWaylandExtensionTemplate(compositor->waylandCompositor()) , QtWaylandServer::qt_surface_extension(compositor->wl_display(), 1) { } @@ -57,13 +57,8 @@ void SurfaceExtensionGlobal::surface_extension_get_extended_surface(Resource *re new ExtendedSurface(resource->client(),id, wl_resource_get_version(resource->handle), surface); } -ExtendedSurface *ExtendedSurface::get(QWaylandSurface *surface) -{ - return static_cast<ExtendedSurface *>(surface->extension(qt_extended_surface::name())); -} - ExtendedSurface::ExtendedSurface(struct wl_client *client, uint32_t id, int version, Surface *surface) - : QWaylandExtension(surface->waylandSurface()) + : QWaylandExtensionTemplate(surface->waylandSurface()) , QtWaylandServer::qt_extended_surface(client, id, version) , m_surface(surface) , m_windowFlags(0) |