From ed79ecbb44a3132f23e3bd4d797009b5c3282fe3 Mon Sep 17 00:00:00 2001 From: Birk Tjelmeland Date: Sat, 1 Apr 2023 16:04:38 +0200 Subject: [PATCH] Add support for cliping content in `block` and `box` (#431) --- library/src/layout/container.rs | 20 +++++ src/export/render.rs | 131 +++++++++++++++++++++++--------- tests/ref/layout/clip.png | Bin 0 -> 44908 bytes tests/ref/text/font.png | Bin 20402 -> 34487 bytes tests/typ/layout/clip.typ | 42 ++++++++++ 5 files changed, 156 insertions(+), 37 deletions(-) create mode 100644 tests/ref/layout/clip.png create mode 100644 tests/typ/layout/clip.typ diff --git a/library/src/layout/container.rs b/library/src/layout/container.rs index bac0cb7f..0f81a1df 100644 --- a/library/src/layout/container.rs +++ b/library/src/layout/container.rs @@ -88,6 +88,10 @@ pub struct BoxElem { #[fold] pub outset: Sides>>, + /// Whether to clip the content inside the box. + #[default(false)] + pub clip: bool, + /// The contents of the box. #[positional] pub body: Option, @@ -133,6 +137,11 @@ impl Layout for BoxElem { frame.set_baseline(frame.baseline() - shift); } + // Clip the contents + if self.clip(styles) { + frame.clip(); + } + // Prepare fill and stroke. let fill = self.fill(styles); let stroke = self.stroke(styles).map(|s| s.map(PartialStroke::unwrap_or_default)); @@ -296,6 +305,10 @@ pub struct BlockElem { #[default(VElem::block_spacing(Em::new(1.2).into()))] pub below: VElem, + /// Whether to clip the content inside the block. + #[default(false)] + pub clip: bool, + /// The contents of the block. #[positional] pub body: Option, @@ -369,6 +382,13 @@ impl Layout for BlockElem { body.layout(vt, styles, pod)?.into_frames() }; + // Clip the contents + if self.clip(styles) { + for frame in frames.iter_mut() { + frame.clip(); + } + } + // Prepare fill and stroke. let fill = self.fill(styles); let stroke = self.stroke(styles).map(|s| s.map(PartialStroke::unwrap_or_default)); diff --git a/src/export/render.rs b/src/export/render.rs index dc87f447..7dd78c5f 100644 --- a/src/export/render.rs +++ b/src/export/render.rs @@ -7,7 +7,7 @@ use image::imageops::FilterType; use image::{GenericImageView, Rgba}; use tiny_skia as sk; use ttf_parser::{GlyphId, OutlineBuilder}; -use usvg::FitTo; +use usvg::{FitTo, NodeExt}; use crate::doc::{Frame, FrameItem, GroupItem, Meta, TextItem}; use crate::geom::{ @@ -134,7 +134,7 @@ fn render_text( fn render_svg_glyph( canvas: &mut sk::Pixmap, ts: sk::Transform, - _: Option<&sk::ClipMask>, + mask: Option<&sk::ClipMask>, text: &TextItem, id: GlyphId, ) -> Option<()> { @@ -173,10 +173,41 @@ fn render_svg_glyph( height = view_box.height() as f32; } - // FIXME: This doesn't respect the clipping mask. let size = text.size.to_f32(); let ts = ts.pre_scale(size / width, size / height); - resvg::render(&tree, FitTo::Original, ts, canvas.as_mut()) + + // Compute the space we need to draw our glyph. + // See https://github.com/RazrFalcon/resvg/issues/602 for why + // using the svg size is problematic here. + let mut bbox = usvg::Rect::new_bbox(); + for node in tree.root().descendants() { + if let Some(rect) = node.calculate_bbox().and_then(|b| b.to_rect()) { + bbox = bbox.expand(rect); + } + } + + let canvas_rect = usvg::ScreenRect::new(0, 0, canvas.width(), canvas.height())?; + + // Compute the bbox after the transform is applied. + // We add a nice 5px border along the bounding box to + // be on the safe size. We also compute the intersection + // with the canvas rectangle + let svg_ts = usvg::Transform::new( + ts.sx.into(), ts.kx.into(), + ts.ky.into(), ts.sy.into(), + ts.tx.into(), ts.ty.into()); + let bbox = bbox.transform(&svg_ts)? + .to_screen_rect(); + let bbox = usvg::ScreenRect::new(bbox.left()-5, bbox.y()-5, bbox.width()+10, bbox.height()+10)? + .fit_to_rect(canvas_rect); + + let mut pixmap = sk::Pixmap::new(bbox.width(), bbox.height())?; + + // We offset our transform so that the pixmap starts at the edge of the bbox. + let ts = ts.post_translate(-bbox.left() as f32, -bbox.top() as f32); + resvg::render(&tree, FitTo::Original, ts, pixmap.as_mut())?; + + canvas.draw_pixmap(bbox.left(), bbox.top(), pixmap.as_ref(), &sk::PixmapPaint::default(), sk::Transform::identity(), mask) } /// Render a bitmap glyph into the canvas. @@ -239,45 +270,71 @@ fn render_outline_glyph( // doesn't exist, yet. let glyph = pixglyph::Glyph::load(text.font.ttf(), id)?; let bitmap = glyph.rasterize(ts.tx, ts.ty, ppem); - let cw = canvas.width() as i32; - let ch = canvas.height() as i32; - let mw = bitmap.width as i32; - let mh = bitmap.height as i32; - // Determine the pixel bounding box that we actually need to draw. - let left = bitmap.left; - let right = left + mw; - let top = bitmap.top; - let bottom = top + mh; + // If we have a clip mask we first render to a pixmap that we then blend + // with our canvas + if mask.is_some() { + let mw = bitmap.width; + let mh = bitmap.height; - // Premultiply the text color. - let Paint::Solid(color) = text.fill; - let c = color.to_rgba(); - let color = sk::ColorU8::from_rgba(c.r, c.g, c.b, 255).premultiply().get(); + let Paint::Solid(color) = text.fill; + let c = color.to_rgba(); - // Blend the glyph bitmap with the existing pixels on the canvas. - // FIXME: This doesn't respect the clipping mask. - let pixels = bytemuck::cast_slice_mut::(canvas.data_mut()); - for x in left.clamp(0, cw)..right.clamp(0, cw) { - for y in top.clamp(0, ch)..bottom.clamp(0, ch) { - let ai = ((y - top) * mw + (x - left)) as usize; - let cov = bitmap.coverage[ai]; - if cov == 0 { - continue; + // Pad the pixmap with 1 pixel in each dimension so that we do + // not get any problem with floating point errors along ther border + let mut pixmap = sk::Pixmap::new(mw+2, mh+2)?; + for x in 0..mw { + for y in 0..mh { + let alpha = bitmap.coverage[(y * mw + x) as usize]; + let color = sk::ColorU8::from_rgba(c.r, c.g, c.b, alpha).premultiply(); + pixmap.pixels_mut()[((y+1) * (mw+2) + (x+1)) as usize] = color; } - - let pi = (y * cw + x) as usize; - if cov == 255 { - pixels[pi] = color; - continue; - } - - let applied = alpha_mul(color, cov as u32); - pixels[pi] = blend_src_over(applied, pixels[pi]); } - } - Some(()) + let left = bitmap.left; + let top = bitmap.top; + + canvas.draw_pixmap(left-1, top-1, pixmap.as_ref(), &sk::PixmapPaint::default(), sk::Transform::identity(), mask) + } else { + let cw = canvas.width() as i32; + let ch = canvas.height() as i32; + let mw = bitmap.width as i32; + let mh = bitmap.height as i32; + + // Determine the pixel bounding box that we actually need to draw. + let left = bitmap.left; + let right = left + mw; + let top = bitmap.top; + let bottom = top + mh; + + // Premultiply the text color. + let Paint::Solid(color) = text.fill; + let c = color.to_rgba(); + let color = sk::ColorU8::from_rgba(c.r, c.g, c.b, 255).premultiply().get(); + + // Blend the glyph bitmap with the existing pixels on the canvas. + let pixels = bytemuck::cast_slice_mut::(canvas.data_mut()); + for x in left.clamp(0, cw)..right.clamp(0, cw) { + for y in top.clamp(0, ch)..bottom.clamp(0, ch) { + let ai = ((y - top) * mw + (x - left)) as usize; + let cov = bitmap.coverage[ai]; + if cov == 0 { + continue; + } + + let pi = (y * cw + x) as usize; + if cov == 255 { + pixels[pi] = color; + continue; + } + + let applied = alpha_mul(color, cov as u32); + pixels[pi] = blend_src_over(applied, pixels[pi]); + } + } + + Some(()) + } } /// Render a geometrical shape into the canvas. diff --git a/tests/ref/layout/clip.png b/tests/ref/layout/clip.png new file mode 100644 index 0000000000000000000000000000000000000000..f6ec0ba9fc235113c7d082b3874e507bc94e7294 GIT binary patch literal 44908 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 literal 0 HcmV?d00001 diff --git a/tests/ref/text/font.png b/tests/ref/text/font.png index 7cf8beb5a1aeef2c9b4406c2c4db8ac502113e55..856d556b905d43d670d04054e5c6c6d97609f4b9 100644 GIT binary patch literal 34487 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⪙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 literal 20402 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 z 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 diff --git a/tests/typ/layout/clip.typ b/tests/typ/layout/clip.typ new file mode 100644 index 00000000..3baa8b80 --- /dev/null +++ b/tests/typ/layout/clip.typ @@ -0,0 +1,42 @@ +// Test clipping with the `box` and `block` containers. + +--- +// Test box clipping with a rectangle +Hello #box(width: 1em, height: 1em, clip: false)[#rect(width: 3em, height: 3em, fill: red)] +world 1 + +Space + +Hello #box(width: 1em, height: 1em, clip: true)[#rect(width: 3em, height: 3em, fill: red)] +world 2 + +--- +// Test cliping text +#block(width: 5em, height: 2em, clip: false, stroke: 1pt + black)[ + But, soft! what light through +] + +#v(2em) + +#block(width: 5em, height: 2em, clip: true, stroke: 1pt + black)[ + But, soft! what light through yonder window breaks? It is the east, and Juliet + is the sun. +] + +--- +// Test cliping svg glyphs +Emoji: #box(height: 0.5em, stroke: 1pt + black)[🐪, 🌋, 🏞] + +Emoji: #box(height: 0.5em, clip: true, stroke: 1pt + black)[🐪, 🌋, 🏞] + +--- +// Test block clipping over multiple pages. + +#set page(height: 60pt) + +First! + +#block(height: 4em, clip: true, stroke: 1pt + black)[ + But, soft! what light through yonder window breaks? It is the east, and Juliet + is the sun. +]