diff options
Diffstat (limited to 'src/layout/mod.rs')
| -rw-r--r-- | src/layout/mod.rs | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/layout/mod.rs b/src/layout/mod.rs index 28b27899..1f7d6c9f 100644 --- a/src/layout/mod.rs +++ b/src/layout/mod.rs @@ -8,9 +8,7 @@ mod spacing; mod stack; mod text; -use image::RgbImage; - -use crate::font::SharedFontLoader; +use crate::env::{ResourceId, SharedEnv}; use crate::geom::*; use crate::shaping::Shaped; @@ -23,16 +21,16 @@ pub use stack::*; pub use text::*; /// Layout a document and return the produced layouts. -pub fn layout(document: &Document, loader: SharedFontLoader) -> Vec<BoxLayout> { - let mut ctx = LayoutContext { loader }; +pub fn layout(document: &Document, env: SharedEnv) -> Vec<BoxLayout> { + let mut ctx = LayoutContext { env }; document.layout(&mut ctx) } /// The context for layouting. #[derive(Debug, Clone)] pub struct LayoutContext { - /// The font loader to query fonts from when typesetting text. - pub loader: SharedFontLoader, + /// The environment from which fonts are gathered. + pub env: SharedEnv, } /// Layout a node. @@ -185,7 +183,7 @@ pub enum LayoutElement { #[derive(Debug, Clone, PartialEq)] pub struct ImageElement { /// The image. - pub buf: RgbImage, + pub resource: ResourceId, /// The document size of the image. pub size: Size, } |
