summaryrefslogtreecommitdiff
path: root/gdk
Commit message (Collapse)AuthorAgeFilesLines
* 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
* x11: Return the exact pixel coverage in get_frame_extentsAlexander Larsson2014-11-201-4/+8
| | | | | | | | | Rather than just rounding down the position *and* the size separately we correctly calculate a rectangle in scaled window coords that fully covers the real window size. This really only makes a difference when the window size/position isn't a multiple of the window scale. https://bugzilla.gnome.org/show_bug.cgi?id=739750
* x11: Keep track of the exact size in X pixels of windowsOwen W. Taylor2014-11-204-16/+53
| | | | | | | | | Keep track of the exact size of X windows in underlying pixels; we generally use the scaled size instead, but to properly handle the GL viewport for windows that aren't a multiple of window_scale, we need to know the real size. https://bugzilla.gnome.org/show_bug.cgi?id=739750
* x11: round the scaled size *up* when we get a ConfigureNotifyOwen W. Taylor2014-11-201-6/+6
| | | | | | | | | | | | Although we specify a resize increment to try and get a size that is a multiple of the window scale, maximization typically wins over the resize increment, so the window might be odd sized. Round *up* in this case, rather than down, since it's better to truncate a line or two at the bottom and right of the window rather than have a line or two that we don't know what to do with. https://bugzilla.gnome.org/show_bug.cgi?id=739750
* mir: use proper naming for mir window type checking macroMarco Trevisan (Treviño)2014-11-202-2/+2
|
* mir: add public getter for the internal MirSurfaceMarco Trevisan (Treviño)2014-11-202-0/+15
|
* mir: don't use struct MirConnection*, just the latterMarco Trevisan (Treviño)2014-11-201-1/+1
|
* mir: add OpenGL supportMarco Trevisan (Treviño)2014-11-206-68/+705
| | | | | | | 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
* mir: update surface type based on eventsMarco Trevisan (Treviño)2014-11-173-4/+16
|
* mir: fix typo in GDK_IS_WINDOW_MIR definitionMarco Trevisan (Treviño)2014-11-171-1/+1
|
* mir: invert scrolling deltaMarco Trevisan (Treviño)2014-11-171-2/+2
|
* mir: handle more surface typesMarco Trevisan (Treviño)2014-11-141-3/+10
|
* mir: fix compilation in mirscreenMarco Trevisan (Treviño)2014-11-141-1/+4
|
* gdk/gdkgl.c: Fix TypoChun-wei Fan2014-11-141-1/+1
| | | | The extra ';' actually broke builds on C89 compilers...
* mir: get/set window surface typeMarco Trevisan (Treviño)2014-11-131-4/+68
|
* mir: don't request more surface formats than the supported onesMarco Trevisan (Treviño)2014-11-131-2/+2
|
* mir: implement screen get_plug_nameMarco Trevisan (Treviño)2014-11-131-1/+40
|
* mir: clear screen objects correctlyMarco Trevisan (Treviño)2014-11-131-2/+2
|
* mir: don't crash when querying infos for an invalid monitorMarco Trevisan (Treviño)2014-11-131-7/+17
|
* mir: clear screen dataMarco Trevisan (Treviño)2014-11-131-1/+6
|
* mir: correctly get screen mm sizesMarco Trevisan (Treviño)2014-11-131-4/+29
|