summaryrefslogtreecommitdiff
path: root/gdk
Commit message (Collapse)AuthorAgeFilesLines
* x11: Fetch vendor/product identifiers for input devicesCarlos Garnacho2015-01-191-0/+43
| | | | | | These are retrieved from XInput device properties. https://bugzilla.gnome.org/show_bug.cgi?id=740758
* device: Add property/getters for vendor/product identifiersCarlos Garnacho2015-01-193-1/+121
| | | | | | | These are a construct only properties, expected to be filled in from platform specific code. https://bugzilla.gnome.org/show_bug.cgi?id=740758
* Fix a typo in the docsMatthias Clasen2015-01-181-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=743037
* broadway: Only use abstract sockets when they are supportedMatthias Clasen2015-01-182-6/+8
| | | | | | | | GIO has a function to check whether abstract sockets are supported, so use it. This should make broadway work on Freebsd again. https://bugzilla.gnome.org/show_bug.cgi?id=742980
* Make Broadway work on freebsdMatthias Clasen2015-01-181-2/+2
| | | | | | | | It seems that posix_fallocate gives an ENODEV error when called on an fd opened with shm_open on freebsd. Fix up the error check to only trigger if we get ENOSPC. https://bugzilla.gnome.org/show_bug.cgi?id=742980
* Remove some outdated referencesMatthias Clasen2015-01-181-9/+11
| | | | | We shouldn't recommend gtk_widget_modify_bg() or gtk_style_set_background() anymore.
* Fix event->button.y_root when using mouse buttons and dnd canceledMaks Naumov2015-01-171-1/+1
| | | | | | Signed-off-by: Maks Naumov <maksqwe1@ukr.net> https://bugzilla.gnome.org/show_bug.cgi?id=742785
* Prefer the Wayland backendMatthias Clasen2015-01-171-3/+3
| | | | | | This does not affect X11 sessions, but has the advantage that we get much more testing of the Wayland backend in Wayland sessions.
* Properly ignore BadWindow and BadDrawable in get_child_info_handler()Maks Naumov2015-01-111-1/+1
| | | | | | Signed-off-by: Maks Naumov <maksqwe1@ukr.net> https://bugzilla.gnome.org/show_bug.cgi?id=742771
* x11/gl: Do not specify the GLX context versionEmmanuele Bassi2015-01-101-6/+19
| | | | | | | | | | | | | | | | | | | | | | If we use GDK_GL_PROFILE_3_2_CORE we are asking for a core profile according to the GLX_ARB_create_context_profile extension. For that, we pass the GLX_CONTEXT_CORE_PROFILE_BIT_ARB value for the GLX_CONTEXT_PROFILE_MASK_ARB attribute. The specification for the extension says that: If the requested OpenGL version is less than 3.2, GLX_CONTEXT_PROFILE_MASK_ARB is ignored and the functionality of the context is determined solely by the requested version. Since we're asking for a core profile, we assume a GL version greater than or equal to 3.2; thus, we don't need to specify the GLX_CONTEXT_MAJOR_VERSION_ARB or the GLX_CONTEXT_MINOR_VERSION_ARB attributes, and instead just rely on whatever version GLX gives us. This seems to work around a strange issue in Mesa; if we ask for a core profile and any version > 3.0, we get broken rendering on any shared context we create.
* gdkeventsource-wayland: Fix styleJasper St. Pierre2014-12-281-2/+2
|
* mir: Add missing reference to gdkmir-private.hRico Tzschichholz2014-12-281-0/+1
|
* x11/gl: Set the correct minor versionEmmanuele Bassi2014-12-251-1/+1
| | | | | | The major version is set twice. https://bugzilla.gnome.org/show_bug.cgi?id=741954
* quartz: NSWindow NULL check in get_scale_factorPhilip Chimento2014-12-241-1/+1
| | | | | | | | | | | Sending backingScaleFactor to a NULL NSWindow will silently give the value 0 for the scale factor, causing insidious divide-by-zero bugs down the line. This checks if the NSWindow is NULL first, as seems to happen throughout the rest of the file. Note that I don't have a hi-DPI OS X machine to test this on, though. https://bugzilla.gnome.org/show_bug.cgi?id=738338
* GDK-Win32: Drop Some Unused ItemsChun-wei Fan2014-12-222-4/+0
| | | | | There were a bit of unused items from the GDK-Win32 work on GL support, so drop them.
* Don't initialize GL if it has been disabledMatthias Clasen2014-12-191-0/+3
| | | | | | | We've observed hangs of mutter when it initializes GTK+, which are caused by initializing GL, which in turn makes xwayland call back into mutter. With this change, mutter should just disable GL support in GDK, and things will work.
* Add an XSetting for the session bus IDMatthias Clasen2014-12-181-0/+1
| | | | | | | This will allow us to identify situations where we are not on the same session bus as the xsettings provider. https://bugzilla.gnome.org/show_bug.cgi?id=671802
* Add OpenGL Support for the GDK Windows BackendChun-wei Fan2014-12-178-18/+861
| | | | | | | | | | | | | | | | This adds support for OpenGL to the GDK Windows backend using the WGL API calls, which enables programs that uses the GTK+ GLArea widgets to work on Windows as well. This also adds a simple utility function to query for the version of OpenGL that is supported by the Windows system, like the one provided by the X11 backend. Many thanks to Alex (and Emmanuele, who started the OpenGL integration in GTK+) who offered advice and help along the way, as well as the X11 and Wayland backend for this work to refer to and to model upon. https://bugzilla.gnome.org/show_bug.cgi?id=740795
* gdkgl: Use vfunc For Uploading TexturesChun-wei Fan2014-12-173-5/+27
| | | | | | | | | | | | As the alignments, strides and image formats may be different across platforms, make the texture upload a vfunc to allow backends to override the GL commands for uploading textures for the software implementation for gdk_gl_texture_from_surface(), if necessary. Suggested by Alex to avoid copying non-trivial portions of code which would then add maintainenace burden. https://bugzilla.gnome.org/show_bug.cgi?id=740795
* gdk: Fix scissoring with scaled windowsAlexander Larsson2014-12-152-13/+13
| | | | | Make sure the window scale is always taken into acount when setting up the scissor regions.
* gdk_gl_texture_from_surface - fix software fallbackAlexander Larsson2014-12-151-5/+3
| | | | | | | We can't combine multiple draws into one for the software fallback, because each quad has a different texture. And we generally don't want to make a larger single texture because then we would have to upload more data.
* gdk_cairo_draw_from_gl - fix drawing with alpha on window scale > 1Alexander Larsson2014-12-151-2/+2
| | | | The scissoring needs to take into account the window scale.
* broadway: Initial SSL supportMichael Natterer2014-12-153-19/+83
| | | | | | | Use the new --cert and --key parameters to broadwayd to pass paths to cert and key files. https://bugzilla.gnome.org/show_bug.cgi?id=730364
* gdk: Emit stamp-gc-h in the correct directoryJasper St. Pierre2014-12-121-1/+1
|
* Fix some oversights with header guardsMatthias Clasen2014-12-085-15/+15
| | | | Pointed out in https://bugzilla.gnome.org/show_bug.cgi?id=741254
* gdkgl: pass the correct number of quads to gdk_gl_texture_quadsMarco Trevisan (Treviño)2014-12-021-3/+6
| | | And call it only if that's the case
* mir: don't initialize the display if the required pixel formats aren't availableMarco Trevisan (Treviño)2014-12-011-26/+48
|
* Quiet some make rulesMatthias Clasen2014-11-302-4/+4
|
* docs: Add a missing wordMatthias Clasen2014-11-281-1/+1
|
* mir: clear screen, keymap and event source when disposing dpyMarco Trevisan (Treviño)2014-11-271-2/+3
|
* x11: Handle obsolete selection requests without crashingMatthias Clasen2014-11-261-1/+1
| | | | | | | | | | | | The ICCCM says: If the specified property is None , the requestor is an obsolete client. Owners are encouraged to support these clients by using the specified target atom as the property name to be used for the reply. Lets do that, instead of crashing. https://bugzilla.gnome.org/show_bug.cgi?id=740613
* gdkdisplay-x11: Don't do extra work when simply moving the windowJasper St. Pierre2014-11-261-6/+11
| | | | | We shouldn't bother recalculating all the visible regions and wiping away the old updating areas if we're simply dragging the window around.
* Make scale=2 work againMatthias Clasen2014-11-241-2/+0
| | | | | There was a leftover HAVE_CAIRO_SURFACE_SET_DEVICE_SCALE ifdef that broke things, now that we don't use this define anymore.
* gdkgl.c: Avoid GCCism in Pointer ArithmeticChun-wei Fan2014-11-241-1/+1
| | | | | | | | NULL-plus-something could be seen by the compiler to attempt to do arithmetic with void *, which is a GCCism. Instead, do the math normally and cast the results as a void *. https://bugzilla.gnome.org/show_bug.cgi?id=740605
* wayland: Pass shadow width to the compositorCarlos Garnacho2014-11-231-15/+28
| | | | | | | | | | | | | | | | | | | | Use xdg_surface_set_window_geometry() to tell the compositor about the shadow widths, this makes some gnome-shell/mutter features (edge resistance, frames around windows in the overview, side maximization, ...) work alright with GTK+. In order to add this, some other places in gdkwindow-wayland had to gain some knowledge about margins: - xdg_surface_configure() now syncs the shadow after applying the state, and gdk_wayland_window_set_shadow_width() possibly reconfigures the window in order to preserve window geometry. This is necessary to keep shadows in sync with state/geometry changes, as this does not happen all at once. - xdg_popups relative to an xdg_surface are shown relative to buffer coordinates, so the left/top margins must be added there. https://bugzilla.gnome.org/show_bug.cgi?id=736742
* gdkinternals: Document our drawing and painting process betterJasper St. Pierre2014-11-221-5/+72
|
* gdkgl: Texture quads in one giant draw callJasper St. Pierre2014-11-221-4/+22
| | | | | | | | | | | | | This requires us to use GL_TRIANGLES and six verts per quad instead of four, which makes me think it might not be worth it on well-optimized GL drivers. However, from talking to some driver developers about it, the GL_TRIANGLES should be faster, since this means that there's one giant contiguous buffer instead of many small buffers. If we were really rendering a lot of quads, I'd use an element buffer and GL_PRIMITIVE_RESTART, but we're really not ever rendering that many quads, and the setup cost for that would just be too annoying.
* gdkgl: Use one VBO for both position and uv attributesJasper St. Pierre2014-11-222-22/+7
|
* gdkgl: Texture many quads at once for performance reasonsJasper St. Pierre2014-11-223-37/+75
| | | | | This isn't fully performant yet. To be fully performant, we'd need to do everything in one giant buffer.
* gdkglcontext-x11: Make sure to enable the scissor testJasper St. Pierre2014-11-221-0/+4
|
* gdkgl: Use a GdkTexturedQuad struct to paint quadsJasper St. Pierre2014-11-223-33/+43
| | | | We'll soon have a new function that paints multiple quads.
* gdkgl: Clean up program-manipulating codeJasper St. Pierre2014-11-222-67/+50
| | | | | Abstract the program ID and locations into a "program struct" which we then use.
* gdkwindow: Clean up whitespace slightlyJasper St. Pierre2014-11-221-1/+0
| | | | This has been bothering me for a while.
* gdkwindow: Don't pass the region to the impl when beginning a paintJasper St. Pierre2014-11-225-14/+10
| | | | | | 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.
* quartz: Don't bother storing the paint_clip_regionJasper St. Pierre2014-11-222-56/+0
| | | | It's unused.
* mir: initialize surface name with program nameMarco Trevisan (Treviño)2014-11-211-1/+1
|
* GL: Fix typo in gdk_gl_texture_from_surfaceAlexander Larsson2014-11-201-1/+1
| | | | Got a sign wrong in commit 800c712738f5666937e32d9f8cb32353513b9423
* GdkGLContext: Remove unused update vfuncAlexander Larsson2014-11-204-59/+0
| | | | | | | 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
* GL: Fix GL Y coordinate flipping to use unscaled window heightAlexander Larsson2014-11-201-12/+12
| | | | | | | | This is needed in the edge case where the X11 backend rounded the actual size, and the GL flipping really needs the correct window height to do proper Y coordinate flipping. https://bugzilla.gnome.org/show_bug.cgi?id=739750
* Add gdk_window_get_unscaled_sizeAlexander Larsson2014-11-204-1/+52
| | | | | | | | | This is required for the X backend GL integration. If the window has a height that is not a multiple of the window scale we can't properly do the y coordinate flipping that GL needs. Other backends can ignore this and use the default implementation. https://bugzilla.gnome.org/show_bug.cgi?id=739750