9e2ebdee07
cssparser: Actually send an error in an error case
...
The error case was excess commas in rgb/rgba colors, such as
rgba(0,255,0,0,0.5)
2011-06-13 15:01:52 +02:00
a471b4b198
themingengine: Improve handling of different colors
...
We don't want to have different colors cause seams, so we try very hard
to render them at the same time.
2011-06-13 15:01:52 +02:00
407b3f2cde
themingengine: Implement support for multiple border colors
...
Also use this support to implement inset and outset border styles
without cheats.
2011-06-13 15:01:52 +02:00
3aa73bebea
styleproperty: Add border-*-color style properties
...
And make border-color a shorthand
2011-06-13 15:01:52 +02:00
abc239f444
styleproperty: The default border color is the normal color
2011-06-13 15:01:52 +02:00
ba7d1c2104
styleproperty: Make default_value() take a state
...
Because of this, resolve() needs to take a state, too. This is so that
we can have default values depend on other values (like border color).
2011-06-13 15:01:52 +02:00
e0b1943c97
roundedbox: Fix border radius grow algorithm
...
When one radius gets to 0, the other should be set to 0, too. Otherwise
the paths constructed from it will not be correct.
2011-06-13 15:01:52 +02:00
cfb2a45f9a
overlay: add initial version of gtkoverlay
2011-06-12 23:27:18 -04:00
794a3706cd
gtkdnd: Don't bind/unbind keycodes that couldn't be determined
...
At http://dev.laptop.org/ticket/10643 we are seeing that drag-and-drop
within the Sugar shell causes all of Sugar's custom keybindings to be
removed.
This is because gtkdnd tries to unbind XK_KP_Space, which (on my systems)
is resolved to NoSymbol by XKeycodeToKeysym(). NoSymbol has value 0,
the same as AnyKey, and XUngrabKey(AnyKey) is equivalent to unbinding
all possible keycodes.
Fix this by catching NoSymbol before binding/unbinding.
https://bugzilla.gnome.org/show_bug.cgi?id=652402
2011-06-12 21:44:00 -04:00
36f6c6167b
Revert "gtk/gtkmenuitem: gtk_misc_set_alignment replacing"
...
This reverts commit 49e62d2a5f .
It turns out that GtkAccelLabel is not quite ready for
widget align properties.
2011-06-12 21:36:37 -04:00
04fa731e6b
gtk.symbols: Add missing api
2011-06-12 23:00:14 +01:00
287069ca3c
default theme: Fix menuitem check/radio colors
2011-06-12 23:35:39 +02:00
3712ec71d4
default theme: fix menuitem selections
2011-06-12 23:28:43 +02:00
d7598aabe3
default theme: fix tooltip colors
2011-06-12 23:26:53 +02:00
4f649e10fa
themingengine: Add magic to draw inset/outset properly
...
Use a bunch of tricks to get inset/outset right with a small amount of
code. In particular, fix the hidden sides causing artifacts.
Included is a bunch of code comments explaining what we actually do.
2011-06-12 23:00:25 +02:00
cd4c527451
themingengine: Reduce border to 0 on hidden sides
...
Fixes drawing of expanders.
2011-06-12 23:00:25 +02:00
8b0bffc3a2
themingengine: Fix inset/outset drawing
2011-06-12 23:00:24 +02:00
391917063e
textview: do not destroy the layout in unrealize
...
Now instead of invalidating when we create the layout we invalidate
when we realize the widget and we remove the invalidation when
unrealizing. It was pointless too destroying the layout in unrealize
as at the end what we just wanted was to remove the invalidation idles.
2011-06-12 17:54:07 +02:00
deed7175ca
roundedbox: Handle shrinking to zero
...
We need it for wide separators.
2011-06-12 03:42:29 +02:00
61c253a132
themingengine: set the right coordinates for the rounded box rect
2011-06-11 13:32:15 -04:00
3a1da7f09c
styleproperty: Resolve NULL RGBAs to pink
...
.. instead of returning NULL and crashing.
Fixes no-colors reftest
2011-06-11 10:44:16 +02:00
8861f6dbfb
styleproperty: Fall back to default values, instead of recursing
...
Copy/paste error. The original commit message even explains this.
2011-06-11 10:38:23 +02:00
7dbea94fd2
styleproperty: Add a default value func for border-image-width
...
This is necessary because we want to use NULL as the default value. But
the default value for borders is { 0, 0, 0, 0 } and not NULL.
Fixes border-image-gradient and border-image-repeat reftests.
2011-06-11 09:29:43 +02:00
b196abe8be
themingengine: Render inset box shadow on top of backgrounds
2011-06-11 09:29:43 +02:00
590aadd056
styleproperty: Parse shadow options in any order
...
The CSS spec allows random ordering of various properties, so we should,
too.
2011-06-11 09:29:43 +02:00
1539ade9d5
cssprovider: add a doc paragraph about box-shadow
2011-06-11 09:29:43 +02:00
6b5b5cb305
styleproperty: register the box-shadow property
2011-06-11 09:29:43 +02:00
4d986f7fb0
shadow: add _gtk_box_shadow_render()
...
This supports only inset box-shadow elements for now.
2011-06-11 09:29:43 +02:00
40dfcfcbc4
themingengine: Draw border with GtkRoundedBox
2011-06-11 09:29:43 +02:00
459278c5e1
themingengine: Use GtkRoundedBox for drawing backgrounds
2011-06-11 09:29:42 +02:00
48814c8d1e
themingengine: Do pattern merging smarter
...
Create an intermdiate surface and fill() with it later. Instead of doing
clip + paint twice.
2011-06-11 09:29:42 +02:00
86719e1d35
gtk: Add GtkRoundedBox
...
CSS drawing operates on rounded boxes a lot, so it makes sense to split
them out instead of duplicating them everywhere.
2011-06-11 09:29:42 +02:00
d8033c3796
themingengine: Get rid of extra variables
...
Now that we don't change the width/height anymore, we can keep using it
for scaling he background.
2011-06-11 09:29:42 +02:00
117b50dd21
themingengine: remove unused variable
2011-06-11 09:29:42 +02:00
c56700ca30
themingengine: background applies to full border
...
The code was attempting to only apply it to half of the border. But
according to CSS, the background area by default is the full border box.
2011-06-11 02:08:28 +02:00
06642cab56
themingengine: Remove unnecessary optimization
...
Code is likely as fast or faster without it, and this saves code.
2011-06-11 02:04:17 +02:00
abca0f050e
Update gtkimcontextsimpleseqs.h
...
This is using the updated compose-parse.py from the previous commit.
2011-06-10 18:36:06 -04:00
0bbc2ed520
Update compose-parse.py
...
This update makes compose-parse.py work with Unicode 6.0 and make
it generate the new GDK_KEY_ defines. Patch by Ryo Hashimoto,
bug 651979.
2011-06-10 18:33:05 -04:00
71dc365e8a
gtktoolitemgroup: gtk_misc_set_alignment replacing
...
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtktoolitemgroup.c
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:58 -04:00
b16c973699
gtkprinteroptionwidget: gtk_misc_set_alignment
...
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkprinteroptionwidget.c
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:57 -04:00
90e2fdca71
gtk/gtkfontsel: gtk_misc_set_alignment replacing
...
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkfontsel.c
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:56 -04:00
c92600c00f
gtk/gtkassistant: gtk_misc_set_alignment replacing
...
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkassistant.c
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:55 -04:00
0a75ffd4a3
gtkprintunixdialog: gtk_misc_set_alignment replace
...
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkprintunixdialog.c
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:54 -04:00
a06dfd6873
gtkprintbackend: gtk_misc_set_alignment replacing
...
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkprintbackend.c
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:53 -04:00
eb54d933a8
gtkpagesetupunixdialog: gtk_misc_set_alignment
...
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkpagesetupunixdialog.c
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:52 -04:00
8af988e744
gtkfilechooserdefault: gtk_misc_set_alignment
...
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkfilechooserdefault.c
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:51 -04:00
df9d7cf9aa
gtkcellrendereraccel: gtk_misc_set_alignment
...
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkcellrendereraccel.c
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:49 -04:00
cc0be1f949
gtk/gtkmessagedialog: gtk_misc_set_alignment
...
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkmessagedialog.c
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:48 -04:00
0924e4d668
gtk/gtkmountoperation: gtk_misc_set_alignment
...
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkmountoperation.c
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:47 -04:00
cb03ea518c
gtk/gtkradiomenuitem: gtk_misc_set_alignment
...
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkradiomenuitem.c
https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:46 -04:00