mirror of
https://github.com/penpot/penpot.git
synced 2025-06-12 09:21:43 +02:00
🎉 Add text solid strokes (#6384)
* 🎉 Add text strokes * 🔧 Minor refactor
This commit is contained in:
parent
44bf276c49
commit
61eb2f4a19
5 changed files with 166 additions and 23 deletions
|
@ -86,7 +86,7 @@ pub fn render_stroke_inner_shadows(
|
|||
pub fn render_text_drop_shadows(
|
||||
render_state: &mut RenderState,
|
||||
shape: &Shape,
|
||||
paragraphs: &[Paragraph],
|
||||
paragraphs: &[Vec<Paragraph>],
|
||||
antialias: bool,
|
||||
) {
|
||||
for shadow in shape.drop_shadows().rev().filter(|s| !s.hidden()) {
|
||||
|
@ -98,7 +98,7 @@ pub fn render_text_drop_shadow(
|
|||
render_state: &mut RenderState,
|
||||
shape: &Shape,
|
||||
shadow: &Shadow,
|
||||
paragraphs: &[Paragraph],
|
||||
paragraphs: &[Vec<Paragraph>],
|
||||
antialias: bool,
|
||||
) {
|
||||
let paint = &shadow.get_drop_shadow_paint(antialias);
|
||||
|
@ -115,7 +115,7 @@ pub fn render_text_drop_shadow(
|
|||
pub fn render_text_inner_shadows(
|
||||
render_state: &mut RenderState,
|
||||
shape: &Shape,
|
||||
paragraphs: &[Paragraph],
|
||||
paragraphs: &[Vec<Paragraph>],
|
||||
antialias: bool,
|
||||
) {
|
||||
for shadow in shape.inner_shadows().rev().filter(|s| !s.hidden()) {
|
||||
|
@ -127,7 +127,7 @@ pub fn render_text_inner_shadow(
|
|||
render_state: &mut RenderState,
|
||||
shape: &Shape,
|
||||
shadow: &Shadow,
|
||||
paragraphs: &[Paragraph],
|
||||
paragraphs: &[Vec<Paragraph>],
|
||||
antialias: bool,
|
||||
) {
|
||||
let paint = &shadow.get_inner_shadow_paint(antialias);
|
||||
|
|
|
@ -4,11 +4,10 @@ use skia_safe::{self as skia, canvas::SaveLayerRec, paint, textlayout::Paragraph
|
|||
pub fn render(
|
||||
render_state: &mut RenderState,
|
||||
shape: &Shape,
|
||||
paragraphs: &[Paragraph],
|
||||
paragraphs: &[Vec<Paragraph>],
|
||||
surface_id: Option<SurfaceId>,
|
||||
paint: Option<&paint::Paint>,
|
||||
) {
|
||||
let mut offset_y = 0.0;
|
||||
let default_paint = skia::Paint::default();
|
||||
let mask = SaveLayerRec::default().paint(&paint.unwrap_or(&default_paint));
|
||||
let canvas = render_state
|
||||
|
@ -16,10 +15,13 @@ pub fn render(
|
|||
.canvas(surface_id.unwrap_or(SurfaceId::Fills));
|
||||
|
||||
canvas.save_layer(&mask);
|
||||
for skia_paragraph in paragraphs {
|
||||
let xy = (shape.selrect().x(), shape.selrect.y() + offset_y);
|
||||
skia_paragraph.paint(canvas, xy);
|
||||
offset_y += skia_paragraph.height();
|
||||
for group in paragraphs {
|
||||
let mut offset_y = 0.0;
|
||||
for skia_paragraph in group {
|
||||
let xy = (shape.selrect().x(), shape.selrect.y() + offset_y);
|
||||
skia_paragraph.paint(canvas, xy);
|
||||
offset_y += skia_paragraph.height();
|
||||
}
|
||||
}
|
||||
canvas.restore();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue