1#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct AvatarItem {
5 #[prost(message, optional, tag = "1")]
7 pub container_size: ::core::option::Option<super::common::SizeSpec>,
8 #[prost(message, repeated, tag = "2")]
10 pub layers: ::prost::alloc::vec::Vec<LayerGroup>,
11 #[prost(message, optional, tag = "3")]
13 pub fallback_layers: ::core::option::Option<LayerGroup>,
14 #[prost(int64, tag = "4")]
16 pub mid: i64,
17}
18#[derive(Clone, PartialEq, ::prost::Message)]
20pub struct BasicLayerResource {
21 #[prost(enumeration = "basic_layer_resource::ResType", tag = "1")]
23 pub res_type: i32,
24 #[prost(oneof = "basic_layer_resource::Payload", tags = "2, 3, 4")]
26 pub payload: ::core::option::Option<basic_layer_resource::Payload>,
27}
28pub mod basic_layer_resource {
30 #[derive(
32 Clone,
33 Copy,
34 Debug,
35 PartialEq,
36 Eq,
37 Hash,
38 PartialOrd,
39 Ord,
40 ::prost::Enumeration
41 )]
42 #[repr(i32)]
43 pub enum ResType {
44 Invalid = 0,
46 Plugin = 1,
48 Empty = 2,
50 Image = 3,
52 Animation = 4,
54 NativeDraw = 5,
56 }
57 impl ResType {
58 pub fn as_str_name(&self) -> &'static str {
63 match self {
64 Self::Invalid => "RES_TYPE_INVALID",
65 Self::Plugin => "RES_TYPE_PLUGIN",
66 Self::Empty => "RES_TYPE_EMPTY",
67 Self::Image => "RES_TYPE_IMAGE",
68 Self::Animation => "RES_TYPE_ANIMATION",
69 Self::NativeDraw => "RES_TYPE_NATIVE_DRAW",
70 }
71 }
72 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
74 match value {
75 "RES_TYPE_INVALID" => Some(Self::Invalid),
76 "RES_TYPE_PLUGIN" => Some(Self::Plugin),
77 "RES_TYPE_EMPTY" => Some(Self::Empty),
78 "RES_TYPE_IMAGE" => Some(Self::Image),
79 "RES_TYPE_ANIMATION" => Some(Self::Animation),
80 "RES_TYPE_NATIVE_DRAW" => Some(Self::NativeDraw),
81 _ => None,
82 }
83 }
84 }
85 #[derive(Clone, PartialEq, ::prost::Oneof)]
87 pub enum Payload {
88 #[prost(message, tag = "2")]
90 ResImage(super::ResImage),
91 #[prost(message, tag = "3")]
93 ResAnimation(super::ResAnimation),
94 #[prost(message, tag = "4")]
96 ResNativeDraw(super::ResNativeDraw),
97 }
98}
99#[derive(Clone, PartialEq, ::prost::Message)]
101pub struct GeneralConfig {
102 #[prost(map = "string, string", tag = "1")]
104 pub web_css_style: ::std::collections::HashMap<
105 ::prost::alloc::string::String,
106 ::prost::alloc::string::String,
107 >,
108}
109#[derive(Clone, PartialEq, ::prost::Message)]
111pub struct Layer {
112 #[prost(string, tag = "1")]
114 pub layer_id: ::prost::alloc::string::String,
115 #[prost(bool, tag = "2")]
117 pub visible: bool,
118 #[prost(message, optional, tag = "3")]
120 pub general_spec: ::core::option::Option<super::common::LayerGeneralSpec>,
121 #[prost(message, optional, tag = "4")]
123 pub layer_config: ::core::option::Option<LayerConfig>,
124 #[prost(message, optional, tag = "5")]
126 pub resource: ::core::option::Option<BasicLayerResource>,
127}
128#[derive(Clone, PartialEq, ::prost::Message)]
130pub struct LayerConfig {
131 #[prost(map = "string, message", tag = "1")]
133 pub tags: ::std::collections::HashMap<
134 ::prost::alloc::string::String,
135 LayerTagConfig,
136 >,
137 #[prost(bool, tag = "2")]
139 pub is_critical: bool,
140 #[prost(bool, tag = "3")]
142 pub allow_over_paint: bool,
143 #[prost(message, optional, tag = "4")]
145 pub layer_mask: ::core::option::Option<super::common::MaskProperty>,
146}
147#[derive(Clone, PartialEq, ::prost::Message)]
149pub struct LayerGroup {
150 #[prost(string, tag = "1")]
152 pub group_id: ::prost::alloc::string::String,
153 #[prost(message, repeated, tag = "2")]
155 pub layers: ::prost::alloc::vec::Vec<Layer>,
156 #[prost(message, optional, tag = "3")]
158 pub group_mask: ::core::option::Option<super::common::MaskProperty>,
159 #[prost(bool, tag = "4")]
161 pub is_critical_group: bool,
162}
163#[derive(Clone, PartialEq, ::prost::Message)]
165pub struct LayerTagConfig {
166 #[prost(enumeration = "layer_tag_config::TagConfigType", tag = "1")]
168 pub config_type: i32,
169 #[prost(oneof = "layer_tag_config::Config", tags = "2, 3, 4, 5, 6, 7, 8")]
171 pub config: ::core::option::Option<layer_tag_config::Config>,
172}
173pub mod layer_tag_config {
175 #[derive(
177 Clone,
178 Copy,
179 Debug,
180 PartialEq,
181 Eq,
182 Hash,
183 PartialOrd,
184 Ord,
185 ::prost::Enumeration
186 )]
187 #[repr(i32)]
188 pub enum TagConfigType {
189 TagCfgInvalid = 0,
191 TagCfgGeneral = 1,
193 TagCfgGyro = 2,
195 TagCfgCommentDoubleClick = 3,
197 TagCfgInLive = 4,
199 TagCfgWebInLive = 5,
201 TagCfgFollowIcon = 6,
203 TagCfgFollowAction = 7,
205 }
206 impl TagConfigType {
207 pub fn as_str_name(&self) -> &'static str {
212 match self {
213 Self::TagCfgInvalid => "TAG_CFG_INVALID",
214 Self::TagCfgGeneral => "TAG_CFG_GENERAL",
215 Self::TagCfgGyro => "TAG_CFG_GYRO",
216 Self::TagCfgCommentDoubleClick => "TAG_CFG_COMMENT_DOUBLE_CLICK",
217 Self::TagCfgInLive => "TAG_CFG_IN_LIVE",
218 Self::TagCfgWebInLive => "TAG_CFG_WEB_IN_LIVE",
219 Self::TagCfgFollowIcon => "TAG_CFG_FOLLOW_ICON",
220 Self::TagCfgFollowAction => "TAG_CFG_FOLLOW_ACTION",
221 }
222 }
223 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
225 match value {
226 "TAG_CFG_INVALID" => Some(Self::TagCfgInvalid),
227 "TAG_CFG_GENERAL" => Some(Self::TagCfgGeneral),
228 "TAG_CFG_GYRO" => Some(Self::TagCfgGyro),
229 "TAG_CFG_COMMENT_DOUBLE_CLICK" => Some(Self::TagCfgCommentDoubleClick),
230 "TAG_CFG_IN_LIVE" => Some(Self::TagCfgInLive),
231 "TAG_CFG_WEB_IN_LIVE" => Some(Self::TagCfgWebInLive),
232 "TAG_CFG_FOLLOW_ICON" => Some(Self::TagCfgFollowIcon),
233 "TAG_CFG_FOLLOW_ACTION" => Some(Self::TagCfgFollowAction),
234 _ => None,
235 }
236 }
237 }
238 #[derive(Clone, PartialEq, ::prost::Oneof)]
240 pub enum Config {
241 #[prost(message, tag = "2")]
243 GeneralConfig(super::GeneralConfig),
244 #[prost(message, tag = "3")]
246 GyroConfig(super::plugin::GyroConfig),
247 #[prost(message, tag = "4")]
249 CommentDoubleClickConfig(super::plugin::CommentDoubleClickConfig),
250 #[prost(message, tag = "5")]
252 LiveAnimeConfig(super::plugin::LiveAnimeConfig),
253 #[prost(message, tag = "6")]
255 WebLiveAnimeConfig(super::plugin::WebLiveAnimeConfig),
256 #[prost(message, tag = "7")]
258 FollowIconConfig(super::plugin::FollowIconConfig),
259 #[prost(message, tag = "8")]
261 FollowActionConfig(super::plugin::FollowActionConfig),
262 }
263}
264#[derive(Clone, PartialEq, ::prost::Message)]
266pub struct ResAnimation {
267 #[prost(message, optional, tag = "1")]
269 pub webp_src: ::core::option::Option<super::common::ResourceSource>,
270}
271#[derive(Clone, PartialEq, ::prost::Message)]
273pub struct ResImage {
274 #[prost(message, optional, tag = "1")]
276 pub image_src: ::core::option::Option<super::common::ResourceSource>,
277}
278#[derive(Clone, PartialEq, ::prost::Message)]
280pub struct ResNativeDraw {
281 #[prost(message, optional, tag = "1")]
283 pub draw_src: ::core::option::Option<super::common::ResourceSource>,
284}