Commit Graph

52220 Commits

Author SHA1 Message Date
Alexander Larsson
e205ae9fc1 CellRendererPixbuf: Never store pixbufs
Rather than store the pixbufs as themselves we immediately convert
them to surfaces. In the uncommon case that a pixbuf is read back
from the renderer we generate a new one from the surface data.
2017-10-23 15:28:33 +02:00
Alexander Larsson
2b194089dd GtkImage: Drop support for storing pixbufs
This drops the pixbuf property and the pixbuf getters. We keep
gtk_image_new/set_from_pixbuf, but these are small helpers that
immediately convert to a surface, and there is no way to later get
back the pixbuf you passed in.

The from file/resource codepaths are also changed to load a surface
instead of a pixbuf.
2017-10-23 15:28:33 +02:00
Timm Bäder
7ee2ab32b8 window: Use correct destroy notify for icon list
The list contains cairo_surface_t instances now, not GdkPixbuf anymore.
2017-10-23 14:43:47 +02:00
Timm Bäder
134ba2ebf7 icontheme: Silence some compiler warnings 2017-10-23 14:23:52 +02:00
Matthias Clasen
493f5d6b18 dnd: Add more surface apis
The new function, gtk_drag_source_set_icon_surface, is for setting
a drag source icon without using GdkPixbuf.
2017-10-23 14:16:31 +02:00
Alexander Larsson
d3fc937b4d GtkWindow/GdkWindow: Finish converting icons to surfaces
There were some parts left, for instance gdk_window_set_icon_list.
2017-10-23 13:45:25 +02:00
Alexander Larsson
6f8644ad25 GtkEntry: Use surfaces, not pixbufs for bitmapped icons 2017-10-23 13:45:25 +02:00
Alexander Larsson
7a0ce9804f aboutdialog: Use set_boxed on surface
cairo_surface_t is boxed, not a GObject.
2017-10-23 13:45:25 +02:00
Matthias Clasen
dfaed90f67 inspector: show color matrix node details
Show the matrix and the offset for color matrix nodes.
2017-10-23 11:47:23 +02:00
Matthias Clasen
a072f9fc06 Use a color matrix for symbolic icons
The recoloring of symbolic icons is just a color matrix
operation.
2017-10-23 11:47:17 +02:00
Matthias Clasen
e4cdbef092 Allow passing a color matrix when rendering icons
This will be used for symbolic icons.
Update all callers.
2017-10-23 11:44:52 +02:00
Matthias Clasen
b543257e42 icon helper: Use cached textures
Use a cached texture for themed icons if we can.
Currently, we only do this for non-symbolic icons.
2017-10-23 08:07:35 +02:00
Matthias Clasen
02db8ccd89 icon theme: Add a texture cache
Return cached textures for icons. This lets us avoid duplicate
texture uploads for icons whose surfaces we already cache.
2017-10-23 08:07:35 +02:00
Matthias Clasen
6c7d9c6445 recent manager: Remove dead code
These functions are no longer used.
2017-10-23 08:07:08 +02:00
Timm Bäder
9f1716edaa testsuite: Disable vulkan tests when vulkan isn't available
They are always going to fail in that case anyway.
2017-10-23 08:02:57 +02:00
Timm Bäder
f59e5b2b31 adwaita: Remove focus outlines from textviews 2017-10-23 07:58:07 +02:00
Matthias Clasen
8eea3e2ddd window: Correct the property definition for icon
cairo surfaces are boxed types, not objects.
2017-10-23 07:39:12 +02:00
Matthias Clasen
85503a8f95 about dialog: Correct the property definition for logo
cairo surfaces are boxed types, not objects.
2017-10-23 07:38:36 +02:00
Matthias Clasen
e584a70820 Drop gtk_drag_set_icon_pixbuf from the docs too
It no longer exists.
2017-10-23 06:21:59 +02:00
Matthias Clasen
8b84df422b Drop gtk_recent_info_get_icon
We are moving away from pixbuf-based apis.
Use gtk_recent_info_get_gicon instead.
2017-10-23 06:21:59 +02:00
Matthias Clasen
b940872005 Add gtk_image_get_surface to the docs
This was missed.
2017-10-23 05:59:30 +02:00
Matthias Clasen
b775238bc4 Document new clipboard apis
These are surface-based replacements for some pixbuf apis.
2017-10-23 05:58:54 +02:00
Matthias Clasen
65408a0b0c Document new selection apis
Document the new cairo surface-based apis for GtkSelection.
2017-10-23 05:58:54 +02:00
Matthias Clasen
50006c229f Drop gtk_drag_set_icon_pixbuf
We are moving away from GdkPixbuf in the api.
Use surface-based replacements instead.
2017-10-23 05:58:54 +02:00
Matthias Clasen
b72cda47fa Use surface apis in testnotebookdnd
Stop using gtk_drag_set_icon_pixbuf.
This api is going away.
2017-10-23 05:58:54 +02:00
Matthias Clasen
89ad359628 tests: Use surface apis in testimage
Stop using gtk_drag_set_icon_pixbuf.
This api is going away.
2017-10-23 05:58:54 +02:00
Matthias Clasen
ff6698cf5f gtk-demo: Use surface apis in the clipboard demo
Stop using gtk_drag_set_icon_pixbuf.
This api is going away.
2017-10-23 05:58:54 +02:00
Matthias Clasen
a783470491 tests: Convert dnd test to surface apis
Stop using gtk_drag_set_icon_pixbuf in testdnd2.
This api is going away.
2017-10-23 05:58:54 +02:00
Matthias Clasen
27e89c69cd selection: Add another surface api
Of course, we need a getter too.
2017-10-23 05:58:54 +02:00
Alexander Larsson
a4f7d0c0e0 GtkAboutDialog: Use surfaces for logo 2017-10-22 23:03:19 +02:00
Alexander Larsson
d22c91127f gtk_image_get_surface: Add docs 2017-10-22 22:57:55 +02:00
Alexander Larsson
aa873e7709 GtkWindow: Use cairo_surface_t for icons 2017-10-22 22:57:21 +02:00
Matthias Clasen
d8a4503c53 recent chooser: Don't use pixbuf based apis
Use gtk_drag_set_icon_surface here.
2017-10-22 22:23:01 +02:00
Matthias Clasen
6c57432e79 recent manager: always return a GIcon
Make gtk_recent_info_get_gicon return a useful GIcon in
all cases.
2017-10-22 22:22:55 +02:00
Matthias Clasen
ad00108678 selection: Add surface based apis
Add gtk_selection_data_set_surface.
2017-10-22 22:22:44 +02:00
Matthias Clasen
e5ce3144e0 image: Add surface based apis
Add gtk_image_get_surface.
2017-10-22 22:22:37 +02:00
Matthias Clasen
8f6fbc9c24 clipboard: Add surface apis
Add gtk_clipboard_set_surface and gtk_clipboard_wait_for_surface.
2017-10-22 22:22:31 +02:00
Matthias Clasen
9e78fbaac4 Fix compiler warnings
I overlooked these when I recently did the render node api changes.
2017-10-21 15:17:36 +02:00
Timm Bäder
afea254526 overlay: Remove unused NULL-check 2017-10-20 15:12:28 +02:00
Timm Bäder
04c550bfb5 window: Make sure we query the window size before size-allocate'ing 2017-10-20 14:56:29 +02:00
Timm Bäder
73b52665e6 gdkevents: Remove gtk_widget_set_events mention
Doesn't exist anymore.
2017-10-20 14:56:29 +02:00
Timm Bäder
09750f9937 renderborder: Don't snapshot all-invisible borders
If all of the borders have an alpha of 0, we don't need to snapshot
anything.
2017-10-20 14:56:29 +02:00
Timm Bäder
99026d2df8 renderbackground: Minimize style lookups
Move the early returns up so we don't look up all those css values for
no reason.
2017-10-20 14:56:29 +02:00
Timm Bäder
f5b0692cfc widget: Remove outdated comment on get_allocation
The allocation passed to gtk_widget_size_allocate can be retrieved these
days, using gtk_widget_get_allocated_size.
2017-10-20 14:55:53 +02:00
Matthias Clasen
55df74a102 window: Remove dead code
GtkWindow never has a parent widget, so we never need to create
a child window for it.
2017-10-20 14:43:11 +02:00
Matthias Clasen
e474e9e274 Remove some outdated information
Render nodes don't have transformations, currently.
Only transform nodes do.
2017-10-20 13:54:01 +02:00
Matthias Clasen
771be092da docs: Add render node api 2017-10-20 13:54:01 +02:00
Matthias Clasen
b76c5abb57 Tweak transform node apis
Rename the getter to follow the peek naming scheme.

Update all callers.
2017-10-20 13:54:01 +02:00
Matthias Clasen
04f6b26205 gsk: Tweak text node apis
Rename getters to follow the peek naming pattern.

Update all callers.
2017-10-20 13:54:01 +02:00
Matthias Clasen
243bd4f0c8 gsk: Tweak cairo node apis
Rename the surface getter to peek, following other render
node getters, and make the surface-based constructor private,
since it is not something we want to encourage.

Update all callers.
2017-10-20 13:54:01 +02:00