diff options
author | 2020-06-10 16:27:28 +0200 | |
---|---|---|
committer | 2020-06-10 16:27:28 +0200 | |
commit | 3cfe6e428be22fdbf715f1f28caec0c802fd069e (patch) | |
tree | 372809f6d7a150ed94c484aeca1cb92f076492af /native/src/widget/pane_grid.rs | |
parent | ac7816e8caa1f4fea02fc740c6c84f4439206795 (diff) | |
download | iced-3cfe6e428be22fdbf715f1f28caec0c802fd069e.tar.gz iced-3cfe6e428be22fdbf715f1f28caec0c802fd069e.tar.bz2 iced-3cfe6e428be22fdbf715f1f28caec0c802fd069e.zip |
Lay out title text dynamically in `TitleBar`
Diffstat (limited to 'native/src/widget/pane_grid.rs')
-rw-r--r-- | native/src/widget/pane_grid.rs | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/native/src/widget/pane_grid.rs b/native/src/widget/pane_grid.rs index 8fb6c20c..a3282ed7 100644 --- a/native/src/widget/pane_grid.rs +++ b/native/src/widget/pane_grid.rs @@ -29,8 +29,8 @@ pub use state::{Focus, State}; pub use title_bar::TitleBar; use crate::{ - container, keyboard, layout, mouse, row, Clipboard, Element, Event, Hasher, - Layout, Length, Point, Rectangle, Size, Widget, + container, keyboard, layout, mouse, row, text, Clipboard, Element, Event, + Hasher, Layout, Length, Point, Rectangle, Size, Widget, }; /// A collection of panes distributed using either vertical or horizontal splits @@ -86,7 +86,7 @@ use crate::{ /// [`PaneGrid`]: struct.PaneGrid.html /// [`State`]: struct.State.html #[allow(missing_debug_implementations)] -pub struct PaneGrid<'a, Message, Renderer: container::Renderer> { +pub struct PaneGrid<'a, Message, Renderer: self::Renderer> { state: &'a mut state::Internal, pressed_modifiers: &'a mut keyboard::ModifiersState, elements: Vec<(Pane, Content<'a, Message, Renderer>)>, @@ -101,7 +101,7 @@ pub struct PaneGrid<'a, Message, Renderer: container::Renderer> { impl<'a, Message, Renderer> PaneGrid<'a, Message, Renderer> where - Renderer: container::Renderer, + Renderer: self::Renderer, { /// Creates a [`PaneGrid`] with the given [`State`] and view function. /// @@ -646,7 +646,9 @@ where /// /// [`PaneGrid`]: struct.PaneGrid.html /// [renderer]: ../../renderer/index.html -pub trait Renderer: crate::Renderer + container::Renderer + Sized { +pub trait Renderer: + crate::Renderer + container::Renderer + text::Renderer + Sized +{ /// Draws a [`PaneGrid`]. /// /// It receives: @@ -694,7 +696,10 @@ pub trait Renderer: crate::Renderer + container::Renderer + Sized { defaults: &Self::Defaults, bounds: Rectangle, style: &Self::Style, - title: (&Element<'_, Message, Self>, Layout<'_>), + title: &str, + title_size: u16, + title_font: Self::Font, + title_bounds: Rectangle, controls: Option<(&Element<'_, Message, Self>, Layout<'_>)>, cursor_position: Point, ) -> Self::Output; |