Commit Graph

30343 Commits

Author SHA1 Message Date
e9cd339573 css: Add outline CSS properties 2012-01-09 18:38:00 +01:00
1b9e15485e themingengine: Implement 'dotted' and 'dashed' 2012-01-09 18:38:00 +01:00
34a62d779b css: Introduce a corner order enum
Same order as CSS again.

The nice thing about this is that now edge i in a rounded box follows
corner i and is followed by corner (i + 1) % 4.
2012-01-09 18:38:00 +01:00
998055c835 css: Introduce GtkCssSide
... and use it.

This is basically an encoding of the order of sides in CSS. So when
parsing things, this is the way we parse things in.
2012-01-09 18:37:59 +01:00
9e8e9a77b7 themingengine: Implement ridge and groove 2012-01-09 18:37:59 +01:00
4ce34a8e13 themingengine: Redo color handling
Don't work on malloc()ed colors. Instead, use an array on the heap. This
makes it easier to copy the array.
2012-01-09 18:37:59 +01:00
d21e7506e7 themingengine: Refactor drawing code
... and implement 'double' border-style as proof-of-concept.
2012-01-09 18:37:59 +01:00
fbde62d8e7 css: border-style: hidden computes a 0 border 2012-01-09 18:37:59 +01:00
de3111f1ff API: Add all border styles from CSS 3 2012-01-09 18:37:59 +01:00
fd3afa3606 styleproperty: Simplify code
Merge 1-line function into only caller
2012-01-09 18:37:59 +01:00
3d6a76a866 tests: Add a test for all the border shorthands
Too much fun with random test generation, so I did a big one.
2012-01-09 18:37:59 +01:00
c167b4129e Also add border-{top|right|bottom|left} shorthands 2012-01-09 18:37:59 +01:00
0120aaace5 Add the border css shorthand 2012-01-09 18:37:59 +01:00
f021291423 tests: Fix for changes in this branch
The expected results are now more correct,  but still not perfect.
2012-01-09 18:37:59 +01:00
6525ed76e0 Rename parse_border
For consistency we will use this name for the boder shorthand.
2012-01-09 18:37:59 +01:00
04ea69ab38 Add reftets for border-style property 2012-01-09 18:37:59 +01:00
cc2446d29b reftests: Add a CSS file to reset properties to default values
We can use this to be independant of themes. See the comment at the top
of the file
2012-01-09 18:37:59 +01:00
b8aea82743 Use the border-style subproperties for drawing
Use the newly introduced per-side property to draw frames.
2012-01-09 18:37:59 +01:00
2c5a8420b5 Set border-width to 0 in compute function
This reverts commit c276f53796 and
implements the same feature using the compute function.
A nice side effect is that gtk_style_property_get_border() and
gtk_style_property_get("border") to the same thing now.
2012-01-09 18:37:58 +01:00
e69f14cf2b Add border-{top|left|bottom|right}-style properties
Add all the border-style subproperties and turn border-style itself in a
shorthand.
2012-01-09 18:37:58 +01:00
066f3be659 themingengine: Remove an optimization
We optimize the case later on, so no need to do it here.
2012-01-09 18:37:58 +01:00
0e48cc6dae spinbutton: Pass the right size
We need a better diffrentiation between icon sizes - ie GtkIconSize vs
pixel size. Or more CSS.
2012-01-09 18:37:58 +01:00
bbf5fe179d background: Implement all options of background-repeat 2012-01-09 18:37:58 +01:00
af8c7ebecd tests: Add test for background-repeat 2012-01-09 18:37:58 +01:00
bc9373fb43 styleproperty: Parse all values for background-repeat
... and its component in the background property.
2012-01-09 18:37:58 +01:00
77af93bad9 reftests: Add a test for 'background'
It just tests all the permutations to make sure my idea for implementing
random ordering actually works.

It does (at least currently).
2012-01-09 18:37:58 +01:00
181ac0280d shorthand: Implement the 'background' shorthand
Weee, shorthands are now really trivial \o/
2012-01-09 18:37:58 +01:00
a43553ab86 cssimage: Add _gtk_css_image_can_parse()
Looks at the first token of the stream to see if this looks like an
image declaration. If it does: return %TRUE.
2012-01-09 18:37:58 +01:00
4b7ca9602d background: Simplify background-repeat
It used to be a struct, now it's just an enum
2012-01-09 18:37:58 +01:00
07aa7f6b20 css: Remove GtkCssBorderRadius
It's not used anymore.
2012-01-09 18:37:58 +01:00
fee09e726f Introduce _gtk_css_parser_try_length
This starts to introduce the proper API abstraction for when we will
support different units
2012-01-09 18:37:58 +01:00
fce45757cb borderimage: Change memory management
Making it a on-stack object simplifies things a lot.
2012-01-09 18:37:58 +01:00
9b47a6a4e3 border-image: Remove pack/unpack functions
They are not used anymore. Also, it's no longer necessary to register
GtkBorderImage as a custom GType.
2012-01-09 18:37:58 +01:00
96abf8c725 shorthand: Make border-image unget/settable 2012-01-09 18:37:57 +01:00
f014d4f02e shorthand: Don't require pack/unpack functions
When using G_TYPE_NONE as the shorthand's type, the property is not
gettable/settable using regular APIs, so it essentially doesn't exist.
As it should be.
2012-01-09 18:37:57 +01:00
84bc280440 borderimage: Add _gtk_border_image_new_for_context()
and use it.
2012-01-09 18:37:57 +01:00
cee05fbeb8 borderimage: Remove unused enums 2012-01-09 18:37:57 +01:00
cc3e4c4eec reftests: Ensure no explicit colors are set on labels 2012-01-09 18:37:57 +01:00
af8dd87867 styleproperty: Use a custom resolve function for colors
We want to make sure to fall back to the initial value of the property
if resolving fails.

This is kinda tricky, because the initial value itself might need
resolving, too.
2012-01-09 18:37:57 +01:00
d10f851201 reftests: Fix a bunch of invalid CSS cases
use 'transparent' instead of 'none' for colors.
2012-01-09 18:37:57 +01:00
839b0f5317 css: Handle 'currentColor' special value
Computes to the value of the 'color' property, or when used on that
property, is treated as 'inherit'.
2012-01-09 18:37:57 +01:00
84d294ee7f stylecontext: NMake safe to call into during lookup
When resolving a lookup, we may want to query the current style context,
as in the next patch. This works now.
2012-01-09 18:37:57 +01:00
6dfab12e1b styleproperty: Change order for property registration
Some properties depend on other properties, handle those first.
2012-01-09 18:37:57 +01:00
d021ed7c5e win32: Remove GtkWin32ThemePart
Its job is done by GtkCssImage now.
2012-01-09 18:37:57 +01:00
37b11b6c8a borderimage: Convert to using GtkCssImage 2012-01-09 18:37:57 +01:00
52af00686b themingbackground: Convert to GtkCssImage
The conversion is incomplete and requires some work to account for
all the CSS crazies, like repeat modes and background-size.
2012-01-09 18:37:57 +01:00
60b8b7a398 csslookup: Use the new gtk_style_context_peek_property() 2012-01-09 18:37:57 +01:00
53b4fd69db themingengine: Add _gtk_theming_engine_peek_property()
This is useful for getting at computed values and allows accessing
images before the code autoconverts them to a cairo pattern.
2012-01-09 18:37:57 +01:00
2c8ef919ae stylecontext: Add _gtk_style_context_peek_property()
This allows peeking at the computed value for a property. This is useful
for looking at GtkCssImage.
2012-01-09 18:37:56 +01:00
a35df38443 theme: Apply background merging code
It was unused and untested and did not do at all what the CSS spec says.
2012-01-09 18:37:56 +01:00