summaryrefslogtreecommitdiffstats
path: root/wgpu/src/layer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'wgpu/src/layer.rs')
-rw-r--r--wgpu/src/layer.rs45
1 files changed, 45 insertions, 0 deletions
diff --git a/wgpu/src/layer.rs b/wgpu/src/layer.rs
index df289e0e..e714e281 100644
--- a/wgpu/src/layer.rs
+++ b/wgpu/src/layer.rs
@@ -114,12 +114,56 @@ impl Layer {
pub fn draw_image(
&mut self,
+ image: &Image,
+ transformation: Transformation,
+ ) {
+ match image {
+ Image::Raster {
+ handle,
+ filter_method,
+ bounds,
+ rotation,
+ opacity,
+ snap,
+ } => {
+ self.draw_raster(
+ handle.clone(),
+ *filter_method,
+ *bounds,
+ transformation,
+ *rotation,
+ *opacity,
+ *snap,
+ );
+ }
+ Image::Vector {
+ handle,
+ color,
+ bounds,
+ rotation,
+ opacity,
+ } => {
+ self.draw_svg(
+ handle.clone(),
+ *color,
+ *bounds,
+ transformation,
+ *rotation,
+ *opacity,
+ );
+ }
+ }
+ }
+
+ pub fn draw_raster(
+ &mut self,
handle: crate::core::image::Handle,
filter_method: crate::core::image::FilterMethod,
bounds: Rectangle,
transformation: Transformation,
rotation: Radians,
opacity: f32,
+ snap: bool,
) {
let image = Image::Raster {
handle,
@@ -127,6 +171,7 @@ impl Layer {
bounds: bounds * transformation,
rotation,
opacity,
+ snap,
};
self.images.push(image);