mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-19 10:58:04 +08:00
Add colors in Rust (#78)
* 🎨 Add colors in Rust * 🌿 Use an option for the properties and #[repr(C)] * ❌ Remove WASM dependency on document. * 😎 Wrap Fill and stroke in a style struct. * 📦 Use crate::Color * Merge Add transactions for temporary modifications to the document * Run cargo fmt * Color without a 'U'
This commit is contained in:
committed by
Keavon Chambers
parent
2849b99b59
commit
46c9ef02ca
25
core/document/src/layers/shape.rs
Normal file
25
core/document/src/layers/shape.rs
Normal file
@@ -0,0 +1,25 @@
|
||||
use crate::shape_points;
|
||||
|
||||
use super::style;
|
||||
use super::LayerData;
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq)]
|
||||
pub struct Shape {
|
||||
shape: shape_points::ShapePoints,
|
||||
style: style::PathStyle,
|
||||
}
|
||||
|
||||
impl Shape {
|
||||
pub fn new(center: impl Into<kurbo::Point>, extent: impl Into<kurbo::Vec2>, sides: u8, style: style::PathStyle) -> Shape {
|
||||
Shape {
|
||||
shape: shape_points::ShapePoints::new(center, extent, sides),
|
||||
style,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl LayerData for Shape {
|
||||
fn render(&self) -> String {
|
||||
format!(r#"<polygon points="{}" {} />"#, self.shape, self.style.render(),)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user