summaryrefslogtreecommitdiffstats
path: root/wgpu/src
diff options
context:
space:
mode:
Diffstat (limited to 'wgpu/src')
-rw-r--r--wgpu/src/renderer.rs3
-rw-r--r--wgpu/src/viewport.rs11
-rw-r--r--wgpu/src/window/backend.rs5
-rw-r--r--wgpu/src/window/swap_chain.rs3
4 files changed, 10 insertions, 12 deletions
diff --git a/wgpu/src/renderer.rs b/wgpu/src/renderer.rs
index a99080f4..904e3c65 100644
--- a/wgpu/src/renderer.rs
+++ b/wgpu/src/renderer.rs
@@ -73,12 +73,13 @@ impl Renderer {
encoder: &mut wgpu::CommandEncoder,
target: Target<'_>,
(primitive, mouse_cursor): &(Primitive, MouseCursor),
+ scale_factor: f64,
overlay: &[T],
) -> MouseCursor {
log::debug!("Drawing");
let (width, height) = target.viewport.dimensions();
- let scale_factor = target.viewport.scale_factor();
+ let scale_factor = scale_factor as f32;
let transformation = target.viewport.transformation();
let mut layers = Vec::new();
diff --git a/wgpu/src/viewport.rs b/wgpu/src/viewport.rs
index a4bcb704..66242468 100644
--- a/wgpu/src/viewport.rs
+++ b/wgpu/src/viewport.rs
@@ -1,31 +1,28 @@
use crate::Transformation;
+/// A viewing region for displaying computer graphics.
#[derive(Debug)]
pub struct Viewport {
width: u32,
height: u32,
- scale_factor: f32,
transformation: Transformation,
}
impl Viewport {
- pub fn new(width: u32, height: u32, scale_factor: f64) -> Viewport {
+ /// Creates a new [`Viewport`] with the given dimensions.
+ pub fn new(width: u32, height: u32) -> Viewport {
Viewport {
width,
height,
- scale_factor: scale_factor as f32,
transformation: Transformation::orthographic(width, height),
}
}
+ /// Returns the dimensions of the [`Viewport`].
pub fn dimensions(&self) -> (u32, u32) {
(self.width, self.height)
}
- pub fn scale_factor(&self) -> f32 {
- self.scale_factor
- }
-
pub(crate) fn transformation(&self) -> Transformation {
self.transformation
}
diff --git a/wgpu/src/window/backend.rs b/wgpu/src/window/backend.rs
index fda34a0a..0e4f02c9 100644
--- a/wgpu/src/window/backend.rs
+++ b/wgpu/src/window/backend.rs
@@ -47,9 +47,8 @@ impl iced_native::window::Backend for Backend {
surface: &Self::Surface,
width: u32,
height: u32,
- scale_factor: f64,
) -> SwapChain {
- SwapChain::new(&self.device, surface, width, height, scale_factor)
+ SwapChain::new(&self.device, surface, width, height)
}
fn draw<T: AsRef<str>>(
@@ -57,6 +56,7 @@ impl iced_native::window::Backend for Backend {
renderer: &mut Self::Renderer,
swap_chain: &mut SwapChain,
output: &<Self::Renderer as iced_native::Renderer>::Output,
+ scale_factor: f64,
overlay: &[T],
) -> MouseCursor {
let (frame, viewport) = swap_chain.next_frame();
@@ -89,6 +89,7 @@ impl iced_native::window::Backend for Backend {
viewport,
},
output,
+ scale_factor,
overlay,
);
diff --git a/wgpu/src/window/swap_chain.rs b/wgpu/src/window/swap_chain.rs
index 46aaa869..3760e8a2 100644
--- a/wgpu/src/window/swap_chain.rs
+++ b/wgpu/src/window/swap_chain.rs
@@ -17,11 +17,10 @@ impl SwapChain {
surface: &wgpu::Surface,
width: u32,
height: u32,
- scale_factor: f64,
) -> SwapChain {
SwapChain {
raw: new_swap_chain(surface, width, height, device),
- viewport: Viewport::new(width, height, scale_factor),
+ viewport: Viewport::new(width, height),
}
}