summaryrefslogtreecommitdiffstats
path: root/graphics/src/layer.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2021-11-07 15:15:33 +0700
committerLibravatar GitHub <noreply@github.com>2021-11-07 15:15:33 +0700
commiteafad00af2a9bae9f3ed8124e2a6f6e59ee5d253 (patch)
tree76413948c9c9723075189d51d4c2e02c0f8fdd23 /graphics/src/layer.rs
parent61c747b53589d98f477fea95f85d2ea5349666d3 (diff)
parent07b5097bc92ced376d09115d787ff1d2ebe00836 (diff)
downloadiced-eafad00af2a9bae9f3ed8124e2a6f6e59ee5d253.tar.gz
iced-eafad00af2a9bae9f3ed8124e2a6f6e59ee5d253.tar.bz2
iced-eafad00af2a9bae9f3ed8124e2a6f6e59ee5d253.zip
Merge pull request #1110 from iced-rs/remove-renderer-traits
Reduce the surface of the `Renderer` APIs
Diffstat (limited to 'graphics/src/layer.rs')
-rw-r--r--graphics/src/layer.rs25
1 files changed, 11 insertions, 14 deletions
diff --git a/graphics/src/layer.rs b/graphics/src/layer.rs
index 9653a2e4..7a32c850 100644
--- a/graphics/src/layer.rs
+++ b/graphics/src/layer.rs
@@ -74,7 +74,7 @@ impl<'a> Layer<'a> {
/// Distributes the given [`Primitive`] and generates a list of layers based
/// on its contents.
pub fn generate(
- primitive: &'a Primitive,
+ primitives: &'a [Primitive],
viewport: &Viewport,
) -> Vec<Self> {
let first_layer =
@@ -82,12 +82,14 @@ impl<'a> Layer<'a> {
let mut layers = vec![first_layer];
- Self::process_primitive(
- &mut layers,
- Vector::new(0.0, 0.0),
- primitive,
- 0,
- );
+ for primitive in primitives {
+ Self::process_primitive(
+ &mut layers,
+ Vector::new(0.0, 0.0),
+ primitive,
+ 0,
+ );
+ }
layers
}
@@ -173,11 +175,7 @@ impl<'a> Layer<'a> {
});
}
}
- Primitive::Clip {
- bounds,
- offset,
- content,
- } => {
+ Primitive::Clip { bounds, content } => {
let layer = &mut layers[current_layer];
let translated_bounds = *bounds + translation;
@@ -190,8 +188,7 @@ impl<'a> Layer<'a> {
Self::process_primitive(
layers,
- translation
- - Vector::new(offset.x as f32, offset.y as f32),
+ translation,
content,
layers.len() - 1,
);