3ddb104302
stylecontext: Split out a function
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
83be7e5dbd
symboliccolor: Pass the current color to the resolve function
...
This way, we can resolve things like
mix (currentColor, &otherColor);
and therefore parse currentColor as a regular color.
2012-04-17 08:59:19 +02:00
04c5fdaca6
css: Remove old animation code
...
Deprecate public API where appropriate and make it no-ops.
Remove all calls to it.
Get rid of the 'transition' css property.
For now, this means spinners don't animate anymore.
2012-04-17 08:59:19 +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
580b5e4a83
stylecontext: Don't queue_resize() all the time
...
When a parent style context exists, there's no need to queue_resize() on
the widget, because the parent widget will call
gtk_style_context_validate() on us and _then_ we can call queue_resize()
if we have to.
2012-04-17 08:59:17 +02:00
a360e77a7b
css: Remove _gtk_css_computed_values_get_value_by_name()
...
Now that we use an enum for the IDs, we don't need that function
anymore.
2012-04-17 08:59:16 +02:00
31565139ba
stylecontext: Convert _gtk_style_context_peek_property()
...
Take the property id instead of the name.
2012-04-17 08:59:15 +02:00
40982eabbb
stylecontext: Keep the main style data around until revalidation
2012-04-17 08:59:15 +02:00
751187aa0c
stylecontext: Keep per-styleinfo data
...
Instead of having one global data structure, keep it per style info.
This means that we can do special tricks on the "global" style data.
2012-04-17 08:59:14 +02:00
a737adadf8
stylecontext: Make style_data_lookup() not take a state anymore
...
Instead, use the current state of the style context.
2012-04-17 08:59:14 +02:00
58b6d492b8
cssvalue: Add a custom RGBA value
...
Note: custom CSS properties still use the default GtkCssValue and always
will.
So there is a difference in css values used between those, even though
they both carry a GdkRGBA payload.
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
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
d5a2392cc7
stylecontext: Don't clear cache when only state changes
...
This takes more memory, but changes to backdrop or active state are
quite expensive otherwise.
2012-04-17 08:59:11 +02:00
585a1fae4f
stylecontext: Really queue style changes
...
Instead of instantly applying a new style, just mark the context as
invalid. Only apply the new style at layout time.
2012-04-17 08:59:10 +02:00
eb537b60f4
stylecontext: Optimize the common case of "style didn't change"
2012-04-17 08:59:10 +02:00
198cf93f0f
stylecontext: On failure, exit the loop, don't try again
...
Because we will fail again. And then we try again. And then we fail
again. Ad infinitum.
2012-04-17 08:59:09 +02:00
15be680540
stylecontext: Invalidate when setting classes/state/regions
...
... and nobody has called style_context_save().
2012-04-17 08:59:09 +02:00
44d49c900d
stylecontext: Use _gtk_style_context_queue_invalidate() on self
2012-04-17 08:59:09 +02:00
39ff874a11
stylecontext: Introduce _gtk_style_context_queue_invalidate()
...
This is for only queueing invalidations instead of doing a full
invalidation cycle.
2012-04-17 08:59:09 +02:00
1a51ea3ea3
stylecontext: Keep track of children
2012-04-17 08:59:09 +02:00
7f511f2b33
widget: Don't set widget path on style context
...
Instead, make the style context use the widget's path. Saves a bunch of
memory.
2012-04-17 08:59:09 +02:00
e5ab48ac59
stylecontext: Notify widget directly of changes
...
This way, we don't need to g_signal_connect(), which saves a bunch of
memory and performance.
2012-04-17 08:59:08 +02:00
1aa4a196dc
stylecontext: Add setter for widget
...
... and actually set the widget on the style context. Note that this
function does not take a reference on the widget, which is a very good
reason to keep it private.
2012-04-17 08:59:08 +02:00
a94b85d375
css: Make the style provider take a matcher as an input argument
2012-04-17 08:59:07 +02:00
a2ded8b72a
styleprovider: Add a custom object for a list of style providers
...
This way, we don't have to do magic inside GtkStyleContext, but have a
real API.
As a cute bonus, this object implements GtkStyleProvider itself. So we
can just pretend there's only one provider.
2012-04-17 08:59:07 +02:00
015e3a768f
stylecontext: Stop querying style providers for icon factories
...
Nobody implements this feature and I don't wanna maintain it. If it
turns out somebody is using it, we gotta invent something.
2012-04-17 08:59:07 +02:00
461803e407
gtk: Get gtkwidgetpath.h includes out of the public headers
...
and include them in the C files instead.
2012-03-19 02:26:16 +01:00
f9727ee1bf
stylecontext: Get rid of unused parameter
...
It was always FALSE
2012-03-16 17:53:57 +01:00
616cc5b96d
Use GtkCssValue in symbolic color resolving
...
We now store the symbolic colors as a GtkCssValue which means that
we can reuse the color when resolving and storing the color in
the computed values in the style context.
Additionally we keep a last_resolved GtkCssValue cache in the
GtkSymbolicColor, and if resolving the color returns the same as
last time we reuse the old value. This further increases sharing
of Css Values.
2012-03-08 14:52:10 +01:00
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
7844e8089c
types: Clean up gtkwidget.h includes
...
In particular gtksettings.h and gtkstylecontext.h needed to be included
in lots of places now.
Also, I order the includes alphabetically in a bunch of headers.
2012-03-03 19:45:03 +01:00
9d0febc9a6
Change FSF Address
2012-02-27 17:06:11 +00:00
f73ff748db
Add a deprecation mark to draw_insertion_cursor
...
This function has been replaced with gtk_render_insertion_cursor, but we
forgot to mark it as deprecated.
2012-02-27 17:48:37 +01:00
4e37d56d51
themingengine: move _gtk_theming_engine_set_context to private header
...
Where it belongs.
2012-02-14 16:36:56 -05:00
a63ff72406
css: Convert border-radius to GtkCssNumber
...
We can do % now, wohoo!
2012-02-02 03:14:00 +01:00
82c2dad178
themingengine: Add a private function to query lengths
2012-02-02 03:14:00 +01:00
581cc59945
stylecontext: Don't unref animation description
...
We get it without a ref since 6962b49a99
2012-01-12 01:10:26 +01:00
a815f10299
API: Add gtk_style_context_get_section()
...
This API allows querying the location where style properties were
defined. An example implementation will be committed soon.
2012-01-11 15:48:54 +01:00
6962b49a99
css: Introduce GtkCssComputedValues
...
To be used for storing computed values. Is the replacement for
GtkStyleProperties, which is now legacy code.
2012-01-11 15:48:54 +01:00
694a9114af
stylecontext: Simplify even more code
2012-01-11 15:48:54 +01:00
f27f8db2d8
stylecontext: Use our own color resolve function
...
... instead of using the StyleProperties.
2012-01-11 15:48:54 +01:00
abcae0cea4
stylecontext: Simplify function
...
Also, make it easier to port to what I want to do next. ;)
2012-01-11 15:48:54 +01:00
aa98aca45f
styleproperties: Remove color set function
...
Now that we do resolvage with the style context directly, this is no
longer needed.
2012-01-11 15:48:53 +01:00
2dc10600ea
Fix doc markup
2012-01-09 14:13:44 -05: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
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
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
9181282d88
style: Remove GtkStylePropertyContext again
...
We need to solve this differently. I have no idea yet how, but I'll
invent something later.
This only affects win32 theming and that's broken anyway.
2012-01-09 18:37:56 +01:00