Matthias Clasen
a9809b0f67
Allow inserting newlines in css strings
...
Rename _gtk_css_print_string to strip the _ and add
an insert_newlines argument to it. Update all callers,
and make the render node serializer insert newlines.
2020-10-02 23:40:16 -04:00
Matthias Clasen
9033336a23
css: Move _gtk_css_print_string around
...
Move this to a separate header, since it is not
parser functionality, and kill the duplicate
gtkcssparserprivate.h header.
2020-10-02 23:40:16 -04:00
Benjamin Otte
d7266b25ba
Replace "gint" with "int"
2020-07-25 00:47:36 +02:00
Matthias Clasen
58ca3b05c9
css: Compare icon theme serials
...
When comparing to icon theme image values for equality,
take the serial of the icon theme at compute time into
account.
2020-04-22 19:22:41 -04:00
Matthias Clasen
7aeef71a49
css: Get the icon theme via the settings
...
We don't have a css value for it anymore, but we
still need the current icon theme to interpret
icon names.
2020-04-22 12:35:30 -04:00
Matthias Clasen
98611735ec
Stop using the -gtk-icon-theme style property
...
We want to just use the current icon theme, always.
2020-04-22 12:35:22 -04:00
Alexander Larsson
6865744034
Remove unnecessary image-missing fallbacks
...
We now always return something from icon theme lookups, so no need to
do custom fallbacks.
2020-02-06 09:50:04 +01:00
Alexander Larsson
410541f82b
Rename GtkIcon to GtkIconPaintable
2020-02-04 17:19:22 +01:00
Benjamin Otte
138de60ab2
icontheme: Remove GENERIC_FALLBACKS
...
Instead, rely on people passing fallbacks explicitly.
Alternatively, GThemedIcon provides the functionality to create
fallbacks, which is what GtkImage and the testsuite now use.
That method is slightly better, too, so the expected test results
have been updated accordingly.
2020-02-04 16:51:54 +01:00
Benjamin Otte
571021cbc1
icontheme: Pass fallbacks as optional argument to lookup_icon()
...
This way, we can remove gtk_icon_theme_choose_icon() completely.
2020-02-04 16:51:54 +01:00
Benjamin Otte
10023b5d6d
icontheme: Remove GTK_ICON_LOOKUP_USE_BUILTIN
...
It's unused.
2020-02-04 16:41:36 +01:00
Benjamin Otte
bbbe39fb44
icontheme: Make text direction a lookup argument
...
Most users were just forgetting to set the proper flags.
And flags aren't the right way to set this anyway, it was just
acceptable as a workaround during GTK3 to not break API.
2020-02-04 16:41:36 +01:00
Benjamin Otte
bfebc2b01a
icontheme: Remove gtk_icon_theme_get_default()
...
The API encouraged wrong usage - most of the users were indeed wrong.
Use the correct version instead:
gtk_icon_theme_get_for_display (gtk_widget_get_display ())
2020-02-04 16:41:36 +01:00
Alexander Larsson
27799ba4f5
Remove final references to "icon info" with just "icon"
2020-01-30 10:53:43 +01:00
Alexander Larsson
b087f9ca51
icon-theme: Drop the _for_scale() versions and always take scale
2020-01-30 10:53:43 +01:00
Alexander Larsson
e2f778602b
icon-theme: Rename GtkIconInfo to GtkIcon
2020-01-30 10:53:43 +01:00
Alexander Larsson
53c542765f
Add gtk_icon_info_snapshot_with_colors() and use instead of custom code
2020-01-29 19:06:16 +01:00
Matthias Clasen
10e4c04e61
Use style values directly
...
Replace uses of gtk_css_style_get_value with direct access,
throughout the tree. We don't replace all uses, just those
where we are dealing with a fixed property. Be careful to
handle the currentColor special case for color properties.
2020-01-29 11:07:32 +01:00
Timm Bäder
7855a98fd1
cssimageicontheme: Avoid copying colors
2020-01-24 06:08:39 +01:00
Timm Bäder
67991ed0f4
Remove GtkCssRgbaValue
...
The differenciation between a literal color value and an RGBA value
caused problems in various situations. Just treat the two the same but
don't allow access to the rgba value of a non-literal color value.
This gets rid of around 1.6k rgba values in the widget-factory.
2020-01-18 08:49:51 +01:00
Timm Bäder
71339225eb
icontheme: Remove gtk_icon_info_load_texture
...
It's the same as load_icon now.
2019-09-09 17:36:26 +02:00
Timm Bäder
6821fe0c13
icontheme: Add error argument to _load_texture
...
Loading an icon might fail.
2019-09-09 17:36:26 +02:00
Timm Bäder
6837e80d14
css: Avoid more type checks in hot paths
2019-09-09 17:36:23 +02:00
Benjamin Otte
1cd9396154
css: Review error messages
...
... and move them from _gtk_css_parser_error() to the proper new error
message.
2019-04-12 19:34:28 +02:00
Benjamin Otte
f0d2f99239
cssparser: Add gtk_css_parser_consume_string()
...
Well, just rename _gtk_css_parser_read_string() for the new semantics,
but this sounds cooler.
2019-04-12 19:34:28 +02:00
Benjamin Otte
3597f7e8b1
cssimageicontheme: Use gtk_css_parser_consume_function()
2019-04-12 19:34:28 +02:00
Benjamin Otte
73b4a62f51
snapshot: Redo debug messages
...
Instead of every snapshot function having debug messages, have an
explicit gtk_snapshot_push_debug() function that appends a debug node.
2018-04-24 04:06:58 +02:00
Matthias Clasen
8cdaaffd42
Avoid pixbufs when loading themed icons
...
We can directly get a texture from GtkIconTheme now.
2017-11-29 19:44:30 -05:00
Kjell Ahlstedt
b0d1ae4a5c
GtkCssImageIconTheme: Don't try to unref a NULL pointer
...
In gtk_css_image_icon_theme_snapshot(), don't try to unref icon_info
if it's NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=790171
2017-11-10 16:48:30 +01:00
Matthias Clasen
44a3f6bb41
css: Use a color matrix for recoloring -gtk-icontheme
...
This is the same approach we are already using in
GtkIconHelper.
2017-11-07 21:39:47 -05:00
Benjamin Otte
ca3c23662c
GskTexture => GdkTexture
...
We want this thing to replace GdkPixbuf, so it has to live in GDK.
2017-11-04 00:07:13 +01:00
Benjamin Otte
83fb7a649f
css: Merge GtkStyleProviderPrivate into GtkStyleProvider
...
This is just lots of renaming.
The interface remains private, so the public API does not change, apart
from removing the definition of the Interface object to avoid
subclassing.
2017-10-31 04:33:54 +01:00
Timm Bäder
2bab2048f9
cssimageicontheme: Cache size + texture
2017-03-31 09:50:39 +02:00
Benjamin Otte
6055028c96
snapshot: Rename append APIs
...
Instead of having gtk_snapshot_append_foo_node(), just have
gtk_snapshot_append_foo(). Nobody needs to know that this internally
uses nodes.
2017-01-13 04:46:09 +01:00
Benjamin Otte
2571036c07
gsk: Turn GskTexture into a GObject
2017-01-01 19:53:36 +01:00
Benjamin Otte
58b2c1d009
cssimage: Port a few more simple ones to snapshots
2016-12-20 18:01:10 +01:00
Matthias Clasen
1009c88186
Make -gtk-icontheme() use -gtk-icon-palette
...
This makes it possible to recolor themed icons with -gtk-icon-palette,
regardless whether they are loaded by the theme or the application.
2016-01-13 16:17:44 -05:00
Benjamin Otte
bc1b53a34c
css: Query icon theme from style, not from settings
...
No need to look at the settings when the CSS has a property for the icon
theme.
2015-12-02 03:18:26 +01:00
Benjamin Otte
da25771e58
cssvalue: Remove GtkCssDependencies
...
They are not used anymore.
2015-03-18 15:23:31 +01:00
Benjamin Otte
1116914ea0
css: Move scale to GtkStyleProviderPrivate
...
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.
2015-02-06 11:26:31 +01:00
Benjamin Otte
572f46067f
cssstyle: Rename GtkCssComputedValues => GtkCssStyle
...
This is literally just renaming of the object (and the associated source
files). No other changes are in there.
2015-01-07 14:26:46 +01:00
Matthias Clasen
d55e3b25a7
Fix various compiler warnings
...
Mostly missing declarations and missing statics.
2014-09-05 21:21:49 -04:00
Benjamin Otte
43788ba936
cssimageicontheme: Handle scale factors correctly
...
Code didn't account for the pixbuf returned being scaled.
2014-07-02 19:48:44 +02:00
Matthias Clasen
d143919527
GtkCssImageIconName: Plug a memory leak
...
valgrind was complaining that we're not freeing the icon_name.
2014-06-28 22:39:02 -04:00
Benjamin Otte
271ef198bf
cssimage: Implement symbolic coloring for -gtk-icontheme()
2014-05-16 04:13:39 +02:00
Benjamin Otte
633ec8184d
css: Add support for -gtk-icontheme("icon-name")
...
This allows using icons from the icontheme as images in CSS. The
reasoning is that this allows to give the image control about how it's
scaled (by using the icon theme's scaling method. So we can get crisp
images at different resolutions.
2014-05-14 04:28:33 +02:00