From 0f0e385ea36f0f5fa2df7c526d6064847826de97 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Tue, 19 May 2020 22:28:57 +0200 Subject: [PATCH] [refactor] collect stuff into new `mod paint` --- emigui/src/containers/collapsing_header.rs | 9 ++- emigui/src/containers/frame.rs | 2 +- emigui/src/containers/resize.rs | 4 +- emigui/src/containers/scroll_area.rs | 4 +- emigui/src/context.rs | 12 ++-- emigui/src/introspection.rs | 63 +++++++++++++++++ emigui/src/layers.rs | 2 +- emigui/src/lib.rs | 12 +--- emigui/src/paint.rs | 14 ++++ emigui/src/{ => paint}/color.rs | 0 emigui/src/paint/command.rs | 75 ++++++++++++++++++++ emigui/src/{ => paint}/font.rs | 7 +- emigui/src/{ => paint}/fonts.rs | 10 +-- emigui/src/{ => paint}/mesher.rs | 25 +++---- emigui/src/{ => paint}/texture_atlas.rs | 60 ---------------- emigui/src/style.rs | 2 +- emigui/src/types.rs | 79 +--------------------- emigui/src/ui.rs | 2 +- emigui/src/widgets.rs | 2 +- emigui/src/widgets/slider.rs | 2 +- emigui/src/widgets/text_edit.rs | 2 +- emigui_glium/src/painter.rs | 5 +- emigui_wasm/src/webgl.rs | 5 +- example_glium/src/main.rs | 4 +- 24 files changed, 212 insertions(+), 190 deletions(-) create mode 100644 emigui/src/introspection.rs create mode 100644 emigui/src/paint.rs rename emigui/src/{ => paint}/color.rs (100%) create mode 100644 emigui/src/paint/command.rs rename emigui/src/{ => paint}/font.rs (99%) rename emigui/src/{ => paint}/fonts.rs (88%) rename emigui/src/{ => paint}/mesher.rs (97%) rename emigui/src/{ => paint}/texture_atlas.rs (50%) diff --git a/emigui/src/containers/collapsing_header.rs b/emigui/src/containers/collapsing_header.rs index 682c8c06..eb1a3947 100644 --- a/emigui/src/containers/collapsing_header.rs +++ b/emigui/src/containers/collapsing_header.rs @@ -1,4 +1,9 @@ -use crate::{layout::Direction, widgets::Label, *}; +use crate::{ + layout::Direction, + paint::{Outline, PaintCmd, Path, TextStyle}, + widgets::Label, + *, +}; #[derive(Clone, Copy, Debug, serde_derive::Deserialize, serde_derive::Serialize)] #[serde(default)] @@ -79,7 +84,7 @@ impl State { } ui.add_paint_cmd(PaintCmd::Path { - path: mesher::Path::from_point_loop(&points), + path: Path::from_point_loop(&points), closed: true, fill_color: None, outline: Some(Outline::new(stroke_width, stroke_color)), diff --git a/emigui/src/containers/frame.rs b/emigui/src/containers/frame.rs index 2c5630bc..8f338a5a 100644 --- a/emigui/src/containers/frame.rs +++ b/emigui/src/containers/frame.rs @@ -1,6 +1,6 @@ //! Frame container -use crate::*; +use crate::{paint::*, *}; #[derive(Clone, Debug, Default)] pub struct Frame { diff --git a/emigui/src/containers/resize.rs b/emigui/src/containers/resize.rs index 675ce74f..c7b5ee75 100644 --- a/emigui/src/containers/resize.rs +++ b/emigui/src/containers/resize.rs @@ -279,7 +279,7 @@ impl Resize { if self.outline && corner_interact.is_some() { let rect = Rect::from_min_size(position, state.size); let rect = rect.expand(2.0); // breathing room for content - ui.add_paint_cmd(PaintCmd::Rect { + ui.add_paint_cmd(paint::PaintCmd::Rect { rect, corner_radius: 3.0, fill_color: None, @@ -307,7 +307,7 @@ fn paint_resize_corner(ui: &mut Ui, interact: &InteractInfo) { let mut w = 2.0; while w < 12.0 { - ui.add_paint_cmd(PaintCmd::line_segment( + ui.add_paint_cmd(paint::PaintCmd::line_segment( [pos2(corner.x - w, corner.y), pos2(corner.x, corner.y - w)], color, width, diff --git a/emigui/src/containers/scroll_area.rs b/emigui/src/containers/scroll_area.rs index 6b798b66..1a7bfab7 100644 --- a/emigui/src/containers/scroll_area.rs +++ b/emigui/src/containers/scroll_area.rs @@ -171,14 +171,14 @@ impl ScrollArea { let handle_fill_color = style.interact(&handle_interact).fill_color; let handle_outline = style.interact(&handle_interact).rect_outline; - outer_ui.add_paint_cmd(PaintCmd::Rect { + outer_ui.add_paint_cmd(paint::PaintCmd::Rect { rect: outer_scroll_rect, corner_radius, fill_color: Some(outer_ui.style().dark_bg_color), outline: None, }); - outer_ui.add_paint_cmd(PaintCmd::Rect { + outer_ui.add_paint_cmd(paint::PaintCmd::Rect { rect: handle_rect.expand(-2.0), corner_radius, fill_color: Some(handle_fill_color), diff --git a/emigui/src/context.rs b/emigui/src/context.rs index 1fb8f780..0c53f290 100644 --- a/emigui/src/context.rs +++ b/emigui/src/context.rs @@ -2,7 +2,7 @@ use std::{collections::HashMap, sync::Arc}; use parking_lot::Mutex; -use crate::{layout::align_rect, *}; +use crate::{layout::align_rect, paint::*, *}; #[derive(Clone, Copy, Default)] struct PaintStats { @@ -19,7 +19,7 @@ struct PaintStats { pub struct Context { /// The default style for new `Ui`:s style: Mutex