wolfrpg_map_parser/command/set_variable_plus_command/
picture_field.rs1#[cfg(feature = "serde")]
2use serde::{Serialize, Deserialize};
3
4#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
5#[derive(PartialEq, Clone)]
6pub enum PictureField {
7 PositionX = 0x00000000,
8 PositionY = 0x00000001,
9 Width = 0x00000002,
10 Height = 0x00000003,
11 PatternNumber = 0x00000004,
12 Opacity = 0x00000005,
13 Angle = 0x00000006,
14 CursorHover = 0x00000008,
15 PictureInUse = 0x00000009,
16 StringDoneDisplaying = 0x0000000a,
17 ZoomWidth = 0x0000000b,
18 ZoomHeight = 0x0000000c,
19 TopLeftX = 0x0000000d,
20 TopLeftY = 0x0000000e,
21 TopRightX = 0x0000000f,
22 TopRightY = 0x00000010,
23 BottomLeftX = 0x00000011,
24 BottomLeftY = 0x00000012,
25 BottomRightX = 0x00000013,
26 BottomRightY = 0x00000014,
27 Unknown
28}
29
30impl PictureField {
31 pub const fn new(field: u32) -> Self {
32 match field {
33 0x00000000 => PictureField::PositionX,
34 0x00000001 => PictureField::PositionY,
35 0x00000002 => PictureField::Width,
36 0x00000003 => PictureField::Height,
37 0x00000004 => PictureField::PatternNumber,
38 0x00000005 => PictureField::Opacity,
39 0x00000006 => PictureField::Angle,
40 0x00000008 => PictureField::CursorHover,
41 0x00000009 => PictureField::PictureInUse,
42 0x0000000a => PictureField::StringDoneDisplaying,
43 0x0000000b => PictureField::ZoomWidth,
44 0x0000000c => PictureField::ZoomHeight,
45 0x0000000d => PictureField::TopLeftX,
46 0x0000000e => PictureField::TopLeftY,
47 0x0000000f => PictureField::TopRightX,
48 0x00000010 => PictureField::TopRightY,
49 0x00000011 => PictureField::BottomLeftX,
50 0x00000012 => PictureField::BottomLeftY,
51 0x00000013 => PictureField::BottomRightX,
52 0x00000014 => PictureField::BottomRightY,
53 _ => PictureField::Unknown,
54 }
55 }
56}