From 8646e341d597b2f15f88621325b116ccbb83a181 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sat, 3 Nov 2012 00:30:04 -0700 Subject: [PATCH] Render simple border colors again --- src/rust-css | 2 +- src/rust-netsurfcss | 2 +- src/servo/css/compute.rs | 21 +++++++++++++++++++++ src/servo/layout/box.rs | 4 +++- 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/rust-css b/src/rust-css index 75aba2d0e4b..9496e6d60d2 160000 --- a/src/rust-css +++ b/src/rust-css @@ -1 +1 @@ -Subproject commit 75aba2d0e4b1224ce55ba11423c78bc7eceaed6c +Subproject commit 9496e6d60d2a3f75aebcd63ad65a8d886a299960 diff --git a/src/rust-netsurfcss b/src/rust-netsurfcss index 62225a3af2c..372d0334abe 160000 --- a/src/rust-netsurfcss +++ b/src/rust-netsurfcss @@ -1 +1 @@ -Subproject commit 62225a3af2c4d59da0d595287570cdfd71e7a4f6 +Subproject commit 372d0334abe19eca4d9b9ba3e0948f81d586c14e diff --git a/src/servo/css/compute.rs b/src/servo/css/compute.rs index 0afe1f89a0c..abba4365dd9 100644 --- a/src/servo/css/compute.rs +++ b/src/servo/css/compute.rs @@ -16,6 +16,10 @@ pub trait ComputeStyles { fn compute_border_right_width(&self) -> CSSBorderWidth; fn compute_border_bottom_width(&self) -> CSSBorderWidth; fn compute_border_left_width(&self) -> CSSBorderWidth; + fn compute_border_top_color(&self) -> Color; + fn compute_border_right_color(&self) -> Color; + fn compute_border_bottom_color(&self) -> Color; + fn compute_border_left_color(&self) -> Color; } impl Node: ComputeStyles { @@ -38,6 +42,23 @@ impl Node: ComputeStyles { fn compute_border_left_width(&self) -> CSSBorderWidth { resolve(self, BdrWidthLength(Px(0.0)), |cs| cs.border_left_width() ) } + + fn compute_border_top_color(&self) -> Color { + resolve(self, rgba(255, 255, 255, 0.0), |cs| cs.border_top_color() ) + } + + fn compute_border_right_color(&self) -> Color { + resolve(self, rgba(255, 255, 255, 0.0), |cs| cs.border_right_color() ) + } + + fn compute_border_bottom_color(&self) -> Color { + resolve(self, rgba(255, 255, 255, 0.0), |cs| cs.border_bottom_color() ) + } + + fn compute_border_left_color(&self) -> Color { + resolve(self, rgba(255, 255, 255, 0.0), |cs| cs.border_left_color() ) + } + } fn resolve(node: &Node, default: T, get: &fn(cs: ComputedStyle) -> CSSValue) -> T { diff --git a/src/servo/layout/box.rs b/src/servo/layout/box.rs index bb45bdb0df8..b00908e96a5 100644 --- a/src/servo/layout/box.rs +++ b/src/servo/layout/box.rs @@ -465,7 +465,9 @@ impl RenderBox : RenderBoxMethods { height: abs_bounds.size.height + border_width } }; - let color = rgb(0, 128, 255).to_gfx_color(); // FIXME + + let top_color = self.d().node.compute_border_top_color(); + let color = top_color.to_gfx_color(); // FIXME list.append_item(~DisplayItem::new_Border(&bounds, border_width, color)); } else {