Benjamin Otte
dd83f9ca86
API: Remove API to set CSS properties from GValues
...
This API was only used in GtkModifierStyle and GtkStyleProperties and
they are both on their way out.
CSS properties must now be set using strings via the regular parser API.
2016-10-16 18:17:21 +02:00
Benjamin Otte
5ccc0e40f5
css: Fix case where we didn't convert pt => px
...
Fixes gtk_widget_override_font() not behaving properly since commit
df08fc91bd
.
https://bugzilla.gnome.org/show_bug.cgi?id=768902
2016-07-28 11:42:54 -04:00
Matthias Clasen
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
Matthias Clasen
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
Matthias Clasen
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
Matt Watson
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
Benjamin Otte
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
Benjamin Otte
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
Matthias Clasen
6b497bcf81
Trivial changes
2015-12-22 22:29:22 -05:00
Matthias Clasen
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
Paolo Borelli
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
Paolo Borelli
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
Matthias Clasen
385e6beafe
Fix the build
...
Some forgotten include path adjustments.
2014-10-24 16:12:33 -04:00
Emmanuele Bassi
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
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
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
Cosimo Cecchi
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
Matthias Clasen
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
Benjamin Otte
bd31bd6d63
cssstyleproperty: Replace symbolic colors with GtkCssColorValue
2012-11-08 23:34:29 +01:00
Matthias Clasen
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
Benjamin Otte
854585e770
css: Implement 'animation' shorthand parsing
2012-09-17 20:39:11 +02:00
Cosimo Cecchi
61c7014e3e
shorthand: implement multiple backgrounds for the background shorthand
2012-05-15 13:24:40 -04:00
Cosimo Cecchi
a17c69cc03
shorthand: add background-position and background-size to bg shorthand
2012-05-15 13:24:40 -04:00
Cosimo Cecchi
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
Benjamin Otte
cc6c7c5e16
cssshorthand: Don't pass base file anymore
...
It's part of the parser now.
2012-05-11 16:42:12 +02:00
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
0111b9d507
symboliccolor: Treat it as a CssValue
...
.. now that it is one.
2012-04-17 08:59:20 +02:00
Benjamin Otte
51da8cb263
symboliccolor: Parse 'currentColor' everywhere
2012-04-17 08:59:20 +02:00
Benjamin Otte
b403a1b550
css: Add a shorthand 'transition' property
2012-04-17 08:59:19 +02:00
Benjamin Otte
c3f46ab5c0
shorthand: Add ',' to value_is_done_parsing()
2012-04-17 08:59:19 +02:00
Benjamin Otte
1170ecfd2e
cssvalue: Convert border-image-width to border value
2012-04-17 08:59:19 +02:00
Benjamin Otte
56f79fecce
cssvalue: Add a border value
...
.. and parse border-image-slice with it.
2012-04-17 08:59:18 +02:00
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
ad05604b3e
cssvalue: Convert 'font-family'
...
It's now a CssArrayValue filled with CssStringValue
2012-04-17 08:59:15 +02:00
Benjamin Otte
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
Benjamin Otte
8c49cd97a7
cssvalue: Add a cssvalue for images
2012-04-17 08:59:14 +02:00
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
a33df2d1d6
cssvalue: Split number values into their own class
2012-04-17 08:59:13 +02:00
Benjamin Otte
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
Benjamin Otte
5ac9ba714a
styleproperty: Make _gtk_style_property_query() take a GValue
...
... and don't make it return a GtkCssValue. We want to use this for
compat with the old GValue APIs after all...
2012-04-17 08:59:11 +02:00
Benjamin Otte
5bbf59b519
cssvalue: Constify a bunch of APIs
2012-04-17 08:59:10 +02:00
Alexander Larsson
7603e6e473
css: Use GtkCssValues instead of GValue in the css machinery
...
Also, in places where we're computing a new CssValue based on an
old one, make sure that if nothing changes we're returning a reference
to the old one, rather than creating a new identical instance.
2012-03-08 11:03:57 +01:00
Javier Jardón
9d0febc9a6
Change FSF Address
2012-02-27 17:06:11 +00:00