Carlos Garnacho
687ac4d4aa
Don't displace background for spinbuttons in the theming engine
...
This is a leftover from the older GtkStyle code, this is handled
through CSS spacings instead.
2011-01-19 04:28:48 +01:00
Matthias Clasen
8e420bca02
Unify handling of prelighted icons
...
Make GtkEntry use gtk_render_icon_pixbuf for rendering the
icons, and move the working icon prelighting code from GtkEntry
to GtkThemingEngine.
https://bugzilla.gnome.org/show_bug.cgi?id=636691
2011-01-14 23:59:22 -05:00
Carlos Garnacho
8ad724ebcc
Deal with the abscence of horizontal/vertical class when rendering an expander
2011-01-12 22:07:34 +01:00
Carlos Garnacho
b7caeb7adb
Fix rendering glitch in menu radiobuttons
...
The arcs needed a new subpath.
2011-01-12 20:54:35 +01:00
Carlos Garnacho
6ff7a8daf2
Make GtkToolItemGroup use GtkStyleContext
2011-01-12 20:54:34 +01:00
Carlos Garnacho
4c4df23d12
GtkThemingEngine: Fix handles rendering
...
The wrong class was being used, so the theming engine didn't
match it properly.
2011-01-10 23:52:36 +01:00
Carlos Garnacho
162380fca5
Make GtkCalendar use GtkStyleContext
2011-01-10 20:49:34 +01:00
Matthias Clasen
6619ac35e3
Documentation fixes
2011-01-06 09:00:53 -05:00
Matthias Clasen
072023e57b
Remove deprecated GtkSpinner style properties
2011-01-05 23:21:52 -05:00
Matthias Clasen
5627ba161e
More parameter name mismatches
2010-12-17 14:49:27 -05:00
Carlos Garnacho
afca06b362
Add getter for font description in GtkThemingEngine
...
This function is analogous to gtk_style_context_get_font().
2010-12-13 22:31:30 +01:00
Carlos Garnacho
d80868aa68
GtkThemingEngine: Render tabs background in the correct direction.
...
The cairo context has been already rotated, so using GTK_JUNCTION_BOTTOM
is expected to be used there.
2010-12-13 22:31:28 +01:00
Carlos Garnacho
2371ed8b87
GtkThemingEngine: handle expander transitions to active, and rtl
2010-12-13 22:31:28 +01:00
Carlos Garnacho
1f697f2695
GtkThemingEngine: remove unused variable
2010-12-13 22:31:27 +01:00
Benjamin Otte
3070d6e3d5
Revert "docs: Reinstate pixbufs section in GDK docs"
...
I committed my whole working tee instead of just one file. Ooops.
This reverts commit ded14b2562
.
2010-12-09 23:55:33 +01:00
Benjamin Otte
ded14b2562
docs: Reinstate pixbufs section in GDK docs
...
It was accidentally removed in 0775b0a858
2010-12-09 11:14:21 +01:00
Matthias Clasen
94c9eb72ce
Don't use g_warning when loading an engine fails
...
This causes the tests to abort if clearlooks can't be found.
2010-12-06 00:44:01 -05:00
Matthias Clasen
d5df33c75f
Fix abi check after recent merges
2010-12-05 12:18:30 -05:00
Carlos Garnacho
1c87180d5d
GtkThemingEngine: Fix parameters for gtk_theming_engine_lookup_color()
2010-12-04 15:39:58 +01:00
Carlos Garnacho
06d8676354
GtkThemingEngine: Be a bit more robust against missing essential properties.
2010-12-04 15:39:57 +01:00
Carlos Garnacho
bacb7906f2
Add helper API for getting colors/borders in GtkStyleContext/GtkThemingEngine
2010-12-04 15:39:55 +01:00
Carlos Garnacho
afeac82fbd
GtkThemingEngine: Add gtk_theming_engine_lookup_color()
...
It could also be handy for theme engines...
2010-12-04 15:39:53 +01:00
Carlos Garnacho
9bdb7e6945
GtkThemingEngine: Remove unused variables
2010-12-04 15:39:53 +01:00
Carlos Garnacho
cf0bd12e6c
GtkStyleProperties: Turn border-width into a GtkBorder property.
...
All current users of this CSS property have been updated to deal
with a GtkBorder.
Also a 0 border width has been set in the default CSS to ensure
GtkStyleContext and GtkThemingEngine always provide a non-NULL
pointer for this property.
2010-12-04 15:39:52 +01:00
Carlos Garnacho
64b7d9e5c1
GtkThemingEngine: Render gradients in tabs.
...
Background will be actually rotated in tabs, so the "bottom" side coincides
with the junction point, this makes gradients work as expected in rotated tabs.
2010-12-04 15:39:50 +01:00
Carlos Garnacho
32c2b13969
GtkThemingEngine: split background rendering to a private function.
2010-12-04 15:39:50 +01:00
Carlos Garnacho
3d956b10ee
GtkStyleContext: handle prelight transitions
2010-12-04 15:39:44 +01:00
Carlos Garnacho
c90bee16ba
GtkThemingEngine: Handle prelight transitions in render_layout()
2010-12-04 15:39:44 +01:00
Carlos Garnacho
e696c24f08
GtkThemingEngine: Also render topright and bottomleft corners if junction sides say so
2010-12-04 15:39:44 +01:00
Carlos Garnacho
4027dceaa9
Add #define for the "spinner" style class
2010-12-04 15:39:44 +01:00
Carlos Garnacho
cc18d65986
GtkThemingEngine: render square corner if the gap is too close on render_frame_gap()
2010-12-04 15:39:43 +01:00
Matthias Clasen
1391a61bc5
Improve frame-gap drawing
...
Instead of overdrawing the gap with bg-color, clip it away.
2010-12-04 15:39:42 +01:00
Matthias Clasen
54eadfcefd
Fix another parameter mismatch
2010-12-04 15:39:42 +01:00
Carlos Garnacho
0fce9342ef
GtkThemingEngine: Draw 3D-like effects on square frames with lines.
2010-12-04 15:39:40 +01:00
Carlos Garnacho
3138cc7677
GtkThemingEngine: Render rounded frames with light/shadow connections at 45°
2010-12-04 15:39:39 +01:00
Carlos Garnacho
95ae1a0aa6
GtkThemingEngine: don't overshoot when rendering frames.
2010-12-04 15:39:39 +01:00
Matthias Clasen
30fe448750
Fix handling of junctions in frame drawing code
2010-12-04 15:39:38 +01:00
Matthias Clasen
d9b0da5b83
Fix resize grip drawing
...
There was some confusion about junctions...
2010-12-04 15:39:34 +01:00
Matthias Clasen
21a193ad02
Make expanders prelight
2010-12-04 15:39:33 +01:00
Carlos Garnacho
ead23cd0ce
GtkThemingEngine: Make render_option() depend on border-style and border-color.
2010-12-04 15:39:20 +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
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
b6776dc116
Fix the resize handle drawing
2010-12-04 15:39:15 +01:00
Matthias Clasen
f0eafe60f8
Remove debug output
2010-12-04 15:39:14 +01:00
Matthias Clasen
9ca66efe2c
Fix a memory leak
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
6099399fa7
GtkThemingEngine: Use border settings on render_extension/frame_gap()
2010-12-04 15:39:11 +01:00
Carlos Garnacho
534942d994
GtkThemingEngine: Do not use possible reserved word.
2010-12-04 15:39:10 +01:00
Carlos Garnacho
62ee0956e3
GtkStyleProperties: Use GParamSpec for properties registration.
2010-12-04 15:39:06 +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
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
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
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
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
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
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
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
975f133d63
GtkThemingEngine: Improve rendering of inset/outset borders.
2010-12-04 15:38:26 +01:00
Carlos Garnacho
490d59f045
Do not shade alpha values.
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
161d5175e1
GtkThemingEngine: Honor border-radius in render_background().
2010-12-04 15:38:24 +01:00
Matthias Clasen
35a41bd801
Make loading of theming engines from modules work
2010-12-04 15:38:23 +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
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
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
a1a90396b7
GtkThemingEngine: Do not return a const GtkThemingEngine on load()
2010-12-04 15:38:18 +01:00
Carlos Garnacho
908babd8ae
GtkThemingEngine: Implement animations between gradients/colors.
2010-12-04 15:38:17 +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
58b6e538c9
GtkThemingEngine: use background-image in render_background()
2010-12-04 15:38:12 +01:00
Carlos Garnacho
78a98decae
Get rid of GdkPangoRenderer code in GtkThemingEngine.
2010-12-04 15:38:10 +01:00
Carlos Garnacho
c9d626523d
Remove gtkalias from style context code.
2010-12-04 15:38:09 +01:00
Carlos Garnacho
0ce649e965
Plug a bunch of leaks.
2010-12-04 15:38:09 +01:00
Carlos Garnacho
9b949479b3
GtkThemingEngine: Animate checkboxes activation.
2010-12-04 15:38:09 +01:00
Carlos Garnacho
7519ed278b
GtkThemingEngine: Add progress arg to gtk_theming_engine_is_state_set()
2010-12-04 15:38:09 +01:00
Carlos Garnacho
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
Carlos Garnacho
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
Carlos Garnacho
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
Carlos Garnacho
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
Carlos Garnacho
b6226cb7b9
GtkThemingEngine: Render correctly spinbutton buttons.
2010-12-04 15:37:32 +01:00
Carlos Garnacho
8c117b1638
GtkThemingEngine: Add gtk_theming_engine_get_junction_sides().
2010-12-04 15:37:31 +01:00
Carlos Garnacho
fcf12ff9b9
GtkThemingEngine: Add gtk_theming_engine_get_direction().
2010-12-04 15:37:28 +01:00
Carlos Garnacho
1e83e52b3d
GtkThemingEngine: Add code to render GtkFrame frame with gap.
2010-12-04 15:37:24 +01:00
Carlos Garnacho
d858801ec3
GtkThemingEngine: Obey active/selected when rendering text.
2010-12-04 15:37:24 +01:00
Carlos Garnacho
5510f24cc1
GtkThemingEngine: Rip out focus rendering from old code.
2010-12-04 15:37:24 +01:00
Carlos Garnacho
eadaded374
GtkThemingEngine: Rip out expander rendering from old code.
2010-12-04 15:37:24 +01:00
Carlos Garnacho
d22f393be3
GtkThemingEngine: Render frames and spinbutton boxes properly.
2010-12-04 15:37:24 +01:00
Carlos Garnacho
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
Carlos Garnacho
911431c0b2
GtkThemingEngine: Improve pixel alignment in arrows.
2010-12-04 15:37:23 +01:00
Carlos Garnacho
c18ee462e3
GtkThemingEngine: Add methods to retrieve widget style properties.
2010-12-04 15:37:23 +01:00
Carlos Garnacho
227c500dce
GtkThemingEngine: Improve slider rendering.
2010-12-04 15:37:22 +01:00
Carlos Garnacho
44373ec551
GtkThemingEngine: Cairo-ify frame rendering from GtkStyle.
2010-12-04 15:37:22 +01:00
Carlos Garnacho
8771f46dae
GtkThemingEngine: Cairo-ify frame_gap rendering from GtkStyle.
2010-12-04 15:37:22 +01:00
Carlos Garnacho
7d2b51f147
GtkThemingEngine: Cairo-ify extension rendering from GtkStyle.
2010-12-04 15:37:21 +01:00
Carlos Garnacho
4772b67563
GtkThemingEngine: Make render_background use drawing primitives.
2010-12-04 15:37:21 +01:00
Carlos Garnacho
1b556aa4d1
GtkThemingEngine: Unify code to render lines.
2010-12-04 15:37:21 +01:00
Carlos Garnacho
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
Carlos Garnacho
5cdb3f0e90
GtkThemingEngine: Cairo-ify handle rendering from GtkStyle.
2010-12-04 15:37:20 +01:00
Carlos Garnacho
9261c2a9d7
GtkThemingEngine: Take option rendering from GtkStyle.
2010-12-04 15:37:20 +01:00
Carlos Garnacho
4e45e9099e
GtkThemingEngine: Take checkbox rendering from GtkStyle.
2010-12-04 15:37:19 +01:00
Carlos Garnacho
038bcdcdb6
GtkThemingEngine: Use GdkPangoRenderer when painting layouts.
2010-12-04 15:37:19 +01:00
Carlos Garnacho
4a465d279d
GtkThemingEngine: Add gtk_theming_engine_get_screen().
2010-12-04 15:37:18 +01:00
Carlos Garnacho
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
Carlos Garnacho
9e5d9ff28d
GtkThemingEngine: Add vmethod to render a handle area.
2010-12-04 15:36:59 +01:00
Carlos Garnacho
aa1d492fe9
GtkThemingEngine: Add vmethod to render an extension.
2010-12-04 15:36:58 +01:00
Carlos Garnacho
af1edc3d88
GtkThemingEngine: Add vmethod to render frames with a gap.
2010-12-04 15:36:58 +01:00
Carlos Garnacho
2ebdf80adc
GtkThemingEngine: Add vmethod to render sliders.
2010-12-04 15:36:57 +01:00
Carlos Garnacho
b8f6617d99
GtkThemingEngine: Add vmethod to render lines.
2010-12-04 15:36:56 +01:00
Carlos Garnacho
92994a0129
GtkThemingEngine: Add vmethod to render layouts.
2010-12-04 15:36:56 +01:00
Carlos Garnacho
8439537e2f
GtkThemingEngine: Add vmethod to render focus indicator.
2010-12-04 15:36:55 +01:00
Carlos Garnacho
19fdaabf4c
GtkThemingEngine: Add vmethod to render expanders.
2010-12-04 15:36:55 +01:00
Carlos Garnacho
48990bc71c
GtkThemingEngine: Add vmethod to render frames.
2010-12-04 15:36:54 +01:00
Carlos Garnacho
13812de971
GtkThemingEngine: Add vmethod to render backgrounds.
2010-12-04 15:36:54 +01:00
Carlos Garnacho
b7ca7d19ee
GtkThemingEngine: Add vmethod to render arrows.
2010-12-04 15:36:54 +01:00
Carlos Garnacho
263f6de0e5
GtkThemingEngine: Add vmethod to render radio buttons.
2010-12-04 15:36:53 +01:00
Carlos Garnacho
acf4306bcd
GtkThemingEngine: Add vmethod to render checkboxes.
2010-12-04 15:36:53 +01:00
Carlos Garnacho
bf7a9914dd
GtkThemingEngine: Add accessors to style classes.
2010-12-04 15:36:53 +01:00
Carlos Garnacho
0171c76871
GtkThemingEngine: Add module loading capabilities.
2010-12-04 15:36:52 +01:00
Carlos Garnacho
57be029b15
Add GtkThemingEngine.
...
GtkThemingEngine will be the theming engines base class, with default
implementations for all paint functions, and readonly access to the
related GtkStyleContext data.
2010-12-04 15:36:52 +01:00