gtk4.git
7 years agoGskRenderer: Remove outdated documentation comment
Timm Bäder [Sat, 31 Mar 2018 11:52:19 +0000 (13:52 +0200)]
GskRenderer: Remove outdated documentation comment

All render node trees are immutable

7 years agosnapshot: Plug memory leak when collecting rounded clip nodes
Timm Bäder [Sat, 31 Mar 2018 09:41:13 +0000 (11:41 +0200)]
snapshot: Plug memory leak when collecting rounded clip nodes

7 years agogl renderer: Don't highlight cairo nodes as fallback
Timm Bäder [Fri, 30 Mar 2018 21:32:19 +0000 (23:32 +0200)]
gl renderer: Don't highlight cairo nodes as fallback

7 years agoProgressBar: Drop leftover "superimposed" mention
Daniel Boles [Sat, 31 Mar 2018 11:27:21 +0000 (12:27 +0100)]
ProgressBar: Drop leftover "superimposed" mention

This was missed from the commit that dropped other mentions to the
previous ability to superimpose text.

https://bugzilla.gnome.org/show_bug.cgi?id=748784

7 years agoappchooserwidget: search text using g_str_match_string()
Nelson Benítez León [Wed, 15 Nov 2017 14:46:31 +0000 (19:46 +0500)]
appchooserwidget: search text using g_str_match_string()

so we match on diacritics (eg. accented letters) and also
search on text tokens. As a plus we also reduce code size.

https://bugzilla.gnome.org/show_bug.cgi?id=745128

7 years agotogglebutton: Remove priv pointer
Timm Bäder [Thu, 29 Mar 2018 18:20:35 +0000 (20:20 +0200)]
togglebutton: Remove priv pointer

7 years agopopover: Remove priv pointer
Timm Bäder [Thu, 29 Mar 2018 18:15:39 +0000 (20:15 +0200)]
popover: Remove priv pointer

7 years agoshaderbuilder: Insert newlines directly after defines
Timm Bäder [Thu, 29 Mar 2018 16:16:58 +0000 (18:16 +0200)]
shaderbuilder: Insert newlines directly after defines

Instead of doing that in the loop in the last interation, we can just do
it after the loop.

7 years agogl renderer: Remover unused mask uniform
Timm Bäder [Thu, 29 Mar 2018 14:37:20 +0000 (16:37 +0200)]
gl renderer: Remover unused mask uniform

7 years agoshader builder: Remove unused members
Timm Bäder [Thu, 29 Mar 2018 14:15:40 +0000 (16:15 +0200)]
shader builder: Remove unused members

7 years agoshader builder: Reuse GString for shader code
Timm Bäder [Thu, 29 Mar 2018 14:14:18 +0000 (16:14 +0200)]
shader builder: Reuse GString for shader code

7 years agowidget: Fix snapshot condition
Timm Bäder [Thu, 29 Mar 2018 07:00:48 +0000 (09:00 +0200)]
widget: Fix snapshot condition

Of course, we only need to snapshot if both width and height > 0,
otherwise the result is invisible.

7 years agoentrybuffer: Remove priv pointer
Timm Bäder [Thu, 29 Mar 2018 06:40:46 +0000 (08:40 +0200)]
entrybuffer: Remove priv pointer

7 years agomenubar: Don't crash when cycling through menubars
Timm Bäder [Thu, 29 Mar 2018 06:32:51 +0000 (08:32 +0200)]
menubar: Don't crash when cycling through menubars

7 years agoMerge branch 'im-wayland-reset' into 'master'
Matthias Clasen [Fri, 30 Mar 2018 20:14:40 +0000 (20:14 +0000)]
Merge branch 'im-wayland-reset' into 'master'

wayland: Don't emit signals if nothing changed

See merge request GNOME/gtk!83

7 years agofishbowl: Make stats tracking work somewhat with broken X servers
Benjamin Otte [Fri, 30 Mar 2018 16:25:48 +0000 (18:25 +0200)]
fishbowl: Make stats tracking work somewhat with broken X servers

Broken X servers being the ones that don't support NET_WM_TIMINGS (ie
every WM but mutter and XWayland).

7 years agodemos: Improve frame rate tracking for fishbowl demo
Benjamin Otte [Fri, 30 Mar 2018 14:47:52 +0000 (16:47 +0200)]
demos: Improve frame rate tracking for fishbowl demo

We now properly use GdkFrameTimings and can therefor check for dropping
even a single frame in the history (of 16 frames or 1/4 of a second).
Once that happens, we immediately stop adding new items to the bowl.

A side effect is that the number of icons is now a *lot* smaller.

7 years agox11: Always request frame updates
Benjamin Otte [Fri, 30 Mar 2018 13:36:54 +0000 (15:36 +0200)]
x11: Always request frame updates

This ensures that the frame clock gets updated with correct presentation
times even if nothing was drawn.

This is necessary for benchmarking but would also be relevant for videos
that want to sync to the frame clock but draw frames a lot less.

7 years agox11: Make the frame clock work in GL and Vulkan
Benjamin Otte [Fri, 30 Mar 2018 08:43:26 +0000 (10:43 +0200)]
x11: Make the frame clock work in GL and Vulkan

7 years agothemes: Make disabled Expander arrow look disabled
Daniel Boles [Thu, 29 Mar 2018 20:23:50 +0000 (21:23 +0100)]
themes: Make disabled Expander arrow look disabled

If GtkExpander:sensitive was FALSE, the arrow still got the normal fg
colour, which made it look clickable, in contrast to the adjacent label.
Fix this by adding selectors to catch the applicable :disabled states.

Note: Needing these may indicate an oops in generic styles elsewhere,
but I couldn’t see any, so let’s just get it looking right for now.

Close https://gitlab.gnome.org/GNOME/gtk/issues/146

7 years agoemojichooser.ui: Add i18n context to all tooltips…
Daniel Boles [Thu, 29 Mar 2018 18:36:40 +0000 (19:36 +0100)]
emojichooser.ui: Add i18n context to all tooltips…

…since, unlike in gtk-3-22, it's not just Objects that already had that
here in the title labels. Thanks to Piotr for spotting this!

7 years agoUpdate POTFILES.in
Piotr Drąg [Thu, 29 Mar 2018 18:28:53 +0000 (20:28 +0200)]
Update POTFILES.in

7 years agoemojichooser.ui: Reuse headings as button tooltips
Daniel Boles [Thu, 1 Mar 2018 20:16:02 +0000 (20:16 +0000)]
emojichooser.ui: Reuse headings as button tooltips

https://bugzilla.gnome.org/show_bug.cgi?id=792632

7 years agoWidget: Fix doc of default ::keynav-failed handler
Tomasz Miąsko [Thu, 1 Feb 2018 00:00:00 +0000 (00:00 +0000)]
Widget: Fix doc of default ::keynav-failed handler

https://bugzilla.gnome.org/show_bug.cgi?id=793089

7 years agoGDK W32: the .area member of the expose event is gone
Руслан Ижбулатов [Sat, 24 Mar 2018 19:34:35 +0000 (19:34 +0000)]
GDK W32: the .area member of the expose event is gone

The .area and .count members were removed in commit 5c7ee3a483f1fc59b60da0e8fafb33681bab507d

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoGDK W32: Adapt to the window->surface change
Руслан Ижбулатов [Sat, 24 Mar 2018 19:33:14 +0000 (19:33 +0000)]
GDK W32: Adapt to the window->surface change

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoGDK W32: gdk_content_formats_builder_free{,_to_formats}
Руслан Ижбулатов [Sat, 24 Mar 2018 19:31:33 +0000 (19:31 +0000)]
GDK W32: gdk_content_formats_builder_free{,_to_formats}

The function was renamed in commit 2cbe094b919442471b54685a0fef0d6f83ce44b3

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoGDK W32: Don't use gdk_threads_add_timeout_full()
Руслан Ижбулатов [Sat, 24 Mar 2018 19:30:55 +0000 (19:30 +0000)]
GDK W32: Don't use gdk_threads_add_timeout_full()

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoGDK W32: don't use gdk_drag_find_surface() and gdk_drag_motion()
Руслан Ижбулатов [Sat, 24 Mar 2018 19:30:22 +0000 (19:30 +0000)]
GDK W32: don't use gdk_drag_find_surface() and gdk_drag_motion()

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoGDK W32: Adapt to event filter removal
Руслан Ижбулатов [Sat, 24 Mar 2018 16:39:13 +0000 (16:39 +0000)]
GDK W32: Adapt to event filter removal

Add a new W32 backend-specific message filtering mechanism.
Works roughly the same way old event filtering did, but without
events (events are GDK/X11 concept that never really made sense
on W32), so there's no functionality for 'altering' events being
emitted. If an event needs to be emitted in response to a message
do it yourself.

Implemented like this, it should give better performance than
if we were to use GLib signals for this, since W32 sends a LOT
of messages (unlike X11, which doesn't send events as often)
all the time, and invoking the signal machinery on *each* message
would probably be bad.

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoGDK W32: adapt to GdkDragProtocol removal
Руслан Ижбулатов [Sat, 24 Mar 2018 16:28:52 +0000 (16:28 +0000)]
GDK W32: adapt to GdkDragProtocol removal

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoGDK W32: Another massive clipboard and DnD update
Руслан Ижбулатов [Sat, 24 Mar 2018 16:27:11 +0000 (16:27 +0000)]
GDK W32: Another massive clipboard and DnD update

Rename GdkWin32Selection to GdkWin32Clipdrop, since GdkSelection
is mostly gone, and the word "selection" does not reflect the
functionality of this object too well.

Clipboard is now handled by a separate thread, most of the code for
it now lives in gdkclipdrop-win32.c, gdkclipboard-win32.c just uses
clipdrop as a backend.

The DnD source part is also put into a thread.
The DnD target part does not spin the main loop, it just
emits a GDK event and returns a default value if it doesn't get a reply
by the time the event is processed.

Both clipboard and DnD use a new GOutputStream subclass to get data
from GTK and put it into a HGLOBAL.

GdkWin32DragContext is split into GdkWin32DragContext and GdkWin32DropContext,
anticipating a similar change that slated to happen to GdkDragContext.

OLE2 DnD protocol is now used by default, set GDK_WIN32_OLE2_DND envvar to 0
to make GDK use the old LOCAL and DROPFILES protocols.

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoHighContrast: Honour .monospace set by GtkTextView
Daniel Boles [Thu, 29 Mar 2018 17:16:57 +0000 (18:16 +0100)]
HighContrast: Honour .monospace set by GtkTextView

Copy the line that sets a monospace family from Adwaita (same place too)

noticed at https://gitlab.gnome.org/GNOME/gtk/issues/141#note_91610

7 years agoci: Manually install Meson from PyPI
Emmanuele Bassi [Thu, 29 Mar 2018 08:48:29 +0000 (09:48 +0100)]
ci: Manually install Meson from PyPI

The Fedora base image we use for our CI doesn't always keep Meson up to
date with our requirements, so it's better if we just install Meson via
Python's pip.

7 years agoAdd an option for building examples
Emmanuele Bassi [Tue, 27 Mar 2018 12:15:21 +0000 (13:15 +0100)]
Add an option for building examples

Examples are not like demos; the latter are installed, and provide a
Flatpak manifest for CI pipelines and GNOME Builder. We should not be
using a single configure time option to gate building both.

7 years agogdkglcontext-win32.c: Fix window->surface changes
Chun-wei Fan [Wed, 28 Mar 2018 04:59:47 +0000 (12:59 +0800)]
gdkglcontext-win32.c: Fix window->surface changes

Rename the GdkSurface variables to surface, and make sure that we are
creating the context GObject correctly.

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agobuilder: Allow named objects to be used in paintable/pixbuf properties
Benjamin Otte [Thu, 22 Mar 2018 21:03:47 +0000 (22:03 +0100)]
builder: Allow named objects to be used in paintable/pixbuf properties

Instead of erroring if an object by a name already exists, use that
object.

7 years agogsk: Remove gsk_renderer_create_cairo_surface()
Benjamin Otte [Wed, 28 Mar 2018 03:17:06 +0000 (05:17 +0200)]
gsk: Remove gsk_renderer_create_cairo_surface()

It's not used anymore.

7 years agorenderer: Get rid of unused member variable
Benjamin Otte [Wed, 28 Mar 2018 13:03:04 +0000 (15:03 +0200)]
renderer: Get rid of unused member variable

7 years agoframeclockidle: Rename header so it's private now
Benjamin Otte [Wed, 28 Mar 2018 22:07:52 +0000 (00:07 +0200)]
frameclockidle: Rename header so it's private now

7 years agoframeclockidle: Remove nonexisting functions from header
Benjamin Otte [Wed, 28 Mar 2018 22:04:47 +0000 (00:04 +0200)]
frameclockidle: Remove nonexisting functions from header

7 years agovulkan: Reserve 4 images in the swapchain by default
Benjamin Otte [Thu, 29 Mar 2018 02:56:07 +0000 (04:56 +0200)]
vulkan: Reserve 4 images in the swapchain by default

With the previous approach we would spend most of the time waiting for
the swapchain to be filled again because it seems the compositor takes
care of 2 images at once from time to time.

This is not visible in profiles because waiting for a frame is a
read/poll/whatever operation that does not take CPU. It's only
noticeable because the app becomes less responsive.

7 years agoRename gtkkineticscrolling.h to gtkkineticscrollingprivate.h
Timm Bäder [Wed, 28 Mar 2018 14:47:54 +0000 (16:47 +0200)]
Rename gtkkineticscrolling.h to gtkkineticscrollingprivate.h

To match the naming scheme we use for all private header files.

7 years agoexpander: Update css docs
Timm Bäder [Wed, 28 Mar 2018 14:42:53 +0000 (16:42 +0200)]
expander: Update css docs

7 years agotestgtk: don't set a focus adjustment on a box
Timm Bäder [Wed, 28 Mar 2018 14:24:03 +0000 (16:24 +0200)]
testgtk: don't set a focus adjustment on a box

That will make the focus adjustment code in gtkcontainer.c scroll to the
wrong coordinates.

7 years agoRevert "container: Fix scroll adjustment coordinates"
Timm Bäder [Wed, 28 Mar 2018 11:05:01 +0000 (13:05 +0200)]
Revert "container: Fix scroll adjustment coordinates"

This reverts commit 7351848c75e8d6efee154fe77cbd90056ed993b5.

7 years agoexpander: Remove priv pointer
Timm Bäder [Tue, 27 Mar 2018 18:35:21 +0000 (20:35 +0200)]
expander: Remove priv pointer

7 years agobuild: Defer defining HAVE_PANGOFT and HAVE_HARFBUZZ
Chun-wei Fan [Wed, 28 Mar 2018 03:32:53 +0000 (11:32 +0800)]
build: Defer defining HAVE_PANGOFT and HAVE_HARFBUZZ

We forgot to account for the case where we lookup for HarfBuzz manually
under Visual Studio builds, so only set HAVE_HARFBUZZ (and thus
HAVE_PANGOFT, since PangoFT2 depends on HarfBuzz) after we did the
fallback check for HarfBuzz.

Also, check for hb.h instead of harfbuzz/hb.h to be inline with the
pkg-config case, as the sources also include the HarfBuzz header by
using #include <hb.h>, not #include <harfbuzz/hb.h>

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agogsk/gl: Include cairo.h consistently
Chun-wei Fan [Wed, 28 Mar 2018 03:23:43 +0000 (11:23 +0800)]
gsk/gl: Include cairo.h consistently

Follow the other sources that include cairo.h, by just doing #include
<cairo.h>, not <cairo/cairo.h>.

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agogtkimcontextime: fix to compile again
Руслан Ижбулатов [Thu, 8 Mar 2018 00:26:39 +0000 (00:26 +0000)]
gtkimcontextime: fix to compile again

This makes the code compile again, though obviously there have been
some substantial changes in how IM contexts work, so it's possible
that IME IM context doesn't work now.

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoGDK W32: remove unused client_message
Руслан Ижбулатов [Sat, 24 Mar 2018 13:03:17 +0000 (13:03 +0000)]
GDK W32: remove unused client_message

This seems to be a leftover from API that was removed in
commit c332ac207ab4cac8f4c32aa85cdf6406157340af back in 2011.
The code, as it is now, does not even make sense.

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoGDK W32: drop cursor-related GdkWin32Display functions
Руслан Ижбулатов [Sat, 24 Mar 2018 12:58:05 +0000 (12:58 +0000)]
GDK W32: drop cursor-related GdkWin32Display functions

These functions went away in commit 77bab4e027c06dff7726d96fa4e477bc11b23835

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoGDK W32: remove the use of GDK_SURFACE_STATE
Руслан Ижбулатов [Sat, 24 Mar 2018 12:56:21 +0000 (12:56 +0000)]
GDK W32: remove the use of GDK_SURFACE_STATE

GDK_WINDOW_STATE (or, after rename, GDK_SURFACE_STATE) got
removed from GDK in commit 11a946df39f29b3cc0ce902c0c3b49abede1ead4

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoGDK W32: move GdkWin32MonitorDpiType to a different header
Руслан Ижбулатов [Sat, 24 Mar 2018 12:52:25 +0000 (12:52 +0000)]
GDK W32: move GdkWin32MonitorDpiType to a different header

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoCheck for freetype2 version when PangoFT is used
Руслан Ижбулатов [Thu, 11 Jan 2018 17:49:43 +0000 (17:49 +0000)]
Check for freetype2 version when PangoFT is used

Check for freetype2 version, because pangoft works with any version
(pangoft availability does not indicate that ft2 is new enough), unlike
GTK.

On Windows, since pangoft is optional, we check for the presence of
freetype2 .pc file first after finding that we have pangoft, and then
check for FT_Get_Var_Design_Coordinates() manually by looking for the
freetype headers and .lib first, and then looking for the presence of
that symbol, since freetype2's Visual Studio build system does not
generate a .pc file for us.

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoGDK W32: _gdk_surface_invalidate_{for_expose,region}
Руслан Ижбулатов [Sat, 24 Mar 2018 19:33:41 +0000 (19:33 +0000)]
GDK W32: _gdk_surface_invalidate_{for_expose,region}

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoGDK W32: drop the use of gdk_keymap_get_default()
Руслан Ижбулатов [Thu, 11 Jan 2018 17:48:25 +0000 (17:48 +0000)]
GDK W32: drop the use of gdk_keymap_get_default()

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoOnly use gtk_print_backends_init() on UNIX
Руслан Ижбулатов [Sat, 24 Mar 2018 12:59:13 +0000 (12:59 +0000)]
Only use gtk_print_backends_init() on UNIX

It's from gtkprintbackend.c, which is in gtk_unix_print_sources
source list and thus only available on os_unix only.

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoAlternative printbackends subdir for non-UNIX OSes
Руслан Ижбулатов [Sat, 3 Mar 2018 21:57:00 +0000 (21:57 +0000)]
Alternative printbackends subdir for non-UNIX OSes

The main buildscript expects 'print_backends' list to be defined.
Since printbackends is os_unix-only, we need to define this list
ourselves for other OSes.

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agoMake wayland bits in meson.build conditional on wayland use
Руслан Ижбулатов [Sat, 3 Mar 2018 21:55:15 +0000 (21:55 +0000)]
Make wayland bits in meson.build conditional on wayland use

Otherwise the build won't configure due to its inability to find
wayland-scanner program on systems where no such program is availble.

https://bugzilla.gnome.org/show_bug.cgi?id=773299

7 years agofont chooser: Make levels flags
Matthias Clasen [Tue, 27 Mar 2018 20:10:19 +0000 (16:10 -0400)]
font chooser: Make levels flags

Turn the GtkFontChooserLevel field into flags, and
add flags for OpenType variations and features. The
motivation for this is to make font-features in the UI
opt-in, since applications need to support them by
applying the pango attribute.

7 years agofont chooser widget: Expose tweak-action as property
Matthias Clasen [Tue, 27 Mar 2018 18:50:11 +0000 (14:50 -0400)]
font chooser widget: Expose tweak-action as property

This is necessary for applications that want to embed
the font chooser widget outside of GtkFontChooserDialog,
in order to access the tweak page.

7 years agofont button: notify when ::font-features changes
Matthias Clasen [Tue, 27 Mar 2018 18:47:36 +0000 (14:47 -0400)]
font button: notify when ::font-features changes

Lack of notification was causing the font-features to not
show up in the inspector.

7 years agospinbutton: spinbuttons aren't entries anymore
Timm Bäder [Tue, 27 Mar 2018 17:09:15 +0000 (19:09 +0200)]
spinbutton: spinbuttons aren't entries anymore

Fix a code sample to reflect that.

7 years agospinbutton: Remove queue_resize call from realize
Timm Bäder [Tue, 27 Mar 2018 17:08:50 +0000 (19:08 +0200)]
spinbutton: Remove queue_resize call from realize

No reason for this to be here.

7 years agospinbutton: Fix a copy/paste bug in the docs
Timm Bäder [Tue, 27 Mar 2018 16:25:03 +0000 (18:25 +0200)]
spinbutton: Fix a copy/paste bug in the docs

7 years agogl renderer: Fix some crashes
Timm Bäder [Tue, 27 Mar 2018 11:24:14 +0000 (13:24 +0200)]
gl renderer: Fix some crashes

When the first op is a modelview or projection change.

7 years agoaccellabel: Stop saying it's a GtkLabel
Timm Bäder [Tue, 27 Mar 2018 09:04:23 +0000 (11:04 +0200)]
accellabel: Stop saying it's a GtkLabel

And clean up the includes accordingly.

7 years agoaccellabel: Remove some unnused class fields
Timm Bäder [Tue, 27 Mar 2018 08:57:36 +0000 (10:57 +0200)]
accellabel: Remove some unnused class fields

7 years agoaccellabel: Remove priv pointer
Timm Bäder [Tue, 27 Mar 2018 08:53:38 +0000 (10:53 +0200)]
accellabel: Remove priv pointer

7 years agoci: Move flatpak building to a script
Emmanuele Bassi [Tue, 27 Mar 2018 11:45:20 +0000 (12:45 +0100)]
ci: Move flatpak building to a script

The YAML is getting hard to modify, so let's use a simple script like we
do for the other CI jobs.

7 years agoDo not test for linker flags
Emmanuele Bassi [Mon, 26 Mar 2018 10:48:30 +0000 (11:48 +0100)]
Do not test for linker flags

Meson warns when doing that, as it's not really portable.

Since we're using platform-specific linker flags on Darwin, we can also
do the same on Linux; the syntax is GCC-specific, so we're going to need
Clang users to test it.

7 years agoMerge branch 'krnowak/leak-fixes' into 'master'
Benjamin Otte [Tue, 27 Mar 2018 11:37:24 +0000 (11:37 +0000)]
Merge branch 'krnowak/leak-fixes' into 'master'

Fix some leaks

See merge request GNOME/gtk!87

7 years agoFix some leaks
Krzesimir Nowak [Tue, 27 Mar 2018 11:14:41 +0000 (13:14 +0200)]
Fix some leaks

7 years agowayland: Don't emit signals if nothing changed
Matthias Clasen [Tue, 27 Mar 2018 01:38:28 +0000 (21:38 -0400)]
wayland: Don't emit signals if nothing changed

We were emitting a preedit-changed even if the preedit text did
not actually change, causing text views to scroll.

7 years agogl renderer: Rename everything called window to surface
Timm Bäder [Mon, 26 Mar 2018 19:13:52 +0000 (21:13 +0200)]
gl renderer: Rename everything called window to surface

7 years agoentry: Remove useless queue_draw call
Timm Bäder [Mon, 26 Mar 2018 17:30:40 +0000 (19:30 +0200)]
entry: Remove useless queue_draw call

This is already taken care of by the add_class/remove_class.

7 years agosnapshot: Generate better names for offset nodes
Benjamin Otte [Sat, 24 Mar 2018 22:27:43 +0000 (23:27 +0100)]
snapshot: Generate better names for offset nodes

7 years agorendernode: Fix serializing
Benjamin Otte [Mon, 26 Mar 2018 17:41:38 +0000 (19:41 +0200)]
rendernode: Fix serializing

Adding the offset node broke serialization in 2 ways:

1. We store the enum value in the node, so make sure to not change it
   for existing values
2. The offset node was missing in the deserialization lookup table

7 years agoiconhelper: Apply scale to paintable
Benjamin Otte [Mon, 26 Mar 2018 16:46:22 +0000 (18:46 +0200)]
iconhelper: Apply scale to paintable

Instead of fiddling around with scale in the iconhelper (and getting it
wrong), create a GtkScaler around the paintable that takes care of the
scaling.

7 years agodnd: Remove gtk_drag_set_icon_surface()
Benjamin Otte [Mon, 26 Mar 2018 16:32:38 +0000 (18:32 +0200)]
dnd: Remove gtk_drag_set_icon_surface()

All users are gone. Use gtk_drag_set_icon_paintable() instead.

7 years agotests: Don't use gtk_drag_set_icon_surface()
Benjamin Otte [Mon, 26 Mar 2018 16:30:34 +0000 (18:30 +0200)]
tests: Don't use gtk_drag_set_icon_surface()

7 years agotextview: Port dnd icon to be a GdkPaintable
Benjamin Otte [Mon, 26 Mar 2018 04:49:55 +0000 (06:49 +0200)]
textview: Port dnd icon to be a GdkPaintable

7 years agocolorswatch: Port drag icon to paintables
Benjamin Otte [Mon, 26 Mar 2018 04:29:06 +0000 (06:29 +0200)]
colorswatch: Port drag icon to paintables

7 years agocolorbutton: Port dnd icon to paintable
Benjamin Otte [Mon, 26 Mar 2018 04:26:34 +0000 (06:26 +0200)]
colorbutton: Port dnd icon to paintable

Patch is untested, because colorbuttons can't do DND at the moment.

7 years agotreeview: Turn drag icon into paintable
Benjamin Otte [Mon, 26 Mar 2018 04:20:56 +0000 (06:20 +0200)]
treeview: Turn drag icon into paintable

7 years agoiconview: Port DND icons to snapshot paintables
Benjamin Otte [Mon, 26 Mar 2018 03:21:18 +0000 (05:21 +0200)]
iconview: Port DND icons to snapshot paintables

7 years agotests: Remove references to long-deleted property
Benjamin Otte [Mon, 26 Mar 2018 03:09:46 +0000 (05:09 +0200)]
tests: Remove references to long-deleted property

7 years agotextutil: Make gtk_text_util_create_drag_icon() return a paintable
Benjamin Otte [Mon, 26 Mar 2018 02:38:54 +0000 (04:38 +0200)]
textutil: Make gtk_text_util_create_drag_icon() return a paintable

7 years agosnapshot: Add gtk_snapshot_to_paintable()
Benjamin Otte [Mon, 26 Mar 2018 02:37:01 +0000 (04:37 +0200)]
snapshot: Add gtk_snapshot_to_paintable()

This is intended for DND icons

7 years agosnapshot: Export gtk_snapshot_append_layout()
Benjamin Otte [Mon, 26 Mar 2018 02:23:11 +0000 (04:23 +0200)]
snapshot: Export gtk_snapshot_append_layout()

This is the equivalent snapshot function to pango_cairo_show_layout().

Not to be confused with gtk_snapshot_render_layout(), which is the
equivalent to gtk_render_layout().

7 years agosnapshot: Make gtk_snapshot_append_node() take care of offset
Benjamin Otte [Tue, 20 Mar 2018 03:33:58 +0000 (04:33 +0100)]
snapshot: Make gtk_snapshot_append_node() take care of offset

Push an offset node when append_node is called. That resets the offset.

7 years agorendernode: Add an offset node
Benjamin Otte [Tue, 20 Mar 2018 01:46:57 +0000 (02:46 +0100)]
rendernode: Add an offset node

This is a special case of the transform node that does a 2D translation.

The implementation in the Vulkan and GL renderers is crude and just does
the same as the transform node.

Nothing uses that node yet.

7 years agoUpdate Polish translation
Piotr Drąg [Sun, 25 Mar 2018 23:42:57 +0000 (01:42 +0200)]
Update Polish translation

7 years agocolorscale: Draw gradient using render nodes
Benjamin Otte [Sun, 25 Mar 2018 22:29:52 +0000 (00:29 +0200)]
colorscale: Draw gradient using render nodes

Don't use Cairo when it's not needed.

7 years agocolorscale: Draw hue background as a texture
Benjamin Otte [Sun, 25 Mar 2018 22:12:20 +0000 (00:12 +0200)]
colorscale: Draw hue background as a texture

No need to use Cairo here.

7 years agocolorplane: Create background image as a texture
Benjamin Otte [Sun, 25 Mar 2018 21:56:09 +0000 (23:56 +0200)]
colorplane: Create background image as a texture

Don't create it using Cairo.

7 years agoMerge branch 'bz773274' into 'master'
Matthias Clasen [Sun, 25 Mar 2018 20:44:44 +0000 (20:44 +0000)]
Merge branch 'bz773274' into 'master'

wayland: Don't paint if the window is unmapped

See merge request GNOME/gtk!32

7 years agocolorscale: Don't free surface data before surface
Benjamin Otte [Sun, 25 Mar 2018 20:37:09 +0000 (22:37 +0200)]
colorscale: Don't free surface data before surface

When drawing onto a recording surface, source surfaces get cached.

But if we g_free() the surface data after we're done, that cache is
gonna point at invalid data...

7 years agoGdkGLContext: Add a GL debug message callback
Timm Bäder [Sun, 25 Mar 2018 13:28:40 +0000 (15:28 +0200)]
GdkGLContext: Add a GL debug message callback

If G_ENABLE_CONSISTENCY_CHECKS is defined (i.e. if our buildtype is
'debug'), add a opengl debug callback that prints all debug messages
with a severity higher than SEVERITY_NOTIFICATION as a warning to the
console.