swf_tree/
fill_styles.rs

1use ::serde::{Deserialize, Serialize};
2
3use crate::basic_types::{Matrix, StraightSRgba8};
4use crate::fixed::Sfixed8P8;
5use crate::gradient::{Gradient, MorphGradient};
6
7#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
8pub struct Bitmap {
9  pub bitmap_id: u16,
10  pub matrix: Matrix,
11  pub repeating: bool,
12  pub smoothed: bool,
13}
14
15#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
16pub struct FocalGradient {
17  pub matrix: Matrix,
18  pub gradient: Gradient,
19  pub focal_point: Sfixed8P8,
20}
21
22#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
23pub struct LinearGradient {
24  pub matrix: Matrix,
25  pub gradient: Gradient,
26}
27
28#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
29pub struct RadialGradient {
30  pub matrix: Matrix,
31  pub gradient: Gradient,
32}
33
34#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
35pub struct Solid {
36  pub color: StraightSRgba8,
37}
38
39#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
40pub struct MorphBitmap {
41  pub bitmap_id: u16,
42  pub matrix: Matrix,
43  pub morph_matrix: Matrix,
44  pub repeating: bool,
45  pub smoothed: bool,
46}
47
48#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
49pub struct MorphFocalGradient {
50  pub matrix: Matrix,
51  pub morph_matrix: Matrix,
52  pub gradient: MorphGradient,
53  pub focal_point: Sfixed8P8,
54  pub morph_focal_point: Sfixed8P8,
55}
56
57#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
58pub struct MorphLinearGradient {
59  pub matrix: Matrix,
60  pub morph_matrix: Matrix,
61  pub gradient: MorphGradient,
62}
63
64#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
65pub struct MorphRadialGradient {
66  pub matrix: Matrix,
67  pub morph_matrix: Matrix,
68  pub gradient: MorphGradient,
69}
70
71#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
72pub struct MorphSolid {
73  pub color: StraightSRgba8,
74  pub morph_color: StraightSRgba8,
75}