Generalize child of NodeBackground 🍼

This commit is contained in:
Martin Haug 2021-02-06 12:54:44 +01:00
parent 80e076814d
commit a6cae89b47
4 changed files with 7 additions and 9 deletions

View File

@ -5,8 +5,8 @@ use super::*;
pub struct NodeBackground {
/// The background fill.
pub fill: Fill,
/// The child node whose sides to pad.
pub child: NodeFixed,
/// The child node to be filled in.
pub child: Node,
}
impl Layout for NodeBackground {

View File

@ -1,10 +1,10 @@
//! Layouting.
mod background;
mod fixed;
mod node;
mod pad;
mod par;
mod background;
mod spacing;
mod stack;
mod text;
@ -14,11 +14,11 @@ use crate::env::{Env, ResourceId};
use crate::geom::*;
use crate::shaping::Shaped;
pub use background::*;
pub use fixed::*;
pub use node::*;
pub use pad::*;
pub use par::*;
pub use background::*;
pub use spacing::*;
pub use stack::*;
pub use text::*;

View File

@ -1,9 +1,9 @@
use std::fmt::{self, Display, Formatter};
use crate::{eval::Softness, layout::NodeBackground};
use crate::layout::{Expansion, Fill, NodeFixed, NodeSpacing, NodeStack};
use crate::paper::{Paper, PaperClass};
use crate::prelude::*;
use crate::{eval::Softness, layout::NodeBackground};
/// `align`: Align content along the layouting axes.
///
@ -210,7 +210,7 @@ pub fn box_(ctx: &mut EvalContext, args: &mut Args) -> Value {
if let Some(color) = color {
ctx.push(NodeBackground {
fill: Fill::Color(color),
child: fixed_node,
child: Node::Any(fixed_node.into()),
})
} else {
ctx.push(fixed_node);

View File

@ -464,10 +464,8 @@ fn draw_geometry(canvas: &mut Canvas, pos: Point, _: &Env, element: &Geometry) {
Shape::Rect(s) => {
let (w, h) = (s.width.to_pt() as f32, s.height.to_pt() as f32);
canvas.fill_rect(Rect::from_xywh(x, y, w, h).unwrap(), &paint);
},
}
};
}
fn draw_image(canvas: &mut Canvas, pos: Point, env: &Env, element: &Image) {