Benjamin Otte
5f5cc79623
styleproperties: Adapt _gtk_style_properties_peek_property()
...
Optionally return the GtkStyleProperty that was looked up. This feature
isn't used yet, but will soon be.
2011-05-21 22:49:43 +02:00
Matthias Clasen
7629ee7ad0
GtkStyleContextPrivate: Improve struct packing
2011-04-12 12:45:51 -04:00
Benjamin Otte
3f491f7157
style: Move private function into private header
...
The function wasn't exported, so everybody using it would have gotten
linking failures.
2011-03-17 11:59:17 +01:00
Ignacio Casal Quinteiro
0a03e81224
Fix conversion from GdkColor to GdkRGBA
2011-03-06 11:17:06 +01:00
Matthias Clasen
9707d8a3e6
Don't assert on zero width/height in render functions
...
We can just silently ignore those rendering calls.
https://bugzilla.gnome.org/show_bug.cgi?id=643041
2011-02-28 07:52:59 -05:00
Murray Cumming
8d54fa7102
More tiny documentation typo fixes.
2011-02-23 11:09:20 +01:00
Matthias Clasen
f04504ac94
Allow custom icon size in gtk_render_icon_pixbuf()
...
Pointed out in bug 642213.
2011-02-14 13:22:28 -05:00
Benjamin Otte
ccc3679a62
stylecontext: Use the common approach for priate pointers
...
Has two advantages:
1) consistency
2) "print *context->priv" actually works in gdb
2011-02-11 23:21:11 +01:00
Carlos Garnacho
15fdf90265
doc: Add a note about prioritization of GtkStyleProviders
...
It was unclear in the docs what happened if
gtk_style_context_add_provider() and
gtk_style_context_add_provider_for_screen()
were used with the same priority.
2011-02-08 04:17:56 +01:00
Matthias Clasen
208974636f
Set the correct initial value for the direction property
2011-02-07 20:36:46 -05:00
Carlos Garnacho
2be692687f
Fix color style properties lookup when the color resolution fails
...
The cached GValue ended up with a GtkSymbolicColor type, so
the contained value was bogus. Noticed by Mitch.
2011-02-07 19:56:17 +01:00
Carlos Garnacho
217d3fd796
GtkStyleContext is meant to have a GdkScreen
...
It is used to get the default providers, without them
the style context can't do much. A check for NULL screen
is done before any sensitive call to
gtk_style_context_set_screen(), in the hope that any widget
will open the display before doing anything related to
styling. Fixes bug #641429 , reported by Bastien Nocera.
2011-02-06 11:21:42 +01:00
Matthias Clasen
4dc9b294d8
Don't assume a screen exists before realize()
...
Fix for https://bugzilla.gnome.org/show_bug.cgi?id=641429
2011-02-04 22:03:11 -05:00
Paolo Borelli
001697a22a
Move the get_cursor_color in GtkStyleContext
...
Move the private get_cursor_color method belongs to StyleContext. Change
the api so that retrieving both primary and secondary color is possible.
I left the method private for now, though it should probably be public
as all the other getters.
2011-01-29 13:13:42 +01:00
Matthias Clasen
d9fcc4c630
Silence new gcc warnings
...
gcc 4.6.0 has started to warn about set-but-unused variables.
So don't do that, then.
2011-01-23 21:51:38 -05:00
Matthias Clasen
a12dad75a2
Split out private style context api into a private header
2011-01-23 18:29:28 -05:00
Pavel Holejsovsky
2f0d40335b
[GI] Add missing (transfer) annotations
2011-01-20 13:57:18 +01:00
Pavel Holejsovsky
3c8fc21e9b
[GI] Fixes of existing incorrect annotations
2011-01-20 13:56:06 +01:00
Carlos Garnacho
0b7496558d
Make GtkCssProvider deal with widget types not being in plain CamelCase
...
Fixes bug #Bug 639754, reported by Kjell Ahlstedt. gtkmm doesn't
use plain CamelCase for its widget type names, so in order to
distinguish widget type names from regions in the CSS parser,
the following checks are now done:
* if it contains an uppercase letter -> widget class (that should
also work for gtkmm)
* if it's a string compound by lowercase letters and '-' -> it's
a region, checks have been added in gtk_style_context_add_region()
and gtk_widget_path_iter_add_region() to ensure this.
2011-01-19 04:28:49 +01:00
Carlos Garnacho
f482d4dc89
Ensure harder a GtkStyleContext has a theming engine anytime
2011-01-17 04:43:42 +01:00
Matthias Clasen
867dc0bd0d
Avoid a critical warning during tab DND
...
https://bugzilla.gnome.org/show_bug.cgi?id=639380
2011-01-14 21:15:06 -05:00
Benjamin Otte
2b0b08a861
stylecontext: Protect the cairo contexts with cairo_save/cairo_restore()
...
We don't want theme engines to mess up the context we are currently
drawing with.
2011-01-12 11:40:09 +01:00
Milan Bouchet-Valat
44da5a0094
Improve docs about GtkStyleContext padding/border/margin
...
GTK_STYLE_PROPERTY_BORDER_WIDTH is of style GtkBorder, not gint.
Also make it clearer what the definition and ordering of these 3
properties is. Reorder them in the header to be more logical.
2011-01-11 12:28:54 +01:00
Carlos Garnacho
d5b0ccacce
GtkStyleContext: Do not cancel possibly unstarted transitions
...
It might happen that this overcautious check is done on an animation
that didn't have time to gather invalidation rectangles.
2011-01-10 23:52:21 +01:00
Carlos Garnacho
de36dda925
Add gtk_style_context_scroll_animations()
...
This function will be needed in widgets like GtkTreeView,
since gdk_window_scroll() doesn't trigger the usual
mechanisms to update the invalidation area, this function
is needed together with it.
2011-01-10 20:49:41 +01:00
Carlos Garnacho
e6277d3b82
Add gtk_style_context_cancel_animations()
...
This function takes a region ID and cancels all animations
on or beneath that region (as in push/pop_animatable_region).
First user of this is GtkWidget itself, so unmapped widgets
have looping animations cancelled. Fixes bug #638119 , reported
by Jesse van den Kieboom.
2011-01-10 03:50:01 +01:00
Carlos Garnacho
2bd221d215
Bug 637910 - GtkSpinner - does not animate
...
Fix widget-to-window coordinates translation in the
style context animation code.
2010-12-24 19:37:49 +01:00
Carlos Garnacho
ac0353e08a
Make gtk_style_context_get_* functions more robust
...
Even if the default CSS contains values for these, handle non-existing
values as queries might happen on an incomplete style.
2010-12-21 14:44:49 +01:00
Cosimo Cecchi
b792a31995
widgetpath: allow GTypes non-derived from GTK_TYPE_WIDGET
...
This makes things like GtkCellRenderer or GtkNumerableIcon more easily
themeable.
https://bugzilla.gnome.org/show_bug.cgi?id=637169
2010-12-17 18:30:57 +01:00
Diego Escalante Urrelo
02f92f29d5
gtkstylecontext: fix typos in annotations
...
Fixes Bug #637256
2010-12-15 00:46:25 +00:00
Carlos Garnacho
99f59d8266
Fix coalescing of state animation areas for multiple window widgets.
...
Coordinates needed to be translated relative to the window position
in within the widget.
2010-12-13 22:31:27 +01:00
Paolo Borelli
f285a84bd6
Add convenience function for the font description.
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
Carlos Garnacho
4cca7554b8
GtkStyleContext: warn on meaningless coords in gtk_render_* calls
2010-12-05 20:19:55 +01:00
Matthias Clasen
d5df33c75f
Fix abi check after recent merges
2010-12-05 12:18:30 -05:00
Carlos Garcia Campos
f261d56da3
GtkStyleContext: invalidate icon caches when resetting widgets
2010-12-04 15:39:56 +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
066f35bf28
Parse user CSS from $XDG_CONFIG_HOME/gtk-3.0/gtk.css
2010-12-04 15:39:53 +01:00
Carlos Garnacho
297fa7a3dd
GtkStyleProvider: Add GtkStateFlags parameter to get_style_property().
...
Widget style properties can now have different values depending on the
current state.
2010-12-04 15:39:51 +01:00
Carlos Garnacho
2ca905db5e
GtkStyleContext: Handle directionality when picking next provider.
2010-12-04 15:39:50 +01:00
Carlos Garcia Campos
4aaf193602
docs: gtk_style_context_get_screen() always returns a valid screen
2010-12-04 15:39:49 +01:00
Carlos Garcia Campos
7a5a622998
Check screen really changed before notifying it and invalidating the context
2010-12-04 15:39:49 +01:00
Carlos Garcia Campos
7abf76fbc1
Initialize screen of GtkStyleContext to default screen
2010-12-04 15:39:48 +01:00
Matthias Clasen
ca143b1303
Add list of classes and regions to the docs
2010-12-04 15:39:48 +01:00
Matthias Clasen
e598f17871
Some header cleanups
...
Move GtkGradient to their own files, also move GtkBorder out of
gtkstyle.h, so that header can be all deprecated.
2010-12-04 15:39:47 +01:00
Carlos Garnacho
62e9188ff3
GtkStyleContext: store layout extents for animation purposes.
2010-12-04 15:39:43 +01:00
Carlos Garnacho
818aca5aee
GtkStyleContext: Only allow looping transitions for states being turned on.
2010-12-04 15:39:43 +01:00
Carlos Garnacho
ad6da0cdb8
GtkStyleContext: Stop animations if the window is gone.
2010-12-04 15:39:43 +01:00
Matthias Clasen
0f98b15090
Add illustration to gtk_render_handle docs
2010-12-04 15:39:42 +01:00
Matthias Clasen
3ddee2561b
Small doc addition
2010-12-04 15:39:42 +01:00
Matthias Clasen
d1f1af202b
Add a frame-gap illustration
2010-12-04 15:39:42 +01:00
Carlos Garnacho
037c982824
GtkStyleContext: Handle empty areas when coalescing invalidation regions.
2010-12-04 15:39:41 +01:00
Matthias Clasen
e57e0e978d
Illustrate extension rendering
2010-12-04 15:39:39 +01:00
Matthias Clasen
8589c5c65e
Add slider illustration
2010-12-04 15:39:38 +01:00
Matthias Clasen
7e96a51953
Add examples for frame rendering
2010-12-04 15:39:38 +01:00
Matthias Clasen
e522381183
Add a background example to the docs
2010-12-04 15:39:38 +01:00
Matthias Clasen
f13f315312
Some more images for gtk_render docs
2010-12-04 15:39:37 +01:00
Matthias Clasen
a5e10e9b26
Improve some gtk_render_ docs
...
With pictures !!
2010-12-04 15:39:36 +01:00
Matthias Clasen
a260059c7f
Fix doc formatting
2010-12-04 15:39:35 +01:00
Matthias Clasen
fea567bb9f
More documentation reshuffling
2010-12-04 15:39:31 +01:00
Matthias Clasen
7d6fb7b7e7
Add some images to the docs
...
Add graphs for the transition functions and gradient examples.
2010-12-04 15:39:28 +01:00
Matthias Clasen
077270142f
GtkStyleContext documentation tweaks
2010-12-04 15:39:27 +01:00
Carlos Garnacho
11480c57f0
GtkStyleContext: Use correct type for animation duration.
2010-12-04 15:39:26 +01:00
Matthias Clasen
e2f91f7201
Documentation improvements
...
This patch adds more detail to the explanation of CSS, and also
adds documentation about which files are read.
We also make :focus an alternative to :focused (since :focus is
a standard CSS pseudo-class).
2010-12-04 15:39:22 +01:00
Carlos Garnacho
198bb314c7
GtkStyleContext: preserve state on save().
2010-12-04 15:39:18 +01:00
Matthias Clasen
4e778d7371
Fix a typo
2010-12-04 15:39:14 +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
bcf81a0e23
Handle looping transition animations.
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
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
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
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
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
80e74d79bb
GtkStyleContext: Fix merging of local and global providers.
2010-12-04 15:38:35 +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
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
4e02218f52
Use GdkRGBA all around in GtkStyleContext.
2010-12-04 15:38:25 +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
d0f681e898
GtkStyleContext: Add gtk_style_context_new().
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
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
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
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
1e66155aec
GtkStyleContext: invalidate context when setting the screen
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
9f84e101bf
GtkStyleContext: Add gtk_style_context_invalidate().
...
This function will regenerate all styling information.
2010-12-04 15:38:12 +01:00
Carlos Garnacho
f058359182
Replace GdkRegion and GdkRectangle with their cairo counterparts.
2010-12-04 15:38:09 +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
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