summaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'graphics')
-rw-r--r--graphics/src/antialiasing.rs23
-rw-r--r--graphics/src/lib.rs2
2 files changed, 25 insertions, 0 deletions
diff --git a/graphics/src/antialiasing.rs b/graphics/src/antialiasing.rs
new file mode 100644
index 00000000..f92b3692
--- /dev/null
+++ b/graphics/src/antialiasing.rs
@@ -0,0 +1,23 @@
+/// An antialiasing strategy.
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub enum Antialiasing {
+ /// Multisample AA with 2 samples
+ MSAAx2,
+ /// Multisample AA with 4 samples
+ MSAAx4,
+ /// Multisample AA with 8 samples
+ MSAAx8,
+ /// Multisample AA with 16 samples
+ MSAAx16,
+}
+
+impl Antialiasing {
+ pub fn sample_count(self) -> u32 {
+ match self {
+ Antialiasing::MSAAx2 => 2,
+ Antialiasing::MSAAx4 => 4,
+ Antialiasing::MSAAx8 => 8,
+ Antialiasing::MSAAx16 => 16,
+ }
+ }
+}
diff --git a/graphics/src/lib.rs b/graphics/src/lib.rs
index 152dc7b0..5dc4040f 100644
--- a/graphics/src/lib.rs
+++ b/graphics/src/lib.rs
@@ -1,3 +1,4 @@
+mod antialiasing;
mod defaults;
mod primitive;
mod renderer;
@@ -12,6 +13,7 @@ pub mod triangle;
#[doc(no_inline)]
pub use widget::*;
+pub use antialiasing::Antialiasing;
pub use backend::Backend;
pub use defaults::Defaults;
pub use primitive::Primitive;