diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-05-11 12:12:42 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-05-11 14:39:49 +0200 |
commit | a161d8c2c7322cda720ec487cd31baae23f16546 (patch) | |
tree | fcf06558325f438270b03abc572fad160327f351 /vcl/inc/unx/gtk/gtkframe.hxx | |
parent | d19397ea3fe742d81251382c61608ea93a42ce74 (diff) |
gtk4: add basic scrolling support
Change-Id: Ibe492ad1589d6ffeb8e8f18958e2b9cb2f0f9761
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115397
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl/inc/unx/gtk/gtkframe.hxx')
-rw-r--r-- | vcl/inc/unx/gtk/gtkframe.hxx | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx index 4d440119a6b3..0f74ca131e3d 100644 --- a/vcl/inc/unx/gtk/gtkframe.hxx +++ b/vcl/inc/unx/gtk/gtkframe.hxx @@ -297,27 +297,39 @@ class GtkSalFrame final : public SalFrame void DrawingAreaMotion(int nEventX, int nEventY, guint32 nTime, guint nState); void DrawingAreaCrossing(SalEvent nEventType, int nEventX, int nEventY, guint32 nTime, guint nState); bool DrawingAreaKey(SalEvent nEventType, guint keyval, guint keycode, guint32 nTime, guint nState); + void DrawingAreaScroll(double delta_x, double delta_y, int nEventX, int nEventY, guint32 nTime, guint nState); #if GTK_CHECK_VERSION(4, 0, 0) static void signalMap( GtkWidget*, gpointer ); static void signalUnmap( GtkWidget*, gpointer ); + static gboolean signalDelete( GtkWidget*, gpointer ); + static void signalMotion(GtkEventControllerMotion *controller, double x, double y, gpointer); + + static gboolean signalScroll(GtkEventControllerScroll* pController, double delta_x, double delta_y, gpointer); + static void signalEnter(GtkEventControllerMotion *controller, double x, double y, gpointer); static void signalLeave(GtkEventControllerMotion *controller, gpointer); - static gboolean signalKeyPressed(GtkEventControllerKey *controller, guint keyval, guint keycode, GdkModifierType state, gpointer user_data); - static gboolean signalKeyReleased(GtkEventControllerKey *controller, guint keyval, guint keycode, GdkModifierType state, gpointer user_data); + + static gboolean signalKeyPressed(GtkEventControllerKey *controller, guint keyval, guint keycode, GdkModifierType state, gpointer); + static gboolean signalKeyReleased(GtkEventControllerKey *controller, guint keyval, guint keycode, GdkModifierType state, gpointer); #else static gboolean signalMap( GtkWidget*, GdkEvent*, gpointer ); static gboolean signalUnmap( GtkWidget*, GdkEvent*, gpointer ); + static gboolean signalDelete( GtkWidget*, GdkEvent*, gpointer ); + static gboolean signalMotion( GtkWidget*, GdkEventMotion*, gpointer ); + + static gboolean signalScroll( GtkWidget*, GdkEvent*, gpointer ); + + static gboolean signalCrossing( GtkWidget*, GdkEventCrossing*, gpointer ); + static gboolean signalKey( GtkWidget*, GdkEventKey*, gpointer ); #endif #if !GTK_CHECK_VERSION(4, 0, 0) static gboolean signalConfigure( GtkWidget*, GdkEventConfigure*, gpointer ); static gboolean signalWindowState( GtkWidget*, GdkEvent*, gpointer ); - static gboolean signalScroll( GtkWidget*, GdkEvent*, gpointer ); - static gboolean signalCrossing( GtkWidget*, GdkEventCrossing*, gpointer ); #endif static void signalDestroy( GtkWidget*, gpointer ); @@ -385,7 +397,9 @@ public: basegfx::B2IVector m_aFrameSize; DamageHandler m_aDamageHandler; std::vector<GdkEvent*> m_aPendingScrollEvents; +#if !GTK_CHECK_VERSION(4, 0, 0) Idle m_aSmoothScrollIdle; +#endif int m_nGrabLevel; bool m_bSalObjectSetPosSize; GtkSalFrame( SalFrame* pParent, SalFrameStyleFlags nStyle ); @@ -451,10 +465,10 @@ public: #if !GTK_CHECK_VERSION(4, 0, 0) void nopaint_container_resize_children(GtkContainer*); -#endif void LaunchAsyncScroll(GdkEvent const * pEvent); DECL_LINK(AsyncScroll, Timer *, void); +#endif virtual ~GtkSalFrame() override; |