William Hua
e083eb42e9
mir: fix wheel scrolling in both directions
2015-06-23 13:17:28 -04:00
William Hua
8fac1f688e
mir: emit GDK_ENTER_NOTIFY on pointer enter
2015-06-23 13:17:28 -04:00
William Hua
2374a1b50b
mir: remove non-useful logging
2015-06-23 13:17:28 -04:00
William Hua
19f66c781f
mir: don't need dummy egl surface
2015-06-23 13:17:28 -04:00
William Hua
be068607f6
mir: emit configure event on window move/resize
...
Without this, some windows don't restart the paint clock needed to
actually render the contents.
2015-06-23 13:17:27 -04:00
William Hua
9800d83a72
mir: fix build due to missing api
2015-06-23 13:17:27 -04:00
William Hua
d37f94a524
mir: keep reference on queued events
2015-06-02 15:14:27 -04:00
William Hua
f1c11740c1
mir: gdk_mir_window_impl_set_surface_type
2015-06-02 15:14:27 -04:00
William Hua
e1c958e70d
mir: Create the correct surface
2015-06-02 15:14:27 -04:00
William Hua
a57636f057
mir: Remove redundant calls
2015-06-02 15:14:27 -04:00
William Hua
aebac40d38
mir: log input events properly
2015-06-02 15:14:27 -04:00
William Hua
e6b3bae787
mir: Resolve warnings
2015-06-02 15:14:27 -04:00
William Hua
a43efc6655
mir: Update cursor position
2015-06-02 15:14:26 -04:00
William Hua
d43f5258ff
mir: Remove child window rendering hack
2015-06-02 15:14:26 -04:00
William Hua
6a51ac59f0
mir: handle generic input events
2015-05-06 10:27:03 -04:00
William Hua
ea190a339a
mir: fix build failure due to changed api
2015-04-30 12:41:33 -04:00
Fabiano Fidêncio
fea2e7bf35
gdkkeys: Add support to _get_scroll_lock_state()
...
GdkKeymap already has support for _get_num_lock_state() and
_get_caps_lock_state(). Adding _get_scroll_lock_state() would be good
for completness and some backends (Windows?) could take advantage of
this.
2015-04-27 20:07:52 -03:00
William Hua
61f3399f98
mir: Fix build failure due to changed API
...
mir_surface_set_event_handler() now takes three arguments.
2015-04-07 10:38:22 -04:00
Rico Tzschichholz
db8e6aa497
mir: Fix version annotation, the mir-backend is available since 3.16
2015-03-20 20:23:01 +01:00
Emmanuele Bassi
d066e7541e
Remove GdkGLProfile
...
The existence of OpenGL implementations that do not provide the full
core profile compatibility because of reasons beyond the technical, like
llvmpipe not implementing floating point buffers, makes the existence of
GdkGLProfile and documenting the fact that we use core profiles a bit
harder.
Since we do not have any existing profile except the default, we can
remove the GdkGLProfile and its related API from GDK and GTK+, and sweep
the whole thing under the carpet, while we wait for an extension that
lets us ask for the most compatible profile possible.
https://bugzilla.gnome.org/show_bug.cgi?id=744407
2015-02-12 17:51:31 +00:00
Emmanuele Bassi
022724aa69
gl: Drop profile for gdk_window_create_gl_context()
...
Now that we have a two-stages GL context creation sequence, we can move
the profile to a pre-realize option, like the debug and forward
compatibility bits, or the GL version to use.
2015-02-12 12:34:28 +00:00
Marco Trevisan (Treviño)
c82ad2c129
mir, gl: Ensure we use the 3.2 core profile
...
Emit an error if the profile is different.
2015-02-12 03:34:05 +01:00
Marco Trevisan (Treviño)
ce31df3238
mir: Switch GDK_GL_PROFILE_DEFAULT to mean 3_2_CORE
...
Instead of LEGACY.
2015-02-12 03:32:11 +01:00
Marco Trevisan (Treviño)
f9503ac189
mir, GL: Split GL context creation in two phases
...
Move egl_context initialization in gdk_gl_context_realize
• gdk_window_create_gl_context() creates a GdkGLContext
• gdk_gl_context_realize() creates the underlying resources
https://bugzilla.gnome.org/show_bug.cgi?id=741946
2015-02-12 03:03:18 +01:00
William Hua
0a64a4f3c0
mir: release surface before rendering parent
...
We should remove the mir and cairo surface before rendering the
transient_for, which will regenerate the cairo surface anyways.
Otherwise, we end up releasing both, when we only really want to get rid
of the mir surface.
2015-02-05 17:26:19 +01:00
William Hua
85c5f6058a
mir: don't always request mir surfaces
...
Some child window behaviour is faked by painting in the parent, so we
don't bother creating the Mir surface in that case.
2015-02-05 17:26:19 +01:00
William Hua
bee39d2251
mir: reconstruct surface if window is moved
2015-02-05 17:26:19 +01:00
William Hua
16b250f9bb
mir: stop using deprecated surface api
2015-02-05 17:26:19 +01:00
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