Implements 2 helper functions for Color type (white() and black())

and uses it in layout_task.rs.
This commit is contained in:
Adenilson Cavalcanti 2015-02-02 10:52:17 -08:00
parent 755adf0dde
commit 417ffca937
2 changed files with 17 additions and 4 deletions

View file

@ -21,3 +21,13 @@ pub fn rgb(r: u8, g: u8, b: u8) -> AzColor {
pub fn rgba(r: AzFloat, g: AzFloat, b: AzFloat, a: AzFloat) -> AzColor { pub fn rgba(r: AzFloat, g: AzFloat, b: AzFloat, a: AzFloat) -> AzColor {
AzColor { r: r, g: g, b: b, a: a } AzColor { r: r, g: g, b: b, a: a }
} }
#[inline]
pub fn black() -> AzColor {
AzColor { r: 0.0, g: 0.0, b: 0.0, a: 0.0 }
}
#[inline]
pub fn white() -> AzColor {
AzColor { r: 1.0, g: 1.0, b: 1.0, a: 1.0 }
}

View file

@ -664,7 +664,7 @@ impl LayoutTask {
// FIXME(pcwalton): This is really ugly and can't handle overflow: scroll. Refactor // FIXME(pcwalton): This is really ugly and can't handle overflow: scroll. Refactor
// it with extreme prejudice. // it with extreme prejudice.
let mut color = color::rgba(1.0, 1.0, 1.0, 1.0); let mut color = color::white();
for child in node.traverse_preorder() { for child in node.traverse_preorder() {
if child.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLHtmlElement))) || if child.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLHtmlElement))) ||
child.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLBodyElement))) { child.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLBodyElement))) {
@ -676,9 +676,12 @@ impl LayoutTask {
.background_color) .background_color)
.to_gfx_color() .to_gfx_color()
}; };
// FIXME: Add equality operators for azure color type.
if element_bg_color.r != 0.0 || element_bg_color.g != 0.0 || let black = color::black();
element_bg_color.b != 0.0 || element_bg_color.a != 0.0 { // TODO: Use equality operators when we sync with rust-azure.
if element_bg_color.r != black.r || element_bg_color.g != black.g ||
element_bg_color.b != black.b || element_bg_color.a != black.a {
color = element_bg_color; color = element_bg_color;
break; break;
} }