From bdba05a7bc741ceefadc1b7a4aafe5069fa9bdc4 Mon Sep 17 00:00:00 2001 From: Junkyeong Kim Date: Fri, 28 Aug 2020 19:34:46 +0900 Subject: [PATCH] DSWaylandCompositor: add getSurface function by wl_resource Change-Id: Ia4003f15101bcd1261f927b6497ff54fc42132fc Signed-off-by: Junkyeong Kim --- src/DSWaylandServer/DSWaylandCompositor.cpp | 13 +++++++++++++ src/DSWaylandServer/DSWaylandCompositor.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/src/DSWaylandServer/DSWaylandCompositor.cpp b/src/DSWaylandServer/DSWaylandCompositor.cpp index f09ef05..438cfd2 100644 --- a/src/DSWaylandServer/DSWaylandCompositor.cpp +++ b/src/DSWaylandServer/DSWaylandCompositor.cpp @@ -519,6 +519,19 @@ DSWaylandSurface *DSWaylandCompositor::getSurface(uint32_t id) return nullptr; } +DSWaylandSurface *DSWaylandCompositor::getSurface(struct ::wl_resource *surface) +{ + for (auto s : __surfaceList) + { + if (s->getWlResource() == surface) + { + return s.get(); + } + } + + return nullptr; +} + void DSWaylandCompositor::sendSurfaceDestroy(DSWaylandSurface *dswSurface) { for (auto s : __surfaceList) diff --git a/src/DSWaylandServer/DSWaylandCompositor.h b/src/DSWaylandServer/DSWaylandCompositor.h index b350f48..6e89344 100644 --- a/src/DSWaylandServer/DSWaylandCompositor.h +++ b/src/DSWaylandServer/DSWaylandCompositor.h @@ -30,6 +30,7 @@ #include struct wl_display; +struct wl_resource; namespace display_server { @@ -68,6 +69,7 @@ public: IDSWaylandShell *getShell(void); DSWaylandSurface *getSurface(uint32_t id); + DSWaylandSurface *getSurface(struct ::wl_resource *surface); void sendSurfaceDestroy(DSWaylandSurface *dswSurface); void regionDestroy(DSWaylandRegion *dswRegion); -- 2.7.4