Carlos Garnacho
ad05caedd3
gtkspinbutton: Use scroll event controller
2017-09-19 18:40:50 +02:00
Carlos Garnacho
9a204921ae
gtkscalebutton: Use scroll event controller
2017-09-19 18:40:50 +02:00
Carlos Garnacho
861916fd0b
gtkrange: Use scroll event controller
2017-09-19 18:40:49 +02:00
Carlos Garnacho
f3474645c4
gtkpathbar: Use scroll event controller
2017-09-19 18:40:49 +02:00
Carlos Garnacho
d0e27ba760
gtkmenu: Use scroll event controller
2017-09-19 18:40:49 +02:00
Carlos Garnacho
215c4ed419
gtkcombobox: Use scroll event controller
2017-09-19 18:40:49 +02:00
Carlos Garnacho
c3fbd58916
gtk: Add GtkEventControllerScroll
...
This is a GtkEventController implementation to handle mouse
scrolling. It handles both smooth and discrete events and
offers a way for callers to tell their preference too, so
smooth events shall be accumulated and coalesced on request.
On capable devices, it can also emit ::scroll-begin and
::scroll-end enclosing all ::scroll events for a scroll
operation.
It also has builtin kinetic scrolling capabilities, reporting
the initial velocity for both axes after ::scroll-end if
requested.
2017-09-19 18:39:03 +02:00
Carlos Garnacho
2985bf3313
gdk/x11: Avoid delivering emulated scroll events
...
We now just propagate the real event, and let the caller deal
with smooth vs discrete.
2017-09-19 18:39:03 +02:00
Carlos Garnacho
d271b135bb
gdk/wayland: Drop emission of emulated scroll events
...
A wl_pointer.frame can now only result on one scroll event
being emitted.
2017-09-19 18:39:03 +02:00
Carlos Garnacho
f2ded6a685
gtk: Change gtk_propagate_event() to propagate both ways.
...
This change is made for consistency, it doesn't make sense to expose
one-way propagation, as it can only break expectations from GTK+. This
function might be made entirely private in the future, but it still
makes sense to do this in one go for our internal usecases.
2017-09-19 18:39:03 +02:00
Carlos Garnacho
6fd905e4e1
gdk/x11: Drop motion/button events emulated from touch
...
We now always listen to touch events. Just avoid delivering both
types of events.
2017-09-19 18:39:03 +02:00
Carlos Garnacho
c02d0f3c0a
eventcontroller: Drop event_mask API
...
This is unchecked, we can remove it entirely as well.
2017-09-19 18:39:03 +02:00
Carlos Garnacho
5b9287ed77
gtkwidget: Drop pointer emulation out of touch events
...
Users of touch events are required to either use a GtkGesture, or handle
touch events themselves.
2017-09-19 18:39:03 +02:00
Carlos Garnacho
8c350459ae
gtk: Run GtkWidgetClass event signals inside a GtkEventController
...
This will allow further cleanups and optimizations in capture/target/bubble
event delivery. For simplicity, ATM every widget will receive its own
GtkEventControllerLegacy, it could be desirable to add finer control over
this in the future, so widgets that fully use event controllers for input
management can do away without this legacy piece.
2017-09-19 18:39:03 +02:00
Matthias Clasen
b350db58e0
testsuite: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
e1ea408161
tests: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
d5d0ee6f9d
examples: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
880d44aa48
widget: Give up on GdkEvent api for now
2017-09-19 18:39:03 +02:00
Matthias Clasen
0ab20b6253
treeview: Give up on GdkEvent api for now
...
There's multiple places where events are manually generated
here, this needs more thought.
2017-09-19 18:39:03 +02:00
Matthias Clasen
d0c92fba69
entry accessible: Give up on GdkEvent api for now
...
Just include gdkeventsprivate.h here for now. This may be
resolved by just dropping icon support from GtkEntry down
the road.
2017-09-19 18:39:03 +02:00
Matthias Clasen
0554f6372b
a11y: Stop listening for configure events
...
This needs to be done differently.
2017-09-19 18:39:03 +02:00
Matthias Clasen
7306f55912
Add some more GdkEvent getters
2017-09-19 18:39:03 +02:00
Matthias Clasen
25ab8f7c6b
gtk-demo: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
208a85c3fe
treev view column: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
56189fdb74
clipboard: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
efd287feb3
a11y: Use GdkEvent API in some places
...
More work needed.
2017-09-19 18:39:03 +02:00
Matthias Clasen
853602bf63
tooltip: Use GdkEvent API
...
And at the same time, reshuffle things slightly to avoid
creating synthetic events.
2017-09-19 18:39:03 +02:00
Matthias Clasen
96daf93821
text view: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
9c477951cb
text handle: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
aeaa42121f
selection: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
f43849901d
search bar: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
c7225bc8c1
scrolled window: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
7793e8f071
places view: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
5d5ae459c4
place sidebar: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
3b266de66c
path bar: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
75b16ac855
pad controller: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
ebc66eefa8
menu shell: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
d7ccf36d71
menu item: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
b99c3d33ec
im context simple: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
67489349a5
header bar: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
50701abcc3
gesture zoom: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
5430751644
gesture swipe: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
1a8f0686ca
gesture single: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
17832f9617
gesture rotate: Use GdkEvent API
2017-09-19 18:39:03 +02:00
Matthias Clasen
b5b84e6abe
gesture drag: Use GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
7d6a2a832c
gesture: Use GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
9794dc5628
window accessible: Use GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
16781c8598
widget accessible: Use GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
66d8483fdf
Add more GdkEvents API
2017-09-19 18:39:02 +02:00
Matthias Clasen
974b99694d
xim: Convert to GdkEvent API
2017-09-19 18:39:02 +02:00