[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