[gtk: 8/15] kineticscrolling: Add stop function
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk: 8/15] kineticscrolling: Add stop function
- Date: Wed, 26 Jan 2022 23:37:29 +0000 (UTC)
commit 62808722d269b538809a5aabdd3341af2740a221
Author: José Expósito <jose exposito89 gmail com>
Date: Tue Jun 22 18:44:05 2021 +0200
kineticscrolling: Add stop function
Move the logic to stop kinetic scrolling to its own function and allow
to call it from the outside.
Part-of: <!3454>
gtk/gtkkineticscrolling.c | 14 +++++++++++---
gtk/gtkkineticscrollingprivate.h | 2 ++
2 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkkineticscrolling.c b/gtk/gtkkineticscrolling.c
index 87618acd7c..4eab5dcc84 100644
--- a/gtk/gtkkineticscrolling.c
+++ b/gtk/gtkkineticscrolling.c
@@ -202,9 +202,7 @@ gtk_kinetic_scrolling_tick (GtkKineticScrolling *data,
else if (fabs(data->velocity) < 1 ||
(last_time != 0.0 && fabs(data->position - last_position) < 1))
{
- data->phase = GTK_KINETIC_SCROLLING_PHASE_FINISHED;
- data->position = round(data->position);
- data->velocity = 0;
+ gtk_kinetic_scrolling_stop (data);
}
break;
}
@@ -249,3 +247,13 @@ gtk_kinetic_scrolling_tick (GtkKineticScrolling *data,
return data->phase != GTK_KINETIC_SCROLLING_PHASE_FINISHED;
}
+void
+gtk_kinetic_scrolling_stop (GtkKineticScrolling *data)
+{
+ if (data->phase == GTK_KINETIC_SCROLLING_PHASE_DECELERATING)
+ {
+ data->phase = GTK_KINETIC_SCROLLING_PHASE_FINISHED;
+ data->position = round (data->position);
+ data->velocity = 0;
+ }
+}
diff --git a/gtk/gtkkineticscrollingprivate.h b/gtk/gtkkineticscrollingprivate.h
index a531ace476..a519bd7ec0 100644
--- a/gtk/gtkkineticscrollingprivate.h
+++ b/gtk/gtkkineticscrollingprivate.h
@@ -50,6 +50,8 @@ gboolean gtk_kinetic_scrolling_tick (GtkKineticScrolling *data,
double *position,
double *velocity);
+void gtk_kinetic_scrolling_stop (GtkKineticScrolling *data);
+
G_END_DECLS
#endif /* __GTK_KINETIC_SCROLLING_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]