diff options
Diffstat (limited to 'native/src/user_interface.rs')
-rw-r--r-- | native/src/user_interface.rs | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/native/src/user_interface.rs b/native/src/user_interface.rs index 2f2dc110..d682a880 100644 --- a/native/src/user_interface.rs +++ b/native/src/user_interface.rs @@ -1,4 +1,5 @@ //! Implement your own event loop to drive a user interface. +use crate::application; use crate::event::{self, Event}; use crate::layout; use crate::mouse; @@ -28,6 +29,7 @@ pub struct UserInterface<'a, Message, Renderer> { impl<'a, Message, Renderer> UserInterface<'a, Message, Renderer> where Renderer: crate::Renderer, + Renderer::Theme: application::StyleSheet, { /// Builds a user interface for an [`Element`]. /// @@ -301,7 +303,7 @@ where /// [completing the last example](#example-1): /// /// ```no_run - /// use iced_native::{clipboard, Size, Point}; + /// use iced_native::{clipboard, Size, Point, Theme}; /// use iced_native::user_interface::{self, UserInterface}; /// use iced_wgpu::Renderer; /// @@ -349,7 +351,7 @@ where /// ); /// /// // Draw the user interface - /// let mouse_cursor = user_interface.draw(&mut renderer, cursor_position); + /// let mouse_cursor = user_interface.draw(&mut renderer, &Theme::default(), cursor_position); /// /// cache = user_interface.into_cache(); /// @@ -364,6 +366,7 @@ where pub fn draw( &mut self, renderer: &mut Renderer, + theme: &Renderer::Theme, cursor_position: Point, ) -> mouse::Interaction { // TODO: Move to shell level (?) @@ -395,7 +398,13 @@ where self.root.widget.draw( renderer, - &renderer::Style::default(), + theme, + &renderer::Style { + text_color: { + use application::StyleSheet; + theme.text_color() + }, + }, Layout::new(&self.base), base_cursor, &viewport, @@ -436,6 +445,7 @@ where renderer.with_layer(overlay_bounds, |renderer| { overlay.draw( renderer, + theme, &renderer::Style::default(), Layout::new(layout), cursor_position, |