if (__waylandShell)
__waylandShell->registerCallbackShellSurfaceCreated(this, std::bind(&DSZone::__onShellSurfaceCreated, this, std::placeholders::_1));
}
+
+ __setSupportAuxHints();
}
DSZone::~DSZone()
DSWaylandCompositor::releaseInstance();
}
+void DSZone::__setSupportAuxHints(void)
+{
+ __supportedAuxHints.push_back("wm.policy.win.user.geometry");
+}
+
void DSZone::setPosition(stPosition &position)
{
__position.x = position.x;
*/
}
+void DSZone::addWindowAuxHint(DSWaylandSurface *dswlSurface, int32_t id, const std::string &name, const std::string &value)
+{
+ DSWindowShell *wShell = __findWindowShell(dswlSurface);
+ if (!wShell) return;
+
+ wShell->addAuxHint(id, name, value);
+}
+
+void DSZone::changeWindowAuxHint(DSWaylandSurface *dswlSurface, int32_t id, const std::string &value)
+{
+ DSWindowShell *wShell = __findWindowShell(dswlSurface);
+ if (!wShell) return;
+
+ wShell->changeAuxHint(id, value);
+}
+
+void DSZone::removeWindowAuxHint(DSWaylandSurface *dswlSurface, int32_t id)
+{
+ DSWindowShell *wShell = __findWindowShell(dswlSurface);
+ if (!wShell) return;
+
+ wShell->removeAuxHint(id);
+}
+
+std::list<std::string> DSZone::getWindowSupportedAuxHints(DSWaylandSurface *dswlSurface)
+{
+ // TODO: we have to change code to use DSPolicy instead of DSZone
+ return __supportedAuxHints;
+}
+
void DSZone::activateWindow(DSWaylandSurface *dswlSurface)
{
if (!dswlSurface) return;
bool setWindowGeometry(DSWaylandSurface *dswSurface, int x, int y, unsigned int w, unsigned h);
bool setWindowPosition(DSWaylandSurface *dswSurface, int x, int y);
+ void addWindowAuxHint(DSWaylandSurface *dswlSurface, int32_t id, const std::string &name, const std::string &value);
+ void changeWindowAuxHint(DSWaylandSurface *dswlSurface, int32_t id, const std::string &value);
+ void removeWindowAuxHint(DSWaylandSurface *dswlSurface, int32_t id);
+ std::list<std::string> getWindowSupportedAuxHints(DSWaylandSurface *dswlSurface);
+
void activateWindow(DSWaylandSurface *dswlSurface);
void raiseWindow(DSWaylandSurface* dswlSurface);
void lowerWindow(DSWaylandSurface* dswlSurface);
std::shared_ptr<DSWindow> __findWindow(DSWaylandSurface *dswlSurface);
DSWindowShell* __findWindowShell(DSWaylandSurface *dswlSurface);
+ void __setSupportAuxHints(void);
+
stPosition __position;
stSize __size;
std::list<std::shared_ptr<DSWindow>> __windowList;
bool __stackChanged;
std::map<DSWaylandSurface*, DSWindowShell*> __windowShellMap;
+ std::list<std::string> __supportedAuxHints;
// signals
DSSignal<std::shared_ptr<DSWindow>> __windowCreatedSignal;