summaryrefslogtreecommitdiffstats
path: root/wgpu/src/viewport.rs
diff options
context:
space:
mode:
Diffstat (limited to 'wgpu/src/viewport.rs')
-rw-r--r--wgpu/src/viewport.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/wgpu/src/viewport.rs b/wgpu/src/viewport.rs
new file mode 100644
index 00000000..a4bcb704
--- /dev/null
+++ b/wgpu/src/viewport.rs
@@ -0,0 +1,32 @@
+use crate::Transformation;
+
+#[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 {
+ Viewport {
+ width,
+ height,
+ scale_factor: scale_factor as f32,
+ transformation: Transformation::orthographic(width, height),
+ }
+ }
+
+ 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
+ }
+}