diff options
author | 2024-02-02 14:43:04 +0100 | |
---|---|---|
committer | 2024-02-02 14:43:04 +0100 | |
commit | b3adf3184594c9bf60e0548a0362d30c512f3966 (patch) | |
tree | e99e7a55873678ac37fd695a0f46c1350b30dd2f /wgpu | |
parent | a06682ff420678f7068265191738ab70ebe30b4c (diff) | |
download | iced-b3adf3184594c9bf60e0548a0362d30c512f3966.tar.gz iced-b3adf3184594c9bf60e0548a0362d30c512f3966.tar.bz2 iced-b3adf3184594c9bf60e0548a0362d30c512f3966.zip |
Apply `Transformation` to `RawText` primitives
Diffstat (limited to 'wgpu')
-rw-r--r-- | wgpu/src/layer.rs | 17 | ||||
-rw-r--r-- | wgpu/src/layer/text.rs | 6 | ||||
-rw-r--r-- | wgpu/src/text.rs | 17 |
3 files changed, 21 insertions, 19 deletions
diff --git a/wgpu/src/layer.rs b/wgpu/src/layer.rs index 12588849..cc767c25 100644 --- a/wgpu/src/layer.rs +++ b/wgpu/src/layer.rs @@ -181,20 +181,13 @@ impl<'a> Layer<'a> { clip_bounds: *clip_bounds * transformation, })); } - graphics::Primitive::RawText(graphics::text::Raw { - buffer, - position, - color, - clip_bounds, - }) => { + graphics::Primitive::RawText(raw) => { let layer = &mut layers[current_layer]; - layer.text.push(Text::Raw(graphics::text::Raw { - buffer: buffer.clone(), - position: *position * transformation, - color: *color, - clip_bounds: *clip_bounds * transformation, - })); + layer.text.push(Text::Raw { + raw: raw.clone(), + transformation, + }); } Primitive::Quad { bounds, diff --git a/wgpu/src/layer/text.rs b/wgpu/src/layer/text.rs index 4c2b66a4..b3a00130 100644 --- a/wgpu/src/layer/text.rs +++ b/wgpu/src/layer/text.rs @@ -29,7 +29,11 @@ pub enum Text<'a> { /// Some cached text. Cached(Cached<'a>), /// Some raw text. - Raw(graphics::text::Raw), + #[allow(missing_docs)] + Raw { + raw: graphics::text::Raw, + transformation: Transformation, + }, } #[derive(Debug, Clone)] diff --git a/wgpu/src/text.rs b/wgpu/src/text.rs index 15179ff3..6fa1922d 100644 --- a/wgpu/src/text.rs +++ b/wgpu/src/text.rs @@ -109,7 +109,9 @@ impl Pipeline { Some(Allocation::Cache(key)) } - Text::Raw(text) => text.buffer.upgrade().map(Allocation::Raw), + Text::Raw { raw, .. } => { + raw.buffer.upgrade().map(Allocation::Raw) + } }) .collect(); @@ -194,7 +196,10 @@ impl Pipeline { Transformation::IDENTITY, ) } - Text::Raw(text) => { + Text::Raw { + raw, + transformation, + } => { let Some(Allocation::Raw(buffer)) = allocation else { return None; }; @@ -204,14 +209,14 @@ impl Pipeline { ( buffer.as_ref(), Rectangle::new( - text.position, + raw.position, Size::new(width, height), ), alignment::Horizontal::Left, alignment::Vertical::Top, - text.color, - text.clip_bounds, - Transformation::IDENTITY, + raw.color, + raw.clip_bounds, + *transformation, ) } }; |