William Hua
5eacc92ba7
mir: fix issues with mouse over parent menu
...
Mouse over a parent menu[bar] didn't work while the menu was open.
The fix was to correct the behaviour of pointer crossing events so that
the pointer appears to be only inside one window at a time.
See: http://tronche.com/gui/x/xlib/events/window-entry-exit/normal.html
2015-02-05 17:26:19 +01:00
William Hua
6a3904cf0c
mir: add back window hierarchy functions
2015-02-05 17:26:19 +01:00
William Hua
c2afa674e2
mir: stop forwarding motion events to subwindows
2015-02-05 17:26:19 +01:00
William Hua
901bc2957d
mir: generate leave events for transient children
2015-02-05 17:26:19 +01:00
Marco Trevisan (Treviño)
737e598a17
mir: use monitor plug names more similar to the ones used in Xmir
2015-02-05 17:26:18 +01:00
Marco Trevisan (Treviño)
9a84c3e0f5
mir: only paint background if window has one
2015-02-05 17:26:18 +01:00
Marco Trevisan (Treviño)
38d46aacae
mir: use old scrolling system if we get simple integer values
2015-02-05 17:26:18 +01:00
William Hua
584cfff90a
mir: end the current grab on ungrab
2015-02-05 17:26:18 +01:00
William Hua
e843d94405
mir: only render non-top-level transients.
2015-02-05 17:26:18 +01:00
Marco Trevisan (Treviño)
9abf990656
mir: handle new MirCloseSurfaceEvent
2015-02-05 17:26:18 +01:00
William Hua
5ac5f6f81a
mir: reset cursor_inside on hide/withdraw
...
Without this, we generate incorrect crossing events for transient
windows.
2015-02-05 17:26:18 +01:00
William Hua
8e0abb4bac
mir: disable some debug output
2015-02-05 17:26:18 +01:00
William Hua
4f19be1c82
mir: skip windows that aren't visible
2015-02-05 17:26:18 +01:00
Marco Trevisan (Treviño)
05de5b02cb
mir: fix IsModifierKey definition
2015-02-05 17:26:18 +01:00
Marco Trevisan (Treviño)
345140008e
mir: check the log events env variable just once
2015-02-05 17:26:18 +01:00
Marco Trevisan (Treviño)
7e5b216511
mir: set event source device as well
2015-02-05 17:26:18 +01:00
William Hua
7c2e3a812a
mir: fix time conversion macro
2015-02-05 17:26:17 +01:00
Marco Trevisan (Treviño)
54f9263f19
mir: implement stub _gdk_mir_keymap_key_is_modifier
...
Using IsModifierKey for now
2015-02-05 17:26:17 +01:00
Marco Trevisan (Treviño)
a8b1e81816
mir: check (using simple keycode checking) if we're handling a modifier key
2015-02-05 17:26:17 +01:00
Marco Trevisan (Treviño)
9e2eb5d2f6
mir: compute the modifiers using the saved button_state on key events
2015-02-05 17:26:17 +01:00
Marco Trevisan (Treviño)
7d4066de41
mir: add a NANO_TO_MILLI conversion macro
2015-02-05 17:26:17 +01:00
Marco Trevisan (Treviño)
6b6af59b9b
mir: properly converts mir nanoseconds timestamps to milliseconds
2015-02-05 17:26:17 +01:00
Marco Trevisan (Treviño)
cb19fd50cb
mir: use actual events time
2015-02-05 17:26:17 +01:00
William Hua
948afc68f6
mir: add timestamps to generated GdkEvents
...
We need this because it fixes menu activation. The menu activation code
looks at the time between events to determine if mouse clicks happen too
quickly.
2015-02-05 17:26:17 +01:00
William Hua
f1cfd23cd2
mir: pass motion events down to transient children
2015-02-05 17:26:17 +01:00
William Hua
e2320678ae
mir: use parent_window's impl for GDK_INPUT_ONLY windows
...
Fixes a crash that occurs when the user selects text.
2015-02-05 17:26:17 +01:00
Rico Tzschichholz
07efae7288
mir: Add missing reference to gdkmir-private.h
2014-12-28 13:34:16 +01:00
Marco Trevisan (Treviño)
cf64f8a76a
mir: don't initialize the display if the required pixel formats aren't available
2014-12-01 18:05:30 +01:00
Marco Trevisan (Treviño)
b8925253b6
mir: clear screen, keymap and event source when disposing dpy
2014-11-27 19:25:55 +01:00
Jasper St. Pierre
8976e84ded
gdkwindow: Don't pass the region to the impl when beginning a paint
...
It's unused. At the same time, rename "begin_paint_region" to
"begin_paint". This will help us clean up how GDK painting works
in the future to allow more creative use of double-buffering.
2014-11-22 08:08:34 -08:00
Marco Trevisan (Treviño)
1730bb0e81
mir: initialize surface name with program name
2014-11-21 04:46:47 +01:00
Alexander Larsson
cf94da2ca1
GdkGLContext: Remove unused update vfunc
...
The update virtual function for GdkGLContext is unused and is a
leftover from a previous GL approach. Just remove it.
https://bugzilla.gnome.org/show_bug.cgi?id=739750
2014-11-20 12:38:04 +01:00
Marco Trevisan (Treviño)
f5d96f7110
mir: use proper naming for mir window type checking macro
2014-11-20 05:51:12 +01:00
Marco Trevisan (Treviño)
99d849412b
mir: add public getter for the internal MirSurface
2014-11-20 04:41:45 +01:00
Marco Trevisan (Treviño)
60e185e496
mir: don't use struct MirConnection*, just the latter
2014-11-20 04:41:06 +01:00
Marco Trevisan (Treviño)
6e9db05601
mir: add OpenGL support
...
Implement GdkGLContext using EGL and use hardware mir surfaces
when a GdkWindow uses gl rendering.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740346
2014-11-20 04:33:38 +01:00
Marco Trevisan (Treviño)
e0e46a4f6b
mir: update surface type based on events
2014-11-17 17:23:36 +01:00
Marco Trevisan (Treviño)
da8fdab87b
mir: fix typo in GDK_IS_WINDOW_MIR definition
2014-11-17 14:02:22 +01:00
Marco Trevisan (Treviño)
acfc4f8910
mir: invert scrolling delta
2014-11-17 14:02:22 +01:00
Marco Trevisan (Treviño)
f5c5e9385e
mir: handle more surface types
2014-11-14 23:19:15 +01:00
Marco Trevisan (Treviño)
8bc523ef59
mir: fix compilation in mirscreen
2014-11-14 23:19:15 +01:00
Marco Trevisan (Treviño)
c42146d88c
mir: get/set window surface type
2014-11-13 04:42:48 +01:00
Marco Trevisan (Treviño)
c7e7e35083
mir: don't request more surface formats than the supported ones
2014-11-13 03:59:29 +01:00
Marco Trevisan (Treviño)
4e4ccb76cd
mir: implement screen get_plug_name
2014-11-13 02:26:38 +01:00
Marco Trevisan (Treviño)
a77571c42e
mir: clear screen objects correctly
2014-11-13 02:19:29 +01:00
Marco Trevisan (Treviño)
0d024c2df8
mir: don't crash when querying infos for an invalid monitor
2014-11-13 02:07:46 +01:00
Marco Trevisan (Treviño)
c8826ba8c7
mir: clear screen data
2014-11-13 01:59:21 +01:00
Marco Trevisan (Treviño)
98a8c66970
mir: correctly get screen mm sizes
2014-11-13 01:47:56 +01:00
Marco Trevisan (Treviño)
c6de20496c
mir: unset config change callback on finalize
2014-11-13 01:34:10 +01:00
Marco Trevisan (Treviño)
92c2e99dda
mir: actually pass the GdkMirScreen to display config change cb
2014-11-13 01:30:10 +01:00
Ryan Lortie
ec729d0649
mir: rework cursors a bit
...
Store the cursor name on the cursor (rather than always using its type).
Use this when setting a cursor on a surface.
The mir server will fallback to using standard cursors from the cursor
theme if the name used is not one of those defined by mir, which is more
or less what we want to happen here in case of creating a cursor by
name.
2014-11-06 16:18:53 -05:00
William Hua
2fdb266c0d
mir: set cursor
2014-11-06 16:18:53 -05:00
Robert Ancell
053b65a21a
mir: Handle pointer up/down events without a button mask set (i.e. touch events)
...
The Mir backend was checking for button mask changes to generate the appropriate
GDK event. When Mir generates a touch event it has no button mask. In this case
we'll just generate a primary button event.
2014-11-06 11:15:52 +13:00
Robert Ancell
c41231cc0f
mir: Don't assert on unknown Mir events.
...
If we get a Mir event we don't understand generate a warning instead of an assert.
2014-11-05 15:50:55 +13:00
Jasper St. Pierre
887b7356c3
gdkdisplay: Provide a default event_data_copy / event_data_free
...
Every single implementation but Quartz is a no-op for this, so just
provide it once rather than in every backend.
2014-10-27 22:13:23 -07:00
Robert Ancell
0f26b26f1d
Gdk: add an experimental backend for mir
...
This is disabled by default. Enable with --enable-mir-backend.
This backend is a combined work of Robert Ancell and Ryan Lortie.
2014-10-22 11:17:15 -05:00