[Libreoffice-commits] core.git: vcl/inc vcl/unx

Jan-Marek Glogowski (via logerrit) logerrit at kemper.freedesktop.org
Sun Jun 28 10:51:49 UTC 2020


 vcl/inc/salwtype.hxx                |   27 ++++++++++++++++-----------
 vcl/unx/generic/window/salframe.cxx |    2 +-
 2 files changed, 17 insertions(+), 12 deletions(-)

New commits:
commit c97fea54813052953fc0ff2ef0b506c372689ac8
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Sun Jun 28 02:56:52 2020 +0200
Commit:     Jan-Marek Glogowski <glogow at fbihome.de>
CommitDate: Sun Jun 28 12:51:08 2020 +0200

    VCL refactor Sal*MouseEvent structures
    
    Moves the common members of SalWheelMouseEvent and SalMouseEvent
    into a new SalAbstractMouseEvent.
    
    Change-Id: I68019a33be47b983976a38a1a5b8d15d12b4c504
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97342
    Tested-by: Jenkins
    Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>

diff --git a/vcl/inc/salwtype.hxx b/vcl/inc/salwtype.hxx
index fc8aeb4976c0..c6820fbc8cb9 100644
--- a/vcl/inc/salwtype.hxx
+++ b/vcl/inc/salwtype.hxx
@@ -88,17 +88,26 @@ enum class SalEvent {
     Gesture,
 };
 
+struct SalAbstractMouseEvent
+{
+    sal_uInt64 mnTime;  // Time in ms, when event is created
+    long mnX;           // X-Position (Pixel, TopLeft-Output)
+    long mnY;           // Y-Position (Pixel, TopLeft-Output)
+    sal_uInt16 mnCode;  // SV-Modifiercode (KEY_SHIFT|KEY_MOD1|KEY_MOD2|MOUSE_LEFT|MOUSE_MIDDLE|MOUSE_RIGHT)
+
+protected:
+    SalAbstractMouseEvent() : mnTime(0), mnX(0), mnY(0), mnCode(0) {}
+};
+
 // MOUSELEAVE must send, when the pointer leave the client area and
 // the mouse is not captured
 // MOUSEMOVE, MOUSELEAVE, MOUSEBUTTONDOWN and MOUSEBUTTONUP
 // MAC: Ctrl+Button is MOUSE_RIGHT
-struct SalMouseEvent
+struct SalMouseEvent final : public SalAbstractMouseEvent
 {
-    sal_uInt64      mnTime;         // Time in ms, when event is created
-    long            mnX;            // X-Position (Pixel, TopLeft-Output)
-    long            mnY;            // Y-Position (Pixel, TopLeft-Output)
     sal_uInt16      mnButton;       // 0-MouseMove/MouseLeave, MOUSE_LEFT, MOUSE_RIGHT, MOUSE_MIDDLE
-    sal_uInt16      mnCode;         // SV-Modifiercode (KEY_SHIFT|KEY_MOD1|KEY_MOD2|MOUSE_LEFT|MOUSE_MIDDLE|MOUSE_RIGHT)
+
+    SalMouseEvent() : mnButton(0) {}
 };
 
 // KEYINPUT and KEYUP
@@ -144,20 +153,16 @@ struct SalPaintEvent
 };
 
 #define SAL_WHEELMOUSE_EVENT_PAGESCROLL     (sal_uLong(0xFFFFFFFF))
-struct SalWheelMouseEvent
+struct SalWheelMouseEvent final : public SalAbstractMouseEvent
 {
-    sal_uInt64      mnTime;         // Time in ms, when event is created
-    long            mnX;            // X-Position (Pixel, TopLeft-Output)
-    long            mnY;            // Y-Position (Pixel, TopLeft-Output)
     long            mnDelta;        // Number of rotations
     long            mnNotchDelta;   // Number of fixed rotations
     double          mnScrollLines;  // Actual number of lines to scroll
-    sal_uInt16      mnCode;         // SV-Modifiercode (KEY_SHIFT|KEY_MOD1|KEY_MOD2|MOUSE_LEFT|MOUSE_MIDDLE|MOUSE_RIGHT)
     bool        mbHorz;         // Horizontal
     bool        mbDeltaIsPixel; // delta value is a pixel value (on touch devices)
 
     SalWheelMouseEvent()
-    : mnTime( 0 ), mnX( 0 ), mnY( 0 ), mnDelta( 0 ), mnNotchDelta( 0 ), mnScrollLines( 0 ), mnCode( 0 ), mbHorz( false ), mbDeltaIsPixel( false )
+    : mnDelta(0), mnNotchDelta(0), mnScrollLines(0), mbHorz(false), mbDeltaIsPixel(false)
     {}
 };
 
diff --git a/vcl/unx/generic/window/salframe.cxx b/vcl/unx/generic/window/salframe.cxx
index a246a975a3d5..5b24c04b9b9a 100644
--- a/vcl/unx/generic/window/salframe.cxx
+++ b/vcl/unx/generic/window/salframe.cxx
@@ -2598,7 +2598,7 @@ Bool compressWheelEvents( Display*, XEvent* event, XPointer p )
 
 bool X11SalFrame::HandleMouseEvent( XEvent *pEvent )
 {
-    SalMouseEvent       aMouseEvt = {0, 0, 0, 0, 0};
+    SalMouseEvent aMouseEvt;
     SalEvent            nEvent = SalEvent::NONE;
     bool                bClosePopups = false;
 


More information about the Libreoffice-commits mailing list