Carlos Garnacho
756e20f58c
Make "button" class depend on mode for GtkToggleButtons
2010-12-04 15:39:20 +01:00
Carlos Garnacho
84d586043e
Fix checkbuttons theming in CSS so it's more similar to 2.x
2010-12-04 15:39:19 +01:00
Carlos Garnacho
7478a77b04
GtkCheckButton: Use GtkStyleContext for rendering.
2010-12-04 15:39:19 +01:00
Carlos Garnacho
04783534ed
GtkThemingEngine: Make render_check() depend on border-style and border-color.
2010-12-04 15:39:19 +01:00
Carlos Garnacho
f62583d30c
GtkContainer: Also copy permanent container's classes on get_path_for_child()
...
This makes inheritance work for the simplest cases when style is defined
for classes.
2010-12-04 15:39:18 +01:00
Carlos Garnacho
6d1cf76822
GtkWidgetPath: Make iter API deal with gints.
...
now gtk_widget_path_iter_* takes gints instead of guints, and also accept
numbers == -1 or > path_length for the path head.
2010-12-04 15:39:18 +01:00
Carlos Garnacho
5f88997297
GtkWidgetPath: Make gtk_widget_path_prepend_type() return nothing.
...
It's senseless to always return 0
2010-12-04 15:39:18 +01:00
Carlos Garnacho
198bb314c7
GtkStyleContext: preserve state on save().
2010-12-04 15:39:18 +01:00
Carlos Garnacho
1bfb169ce6
GtkThemingEngine: Documents that engines must only use this API.
...
It was a bit unclear in the documentation, even if it was from the
API POV.
2010-12-04 15:39:18 +01:00
Matthias Clasen
c5b38121ec
Add tests for matching
...
These tests try to decipher how specificity works for selectors.
2010-12-04 15:39:17 +01:00
Matthias Clasen
e1819055b9
Copy GtkWidgetPaths correctly
...
The code was forgetting to copy class information.
2010-12-04 15:39:17 +01:00
Matthias Clasen
49fed3d7d7
More css parsing tests
2010-12-04 15:39:17 +01:00
Matthias Clasen
4135fbf4d6
A little closer to css
...
Declarations are ;-separated, but there is no ; required after
the last declaration. We harmlessly accept either.
2010-12-04 15:39:17 +01:00
Matthias Clasen
933440e1f1
Some css parsing tests
2010-12-04 15:39:16 +01:00
Matthias Clasen
0396550ece
Work harder at parsing import statements
...
Also, turn g_warning() into g_message() for now, so that tests
don't abort. Eventually, this needs to all go into GErrors.
2010-12-04 15:39:16 +01:00
Matthias Clasen
11cd19987b
Move import syntax closer to css
...
Css allows @import url ("foo.css") or @import "foo.css" or
@import url ('foo.css') but not @import url(foo.css) or @immport foo.css.
2010-12-04 15:39:16 +01:00
Matthias Clasen
f92c352f96
Some error reporting
...
When we take a GError argument, better use it.
2010-12-04 15:39:16 +01:00
Matthias Clasen
5f13b65065
Fix prototype of gtk_css_style_provider_load_from_data
...
GError arguments must be **.
2010-12-04 15:39:16 +01:00
Matthias Clasen
72f9a7940f
Add an outline around menu popups
2010-12-04 15:39:15 +01:00
Matthias Clasen
c8e5d3b07b
Transform the 'menu' detail string to the 'popup' class
2010-12-04 15:39:15 +01:00
Matthias Clasen
016a656923
Fix prelighting of inconsistent radio and check buttons
2010-12-04 15:39:15 +01:00
Matthias Clasen
b6776dc116
Fix the resize handle drawing
2010-12-04 15:39:15 +01:00
Matthias Clasen
627b33265b
Handle float and uint style properties
...
These were giving errors in testgtk.
2010-12-04 15:39:15 +01:00
Matthias Clasen
f0eafe60f8
Remove debug output
2010-12-04 15:39:14 +01:00
Matthias Clasen
4e778d7371
Fix a typo
2010-12-04 15:39:14 +01:00
Matthias Clasen
512bc44dbc
Make frames visible by default
2010-12-04 15:39:14 +01:00
Matthias Clasen
9ca66efe2c
Fix a memory leak
2010-12-04 15:39:14 +01:00
Matthias Clasen
69f91fed94
Translate detail strings for radio buttons
2010-12-04 15:39:14 +01:00
Carlos Garnacho
25b6945971
GtkThemingEngine: remove unused code
2010-12-04 15:39:13 +01:00
Carlos Garnacho
892fe46324
Fix compile warnings
2010-12-04 15:39:13 +01:00
Carlos Garnacho
c9dc09e980
GtkStyleProvider: Pass a GParamSpec in get_style_property().
...
This is so we can know the owner type of the property, and matching
with the stored strings in GtkCssProvider is direct.
2010-12-04 15:39:13 +01:00
Carlos Garnacho
b613f1f1f2
GtkStyleContext: Also use screen providers for widget style properties.
2010-12-04 15:39:13 +01:00
Carlos Garnacho
13e186bbca
Handle menuitem detail string better.
2010-12-04 15:39:13 +01:00
Carlos Garnacho
9a2d1e5433
GtkSettings: install theme CSS with a lower priority.
...
This is so GtkSettings has an opportunity to modify theme colors.
2010-12-04 15:39:12 +01:00
Carlos Garnacho
0057aa5445
Add corners to GtkJunctionSides, defining sides as 2 corners.
2010-12-04 15:39:12 +01:00
Matthias Clasen
eb8a1c4e33
Don't whine about expander-style missing
...
This check was lost in the GtkStyleContext porting.
2010-12-04 15:39:12 +01:00
Carlos Garnacho
43cff6f6f7
GtkCssProvider: theme notebooks.
2010-12-04 15:39:11 +01:00
Carlos Garnacho
6099399fa7
GtkThemingEngine: Use border settings on render_extension/frame_gap()
2010-12-04 15:39:11 +01:00
Carlos Garnacho
60a2e90df7
GtkStyle: transform tabs' detail string.
2010-12-04 15:39:10 +01:00
Carlos Garnacho
534942d994
GtkThemingEngine: Do not use possible reserved word.
2010-12-04 15:39:10 +01:00
Carlos Garnacho
d4aade109f
Fix gtk_css_provider_get_named() docs.
2010-12-04 15:39:09 +01:00
Carlos Garnacho
c37797a10c
GtkSettings: Keep right refcount of the theme provider.
2010-12-04 15:39:08 +01:00
Carlos Garnacho
611cb007b4
GtkSettings: Ensure the theme CSS is loaded on startup.
2010-12-04 15:39:08 +01:00
Carlos Garnacho
8243c3c025
GtkCssProvider: Fix typo in gtk_css_provider_get_named()
...
provider was being redefined in the inner block, so the loaded
provider didn't get to be returned.
2010-12-04 15:39:08 +01:00
Carlos Garnacho
a185954d7c
Hardcode 3.0 version for style files and paths.
...
It's about time to start using the right paths.
2010-12-04 15:39:07 +01:00
Carlos Garnacho
9ffaf1122d
GtkCssProvider: Accept '%' in value strings.
2010-12-04 15:39:06 +01:00
Carlos Garnacho
64e798e190
Do not initialize RC subsystem.
2010-12-04 15:39:06 +01:00
Carlos Garnacho
62ee0956e3
GtkStyleProperties: Use GParamSpec for properties registration.
2010-12-04 15:39:06 +01:00
Carlos Garnacho
1c847d9c21
GtkCssProvider: Docs fix for -gtk-gradient() syntax.
2010-12-04 15:39:06 +01:00
Carlos Garnacho
bcf81a0e23
Handle looping transition animations.
2010-12-04 15:39:05 +01:00
Carlos Garnacho
1123159dc9
GtkCssProvider: Handle better wrong enum/flag values.
2010-12-04 15:39:05 +01:00
Carlos Garnacho
9bb96e271d
GtkCssProviders: Parse GTypeFlags based values.
2010-12-04 15:39:05 +01:00
Carlos Garnacho
5cb6fed0bd
GtkCssProvider: Add initial unit parsing logic
...
At the moment only "px" are supported, and such is the default
value when no unit is specified.
2010-12-04 15:39:05 +01:00
Carlos Garnacho
65abcb722e
GtkCssProvider: Handle the "none" keyword to unset properties.
2010-12-04 15:39:05 +01:00
Carlos Garnacho
c57fdf4c75
GtkStyleContext: Resolve symbolic colors for widget style properties.
2010-12-04 15:39:04 +01:00
Carlos Garnacho
d865cf4b38
GtkStyleProperties: Handle GdkColor types.
...
Just in case.
2010-12-04 15:39:04 +01:00
Carlos Garnacho
8b9b9c22e7
GtkCssProvider: Also parse GdkColor values
...
This is necessary for widget style properties to work.
2010-12-04 15:39:04 +01:00
Carlos Garnacho
815e3499ae
GtkCssProvider: Add lighter/darker color functions.
...
These behave the same than in GtkStyle.
2010-12-04 15:39:04 +01:00
Carlos Garnacho
cb2f9a86e5
GtkCssProvider: allow color names from rgb.txt when parsing colors.
2010-12-04 15:39:03 +01:00
Carlos Garnacho
44b1a6c852
GtkStyleContext: Add #define's for the default properties.
2010-12-04 15:39:03 +01:00
Carlos Garnacho
1be9d6ebc9
Document missing GtkStateType values.
...
The documentation has also moved to gtkenums.h.
2010-12-04 15:39:02 +01:00
Carlos Garnacho
1487b34679
Remove GTK_STATE_LAST.
...
It didn't turn out to be that useful, nor widely used.
2010-12-04 15:38:56 +01:00
Carlos Garnacho
1fb6cc8d77
Use the correct cairo-gobject.h include path.
2010-12-04 15:38:56 +01:00
Carlos Garnacho
fb97bd1f0a
GtkThemingEngine: Document missing class vmethods.
2010-12-04 15:38:55 +01:00
Carlos Garnacho
4689b63739
GtkButton: Use GtkStyleContext for rendering.
2010-12-04 15:38:55 +01:00
Carlos Garnacho
dc2df7d178
GtkWindow: Use GtkStyleContext for rendering.
2010-12-04 15:38:55 +01:00
Carlos Garnacho
3f12fc2bd8
GtkStyleContext: Add gtk_style_context_set_background().
...
This function replaces gtk_style_set_background().
2010-12-04 15:38:54 +01:00
Carlos Garnacho
d9664021cc
GtkWidget: Update pango context from style context's font description.
2010-12-04 15:38:49 +01:00
Carlos Garnacho
1cfeeadc70
GtkWidget: Ensure the style context always has an screen.
...
Things like font settings depend on the screen, and widgets
like GtkTextView trigger queries on widgets without screen
when the parent window is being destroyed.
2010-12-04 15:38:48 +01:00
Carlos Garnacho
48f239c1f2
Add CSS class defines for toolbars and docks.
2010-12-04 15:38:48 +01:00
Carlos Garnacho
99879d4a5f
GtkStyle: translate a few more detail strings.
2010-12-04 15:38:48 +01:00
Carlos Garnacho
3848a58b17
GtkCssProvider: theme progressbars in default CSS.
2010-12-04 15:38:48 +01:00
Carlos Garnacho
0431239ead
GtkThemingEngine: ensure 1px wide frames aren't painted between pixels.
2010-12-04 15:38:48 +01:00
Carlos Garnacho
f66275fa6a
GtkThemingEngine: Use square cap for solid frames.
2010-12-04 15:38:47 +01:00
Carlos Garnacho
3d1403e684
GtkThemingEngine: ensure that background isn't rendered past the frame boundaries.
2010-12-04 15:38:47 +01:00
Carlos Garnacho
d6ba3b7d89
GtkThemingEngine: Get rid of obsolete code for tooltips.
2010-12-04 15:38:47 +01:00
Carlos Garnacho
661a13fe4d
GtkStyleContext: Fix check for GtkIconSize in render_icon_pixbuf().
2010-12-04 15:38:46 +01:00
Carlos Garnacho
405f2f306a
GtkStyleContext: restore widget state too in restore().
2010-12-04 15:38:45 +01:00
Carlos Garnacho
8b267a58da
GtkCssProvider: Do not miss the last class name in concatenated classes.
...
Selectors like .menu.check or .entry.progressbar were being misparsed
and attributed to .menu and .entry.
2010-12-04 15:38:45 +01:00
Carlos Garnacho
d321713704
GtkStyle: transform window background detail string.
2010-12-04 15:38:44 +01:00
Carlos Garnacho
1ec47b20db
GtkStyle: Transform menubar detail string.
2010-12-04 15:38:43 +01:00
Carlos Garnacho
46b8cc8686
GtkStyle: Transform menu accelerators string
2010-12-04 15:38:42 +01:00
Carlos Garnacho
4c898a3c7e
GtkStyleContext: Define some more class names.
2010-12-04 15:38:42 +01:00
Carlos Garnacho
912ad78cc5
Remove GTK_REGION_DEFAULT
...
GTK_STYLE_CLASS_DEFAULT is preferred to match a default area, as
it doesn't make sense to have a per-region default.
2010-12-04 15:38:41 +01:00
Carlos Garnacho
271145645c
GtkThemingEngine: Use GtkSymbolicColor for shades.
2010-12-04 15:38:41 +01:00
Carlos Garnacho
df95a74a27
GtkThemingEngine: Do not require a default value when registering properties
...
NULL should work for 0 for int/double/enum/... types and NULL for
pointer types, this should be sane enough to not require a default
value.
2010-12-04 15:38:40 +01:00
Carlos Garnacho
765f653df6
GtkSymbolicColor: Only require styleproperties when resolving named colors.
...
It is not necessary for resolving colors based on literals,
so be a bit less strict here.
2010-12-04 15:38:40 +01:00
Carlos Garnacho
525963d74d
GtkSymbolicColor: convert to/from hls when shading.
...
This makes shading equal to GtkStyle's.
2010-12-04 15:38:39 +01:00
Carlos Garnacho
3ea9568c20
GtkSymbolicColor: Do not clamp shade/mix/alpha factors.
2010-12-04 15:38:39 +01:00
Carlos Garnacho
a23863211b
GtkStyleContext: Add gtk_render_icon_pixbuf()
...
This function is similar to gtk_style_render_icon(), which is now
implemented on top of this one.
2010-12-04 15:38:38 +01:00
Carlos Garnacho
06c8857191
GtkThemingEngine: Fix compile warning.
2010-12-04 15:38:38 +01:00
Carlos Garnacho
605fa03248
Fix compile warning
2010-12-04 15:38:37 +01:00
Carlos Garnacho
f2c6c82ff0
GtkStatusIcon: update to use gtk_widget_override_symbolic_color().
2010-12-04 15:38:37 +01:00
Carlos Garnacho
f383e6b0a2
GtkWidget: Add new set of methods to override style information.
...
gtk_widget_override_*() deprecates gtk_widget_modify_*(). There are
only functions to modify fg/bg/font/symbolic color, If anything more
fancy/complex is needed. There is the possibility of adding a
GtkStyleProvider yourself.
2010-12-04 15:38:36 +01:00
Carlos Garnacho
920637abef
GtkStyle: Listen to context changes.
...
This way the GtkStyle is updated to the latest style info, actually
emitting ::style-set must be performed after invalidating the style
context.
2010-12-04 15:38:36 +01:00
Carlos Garnacho
33e95ae65f
GtkStyleContext: Add the start of a default set of class names/regions.
2010-12-04 15:38:36 +01:00
Carlos Garnacho
80e74d79bb
GtkStyleContext: Fix merging of local and global providers.
2010-12-04 15:38:35 +01:00
Carlos Garnacho
fb8de847df
GtkStyleProperties: Merge font descriptions on merge()
...
This is necessary so incomplete font descriptions are ensured to have
family and size.
2010-12-04 15:38:34 +01:00
Carlos Garnacho
af20ba6103
GtkSymbolicColor: Take const GdkRGBA in new_literal().
2010-12-04 15:38:34 +01:00
Carlos Garnacho
2efa2947be
Document gtk_render_* functions.
2010-12-04 15:38:34 +01:00
Carlos Garnacho
ebf5bd390f
Add gtk_render_activity()
...
This method will render progress bars and spinners, these should
handle active and inconsistent states' animation progress in order
to perform animations.
2010-12-04 15:38:33 +01:00
Carlos Garnacho
af1f8701dc
GtkThemingEngine: draw resize grip through render_handle().
...
GtkJunctionSides is used instead of GdkWindowEdge, GtkStyle
implementation has changed to use GtkStyleContext's.
2010-12-04 15:38:33 +01:00
Carlos Garnacho
227294a6aa
GtkWidget: Trigger state change transitions on state flags change.
...
This makes state transitions automatic for non-complex widgets, complex
widgets such as GtkTreeView still need to notify state updates themselves.
2010-12-04 15:38:33 +01:00
Carlos Garnacho
c0d08ff627
GtkToolItemGroup: Set widget state as state flags.
2010-12-04 15:38:33 +01:00
Carlos Garnacho
1c2f27fe11
GtkToggleButton: Set widget state as state flags.
2010-12-04 15:38:32 +01:00
Carlos Garnacho
80d1ce9f67
GtkRadioButton: Set widget state as state flags.
2010-12-04 15:38:32 +01:00
Carlos Garnacho
517eaa55e5
GtkNotebook: Set widget state as state flags.
2010-12-04 15:38:32 +01:00
Carlos Garnacho
5f0f21aad3
GtkMenuItem: Set widget state as state flags.
2010-12-04 15:38:31 +01:00
Carlos Garnacho
9ae2e29f44
GtkMenu: Set widget state as state flags.
2010-12-04 15:38:31 +01:00
Carlos Garnacho
399499225e
GtkExpander: Set widget state as state flags.
2010-12-04 15:38:31 +01:00
Carlos Garnacho
f7f5ac1b09
GtkEntry: Set widget state as state flags.
2010-12-04 15:38:31 +01:00
Carlos Garnacho
0e25b19515
GtkComboBox: Set widget state as state flags.
2010-12-04 15:38:30 +01:00
Carlos Garnacho
401b655307
GtkButton: Set widget state as state flags.
2010-12-04 15:38:30 +01:00
Carlos Garnacho
cd98204619
Implement widget states as a set of flags
...
gtk_widget_(set|unset|get)_state_flags() has been added, using GtkStateFlags
to represent the widget state. GtkStateType API has been implemented on top
of the new one.
2010-12-04 15:38:30 +01:00
Carlos Garnacho
34b91a74e5
Document missing value in GtkStateFlags
2010-12-04 15:38:30 +01:00
Carlos Garnacho
4acc20abc1
s/GtkStyleSet/GtkStyleProperties/
...
The former name had oddities such as gtk_style_set_set() and such,
so the new name is nicer in that regard and not much longer.
2010-12-04 15:38:29 +01:00
Carlos Garnacho
1bdd761c3f
GtkWidget: Ensure name changes involve a style context update.
2010-12-04 15:38:29 +01:00
Carlos Garnacho
8ea649e0a0
Rely only on fg/bg colors.
...
"foreground-color" has been renamed to just "color" as in regular CSS,
and the "text-color" and "base-color" properties have been removed. The
default CSS has been changed to have widgets cope with this change.
2010-12-04 15:38:29 +01:00
Carlos Garnacho
7de2cf3286
GtkCssProvider: Fix parsing of concatenated classes.
...
Now selectors such as:
GtkWidget#name.class1.class2
#name.class1.class2
.class1.class2
are parsed correctly, being meaningful for a widget defining several
classes.
2010-12-04 15:38:29 +01:00
Carlos Garnacho
a8a1d8cd01
GtkThemingEngine: Use ::name when registering style props.
2010-12-04 15:38:29 +01:00
Carlos Garnacho
90de318ab3
GtkThemingEngine: Add ::name construct only property
...
This property is to be set by theming engines, the name set will be favored
over the object type name when registering custom properties, making possible
something like:
-Clearlooks-border: blah;
2010-12-04 15:38:28 +01:00
Carlos Garnacho
c88e3bfc0c
GtkStyleSet: Prevent from possible underflow.
2010-12-04 15:38:28 +01:00
Carlos Garnacho
51b742044a
GtkCssProvider: Parse alpha() symbolic colors.
...
The "alpha" symbolic color modifies a passed color's alpha by a factor,
the syntax would accept things like:
background-color: alpha (@bg_color, 0.8);
foreground-color: alpha (shade (@fg_color, 0.8), 0.5);
2010-12-04 15:38:28 +01:00
Carlos Garnacho
ca44965f33
GtkSymbolicColor: Add gtk_symbolic_color_new_alpha()
...
This function modifies the alpha channel of a color, multiplying
it by a factor.
2010-12-04 15:38:28 +01:00
Carlos Garnacho
0bd81ef710
GtkCssProvider: Make default style depend more on custom colors.
2010-12-04 15:38:28 +01:00
Carlos Garnacho
5310ad8070
GtkStyle: Get to style GtkCellRendererText text.
2010-12-04 15:38:27 +01:00
Carlos Garnacho
6356f01b06
GtkThemingEngine: render 0-radius frames with 3D-like 45° corner effect
2010-12-04 15:38:27 +01:00
Carlos Garnacho
43f7fb8354
GtkThemingEngine: Clear the background for .background class
2010-12-04 15:38:27 +01:00
Carlos Garnacho
d565e15951
GtkStyle: translate active state in paint_flat_box().
2010-12-04 15:38:27 +01:00
Carlos Garnacho
087249db07
GtkCssProvider: Update end string when misparsing symbolic colors.
2010-12-04 15:38:26 +01:00
Carlos Garnacho
7d441000f7
GtkCssProvider: Allow '\t' when parsing values.
2010-12-04 15:38:26 +01:00
Carlos Garnacho
4ca3b5071e
GtkSymbolicColor: Initialize alpha when resolving shades.
2010-12-04 15:38:26 +01:00
Carlos Garnacho
975f133d63
GtkThemingEngine: Improve rendering of inset/outset borders.
2010-12-04 15:38:26 +01:00
Carlos Garnacho
39ce35dd75
GtkCssProvider: Improve default CSS.
2010-12-04 15:38:26 +01:00
Carlos Garnacho
6bd0865601
GtkStyle: Handle scrollbar buttons.
2010-12-04 15:38:25 +01:00
Carlos Garnacho
490d59f045
Do not shade alpha values.
2010-12-04 15:38:25 +01:00
Carlos Garnacho
3bfc59b9bb
GtkStyle: Match "trough" and "slider" detail strings.
...
This is so scrollbars can be themed throught the "trough" and
"slider" classes.
2010-12-04 15:38:25 +01:00
Carlos Garnacho
4e02218f52
Use GdkRGBA all around in GtkStyleContext.
2010-12-04 15:38:25 +01:00
Carlos Garnacho
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
Carlos Garnacho
8d4ffedbf1
GtkStyleContext: '_' prefix the structs, gtk-doc prefers this.
2010-12-04 15:38:24 +01:00
Carlos Garnacho
770f050d8c
GtkWidgetPath: turn into a boxed type.
2010-12-04 15:38:24 +01:00
Carlos Garnacho
c9a3da5025
GtkStyleContext: s/set/add/ and s/unset/remove/ for classes/regions.
...
Several classes and regions may be set to GtkStyleContext, so rename
the functions to be more intuitive.
2010-12-04 15:38:24 +01:00
Carlos Garnacho
161d5175e1
GtkThemingEngine: Honor border-radius in render_background().
2010-12-04 15:38:24 +01:00
Carlos Garnacho
f7dd423862
GtkStyleSet: Register the "border-radius" property
2010-12-04 15:38:24 +01:00
Carlos Garnacho
32b50f2948
GtkStyleContext: Update function declaration in header.
2010-12-04 15:38:23 +01:00
Carlos Garnacho
0a0a1a20a7
GtkCssProvider: Make it able to parse enums.
2010-12-04 15:38:23 +01:00
Carlos Garnacho
d03caa4683
GtkCssProvider: Run through the widget path in the correct order.
...
Comparing a selector with a widget path was being done backwards since
the change to use GtkContainer::get_path_for_child().
2010-12-04 15:38:23 +01:00
Matthias Clasen
35a41bd801
Make loading of theming engines from modules work
2010-12-04 15:38:23 +01:00
Carlos Garnacho
d0f681e898
GtkStyleContext: Add gtk_style_context_new().
2010-12-04 15:38:22 +01:00
Carlos Garnacho
c2f47063c3
GtkCssProvider: Parse default/sorted region flags.
2010-12-04 15:38:22 +01:00
Carlos Garnacho
4a9890e3ab
GtkCssProvider: Parse missing widget states.
2010-12-04 15:38:22 +01:00
Carlos Garnacho
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
Carlos Garnacho
96c16e246c
GtkStyleContext: Actually store region ID when starting an animation.
2010-12-04 15:38:21 +01:00
Carlos Garnacho
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
Carlos Garnacho
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
Benjamin Berg
e8c103f652
Use cairo gobject support instead of a new boxed type.
2010-12-04 15:38:20 +01:00
Carlos Garnacho
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
Carlos Garnacho
2e8b1cd358
Gtk9Slice: Fix stretch case.
2010-12-04 15:38:20 +01:00
Carlos Garnacho
a65d0d00c0
GtkWidget: Store GtkStyleContext in private struct.
2010-12-04 15:38:19 +01:00
Carlos Garnacho
5bbab9872d
GtkStyleContext: Cache style properties accross class/region changes.
2010-12-04 15:38:19 +01:00
Carlos Garnacho
88b78953b6
GtkContainer: Add method to get the GtkWidgetPath for a child.
...
This is now used throughout in order to have the full path for a given widget,
including intermediate named regions, the default implementation just returns
the GtkContainer's path copy, no intermediate regions between.
2010-12-04 15:38:19 +01:00
Carlos Garnacho
c575733eda
GtkStyleContext: Fix animation framework to work with the new draw() semantics.
...
Invalidation region coalescing now happens recursively as draw() runs, and the
widget's x/y as now drawing coordinates are 0,0 based.
2010-12-04 15:38:18 +01:00
Carlos Garnacho
f9788eb173
GtkCssProvider: Add support for @import rules
...
Now other CSS files can be referenced from the currently parsed file:
@import url (other-file.css);
@import url (/some/file.css);
2010-12-04 15:38:18 +01:00
Carlos Garnacho
0ef48c0bde
GtkCssProvider: no need for resetting the parser prior to parsing data
...
This is done anyway on each iteration to parse_rule() in parse_stylesheet()
2010-12-04 15:38:18 +01:00
Carlos Garnacho
8e96e4e41f
GtkCssProvider: improve file paths parser.
...
It will now return a full path, and check about the file being sane.
2010-12-04 15:38:18 +01:00
Carlos Garnacho
1772b00e85
GtkCssProvider: Transform custom colors to a @define-color rule.
...
Given there are other rules such as @import (which will be supported),
keep a sane namespace here, so for (re)defining a color name, in the CSS
file it will look like:
@define-color color-name #fff;
@define-color other-color mix (@color-name, #f00, 0.4);
2010-12-04 15:38:18 +01:00
Carlos Garnacho
a1a90396b7
GtkThemingEngine: Do not return a const GtkThemingEngine on load()
2010-12-04 15:38:18 +01:00
Carlos Garnacho
5c2cf1e934
Plug some leaks.
2010-12-04 15:38:18 +01:00
Carlos Garnacho
5c8a818671
Fix typo in the Gtk9Slice parser.
2010-12-04 15:38:17 +01:00
Carlos Garnacho
5b11d14a49
GtkButton: Notify on prelight state change.
2010-12-04 15:38:17 +01:00
Carlos Garnacho
908babd8ae
GtkThemingEngine: Implement animations between gradients/colors.
2010-12-04 15:38:17 +01:00
Carlos Garnacho
d8187b34bb
GtkSymbolicColor: Use G_DEFINE_BOXED_TYPE
2010-12-04 15:38:17 +01:00
Carlos Garnacho
7583f31609
GtkStyleContext: Store animation region for a bunch of paint operations.
2010-12-04 15:38:17 +01:00
Carlos Garnacho
fecc079087
GtkStyleContext: Invalidate whole window if no invalidation region is obtained.
2010-12-04 15:38:17 +01:00
Carlos Garnacho
20051e02eb
GtkCssProvider: use mapped file to read CSS files.
2010-12-04 15:38:16 +01:00
Carlos Garnacho
80cf01c271
GtkCssProvider: unset filename on load_from_data()
2010-12-04 15:38:16 +01:00
Carlos Garnacho
96e5a02148
GtkThemingEngine: Use border-image to render borders if an image is available.
2010-12-04 15:38:16 +01:00
Carlos Garnacho
7ee564c7cd
GtkCssProvider: Add a parser for 9slice typed properties.
...
The value it parses is similar to the border-image CSS3 property,
so strings like this will be accepted:
border-image: url (foo.png) 4 3 4 3 repeat repeat;
the image path is relative to the parsed CSS file dirname if no
absolute path is provided.
2010-12-04 15:38:16 +01:00
Carlos Garnacho
f363e31a09
Register the border-image property
...
It will contain a 9-sliced image, so it can be rendered as rectangles with any
dimensions.
2010-12-04 15:38:16 +01:00
Carlos Garnacho
089f375cdb
Add Gtk9Slice
...
This is a private boxed object to contain information about a border image
in order to render it in a size independent way.
2010-12-04 15:38:16 +01:00
Carlos Garnacho
cc68e62e24
GtkSettings: Add a new provider for the theme CSS file.
2010-12-04 15:38:16 +01:00
Carlos Garnacho
ac73a8f7a8
GtkStyleContext: Add gtk_style_context_reset_widgets()
...
This function recalculates the style for all widgets on a screen.
2010-12-04 15:38:15 +01:00
Carlos Garnacho
679ff63d5c
GtkCssProvider: Add gtk_css_provider_get_named()
...
This functions loads a CSS file from a installed theme.
2010-12-04 15:38:15 +01:00
Carlos Garnacho
a07fe2c0e6
Add generic providers per-screen.
...
The providers are added as soon as gtk GtkSettings object for the screen
is created.
2010-12-04 15:38:15 +01:00
Carlos Garnacho
1e66155aec
GtkStyleContext: invalidate context when setting the screen
2010-12-04 15:38:14 +01:00
Carlos Garnacho
8dfa0e03ea
GtkWidget: Set style context's screen before the widget_path.
...
This is so the style context has all necessary information before
triggering a style change on setting the path.
2010-12-04 15:38:14 +01:00
Carlos Garnacho
49ac732a18
GtkStyleContext: Add gtk_style_context_[add|remove]_provider_for_screen()
...
These functions allow per-screen style providers. also, the changed signal
will be emitted whenever a style context changes.
2010-12-04 15:38:14 +01:00
Carlos Garnacho
f239704094
GtkWidget: Add gtk_widget_reset_style().
...
This function is analogous to gtk_widget_reset_rc_styles(),
updates style recursively on a widget.
2010-12-04 15:38:13 +01:00
Carlos Garnacho
3c390c9c8e
GtkWidget: Add the style-updated signal
...
This signal is emitted whenever the widget's style changes.
2010-12-04 15:38:13 +01:00
Carlos Garnacho
77ccdfc94e
GtkStyle: Protect against padding being NULL
2010-12-04 15:38:13 +01:00
Carlos Garnacho
9f84e101bf
GtkStyleContext: Add gtk_style_context_invalidate().
...
This function will regenerate all styling information.
2010-12-04 15:38:12 +01:00
Carlos Garnacho
756bbf526f
GtkStyleSet: Fix typo
2010-12-04 15:38:12 +01:00
Carlos Garnacho
58b6e538c9
GtkThemingEngine: use background-image in render_background()
2010-12-04 15:38:12 +01:00
Carlos Garnacho
2794e8d6dd
GtkStyleSet: Register a "background-image" property.
...
Ironically, it currently just handles gradients, the name is to conform
to current CSS gradient implementation trends.
2010-12-04 15:38:12 +01:00
Carlos Garnacho
cf87923d1b
GtkStyleSet: Handle GtkGradients as a replacement for cairo_pattern_t
...
The former will handle GtkSymbolicColors, which will be resolved and
cached at query time.
2010-12-04 15:38:12 +01:00
Carlos Garnacho
3fc5c87bcb
GtkCssProvider: Add a parser for gradients.
2010-12-04 15:38:12 +01:00
Carlos Garnacho
142a72637d
Add GtkGradient.
...
This type defines a gradient between 2 symbolic colors, with any number
of color stop between these. At the moment it has been put besides
GtkSymbolicColor, although should be completely private, it will likely
need extending in the future for radial gradients.
At some point, it maybe should also be used for images, so painting
both a gradient and an image is consistent.
2010-12-04 15:38:11 +01:00
Carlos Garnacho
74de1839a4
GtkStyleSet: Set an empty default_value if none is provided.
2010-12-04 15:38:11 +01:00
Carlos Garnacho
c908e263ac
GtkCssProvider: strip whitespaces in symbolic color values.
2010-12-04 15:38:11 +01:00
Carlos Garnacho
f12d7409cc
Allow linefeeds in property values.
2010-12-04 15:38:11 +01:00