summaryrefslogtreecommitdiffstats
path: root/graphics/src/layer/quad.rs
diff options
context:
space:
mode:
authorLibravatar shan <shankern@protonmail.com>2022-10-05 10:49:58 -0700
committerLibravatar shan <shankern@protonmail.com>2022-10-05 10:49:58 -0700
commit30432cbade3d9b25c4df62656a7494db3f4ea82a (patch)
tree186ca59e50caede84ede2e2381dc01dd0483806b /graphics/src/layer/quad.rs
parent6e7b3ced0b1daf368e44e181ecdb4ae529877eb6 (diff)
downloadiced-30432cbade3d9b25c4df62656a7494db3f4ea82a.tar.gz
iced-30432cbade3d9b25c4df62656a7494db3f4ea82a.tar.bz2
iced-30432cbade3d9b25c4df62656a7494db3f4ea82a.zip
Readjusted namespaces, removed Geometry example as it's no longer relevant.
Diffstat (limited to 'graphics/src/layer/quad.rs')
-rw-r--r--graphics/src/layer/quad.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/graphics/src/layer/quad.rs b/graphics/src/layer/quad.rs
new file mode 100644
index 00000000..4380fb6c
--- /dev/null
+++ b/graphics/src/layer/quad.rs
@@ -0,0 +1,30 @@
+/// A colored rectangle with a border.
+///
+/// This type can be directly uploaded to GPU memory.
+#[derive(Debug, Clone, Copy)]
+#[repr(C)]
+pub struct Quad {
+ /// The position of the [`Quad`].
+ pub position: [f32; 2],
+
+ /// The size of the [`Quad`].
+ pub size: [f32; 2],
+
+ /// The color of the [`Quad`], in __linear RGB__.
+ pub color: [f32; 4],
+
+ /// The border color of the [`Quad`], in __linear RGB__.
+ pub border_color: [f32; 4],
+
+ /// The border radius of the [`Quad`].
+ pub border_radius: f32,
+
+ /// The border width of the [`Quad`].
+ pub border_width: f32,
+}
+
+#[allow(unsafe_code)]
+unsafe impl bytemuck::Zeroable for Quad {}
+
+#[allow(unsafe_code)]
+unsafe impl bytemuck::Pod for Quad {} \ No newline at end of file