From 0ff5a02550e5d5de8fb5fd0643ea424d9e508888 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Sat, 23 May 2020 01:07:59 +0200 Subject: [PATCH] Rename `Layer` to `overlay::Content` --- graphics/src/layer.rs | 2 - graphics/src/lib.rs | 1 + graphics/src/overlay.rs | 1 + graphics/src/{layer => overlay}/menu.rs | 4 +- native/src/lib.rs | 4 +- native/src/overlay.rs | 45 ++++++++++++--------- native/src/{layer.rs => overlay/content.rs} | 7 +--- native/src/{layer => overlay}/menu.rs | 8 ++-- native/src/widget/combo_box.rs | 9 +++-- 9 files changed, 41 insertions(+), 40 deletions(-) create mode 100644 graphics/src/overlay.rs rename graphics/src/{layer => overlay}/menu.rs (96%) rename native/src/{layer.rs => overlay/content.rs} (89%) rename native/src/{layer => overlay}/menu.rs (97%) diff --git a/graphics/src/layer.rs b/graphics/src/layer.rs index ddf835a4..6aca738e 100644 --- a/graphics/src/layer.rs +++ b/graphics/src/layer.rs @@ -1,6 +1,4 @@ //! Organize rendering primitives into a flattened list of layers. -mod menu; - use crate::image; use crate::svg; use crate::triangle; diff --git a/graphics/src/lib.rs b/graphics/src/lib.rs index bad35ccf..92e8432e 100644 --- a/graphics/src/lib.rs +++ b/graphics/src/lib.rs @@ -9,6 +9,7 @@ #![forbid(rust_2018_idioms)] #![cfg_attr(docsrs, feature(doc_cfg))] mod antialiasing; +mod overlay; mod primitive; mod renderer; mod transformation; diff --git a/graphics/src/overlay.rs b/graphics/src/overlay.rs new file mode 100644 index 00000000..c57668d4 --- /dev/null +++ b/graphics/src/overlay.rs @@ -0,0 +1 @@ +mod menu; diff --git a/graphics/src/layer/menu.rs b/graphics/src/overlay/menu.rs similarity index 96% rename from graphics/src/layer/menu.rs rename to graphics/src/overlay/menu.rs index e94ef964..f4204f25 100644 --- a/graphics/src/layer/menu.rs +++ b/graphics/src/overlay/menu.rs @@ -1,11 +1,11 @@ use crate::backend::Backend; use crate::{Primitive, Renderer}; use iced_native::{ - layer, mouse, Background, Color, Font, HorizontalAlignment, Point, + mouse, overlay, Background, Color, Font, HorizontalAlignment, Point, Rectangle, VerticalAlignment, }; -impl layer::menu::Renderer for Renderer +impl overlay::menu::Renderer for Renderer where B: Backend, { diff --git a/native/src/lib.rs b/native/src/lib.rs index 99d80126..ea328592 100644 --- a/native/src/lib.rs +++ b/native/src/lib.rs @@ -36,9 +36,9 @@ #![forbid(unsafe_code)] #![forbid(rust_2018_idioms)] pub mod keyboard; -pub mod layer; pub mod layout; pub mod mouse; +pub mod overlay; pub mod program; pub mod renderer; pub mod subscription; @@ -49,7 +49,6 @@ mod clipboard; mod element; mod event; mod hasher; -mod overlay; mod runtime; mod user_interface; @@ -76,7 +75,6 @@ pub use debug::Debug; pub use element::Element; pub use event::Event; pub use hasher::Hasher; -pub use layer::Layer; pub use layout::Layout; pub use overlay::Overlay; pub use program::Program; diff --git a/native/src/overlay.rs b/native/src/overlay.rs index 57f11fbf..96390348 100644 --- a/native/src/overlay.rs +++ b/native/src/overlay.rs @@ -1,12 +1,17 @@ -use crate::{ - layout, Clipboard, Event, Hasher, Layer, Layout, Point, Size, Vector, -}; +mod content; + +pub mod menu; + +pub use content::Content; +pub use menu::Menu; + +use crate::{layout, Clipboard, Event, Hasher, Layout, Point, Size, Vector}; use std::rc::Rc; #[allow(missing_debug_implementations)] pub struct Overlay<'a, Message, Renderer> { position: Point, - layer: Box + 'a>, + content: Box + 'a>, } impl<'a, Message, Renderer> Overlay<'a, Message, Renderer> @@ -15,9 +20,9 @@ where { pub fn new( position: Point, - layer: Box + 'a>, + content: Box + 'a>, ) -> Self { - Self { position, layer } + Self { position, content } } pub fn translate(mut self, translation: Vector) -> Self { @@ -33,12 +38,12 @@ where { Overlay { position: self.position, - layer: Box::new(Map::new(self.layer, f)), + content: Box::new(Map::new(self.content, f)), } } pub fn layout(&self, renderer: &Renderer, bounds: Size) -> layout::Node { - self.layer.layout(renderer, bounds, self.position) + self.content.layout(renderer, bounds, self.position) } pub fn draw( @@ -48,11 +53,12 @@ where layout: Layout<'_>, cursor_position: Point, ) -> Renderer::Output { - self.layer.draw(renderer, defaults, layout, cursor_position) + self.content + .draw(renderer, defaults, layout, cursor_position) } pub fn hash_layout(&self, state: &mut Hasher) { - self.layer.hash_layout(state, self.position); + self.content.hash_layout(state, self.position); } pub fn on_event( @@ -64,7 +70,7 @@ where renderer: &Renderer, clipboard: Option<&dyn Clipboard>, ) { - self.layer.on_event( + self.content.on_event( event, layout, cursor_position, @@ -76,20 +82,20 @@ where } struct Map<'a, A, B, Renderer> { - layer: Box + 'a>, + content: Box + 'a>, mapper: Rc B>, } impl<'a, A, B, Renderer> Map<'a, A, B, Renderer> { pub fn new( - layer: Box + 'a>, + content: Box + 'a>, mapper: Rc B + 'static>, ) -> Map<'a, A, B, Renderer> { - Map { layer, mapper } + Map { content, mapper } } } -impl<'a, A, B, Renderer> Layer for Map<'a, A, B, Renderer> +impl<'a, A, B, Renderer> Content for Map<'a, A, B, Renderer> where Renderer: crate::Renderer, { @@ -99,7 +105,7 @@ where bounds: Size, position: Point, ) -> layout::Node { - self.layer.layout(renderer, bounds, position) + self.content.layout(renderer, bounds, position) } fn on_event( @@ -113,7 +119,7 @@ where ) { let mut original_messages = Vec::new(); - self.layer.on_event( + self.content.on_event( event, layout, cursor_position, @@ -134,10 +140,11 @@ where layout: Layout<'_>, cursor_position: Point, ) -> Renderer::Output { - self.layer.draw(renderer, defaults, layout, cursor_position) + self.content + .draw(renderer, defaults, layout, cursor_position) } fn hash_layout(&self, state: &mut Hasher, position: Point) { - self.layer.hash_layout(state, position); + self.content.hash_layout(state, position); } } diff --git a/native/src/layer.rs b/native/src/overlay/content.rs similarity index 89% rename from native/src/layer.rs rename to native/src/overlay/content.rs index eacfe94b..5259c4b8 100644 --- a/native/src/layer.rs +++ b/native/src/overlay/content.rs @@ -1,11 +1,6 @@ -pub mod menu; - -#[doc(no_inline)] -pub use menu::Menu; - use crate::{layout, Clipboard, Event, Hasher, Layout, Point, Size}; -pub trait Layer +pub trait Content where Renderer: crate::Renderer, { diff --git a/native/src/layer/menu.rs b/native/src/overlay/menu.rs similarity index 97% rename from native/src/layer/menu.rs rename to native/src/overlay/menu.rs index 05026a54..05c41181 100644 --- a/native/src/layer/menu.rs +++ b/native/src/overlay/menu.rs @@ -1,7 +1,7 @@ use crate::{ - container, layout, mouse, scrollable, Clipboard, Container, Element, Event, - Hasher, Layer, Layout, Length, Point, Rectangle, Scrollable, Size, Vector, - Widget, + container, layout, mouse, overlay, scrollable, Clipboard, Container, + Element, Event, Hasher, Layout, Length, Point, Rectangle, Scrollable, Size, + Vector, Widget, }; use std::borrow::Cow; @@ -68,7 +68,7 @@ where } } -impl<'a, Message, Renderer> Layer +impl<'a, Message, Renderer> overlay::Content for Menu<'a, Message, Renderer> where Renderer: self::Renderer, diff --git a/native/src/widget/combo_box.rs b/native/src/widget/combo_box.rs index 0f249282..2adee884 100644 --- a/native/src/widget/combo_box.rs +++ b/native/src/widget/combo_box.rs @@ -1,7 +1,8 @@ use crate::{ - layer::{self, menu}, - layout, mouse, scrollable, text, Clipboard, Element, Event, Hasher, Layout, - Length, Overlay, Point, Rectangle, Size, Widget, + layout, mouse, + overlay::menu::{self, Menu}, + scrollable, text, Clipboard, Element, Event, Hasher, Layout, Length, + Overlay, Point, Rectangle, Size, Widget, }; use std::borrow::Cow; @@ -214,7 +215,7 @@ where Some(Overlay::new( layout.position(), - Box::new(layer::Menu::new( + Box::new(Menu::new( menu, self.options.clone(), on_selected,