diff --git a/examples/text.rs b/examples/text.rs index 2571f0380c31e992826aabe08e70fa9e7c08ce21..b789465eb6c23b30dc0fdec9c3f3620dc208fa34 100644 --- a/examples/text.rs +++ b/examples/text.rs @@ -18,6 +18,7 @@ fn my_widget_1_render( // Note: We will see two updates because of the mutable change to styles. // Which means when foo changes MyWidget will render twice! *computed_styles = KStyle { + color: Color::RED.into(), render_command: StyleProp::Value(RenderCommand::Text { content: format!("My number is: {}", my_widget.foo), alignment: Alignment::Start, diff --git a/src/render/font/extract.rs b/src/render/font/extract.rs index 1681451cfcf358b27b49f4cad4f930b73105f833..28dcf3e2680a29e8c6568aab8a74dc42e585a281 100644 --- a/src/render/font/extract.rs +++ b/src/render/font/extract.rs @@ -13,7 +13,7 @@ use super::font_mapping::FontMapping; pub fn extract_texts( camera_entity: Entity, - background_color: Color, + color: Color, text_layout: TextLayout, layout: crate::layout::Rect, font: String, @@ -51,7 +51,7 @@ pub fn extract_texts( min: position, max: position + size, }, - color: background_color, + color, char_id: font.get_char_id(glyph_rect.content).unwrap(), z_index: layout.z_index, quad_type: if subpixel || forced { diff --git a/src/render_primitive.rs b/src/render_primitive.rs index 7b5c0e409b12e2f103b9f280225c9cd32039b353..5623b4ad531f67307a42cb3a51aaae56d0e2ad49 100644 --- a/src/render_primitive.rs +++ b/src/render_primitive.rs @@ -117,9 +117,10 @@ impl RenderPrimitive for KStyle { let font = self .font .resolve_or_else(|| String::from(crate::DEFAULT_FONT)); + let color = self.color.resolve_or(Color::WHITE); let text = crate::render::font::extract_texts( camera_entity, - background_color, + color, text_layout, *layout, font,