DSWindow: send positionChanged signal when window's position is changed 34/242334/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Tue, 25 Aug 2020 06:35:41 +0000 (15:35 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Tue, 25 Aug 2020 12:39:35 +0000 (21:39 +0900)
Change-Id: Iab9cca37ffcf22c48e9380078c38dca22c616c0d

src/DSWindow/DSWindow.cpp
src/DSWindow/DSWindow.h

index 41e5288..5854b0d 100644 (file)
@@ -391,6 +391,8 @@ void DSWindow::setPosition(int x, int y)
        priv->__y = y;
 
        priv->__changedGeometry = true;
+
+       __windowPositionChangedSignal.emit(nullptr);
 }
 
 stPosition DSWindow::getPosition(void)
@@ -503,4 +505,9 @@ void DSWindow::registerCallbackWindowRaiseToTop(DSObject *slot, std::function<vo
        __windowRaiseToTopSignal.connect(slot, func);
 }
 
+void DSWindow::registerCallbackWindowPositionChanged(DSObject *slot, std::function<void(void *)> func)
+{
+       __windowPositionChangedSignal.connect(slot, func);
+}
+
 } //  namespace display_server
index 21ef2b0..627065e 100644 (file)
@@ -96,6 +96,7 @@ public:
        void registerCallbackBufferChanged(DSObject *slot, std::function<void(std::shared_ptr<IDSBuffer>)> func);
        void registerCallbackWindowDestroyed(DSObject *slot, std::function<void(void *)> func);
        void registerCallbackWindowRaiseToTop(DSObject *slot, std::function<void(void *)> func);
+       void registerCallbackWindowPositionChanged(DSObject *slot, std::function<void(void *)> func);
 
 protected:
        //virtual bool _onFocus(void);
@@ -107,6 +108,7 @@ private:
        DSSignal<std::shared_ptr<IDSBuffer>> __bufferChangedSignal;
        DSSignal<void *> __windowDestroySignal;
        DSSignal<void *> __windowRaiseToTopSignal;
+       DSSignal<void *> __windowPositionChangedSignal;
 };
 
 }