diff options
Diffstat (limited to 'native')
| -rw-r--r-- | native/src/program/state.rs | 7 | ||||
| -rw-r--r-- | native/src/user_interface.rs | 6 | 
2 files changed, 11 insertions, 2 deletions
| diff --git a/native/src/program/state.rs b/native/src/program/state.rs index 6ab6051b..0c133484 100644 --- a/native/src/program/state.rs +++ b/native/src/program/state.rs @@ -1,4 +1,5 @@  use crate::mouse; +use crate::theme;  use crate::user_interface::{self, UserInterface};  use crate::{Clipboard, Command, Debug, Event, Point, Program, Size}; @@ -19,6 +20,7 @@ where  impl<P> State<P>  where      P: Program + 'static, +    <P::Renderer as crate::Renderer>::Theme: theme::Definition,  {      /// Creates a new [`State`] with the provided [`Program`], initializing its      /// primitive with the given logical bounds and renderer. @@ -164,7 +166,10 @@ fn build_user_interface<'a, P: Program>(      renderer: &mut P::Renderer,      size: Size,      debug: &mut Debug, -) -> UserInterface<'a, P::Message, P::Renderer> { +) -> UserInterface<'a, P::Message, P::Renderer> +where +    <P::Renderer as crate::Renderer>::Theme: theme::Definition, +{      debug.view_started();      let view = program.view();      debug.view_finished(); diff --git a/native/src/user_interface.rs b/native/src/user_interface.rs index 12f9827d..c8496112 100644 --- a/native/src/user_interface.rs +++ b/native/src/user_interface.rs @@ -3,6 +3,7 @@ use crate::event::{self, Event};  use crate::layout;  use crate::mouse;  use crate::renderer; +use crate::theme::{self, Definition as _};  use crate::{Clipboard, Element, Layout, Point, Rectangle, Shell, Size};  /// A set of interactive graphical elements with a specific [`Layout`]. @@ -28,6 +29,7 @@ pub struct UserInterface<'a, Message, Renderer> {  impl<'a, Message, Renderer> UserInterface<'a, Message, Renderer>  where      Renderer: crate::Renderer, +    Renderer::Theme: theme::Definition,  {      /// Builds a user interface for an [`Element`].      /// @@ -370,7 +372,9 @@ where          self.root.widget.draw(              renderer,              theme, -            &renderer::Style::default(), +            &renderer::Style { +                text_color: theme.text_color(), +            },              Layout::new(&self.base),              base_cursor,              &viewport, | 
