summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* glarea: Do not use extension APIEmmanuele Bassi2015-02-091-5/+5
| | | | | | | We are using GL contexts with Core GL profiles, so we need to use the proper API, not the one provided by extensions. https://bugzilla.gnome.org/show_bug.cgi?id=741946
* gl: Do not use the extension API for core GLEmmanuele Bassi2015-02-091-1/+1
| | | | | | | Since we are using a Core GL profile, we need to drop the extension-based API. https://bugzilla.gnome.org/show_bug.cgi?id=741946
* gl: Drop OpenGL legacy profileEmmanuele Bassi2015-02-094-34/+18
| | | | | | | | | | | | | We simply don't want to care about legacy OpenGL. All supported platforms also have support for OpenGL ≥ 3.2; it would complicate the internal code; and would force us to use legacy GL contexts internally if the first context created by the user is a legacy GL context, and disable creation of core-3.2 contexts after that. We will need to fix all our code examples to use the Core 3.2 profile. https://bugzilla.gnome.org/show_bug.cgi?id=741946
* gl: Move getters for context options to the public APIEmmanuele Bassi2015-02-093-8/+21
| | | | | | They can be useful for third party code as well. https://bugzilla.gnome.org/show_bug.cgi?id=741946
* Switch GDK_GL_PROFILE_DEFAULT to mean 3_2_COREEmmanuele Bassi2015-02-093-4/+3
| | | | | | Instead of LEGACY. https://bugzilla.gnome.org/show_bug.cgi?id=741946
* win32/gl: Use the GdkGLContext optionsChun-wei Fan2015-02-091-11/+52
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=741946
* GDK-Win32: Split GL context creation in two phasesChun-wei Fan2015-02-092-33/+66
| | | | | | | | Like what is being done in the X11 and Wayland backends, create the GdkWin32GLContext in 2 steps, where we only create the actual WGL context in _gdk_win32_gl_context_realize(). https://bugzilla.gnome.org/show_bug.cgi?id=741946
* wayland/gl: Use the GdkGLContext optionsEmmanuele Bassi2015-02-091-1/+21
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=741946
* x11/gl: Use the GdkGLContext optionsEmmanuele Bassi2015-02-091-27/+41
| | | | | | | When creating an OpenGL context using the glXCreateContextAttribs() function. https://bugzilla.gnome.org/show_bug.cgi?id=741946
* gl: Add context optionsEmmanuele Bassi2015-02-093-7/+208
| | | | | | | | | | | | | | | | | | | | Users of the GdkGLContext API should be allowed to set properties on the shim GdkGLContext instance prior to realization, so that the backend-specific implementation can use the value of those properties when creating the windowing system specific resources. The main three options are: • a major/minor version tuple, to request a specific GL version • a debug bit, to request a "debug context", which provides additional validation and run time checking • a forward compatibility bit, to request a context that does not have deprecated functionality See also: - https://www.opengl.org/registry/specs/ARB/glx_create_context.txt https://bugzilla.gnome.org/show_bug.cgi?id=741946
* GL: Split GL context creation in two phasesEmmanuele Bassi2015-02-099-225/+363
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the major requests by OpenGL users has been the ability to specify settings when creating a GL context, like the version to use or whether the debug support should be enabled. We have a couple of requirements in terms of API: • avoid, if at all possible, the "C arrays of integers with attribute, value pairs", which are hard to write and hard to bind in non-C languages. • allow failing in a recoverable way. • do not make the GL context creation API a mess of arguments. Looking at prior art, it seems that a common pattern is to split the construction phase in two: • a first phase that creates a GL context wrapper object and does preliminary checks on the environment. • a second phase that creates the backend-specific GL object. We adopted a similar pattern: • gdk_window_create_gl_context() creates a GdkGLContext • gdk_gl_context_realize() creates the underlying resources Calling gdk_gl_context_make_current() also realizes the context, so simple GL users do not need to care. Advanced users will want to call gdk_window_create_gl_context(), set up the optional requirements, and then call gdk_gl_context_realize(). If either of these two steps fails, it's possible to recover by changing the requirements, or simply creating a new GdkGLContext instance. https://bugzilla.gnome.org/show_bug.cgi?id=741946
* Updated Russian translationStas Solovey2015-02-081-110/+130
|
* Updated Norwegian bokmål translationKjartan Maraas2015-02-081-457/+480
|
* Updated POTFILES.skipPiotr Drąg2015-02-072-0/+4
|
* css: Move scale to GtkStyleProviderPrivatewip/mir2Benjamin Otte2015-02-0644-215/+177
| | | | | | This way, we can remove it as a separate argument from gtk_css_value_compute() and allow computation to only depend on one thing: the style provider.
* settings: Provide a default style cascade per scaleBenjamin Otte2015-02-063-31/+65
| | | | | | | | | | | | | | | | | | | | This guarantees we only create 1 extra style cascade in total for hidpi and not one per style context. Style cascades are now nested like this: GtkSettings root cascade (scale == 1) | +-- GtkSettings per scale cascade (for any scale, no custom providers) | +-- GtkStyleContext custom cascade (for any scale, custom providers) This requires a bunch of care when changing cascade-related properties inside GtkStyleContext, so that it ends up with a properly setup cascade, but I think I got those cases right. The only thing we don't do yet is reverting to a GtkSettings cascade when the last custom provider is removed from a custom cascade.
* stylecontext: Store the scale value in the cascadeBenjamin Otte2015-02-063-9/+47
| | | | This is in preparation for the next commits.
* gdkglcontext-win32.h: Clean Up a BitChun-wei Fan2015-02-061-7/+0
| | | | | We don't have a Win32-specific ->upload_texture() anymore, so don't indicate so. Left out this part from my previous commit.
* GDK-Win32: Drop Win32-specific ->upload_texture()Chun-wei Fan2015-02-061-17/+0
| | | | | | | The default ->upload_texture() works also for Windows since commit 27cf0fa, as some of the problems described in 742953 also applied for GL core contexts on Windows as well before 27cf0fa. Clean up the GDK-Win32 code a little bit as a result.
* treeview: Fix copy/paste bugBenjamin Otte2015-02-061-1/+1
| | | | Introduced in 7eecb16404b9fdcd1377e1a159f5e94f079e24b7
* css: Add -gtk-dpi CSS property hackBenjamin Otte2015-02-054-3/+37
| | | | | | | | | | | | | | | This property is necessary to ensure widgets automatically update after the text scale factor is changed desktop-wide. And if I'm already doing a property like this, I can make it overridable. So now you can override the dpi per-widget with CSS like GtkSwitch { -gtk-dpi: 48; } if you want to debug things. Long-term, we want to get rid of this property and insist on dpi being 96 everywhere and people can change the font size to get larger fonts.
* treeview: Don't create an overly large pixel cacheBenjamin Otte2015-02-054-2/+104
| | | | | | | | | | GPUs generally have problems when you create a 35000px wide surface. Luckily X catches this and sends a BadAlloc. Which GTK immediately abort()s on. Testcase included. https://bugzilla.redhat.com/show_bug.cgi?id=1163579
* blur: Simplify return_if_fail()Benjamin Otte2015-02-051-4/+1
|
* mir: release surface before rendering parentWilliam Hua2015-02-051-4/+3
| | | | | | | 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.
* mir: don't always request mir surfacesWilliam Hua2015-02-051-10/+10
| | | | | Some child window behaviour is faked by painting in the parent, so we don't bother creating the Mir surface in that case.
* mir: reconstruct surface if window is movedWilliam Hua2015-02-051-7/+10
|
* mir: stop using deprecated surface apiWilliam Hua2015-02-051-10/+11
|
* mir: fix issues with mouse over parent menuWilliam Hua2015-02-053-28/+130
| | | | | | | | 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
* mir: add back window hierarchy functionsWilliam Hua2015-02-051-0/+43
|
* mir: stop forwarding motion events to subwindowsWilliam Hua2015-02-053-136/+0
|
* mir: generate leave events for transient childrenWilliam Hua2015-02-053-0/+65
|
* mir: use monitor plug names more similar to the ones used in XmirMarco Trevisan (Treviño)2015-02-051-13/+9
|
* mir: only paint background if window has oneMarco Trevisan (Treviño)2015-02-051-6/+6
|
* mir: use old scrolling system if we get simple integer valuesMarco Trevisan (Treviño)2015-02-051-3/+15
|
* mir: end the current grab on ungrabWilliam Hua2015-02-051-0/+6
|
* mir: only render non-top-level transients.William Hua2015-02-051-10/+20
|
* mir: handle new MirCloseSurfaceEventMarco Trevisan (Treviño)2015-02-052-0/+21
|
* mir: reset cursor_inside on hide/withdrawWilliam Hua2015-02-051-0/+2
| | | | | Without this, we generate incorrect crossing events for transient windows.
* mir: disable some debug outputWilliam Hua2015-02-051-3/+5
|
* mir: skip windows that aren't visibleWilliam Hua2015-02-053-12/+15
|
* mir: fix IsModifierKey definitionMarco Trevisan (Treviño)2015-02-051-4/+4
|
* mir: check the log events env variable just onceMarco Trevisan (Treviño)2015-02-051-3/+5
|
* mir: set event source device as wellMarco Trevisan (Treviño)2015-02-051-0/+1
|
* mir: fix time conversion macroWilliam Hua2015-02-051-1/+1
|
* mir: implement stub _gdk_mir_keymap_key_is_modifierMarco Trevisan (Treviño)2015-02-053-5/+22
| | | | Using IsModifierKey for now
* mir: check (using simple keycode checking) if we're handling a modifier keyMarco Trevisan (Treviño)2015-02-051-12/+2
|
* mir: compute the modifiers using the saved button_state on key eventsMarco Trevisan (Treviño)2015-02-051-1/+4
|
* mir: add a NANO_TO_MILLI conversion macroMarco Trevisan (Treviño)2015-02-051-2/+4
|
* mir: properly converts mir nanoseconds timestamps to millisecondsMarco Trevisan (Treviño)2015-02-051-20/+20
|
* mir: use actual events timeMarco Trevisan (Treviño)2015-02-051-18/+21
|