| Flutter Linux Embedder |

fl_scrolling_manager.h
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef FLUTTER_SHELL_PLATFORM_LINUX_FL_SCROLLING_MANAGER_H_
6 #define FLUTTER_SHELL_PLATFORM_LINUX_FL_SCROLLING_MANAGER_H_
7
8 #include <gdk/gdk.h>
9
10 #include "flutter/shell/platform/embedder/embedder.h"
11 #include "flutter/shell/platform/linux/public/flutter_linux/fl_engine.h"
12
13 G_BEGIN_DECLS
14
15 G_DECLARE_FINAL_TYPE(FlScrollingManager,
16 fl_scrolling_manager,
17 FL,
18 SCROLLING_MANAGER,
19 GObject);
20
21 /**
22 * fl_scrolling_manager_new:
23 * @engine: an #FlEngine.
24 * @view_id: the view being managed.
25 *
26 * Create a new #FlScrollingManager.
27 *
28 * Returns: a new #FlScrollingManager.
29 */
30 FlScrollingManager* fl_scrolling_manager_new(FlEngine* engine,
31 FlutterViewId view_id);
32
33 /**
34 * fl_scrolling_manager_set_last_mouse_position:
35 * @manager: an #FlScrollingManager.
36 * @x: the mouse x-position, in window coordinates.
37 * @y: the mouse y-position, in window coordinates.
38 *
39 * Inform the scrolling manager of the mouse position.
40 * This position will be used when sending scroll pointer events.
41 */
42 void fl_scrolling_manager_set_last_mouse_position(FlScrollingManager* manager,
43 gdouble x,
44 gdouble y);
45
46 /**
47 * fl_scrolling_manager_handle_scroll_event:
48 * @manager: an #FlScrollingManager.
49 * @event: the scroll event.
50 * @scale_factor: the GTK scaling factor of the window.
51 *
52 * Inform the scrolling manager of a scroll event.
53 */
54 void fl_scrolling_manager_handle_scroll_event(FlScrollingManager* manager,
55 GdkEventScroll* event,
56 gint scale_factor);
57
58 /**
59 * fl_scrolling_manager_handle_rotation_begin:
60 * @manager: an #FlScrollingManager.
61 *
62 * Inform the scrolling manager that a rotation gesture has begun.
63 */
64 void fl_scrolling_manager_handle_rotation_begin(FlScrollingManager* manager);
65
66 /**
67 * fl_scrolling_manager_handle_rotation_update:
68 * @manager: an #FlScrollingManager.
69 * @rotation: the rotation angle, in radians.
70 *
71 * Inform the scrolling manager that a rotation gesture has updated.
72 */
73 void fl_scrolling_manager_handle_rotation_update(FlScrollingManager* manager,
74 gdouble rotation);
75
76 /**
77 * fl_scrolling_manager_handle_rotation_end:
78 * @manager: an #FlScrollingManager.
79 *
80 * Inform the scrolling manager that a rotation gesture has ended.
81 */
82 void fl_scrolling_manager_handle_rotation_end(FlScrollingManager* manager);
83
84 /**
85 * fl_scrolling_manager_handle_zoom_begin:
86 * @manager: an #FlScrollingManager.
87 *
88 * Inform the scrolling manager that a zoom gesture has begun.
89 */
90 void fl_scrolling_manager_handle_zoom_begin(FlScrollingManager* manager);
91
92 /**
93 * fl_scrolling_manager_handle_zoom_update:
94 * @manager: an #FlScrollingManager.
95 * @scale: the zoom scale.
96 *
97 * Inform the scrolling manager that a zoom gesture has updated.
98 */
99 void fl_scrolling_manager_handle_zoom_update(FlScrollingManager* manager,
100 gdouble scale);
101
102 /**
103 * fl_scrolling_manager_handle_zoom_end:
104 * @manager: an #FlScrollingManager.
105 *
106 * Inform the scrolling manager that a zoom gesture has ended.
107 */
108 void fl_scrolling_manager_handle_zoom_end(FlScrollingManager* manager);
109
110 G_END_DECLS
111
112 #endif // FLUTTER_SHELL_PLATFORM_LINUX_FL_SCROLLING_MANAGER_H_
FL
FL
Definition: fl_binary_messenger.cc:27
fl_engine.h
fl_scrolling_manager_handle_rotation_end
void fl_scrolling_manager_handle_rotation_end(FlScrollingManager *manager)
Definition: fl_scrolling_manager.cc:186
fl_scrolling_manager_handle_zoom_update
void fl_scrolling_manager_handle_zoom_update(FlScrollingManager *manager, gdouble scale)
Definition: fl_scrolling_manager.cc:220
fl_scrolling_manager_handle_rotation_begin
void fl_scrolling_manager_handle_rotation_begin(FlScrollingManager *manager)
Definition: fl_scrolling_manager.cc:153
fl_scrolling_manager_handle_scroll_event
void fl_scrolling_manager_handle_scroll_event(FlScrollingManager *manager, GdkEventScroll *event, gint scale_factor)
Definition: fl_scrolling_manager.cc:71
fl_scrolling_manager_handle_zoom_begin
void fl_scrolling_manager_handle_zoom_begin(FlScrollingManager *manager)
Definition: fl_scrolling_manager.cc:202
G_DECLARE_FINAL_TYPE
G_BEGIN_DECLS G_DECLARE_FINAL_TYPE(FlScrollingManager, fl_scrolling_manager, FL, SCROLLING_MANAGER, GObject)
fl_scrolling_manager_handle_zoom_end
void fl_scrolling_manager_handle_zoom_end(FlScrollingManager *manager)
Definition: fl_scrolling_manager.cc:235
fl_scrolling_manager_new
FlScrollingManager * fl_scrolling_manager_new(FlEngine *engine, FlutterViewId view_id)
Definition: fl_scrolling_manager.cc:47
fl_scrolling_manager_set_last_mouse_position
void fl_scrolling_manager_set_last_mouse_position(FlScrollingManager *manager, gdouble x, gdouble y)
Definition: fl_scrolling_manager.cc:63
fl_scrolling_manager_handle_rotation_update
void fl_scrolling_manager_handle_rotation_update(FlScrollingManager *manager, gdouble rotation)
Definition: fl_scrolling_manager.cc:171
view_id
G_BEGIN_DECLS FlutterViewId view_id
Definition: fl_view_accessible.h:49