[gtk+] roundedbox: Only grow border-radius if there is one
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] roundedbox: Only grow border-radius if there is one
- Date: Wed, 20 Aug 2014 22:56:23 +0000 (UTC)
commit 67456304d43bc455a068c9e2755ef3af4da78426
Author: Benjamin Otte <otte redhat com>
Date: Thu Aug 21 00:10:43 2014 +0200
roundedbox: Only grow border-radius if there is one
This is relevant for shadow spread and goes in line with the web.
Testcase included.
gtk/gtkroundedbox.c | 6 ++++--
testsuite/reftests/Makefile.am | 3 +++
testsuite/reftests/box-shadow-spread.css | 9 +++++++++
testsuite/reftests/box-shadow-spread.ref.ui | 24 ++++++++++++++++++++++++
testsuite/reftests/box-shadow-spread.ui | 24 ++++++++++++++++++++++++
5 files changed, 64 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkroundedbox.c b/gtk/gtkroundedbox.c
index c3e2650..c89a1fd 100644
--- a/gtk/gtkroundedbox.c
+++ b/gtk/gtkroundedbox.c
@@ -149,8 +149,10 @@ gtk_css_border_radius_grow (GtkRoundedBoxCorner *corner,
double horizontal,
double vertical)
{
- corner->horizontal += horizontal;
- corner->vertical += vertical;
+ if (corner->horizontal)
+ corner->horizontal += horizontal;
+ if (corner->vertical)
+ corner->vertical += vertical;
if (corner->horizontal <= 0 || corner->vertical <= 0)
{
diff --git a/testsuite/reftests/Makefile.am b/testsuite/reftests/Makefile.am
index 0b39b41..103b523 100644
--- a/testsuite/reftests/Makefile.am
+++ b/testsuite/reftests/Makefile.am
@@ -143,6 +143,9 @@ testdata = \
box-shadow-spec-inset.css \
box-shadow-spec-inset.ref.ui \
box-shadow-spec-inset.ui \
+ box-shadow-spread.css \
+ box-shadow-spread.ref.ui \
+ box-shadow-spread.ui \
button-wrapping.ui \
button-wrapping.ref.ui \
cellrenderer-pixbuf-stock-rtl.css \
diff --git a/testsuite/reftests/box-shadow-spread.css b/testsuite/reftests/box-shadow-spread.css
new file mode 100644
index 0000000..b22bad4
--- /dev/null
+++ b/testsuite/reftests/box-shadow-spread.css
@@ -0,0 +1,9 @@
+ import "reset-to-defaults.css";
+
+.test {
+ box-shadow: 0 0 0 10px red;
+}
+
+.reference {
+ border: solid 10px red;
+}
diff --git a/testsuite/reftests/box-shadow-spread.ref.ui b/testsuite/reftests/box-shadow-spread.ref.ui
new file mode 100644
index 0000000..f6894c2
--- /dev/null
+++ b/testsuite/reftests/box-shadow-spread.ref.ui
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.18.1 -->
+<interface>
+ <requires lib="gtk+" version="3.12"/>
+ <object class="GtkWindow" id="window1">
+ <property name="width_request">100</property>
+ <property name="height_request">100</property>
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkButton" id="button1">
+ <property name="label" translatable="yes">Hi</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <style>
+ <class name="reference"/>
+ </style>
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/testsuite/reftests/box-shadow-spread.ui b/testsuite/reftests/box-shadow-spread.ui
new file mode 100644
index 0000000..ef4cdea
--- /dev/null
+++ b/testsuite/reftests/box-shadow-spread.ui
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.18.1 -->
+<interface>
+ <requires lib="gtk+" version="3.12"/>
+ <object class="GtkWindow" id="window1">
+ <property name="width_request">100</property>
+ <property name="height_request">100</property>
+ <property name="can_focus">False</property>
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkButton" id="button1">
+ <property name="label" translatable="yes">Hi</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <style>
+ <class name="test"/>
+ </style>
+ </object>
+ </child>
+ </object>
+</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]