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