move rust code to own library for targeting
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
multiple environments like wasm, tauri and more put non wasm compatible features like rayon multithreading behind feature flags
This commit is contained in:
70
lib/creator_rs/src/animation/primitives/paint.rs
Normal file
70
lib/creator_rs/src/animation/primitives/paint.rs
Normal file
@@ -0,0 +1,70 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
pub struct Color {
|
||||
value: (u8, u8, u8, f32),
|
||||
}
|
||||
|
||||
impl Color {
|
||||
pub fn new(red: u8, green: u8, blue: u8, alpha: f32) -> Color {
|
||||
Color {
|
||||
value: (red, green, blue, alpha),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(tag = "type")]
|
||||
pub enum PaintStyle {
|
||||
Fill(FillStyle),
|
||||
Stroke(StrokeStyle),
|
||||
StrokeAndFill(StrokeAndFillStyle),
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
pub struct Paint {
|
||||
pub style: PaintStyle,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
pub struct TextPaint {
|
||||
pub style: PaintStyle,
|
||||
pub align: TextAlign,
|
||||
pub font_name: String,
|
||||
pub size: f32,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
pub struct StrokeStyle {
|
||||
pub color: Color,
|
||||
pub width: f32,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
pub struct StrokeAndFillStyle {
|
||||
pub stroke: StrokeStyle,
|
||||
pub fill: FillStyle,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
pub struct FillStyle {
|
||||
pub color: Color,
|
||||
}
|
||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
pub enum TextAlign {
|
||||
Left,
|
||||
Center,
|
||||
Right,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
pub struct FontDefinition {
|
||||
pub family_name: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
pub struct Font {
|
||||
pub glyph_count: i32,
|
||||
pub weight: i32,
|
||||
pub style: String,
|
||||
}
|
||||
Reference in New Issue
Block a user