summaryrefslogtreecommitdiffstats
path: root/wgpu/src/image
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--wgpu/src/image.rs74
-rw-r--r--wgpu/src/image/atlas.rs (renamed from wgpu/src/texture/atlas.rs)0
-rw-r--r--wgpu/src/image/atlas/allocation.rs (renamed from wgpu/src/texture/atlas/allocation.rs)2
-rw-r--r--wgpu/src/image/atlas/allocator.rs (renamed from wgpu/src/texture/atlas/allocator.rs)0
-rw-r--r--wgpu/src/image/atlas/entry.rs (renamed from wgpu/src/texture/atlas/entry.rs)3
-rw-r--r--wgpu/src/image/atlas/layer.rs (renamed from wgpu/src/texture/atlas/layer.rs)2
-rw-r--r--wgpu/src/image/raster.rs2
-rw-r--r--wgpu/src/image/vector.rs2
8 files changed, 44 insertions, 41 deletions
diff --git a/wgpu/src/image.rs b/wgpu/src/image.rs
index dc19cfbf..d3603676 100644
--- a/wgpu/src/image.rs
+++ b/wgpu/src/image.rs
@@ -1,18 +1,23 @@
+mod atlas;
+
#[cfg(feature = "image")]
mod raster;
+
#[cfg(feature = "svg")]
mod vector;
-use crate::{texture, Transformation};
+use crate::Transformation;
+use atlas::Atlas;
-use iced_native::{image, svg, Rectangle};
+use iced_native::Rectangle;
+use std::cell::RefCell;
use std::mem;
-#[cfg(any(feature = "image", feature = "svg"))]
-use std::cell::RefCell;
+#[cfg(feature = "image")]
+use iced_native::image;
-#[cfg(any(feature = "image", feature = "svg"))]
-use crate::texture::atlas;
+#[cfg(feature = "svg")]
+use iced_native::svg;
#[derive(Debug)]
pub struct Pipeline {
@@ -30,7 +35,7 @@ pub struct Pipeline {
texture: wgpu::BindGroup,
texture_version: usize,
texture_layout: wgpu::BindGroupLayout,
- texture_atlas: texture::Atlas,
+ texture_atlas: Atlas,
}
impl Pipeline {
@@ -216,7 +221,7 @@ impl Pipeline {
usage: wgpu::BufferUsage::VERTEX | wgpu::BufferUsage::COPY_DST,
});
- let texture_atlas = texture::Atlas::new(device);
+ let texture_atlas = Atlas::new(device);
let texture = device.create_bind_group(&wgpu::BindGroupDescriptor {
layout: &texture_layout,
@@ -284,33 +289,29 @@ impl Pipeline {
for image in images {
match &image.handle {
- Handle::Raster(_handle) => {
- #[cfg(feature = "image")]
- {
- if let Some(atlas_entry) = raster_cache.upload(
- _handle,
- device,
- encoder,
- &mut self.texture_atlas,
- ) {
- add_instances(image, atlas_entry, instances);
- }
- };
+ #[cfg(feature = "image")]
+ Handle::Raster(handle) => {
+ if let Some(atlas_entry) = raster_cache.upload(
+ handle,
+ device,
+ encoder,
+ &mut self.texture_atlas,
+ ) {
+ add_instances(image, atlas_entry, instances);
+ }
}
- Handle::Vector(_handle) => {
- #[cfg(feature = "svg")]
- {
- if let Some(atlas_entry) = vector_cache.upload(
- _handle,
- image.size,
- _scale,
- device,
- encoder,
- &mut self.texture_atlas,
- ) {
- add_instances(image, atlas_entry, instances);
- }
- };
+ #[cfg(feature = "svg")]
+ Handle::Vector(handle) => {
+ if let Some(atlas_entry) = vector_cache.upload(
+ handle,
+ image.size,
+ _scale,
+ device,
+ encoder,
+ &mut self.texture_atlas,
+ ) {
+ add_instances(image, atlas_entry, instances);
+ }
}
}
}
@@ -432,7 +433,10 @@ pub struct Image {
}
pub enum Handle {
+ #[cfg(feature = "image")]
Raster(image::Handle),
+
+ #[cfg(feature = "svg")]
Vector(svg::Handle),
}
@@ -479,7 +483,6 @@ struct Uniforms {
transform: [f32; 16],
}
-#[cfg(any(feature = "image", feature = "svg"))]
fn add_instances(
image: &Image,
entry: &atlas::Entry,
@@ -516,7 +519,6 @@ fn add_instances(
}
}
-#[cfg(any(feature = "image", feature = "svg"))]
#[inline]
fn add_instance(
position: [f32; 2],
diff --git a/wgpu/src/texture/atlas.rs b/wgpu/src/image/atlas.rs
index 86a5ff49..86a5ff49 100644
--- a/wgpu/src/texture/atlas.rs
+++ b/wgpu/src/image/atlas.rs
diff --git a/wgpu/src/texture/atlas/allocation.rs b/wgpu/src/image/atlas/allocation.rs
index e17b3f8c..59b7239f 100644
--- a/wgpu/src/texture/atlas/allocation.rs
+++ b/wgpu/src/image/atlas/allocation.rs
@@ -1,4 +1,4 @@
-use crate::texture::atlas::{self, allocator};
+use crate::image::atlas::{self, allocator};
#[derive(Debug)]
pub enum Allocation {
diff --git a/wgpu/src/texture/atlas/allocator.rs b/wgpu/src/image/atlas/allocator.rs
index 7a4ff5b1..7a4ff5b1 100644
--- a/wgpu/src/texture/atlas/allocator.rs
+++ b/wgpu/src/image/atlas/allocator.rs
diff --git a/wgpu/src/texture/atlas/entry.rs b/wgpu/src/image/atlas/entry.rs
index 2c064665..0310fc54 100644
--- a/wgpu/src/texture/atlas/entry.rs
+++ b/wgpu/src/image/atlas/entry.rs
@@ -1,4 +1,4 @@
-use crate::texture::atlas;
+use crate::image::atlas;
#[derive(Debug)]
pub enum Entry {
@@ -10,6 +10,7 @@ pub enum Entry {
}
impl Entry {
+ #[cfg(feature = "image")]
pub fn size(&self) -> (u32, u32) {
match self {
Entry::Contiguous(allocation) => allocation.size(),
diff --git a/wgpu/src/texture/atlas/layer.rs b/wgpu/src/image/atlas/layer.rs
index b025d8a1..b1084ed9 100644
--- a/wgpu/src/texture/atlas/layer.rs
+++ b/wgpu/src/image/atlas/layer.rs
@@ -1,4 +1,4 @@
-use crate::texture::atlas::Allocator;
+use crate::image::atlas::Allocator;
#[derive(Debug)]
pub enum Layer {
diff --git a/wgpu/src/image/raster.rs b/wgpu/src/image/raster.rs
index 883c32f7..3edec57e 100644
--- a/wgpu/src/image/raster.rs
+++ b/wgpu/src/image/raster.rs
@@ -1,4 +1,4 @@
-use crate::texture::atlas::{self, Atlas};
+use crate::image::atlas::{self, Atlas};
use iced_native::image;
use std::collections::{HashMap, HashSet};
diff --git a/wgpu/src/image/vector.rs b/wgpu/src/image/vector.rs
index 6b12df54..bae0f82f 100644
--- a/wgpu/src/image/vector.rs
+++ b/wgpu/src/image/vector.rs
@@ -1,4 +1,4 @@
-use crate::texture::atlas::{self, Atlas};
+use crate::image::atlas::{self, Atlas};
use iced_native::svg;
use std::collections::{HashMap, HashSet};