Commit Graph

263 Commits

Author SHA1 Message Date
975f133d63 GtkThemingEngine: Improve rendering of inset/outset borders. 2010-12-04 15:38:26 +01:00
490d59f045 Do not shade alpha values. 2010-12-04 15:38:25 +01:00
4e02218f52 Use GdkRGBA all around in GtkStyleContext. 2010-12-04 15:38:25 +01:00
3a455ed8f9 GtkStyleSet: Register the border-style and border-color properties
This is also implemented in the theming engine, although the default
CSS should be using it in order to theme buttons, troughs, sliders
and such.
2010-12-04 15:38:25 +01:00
161d5175e1 GtkThemingEngine: Honor border-radius in render_background(). 2010-12-04 15:38:24 +01:00
35a41bd801 Make loading of theming engines from modules work 2010-12-04 15:38:23 +01:00
68bfb94f69 Change semantics of the methods to check whether an animation is running.
It actually messed up with the state being actually set, and having a
transition animation running for it. Now this dichotomy is removed, and
gtk_style_context_state_is_running() only checks whether an animation is
running, leaving state checking to flags & GTK_STATE_FLAG_*.
2010-12-04 15:38:22 +01:00
a79626b7fb Add theming docs
Both API and file format is documented, there's still missing
a migration doc though.
2010-12-04 15:38:21 +01:00
59b0fa8133 Remove GtkOrientation parameter from gtk_render_handle().
The case for paned can be guessed out from the height and width,
for handlebox the orientation parameter doesn't make much sense,
and this way it could also be used for resize grips.
2010-12-04 15:38:21 +01:00
88a3c2daae GtkGradient: Handle symbolic gradients.
The css parser has been modified to parse correctly radial gradients:

background-image: -gtk-gradient (radial,
                                 center center, 0,
                                 center center, 0.8,
                                 from (#000), to (#fff));

The theming engine has been modified to correctly animate these,
as well as transitions between different pattern types.
2010-12-04 15:38:20 +01:00
a1a90396b7 GtkThemingEngine: Do not return a const GtkThemingEngine on load() 2010-12-04 15:38:18 +01:00
908babd8ae GtkThemingEngine: Implement animations between gradients/colors. 2010-12-04 15:38:17 +01:00
96e5a02148 GtkThemingEngine: Use border-image to render borders if an image is available. 2010-12-04 15:38:16 +01:00
58b6e538c9 GtkThemingEngine: use background-image in render_background() 2010-12-04 15:38:12 +01:00
78a98decae Get rid of GdkPangoRenderer code in GtkThemingEngine. 2010-12-04 15:38:10 +01:00
c9d626523d Remove gtkalias from style context code. 2010-12-04 15:38:09 +01:00
0ce649e965 Plug a bunch of leaks. 2010-12-04 15:38:09 +01:00
9b949479b3 GtkThemingEngine: Animate checkboxes activation. 2010-12-04 15:38:09 +01:00
7519ed278b GtkThemingEngine: Add progress arg to gtk_theming_engine_is_state_set() 2010-12-04 15:38:09 +01:00
61a0544b8b GtkStyleContext: Add animation machinery.
Animation regions are confined through gtk_style_context_[push|pop]_animatable_region,
anything that's painted between these calls will be invalidated if an animation starts
for any of the regions in the stack.

gtk_style_context_notify_state_change() may be called from widgets to indicate a
change for a given GtkStateType, in that case an animation will be started if there
is an animation description for the widget/state.
2010-12-04 15:37:38 +01:00
4781f94de2 Move all theming stack to use GtkStateFlags.
This support goes from the theming engines, which are able to retrieve
style for different combined states to the CSS provider, where several
state pseudo-classes may be specified, such as:

GtkButton:active:prelight {}
2010-12-04 15:37:37 +01:00
a3637ec60d s/child class/region/ everywhere.
"Child class" is an invented term anyway, and it conceptually defines
identifiable regions in widgets.
2010-12-04 15:37:35 +01:00
e04dfd4d6d GtkThemingEngine: Add gtk_theming_engine_register_property().
This function may be used for custom property registration from
theming engines. The property names will have the
-${engine-type-name}-${prop-name} format, the parser has been
modified to allow properties with '-' as the first char.
2010-12-04 15:37:35 +01:00
b6226cb7b9 GtkThemingEngine: Render correctly spinbutton buttons. 2010-12-04 15:37:32 +01:00
8c117b1638 GtkThemingEngine: Add gtk_theming_engine_get_junction_sides(). 2010-12-04 15:37:31 +01:00
fcf12ff9b9 GtkThemingEngine: Add gtk_theming_engine_get_direction(). 2010-12-04 15:37:28 +01:00
1e83e52b3d GtkThemingEngine: Add code to render GtkFrame frame with gap. 2010-12-04 15:37:24 +01:00
d858801ec3 GtkThemingEngine: Obey active/selected when rendering text. 2010-12-04 15:37:24 +01:00
5510f24cc1 GtkThemingEngine: Rip out focus rendering from old code. 2010-12-04 15:37:24 +01:00
eadaded374 GtkThemingEngine: Rip out expander rendering from old code. 2010-12-04 15:37:24 +01:00
d22f393be3 GtkThemingEngine: Render frames and spinbutton boxes properly. 2010-12-04 15:37:24 +01:00
7482b636e6 GtkThemingEngine: Improve background rendering.
Now active and selected states are taken into account, and GtkSpinButton
buttons are special cased.
2010-12-04 15:37:23 +01:00
911431c0b2 GtkThemingEngine: Improve pixel alignment in arrows. 2010-12-04 15:37:23 +01:00
c18ee462e3 GtkThemingEngine: Add methods to retrieve widget style properties. 2010-12-04 15:37:23 +01:00
227c500dce GtkThemingEngine: Improve slider rendering. 2010-12-04 15:37:22 +01:00
44373ec551 GtkThemingEngine: Cairo-ify frame rendering from GtkStyle. 2010-12-04 15:37:22 +01:00
8771f46dae GtkThemingEngine: Cairo-ify frame_gap rendering from GtkStyle. 2010-12-04 15:37:22 +01:00
7d2b51f147 GtkThemingEngine: Cairo-ify extension rendering from GtkStyle. 2010-12-04 15:37:21 +01:00
4772b67563 GtkThemingEngine: Make render_background use drawing primitives. 2010-12-04 15:37:21 +01:00
1b556aa4d1 GtkThemingEngine: Unify code to render lines. 2010-12-04 15:37:21 +01:00
75b059a3f2 GtkThemingEngine: Add cairo-ified rendering primitives.
Functions to add paths for lines, rectangle sides, and the gap side in notebooks
have been added.
2010-12-04 15:37:20 +01:00
5cdb3f0e90 GtkThemingEngine: Cairo-ify handle rendering from GtkStyle. 2010-12-04 15:37:20 +01:00
9261c2a9d7 GtkThemingEngine: Take option rendering from GtkStyle. 2010-12-04 15:37:20 +01:00
4e45e9099e GtkThemingEngine: Take checkbox rendering from GtkStyle. 2010-12-04 15:37:19 +01:00
038bcdcdb6 GtkThemingEngine: Use GdkPangoRenderer when painting layouts. 2010-12-04 15:37:19 +01:00
4a465d279d GtkThemingEngine: Add gtk_theming_engine_get_screen(). 2010-12-04 15:37:18 +01:00
66d1cb8054 GtkStyleSet: Register GtkThemingEngine type.
This has been also hooked up to the CSS provider, which parses the "engine"
value to load the corresponding module.
2010-12-04 15:37:11 +01:00
9e5d9ff28d GtkThemingEngine: Add vmethod to render a handle area. 2010-12-04 15:36:59 +01:00
aa1d492fe9 GtkThemingEngine: Add vmethod to render an extension. 2010-12-04 15:36:58 +01:00
af1edc3d88 GtkThemingEngine: Add vmethod to render frames with a gap. 2010-12-04 15:36:58 +01:00