DSSeat: set winX/winY before sending event(s) to touch/pointer 60/242760/1
authorSung-Jin Park <sj76.park@samsung.com>
Fri, 28 Aug 2020 04:23:37 +0000 (13:23 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Tue, 1 Sep 2020 01:29:22 +0000 (10:29 +0900)
Change-Id: I1254f9f1070118317d0007fa117381e9e3f34a31
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
src/DSSeat/DSSeat.cpp

index 0030478..599d32b 100644 (file)
@@ -425,7 +425,19 @@ void DSSeat::__onPointerEvent(DSInputMouseEvent *ev)
 
                        //set the window as pointer focus window
                        if (window)
+                       {
+                               int winX;
+                               int winY;
+                               stPosition pos;
+
+                               pos = window->getPosition();
+                               winX = ev->getX() - pos.x;
+                               winY = ev->getY() - pos.y;
+                               ev->setWinX(winX);
+                               ev->setWinY(winY);
+
                                __pointer->setFocus(window);
+                       }
 
                        //send pointer enter to the new pointer focus window
                        std::shared_ptr evMouseIn = std::make_shared<DSInputMouseEvent>(ev->getDevice(), DSInputEvent::MouseInEvent, ev->getTimestamp(), ev->getButton(), 0, 0, 0);
@@ -454,7 +466,19 @@ void DSSeat::__onTouchEvent(DSInputTouchEvent *ev)
 
                //set the window as touch focus window
                if (window)
+               {
+                       int winX;
+                       int winY;
+                       stPosition pos;
+
+                       pos = window->getPosition();
+                       winX = ev->getX() - pos.x;
+                       winY = ev->getY() - pos.y;
+                       ev->setWinX(winX);
+                       ev->setWinY(winY);
+
                        __touch->setFocus(window);
+               }
 
                //TODO : emit touch focus changed signal
        }