5c3d176c00 
					 
					
						
						
							
							css: Avoid an uninitialized GValue  
						
						... 
						
						
						
						One of the confusing aspects of GOBject. When we say
'an uninitialized GValue', we mean one that is declared
via GValue v = G_VALUE_INIT;
Fixes : #6655  
						
						
					 
					
						2024-04-24 07:24:27 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1efb72210d 
					 
					
						
						
							
							Fix crash in parse_border()  
						
						... 
						
						
						
						The bug was introduced in commit:
	9b7640b8Fixes : #751  
						
						
					 
					
						2019-11-23 18:06:31 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						bdb96507bd 
					 
					
						
						
							
							CSS: Handle unknown resolution  
						
						... 
						
						
						
						gdk_screen_get_resolution() can return -1 when the resolution is
unknown. Catch that case and use the default resolution of 96, like in
every other case.
Fixes  #2119  
						
						
					 
					
						2019-09-24 22:39:38 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4f9ea5e54b 
					 
					
						
						
							
							css: Use multiple font-family values  
						
						... 
						
						
						
						Pango API to support this, so we can implement
this very easily.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1854  
						
						
					 
					
						2019-05-03 16:38:13 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6ff326a82f 
					 
					
						
						
							
							css: Add a workaround for gtk_widget_override_font()  
						
						... 
						
						
						
						The problem here is that the CSS machinery expects font sizes to be in
pixels, but gtk_widget_override_font() provides a value in point and the
CSS machinery has no ability to query the DPI and convert.
This patch changes the dconversion DPI we use from a hardcoded 96 to the
default screen's DPI, which should work better than before.
This will of course not listen to changes in the default screen's DPI,
but that shouldn't be a problem.
People who want to workaround this should use gtk_widget_override_font()
with a font that has an absolute size set via
pango_font_description_set_absolute_size (size * PANGO_SCALE *
                                          gdk_screen_get_resolution (screen));
https://bugzilla.gnome.org/show_bug.cgi?id=774248  
						
						
					 
					
						2018-02-05 18:49:10 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5ccc0e40f5 
					 
					
						
						
							
							css: Fix case where we didn't convert pt => px  
						
						... 
						
						
						
						Fixes gtk_widget_override_font() not behaving properly since commit
df08fc91bdhttps://bugzilla.gnome.org/show_bug.cgi?id=768902  
						
						
					 
					
						2016-07-28 11:42:54 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2603011ea0 
					 
					
						
						
							
							Fix a typo  
						
						... 
						
						
						
						We don't want to parse a weight twice, but a weight and a stretch. 
						
						
					 
					
						2016-04-18 14:38:12 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						68ce676498 
					 
					
						
						
							
							Add backwards compat back  
						
						... 
						
						
						
						Apparently, there's lots of font: "pango font description" out there,
so keep parsing this, with a deprecation warning. 
						
						
					 
					
						2016-04-18 14:09:41 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						dcd20e17e5 
					 
					
						
						
							
							Fix parsing of the font: shorthand  
						
						... 
						
						
						
						Our code here was just throwing it at PangoFontDescription.
Fix this by parsing the various components ourselves. 
						
						
					 
					
						2016-04-18 11:46:58 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						df08fc91bd 
					 
					
						
						
							
							css: always get default font size in pixels  
						
						... 
						
						
						
						Fixes a couple bugs...
 - Pixel font sizes in css would render as point sizes.
 - For em font sizes, where the parent size was set and not default, we would
   incorrectly convert a pixel value from points to pixels.
We'll always grab the default font size in pixels so we don't keep confusing
things.
Worth noting that gtk css font-size will still behave differently than the
web. Pango interprets font-size differently. 
						
						
					 
					
						2016-04-12 16:58:55 -07:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a52ecd2be6 
					 
					
						
						
							
							css: Add gtk_css_number_value_can_parse()  
						
						... 
						
						
						
						Use it instead of _gtk_css_parser_has_number().
We need that once we introduce calc() support. 
						
						
					 
					
						2016-02-13 04:49:08 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e2d966eda5 
					 
					
						
						
							
							cssnumbervalue: Remove gtk_css_number_value_get_unit()  
						
						... 
						
						
						
						This is in preparation for calc(), as calc(50% - 5px) is valid CSS
but has 2 units. Instead, add a function to query a value's dimension
(so we can differentiate lengths from numbers) and add a function to
query if the value contains percentages. 
						
						
					 
					
						2016-02-13 04:49:07 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6b497bcf81 
					 
					
						
						
							
							Trivial changes  
						
						
						
						
					 
					
						2015-12-22 22:29:22 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f61b7ba797 
					 
					
						
						
							
							Prefix outline radius CSS properties  
						
						... 
						
						
						
						These are not in any CSS specifications, so mark them as GTK+
additions by giving them a -gtk prefix. The old names still work. 
						
						
					 
					
						2015-12-22 16:18:10 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1eb1481bdf 
					 
					
						
						
							
							css: support text-decoration-style  
						
						... 
						
						
						
						The support is limited to underline single, double and wavy, which
is what pango has today. 
						
						
					 
					
						2015-07-06 20:06:20 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						180a378a07 
					 
					
						
						
							
							css: add shorthand text-decoration property  
						
						... 
						
						
						
						Note that for now we take into account only text-decoration-line
and text-decoration-color 
						
						
					 
					
						2015-07-06 00:04:06 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						385e6beafe 
					 
					
						
						
							
							Fix the build  
						
						... 
						
						
						
						Some forgotten include path adjustments. 
						
						
					 
					
						2014-10-24 16:12:33 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5ad60caa3c 
					 
					
						
						
							
							css: Implement font-stretch  
						
						... 
						
						
						
						The font-stretch CSS property is defined in the Level 3 CSS Fonts
module, available at:
  http://dev.w3.org/csswg/css-fonts/#propdef-font-stretch 
It allows defining a normal, condensed, or expanded face to the font
description. Pango already supports it, so this is literally just the
CSS parser machinery needed to bridge our CSS to the FontDescription
API.
https://bugzilla.gnome.org/show_bug.cgi?id=735593  
						
						
					 
					
						2014-08-28 13:41:40 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d6e9997619 
					 
					
						
						
							
							css: Fail animation shorthand parsing properly  
						
						... 
						
						
						
						When a number is not a nubmer, don't just crash, exit properly with an
error code.
See attached testcase for an example. 
						
						
					 
					
						2014-07-31 10:03:19 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5f5d3a9d82 
					 
					
						
						
							
							css: Don't infloop when parsing broken borders  
						
						... 
						
						
						
						There was an infinite loop when parsing invalid text after having parsed
a color in the border shorthand. See attached testcase for an example. 
						
						
					 
					
						2014-07-31 10:03:18 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						871d782e74 
					 
					
						
						
							
							css: Don't special-case fill-mode in 'animation'  
						
						... 
						
						
						
						I have no idea why it was special cased when parsing the 'animation'
shorthand, but it caused crashes.
So remove the special case. 
						
						
					 
					
						2014-07-07 14:26:05 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0e462f0d2d 
					 
					
						
						
							
							css: Implement "all" shorthand  
						
						... 
						
						
						
						Here's the spec:
  http://dev.w3.org/csswg/css-cascade/#all-shorthand 
Also use it in the reset-to-defaults CSS where a bunch of properties had
been missing. 
						
						
					 
					
						2014-05-11 03:23:55 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e8cbbedbb2 
					 
					
						
						
							
							css: add properties for outline-radius  
						
						... 
						
						
						
						Both a shorthand and individual properties. This is not officially part
of the CSS standard, but there's precedence for it at least in Mozilla:
https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-outline-radius  
						
						
					 
					
						2014-05-01 18:14:49 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b3b83545c4 
					 
					
						
						
							
							Don't return prematurely  
						
						... 
						
						
						
						This code was clearly meant to return _after_ the loop.
Don't put the return inside the loop body, then. 
						
						
					 
					
						2012-11-29 23:10:35 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						bd31bd6d63 
					 
					
						
						
							
							cssstyleproperty: Replace symbolic colors with GtkCssColorValue  
						
						
						
						
					 
					
						2012-11-08 23:34:29 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4e09e180e4 
					 
					
						
						
							
							Fix css parser tests  
						
						... 
						
						
						
						Parsing a shorthand background property was running into unexpected
errors when trying position values where there were none. To fix this,
introduce a try_parse variant of the position parse function that
silently returns NULL. 
						
						
					 
					
						2012-10-16 06:02:03 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						854585e770 
					 
					
						
						
							
							css: Implement 'animation' shorthand parsing  
						
						
						
						
					 
					
						2012-09-17 20:39:11 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						61c7014e3e 
					 
					
						
						
							
							shorthand: implement multiple backgrounds for the background shorthand  
						
						
						
						
					 
					
						2012-05-15 13:24:40 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a17c69cc03 
					 
					
						
						
							
							shorthand: add background-position and background-size to bg shorthand  
						
						
						
						
					 
					
						2012-05-15 13:24:40 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cfc5854068 
					 
					
						
						
							
							shorthand: use array values for shorthand properties parsing  
						
						... 
						
						
						
						Right now, just parse the first value in the array. 
						
						
					 
					
						2012-05-15 13:24:40 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cc6c7c5e16 
					 
					
						
						
							
							cssshorthand: Don't pass base file anymore  
						
						... 
						
						
						
						It's part of the parser now. 
						
						
					 
					
						2012-05-11 16:42:12 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c9f01ffb43 
					 
					
						
						
							
							cssimage: No need to pass base file anymore  
						
						... 
						
						
						
						The file is now part of the GtkCssParser 
						
						
					 
					
						2012-05-11 16:42:12 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ba7141b92e 
					 
					
						
						
							
							shorthand: Fix border query functions  
						
						... 
						
						
						
						We haven't been using ints there for a while, I wonder why that never
blew up... 
						
						
					 
					
						2012-04-17 08:59:20 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0111b9d507 
					 
					
						
						
							
							symboliccolor: Treat it as a CssValue  
						
						... 
						
						
						
						.. now that it is one. 
						
						
					 
					
						2012-04-17 08:59:20 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						51da8cb263 
					 
					
						
						
							
							symboliccolor: Parse 'currentColor' everywhere  
						
						
						
						
					 
					
						2012-04-17 08:59:20 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b403a1b550 
					 
					
						
						
							
							css: Add a shorthand 'transition' property  
						
						
						
						
					 
					
						2012-04-17 08:59:19 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c3f46ab5c0 
					 
					
						
						
							
							shorthand: Add ',' to value_is_done_parsing()  
						
						
						
						
					 
					
						2012-04-17 08:59:19 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1170ecfd2e 
					 
					
						
						
							
							cssvalue: Convert border-image-width to border value  
						
						
						
						
					 
					
						2012-04-17 08:59:19 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						56f79fecce 
					 
					
						
						
							
							cssvalue: Add a border value  
						
						... 
						
						
						
						.. and parse border-image-slice with it. 
						
						
					 
					
						2012-04-17 08:59:18 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f785f7177c 
					 
					
						
						
							
							cssvalue: Add a custom value for repeats  
						
						... 
						
						
						
						In particular, that's background-repeat and border-image-repeat.
Also, fix up the border-image shorthand to allow any order. 
						
						
					 
					
						2012-04-17 08:59:18 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						edbc8e4f57 
					 
					
						
						
							
							cssvalue: Add a value for border-radius corner properties  
						
						... 
						
						
						
						... and convert those properties to this value. 
						
						
					 
					
						2012-04-17 08:59:18 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b9ebe8c226 
					 
					
						
						
							
							cssarrayvalue: Redo parsing arrays  
						
						... 
						
						
						
						Does 3 things:
1) Introduce a "none" array signleton
2) Get rid of memleaks in error paths
3) Reduce code in parse funcs 
						
						
					 
					
						2012-04-17 08:59:17 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						bf92f2f7ac 
					 
					
						
						
							
							cssvalue: Do a hacky conversion of font-size to a number value  
						
						... 
						
						
						
						Just store the value as px for now.
The font-size property needs a complete makeover anyway. 
						
						
					 
					
						2012-04-17 08:59:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ad05604b3e 
					 
					
						
						
							
							cssvalue: Convert 'font-family'  
						
						... 
						
						
						
						It's now a CssArrayValue filled with CssStringValue 
						
						
					 
					
						2012-04-17 08:59:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4ba9be5b97 
					 
					
						
						
							
							cssvalue: Add GtkCssArea to the enum values  
						
						... 
						
						
						
						... and get rid of its GType.
This makes it non-queryable using gtk_style_context_get() but it used to
be a private struct anyway. 
						
						
					 
					
						2012-04-17 08:59:15 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8c49cd97a7 
					 
					
						
						
							
							cssvalue: Add a cssvalue for images  
						
						
						
						
					 
					
						2012-04-17 08:59:14 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d63b11e56b 
					 
					
						
						
							
							cssvalue: Add enum values for the pango enums  
						
						... 
						
						
						
						And fix the parser to conform to the CSS spec while at it. 
						
						
					 
					
						2012-04-17 08:59:14 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b65d17dda8 
					 
					
						
						
							
							cssvalue: Make border styles be their own value  
						
						... 
						
						
						
						... and add them via gtkcssenumvalue.[ch] which will be used for all
enums. 
						
						
					 
					
						2012-04-17 08:59:14 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a33df2d1d6 
					 
					
						
						
							
							cssvalue: Split number values into their own class  
						
						
						
						
					 
					
						2012-04-17 08:59:13 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9b7640b898 
					 
					
						
						
							
							styleproperty: Make _gtk_style_property_parse_value() return a CssValue  
						
						... 
						
						
						
						Also split out initial/inherit handling into a custom GtkCssValue class. 
						
						
					 
					
						2012-04-17 08:59:11 +02:00