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