summaryrefslogtreecommitdiffstats
path: root/graphics/src/triangle.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-11-03 05:50:53 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-11-03 05:50:53 +0100
commit84d1b79fefc88534835fdfbe79bc0eb3b43627cf (patch)
treec7ec07de21c62a11b3f8bfec594a4421b78bc509 /graphics/src/triangle.rs
parente0bb707f1e3ee1ff27b5caee7d5782ecbad438fd (diff)
downloadiced-84d1b79fefc88534835fdfbe79bc0eb3b43627cf.tar.gz
iced-84d1b79fefc88534835fdfbe79bc0eb3b43627cf.tar.bz2
iced-84d1b79fefc88534835fdfbe79bc0eb3b43627cf.zip
Move `mesh::Style` to `triangle` and reuse it in `fill` and `stroke`
Diffstat (limited to 'graphics/src/triangle.rs')
-rw-r--r--graphics/src/triangle.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/graphics/src/triangle.rs b/graphics/src/triangle.rs
index 39359cfb..04ff6d21 100644
--- a/graphics/src/triangle.rs
+++ b/graphics/src/triangle.rs
@@ -1,4 +1,6 @@
//! Draw geometry using meshes of triangles.
+use crate::{Color, Gradient};
+
use bytemuck::{Pod, Zeroable};
/// A set of [`Vertex2D`] and indices representing a list of triangles.
@@ -19,3 +21,24 @@ pub struct Vertex2D {
/// The vertex position in 2D space.
pub position: [f32; 2],
}
+
+#[derive(Debug, Clone, PartialEq)]
+/// Supported shaders for triangle primitives.
+pub enum Style {
+ /// Fill a primitive with a solid color.
+ Solid(Color),
+ /// Fill a primitive with an interpolated color.
+ Gradient(Gradient),
+}
+
+impl From<Color> for Style {
+ fn from(color: Color) -> Self {
+ Self::Solid(color)
+ }
+}
+
+impl From<Gradient> for Style {
+ fn from(gradient: Gradient) -> Self {
+ Self::Gradient(gradient)
+ }
+}