use serde::{Deserialize, Serialize};
use crate::Vector2;
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum inkEAnchor {
TopLeft = 0,
TopCenter = 1,
TopRight = 2,
CenterLeft = 3,
Centered = 4,
CenterRight = 5,
BottomLeft = 6,
BottomCenter = 7,
BottomRight = 8,
TopFillHorizontaly = 9,
CenterFillHorizontaly = 10,
BottomFillHorizontaly = 11,
LeftFillVerticaly = 12,
CenterFillVerticaly = 13,
RightFillVerticaly = 14,
Fill = 15,
}
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum inkEHorizontalAlign {
Fill = 0,
Left = 1,
Center = 2,
Right = 3,
}
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum inkEVerticalAlign {
Fill = 0,
Top = 1,
Center = 2,
Bottom = 3,
}
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct inkUITransform {
pub translation: Vector2,
pub scale: Vector2,
pub shear: Vector2,
pub rotation: f32,
}
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum textJustificationType {
Left = 0,
Center = 1,
Right = 2,
}
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "$type")]
pub struct inkMargin {
pub left: f32,
pub right: f32,
pub top: f32,
pub bottom: f32,
}
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "$type", rename_all = "camelCase")]
pub struct inkWidgetLayout {
pub anchor: inkEAnchor,
pub anchor_point: Vector2,
pub padding: inkMargin,
pub margin: inkMargin,
#[serde(rename = "HAlign")]
pub h_align: inkEHorizontalAlign,
}
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum inkEChildOrder {
Forward = 0,
Backward = 1,
}