__waylandCompositor->registerCallbackSurfaceCreated(this, std::bind(&DSZone::__onSurfaceCreated, this, std::placeholders::_1));
__waylandShell = __waylandCompositor->getShell();
+ if (__waylandShell)
+ __waylandShell->registerCallbackShellSurfaceCreated(this, std::bind(&DSZone::__onShellSurfaceCreated, this, std::placeholders::_1));
}
DSZone::~DSZone()
std::shared_ptr<DSWindowShell> shell = __createWindowShell(window);
}
+void DSZone::__onShellSurfaceCreated(IDSWaylandShellSurface *waylandShellSurface)
+{
+ DSLOG_DBG("DSZone", "waylandShellSurface:(pure:%p)", waylandShellSurface);
+
+ if (waylandShellSurface)
+ {
+ struct ::wl_resource *wlSurface = waylandShellSurface->getWlSurface();
+ DSLOG_DBG("DSZone", "get wl_surface:%p", wlSurface);
+ }
+}
+
// for Test
void DSZone::callCallbackWindowShellCreated()
{
class DSWaylandSurface;
class DSWaylandZxdgSurfaceV6;
class IDSWaylandShell;
+class IDSWaylandShellSurface;
class DSZone : public DSObject
{
private:
void __onSurfaceCreated(std::shared_ptr<DSWaylandSurface> waylandSurface);
+ void __onShellSurfaceCreated(IDSWaylandShellSurface *waylandShellSurface);
std::shared_ptr<DSWindow> __createWindow(std::shared_ptr<DSWaylandSurface> waylandSurface);
std::shared_ptr<DSWindowShell> __createWindowShell(std::shared_ptr<DSWindow> window);
std::shared_ptr<DSWindow> __findWindow(DSWaylandSurface *dswlSurface);