| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Emit crossing events - with a new GTK_CROSSING_DROP type - like we do
for motion events. There is no more special casing for them.
Note that the gesture has not been updated yet, so some obscure behavior
may occur.
|
|
|
|
|
|
| |
We don't want to expose the GtkCrossingData struct, and manually
feeding events to event controllers is not something we want to
encourage, going forward.
|
|
|
|
|
| |
Events are refcounted structs, and we generally don't
pass these as const.
|
|
|
|
|
| |
Make it possible for event controllers to obtain
the target widget during handle_event.
|
|
|
|
|
|
| |
Pass the event propagation target explicitly down to
the event controllers. This is a step towards getting
rid of gdk_event_set_target.
|
|
|
|
|
| |
The event propagation limit should apply to crossing events
as well.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of relying on gdk's antiquated crossing events,
create a new GtkCrossingData struct that contains the
actual widgets, and a new event controller vfunc that
expects this struct. This also saves us from making sense
of X's crossing modes and details, and makes for a
generally simpler api.
The ::focus-in and ::focus-out signals of GtkEventControllerKey
have been replaced by a single ::focus-change signal that
takes GtkCrossingData as an argument. All callers have
been updated.
|
|
|
|
|
|
| |
We want to make events readonly, so stop translating
their coordinates and instead pass the translated
coordinates separately, when propagating events.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first step towards refactoring how widgets deal with event
controllers.
In the future, the widget will treat controllers the same way it treats
child widgets:
1. The controllers will be created without a widget.
2. There will be gtk_widget_add/remove_controller() functions to add
or remove controllers.
3. The widget will hold a reference to all its controllers.
This way we will ultimately be able to automate controllers with ui
files.
|
|
|
|
| |
This is unchecked, we can remove it entirely as well.
|
|
|
|
|
|
| |
It might not be entirely clear what the boolean return value means.
https://bugzilla.gnome.org/show_bug.cgi?id=770026
|
|
|
|
|
|
|
| |
This will be used right before handle_event() in order to filter
out events, useful to make the previous "no touchpad events" behavior
the default, and have gesture subclasses include manually the touchpad
events they handle.
|
|
|
|
|
| |
This will rarely have any use if no subclassing is allowed, so just make it
private for our own.
|
|
For now, at least. We do this by hiding the instance and
class structures in private headers.
|