use std::path::PathBuf; use iced::{ alignment::{Horizontal, Vertical}, widget::{text::Shaping, text_editor}, Alignment, ContentFit, Font, Length, }; pub struct DesignerState { pub designer_content: Vec, pub designer_page: DesignerPage, } pub struct RenderedElement { pub id: String, pub children: Option>, pub name: ElementName, pub props: Props, } pub enum ElementName { Text(String), Button(String), TextEditor(text_editor::Content), SVG(PathBuf), Image(PathBuf), Container, Row, Column, } pub struct Props { pub align_items: Option, pub align_x: Option, pub align_y: Option, pub horizontal_alignment: Option, pub vertical_alignment: Option, pub height: Option, pub width: Option, pub font: Option, pub padding: Option, pub spacing: Option, pub content_fit: Option, pub shaping: Option, } pub enum DesignerPage { Designer, CodeView, }