1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
use avm1::Action; use fill_styles; use join_styles; use shape_records; #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] #[serde(rename_all = "kebab-case")] pub enum CapStyle { None, Round, Square, } #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] #[serde(rename_all = "snake_case")] pub struct ClipAction { pub events: ClipEventFlags, #[serde(skip_serializing_if="Option::is_none")] pub key_code: Option<u8>, pub actions: Vec<Action>, } #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] #[serde(rename_all = "snake_case")] pub struct ClipEventFlags { pub key_up: bool, pub key_down: bool, pub mouse_up: bool, pub mouse_down: bool, pub mouse_move: bool, pub unload: bool, pub enter_frame: bool, pub load: bool, pub drag_over: bool, pub roll_out: bool, pub roll_over: bool, pub release_outside: bool, pub release: bool, pub press: bool, pub initialize: bool, pub data: bool, pub construct: bool, pub key_press: bool, pub drag_out: bool, } #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] #[serde(tag = "type", rename_all = "kebab-case")] pub enum FillStyle { Bitmap(fill_styles::Bitmap), FocalGradient(fill_styles::FocalGradient), LinearGradient(fill_styles::LinearGradient), RadialGradient(fill_styles::RadialGradient), Solid(fill_styles::Solid), } #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] #[serde(tag = "type", rename_all = "kebab-case")] pub enum JoinStyle { Bevel, Miter(join_styles::Miter), Round, } #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] #[serde(rename_all = "snake_case")] pub struct LineStyle { pub width: u16, pub start_cap: CapStyle, pub end_cap: CapStyle, pub join: JoinStyle, pub no_h_scale: bool, pub no_v_scale: bool, pub no_close: bool, pub pixel_hinting: bool, pub fill: FillStyle, } #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] #[serde(rename_all = "snake_case")] pub struct Glyph { pub records: Vec<ShapeRecord>, } #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] #[serde(rename_all = "snake_case")] pub struct Shape { pub fill_styles: Vec<FillStyle>, pub line_styles: Vec<LineStyle>, pub records: Vec<ShapeRecord>, } #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] #[serde(tag = "type", rename_all = "kebab-case")] pub enum ShapeRecord { CurvedEdge(shape_records::CurvedEdge), StraightEdge(shape_records::StraightEdge), StyleChange(shape_records::StyleChange), }