diff --git a/app/app-icon.png b/app/app-icon.png new file mode 100644 index 0000000..3fa0ef7 Binary files /dev/null and b/app/app-icon.png differ diff --git a/app/src-tauri/icons/128x128.png b/app/src-tauri/icons/128x128.png index 6be5e50..8d0dd67 100644 Binary files a/app/src-tauri/icons/128x128.png and b/app/src-tauri/icons/128x128.png differ diff --git a/app/src-tauri/icons/128x128@2x.png b/app/src-tauri/icons/128x128@2x.png index e81bece..283d004 100644 Binary files a/app/src-tauri/icons/128x128@2x.png and b/app/src-tauri/icons/128x128@2x.png differ diff --git a/app/src-tauri/icons/32x32.png b/app/src-tauri/icons/32x32.png index a437dd5..2e7f186 100644 Binary files a/app/src-tauri/icons/32x32.png and b/app/src-tauri/icons/32x32.png differ diff --git a/app/src-tauri/icons/Square107x107Logo.png b/app/src-tauri/icons/Square107x107Logo.png index 0ca4f27..069045e 100644 Binary files a/app/src-tauri/icons/Square107x107Logo.png and b/app/src-tauri/icons/Square107x107Logo.png differ diff --git a/app/src-tauri/icons/Square142x142Logo.png b/app/src-tauri/icons/Square142x142Logo.png index b81f820..dcecda4 100644 Binary files a/app/src-tauri/icons/Square142x142Logo.png and b/app/src-tauri/icons/Square142x142Logo.png differ diff --git a/app/src-tauri/icons/Square150x150Logo.png b/app/src-tauri/icons/Square150x150Logo.png index 624c7bf..42ed661 100644 Binary files a/app/src-tauri/icons/Square150x150Logo.png and b/app/src-tauri/icons/Square150x150Logo.png differ diff --git a/app/src-tauri/icons/Square284x284Logo.png b/app/src-tauri/icons/Square284x284Logo.png index c021d2b..3bfb930 100644 Binary files a/app/src-tauri/icons/Square284x284Logo.png and b/app/src-tauri/icons/Square284x284Logo.png differ diff --git a/app/src-tauri/icons/Square30x30Logo.png b/app/src-tauri/icons/Square30x30Logo.png index 6219700..f25cfc4 100644 Binary files a/app/src-tauri/icons/Square30x30Logo.png and b/app/src-tauri/icons/Square30x30Logo.png differ diff --git a/app/src-tauri/icons/Square310x310Logo.png b/app/src-tauri/icons/Square310x310Logo.png index f9bc048..bd2d209 100644 Binary files a/app/src-tauri/icons/Square310x310Logo.png and b/app/src-tauri/icons/Square310x310Logo.png differ diff --git a/app/src-tauri/icons/Square44x44Logo.png b/app/src-tauri/icons/Square44x44Logo.png index d5fbfb2..7291761 100644 Binary files a/app/src-tauri/icons/Square44x44Logo.png and b/app/src-tauri/icons/Square44x44Logo.png differ diff --git a/app/src-tauri/icons/Square71x71Logo.png b/app/src-tauri/icons/Square71x71Logo.png index 63440d7..8355891 100644 Binary files a/app/src-tauri/icons/Square71x71Logo.png and b/app/src-tauri/icons/Square71x71Logo.png differ diff --git a/app/src-tauri/icons/Square89x89Logo.png b/app/src-tauri/icons/Square89x89Logo.png index f3f705a..87c7e13 100644 Binary files a/app/src-tauri/icons/Square89x89Logo.png and b/app/src-tauri/icons/Square89x89Logo.png differ diff --git a/app/src-tauri/icons/StoreLogo.png b/app/src-tauri/icons/StoreLogo.png index 4556388..f6e8e5b 100644 Binary files a/app/src-tauri/icons/StoreLogo.png and b/app/src-tauri/icons/StoreLogo.png differ diff --git a/app/src-tauri/icons/icon.icns b/app/src-tauri/icons/icon.icns index 756f820..0fdba38 100644 Binary files a/app/src-tauri/icons/icon.icns and b/app/src-tauri/icons/icon.icns differ diff --git a/app/src-tauri/icons/icon.ico b/app/src-tauri/icons/icon.ico index b3636e4..c3fef03 100644 Binary files a/app/src-tauri/icons/icon.ico and b/app/src-tauri/icons/icon.ico differ diff --git a/app/src-tauri/icons/icon.png b/app/src-tauri/icons/icon.png index e1cd261..f8260b1 100644 Binary files a/app/src-tauri/icons/icon.png and b/app/src-tauri/icons/icon.png differ diff --git a/app/src-tauri/src/animation/primitives/paint.rs b/app/src-tauri/src/animation/primitives/paint.rs index 298d88b..695c5af 100644 --- a/app/src-tauri/src/animation/primitives/paint.rs +++ b/app/src-tauri/src/animation/primitives/paint.rs @@ -30,7 +30,7 @@ pub struct Paint { pub struct TextPaint { pub style: PaintStyle, pub align: TextAlign, - pub fontName: String, + pub font_name: String, pub size: f32, } diff --git a/app/src-tauri/src/animation/primitives/transform.rs b/app/src-tauri/src/animation/primitives/transform.rs index aefd55c..2416245 100644 --- a/app/src-tauri/src/animation/primitives/transform.rs +++ b/app/src-tauri/src/animation/primitives/transform.rs @@ -1,6 +1,6 @@ use super::{ entities::common::AnimationData, - values::{AnimatedFloatVec2, AnimatedValue}, + values::{AnimatedFloatVec2, AnimatedFloatVec3, AnimatedValue}, }; use crate::animation::timeline::Timeline; use serde::{Deserialize, Serialize}; @@ -10,7 +10,7 @@ pub struct AnimatedTransform { pub translate: AnimatedFloatVec2, pub scale: AnimatedFloatVec2, pub skew: AnimatedFloatVec2, - pub rotate: AnimatedFloatVec2, + pub rotate: AnimatedFloatVec3, } #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)] @@ -18,7 +18,7 @@ pub struct Transform { pub translate: (f32, f32), pub scale: (f32, f32), pub skew: (f32, f32), - pub rotate: (f32, f32), + pub rotate: (f32, f32, f32), } impl AnimatedTransform { diff --git a/app/src-tauri/src/animation/timeline.rs b/app/src-tauri/src/animation/timeline.rs index 1d047f8..0878eaa 100644 --- a/app/src-tauri/src/animation/timeline.rs +++ b/app/src-tauri/src/animation/timeline.rs @@ -154,7 +154,7 @@ pub fn test_timeline_entities_at_frame( color: Color::new(0, 0, 0, 1.0), width: 10.0, }), - fontName: "Arial".to_string(), + font_name: "Arial".to_string(), align: TextAlign::Center, size: 20.0, }; @@ -163,7 +163,7 @@ pub fn test_timeline_entities_at_frame( style: PaintStyle::Fill(FillStyle { color: Color::new(0, 0, 0, 1.0), }), - fontName: "Arial".to_string(), + font_name: "Arial".to_string(), align: TextAlign::Center, size: 10.0, }; diff --git a/app/src-tauri/src/fonts.rs b/app/src-tauri/src/fonts.rs index dcde1f3..57810bb 100644 --- a/app/src-tauri/src/fonts.rs +++ b/app/src-tauri/src/fonts.rs @@ -1,16 +1,27 @@ use font_kit::source::SystemSource; -pub struct Font { - pub path: String, -} - #[tauri::command] pub fn get_system_fonts() -> Option> { let source = SystemSource::new(); - let found_families = source.all_families(); + let found_fonts = source.all_fonts(); - found_families.ok() + match found_fonts { + Ok(found_fonts) => { + let font_names: Vec = found_fonts + .iter() + .map(|f| f.load()) + .filter(|f| f.is_ok()) + .map(|f| f.unwrap()) + .map(|f| f.postscript_name()) + .filter(|f| f.is_some()) + .map(|f| f.unwrap()) + .collect(); + + Some(font_names) + } + Err(_) => None, + } } #[tauri::command] diff --git a/app/src/components/Properties/Primitives.tsx b/app/src/components/Properties/Primitives.tsx index 1e086fa..522efdc 100644 --- a/app/src/components/Properties/Primitives.tsx +++ b/app/src/components/Properties/Primitives.tsx @@ -102,10 +102,10 @@ export const TextProperties: FC = ({ onUpdate({ ...entity, cache: { valid: false }, - paint: { ...entity.paint, fontName: e.target.value }, + paint: { ...entity.paint, font_name: e.target.value }, }) } - value={entity.paint.fontName} + value={entity.paint.font_name} > {fonts.map((font) => (