1use serde::{Deserialize, Serialize};
5
6pub mod ns {
8 pub const O: &str = "urn:schemas-microsoft-com:office:office";
10 pub const S: &str = "http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes";
12 pub const V: &str = "urn:schemas-microsoft-com:vml";
14 pub const W10: &str = "urn:schemas-microsoft-com:office:word";
16 pub const X: &str = "urn:schemas-microsoft-com:office:excel";
18 pub const R: &str = "http://schemas.openxmlformats.org/officeDocument/2006/relationships";
20 pub const A: &str = "http://schemas.openxmlformats.org/drawingml/2006/main";
22 pub const CDR: &str = "http://schemas.openxmlformats.org/drawingml/2006/chartDrawing";
24 pub const DCHRT: &str = "http://schemas.openxmlformats.org/drawingml/2006/chart";
26 pub const DDGRM: &str = "http://schemas.openxmlformats.org/drawingml/2006/diagram";
28}
29
30pub type Language = String;
31
32pub type HexColorRgb = Vec<u8>;
33
34pub type Panose = Vec<u8>;
35
36#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
37pub enum CalendarType {
38 #[serde(rename = "gregorian")]
39 Gregorian,
40 #[serde(rename = "gregorianUs")]
41 GregorianUs,
42 #[serde(rename = "gregorianMeFrench")]
43 GregorianMeFrench,
44 #[serde(rename = "gregorianArabic")]
45 GregorianArabic,
46 #[serde(rename = "hijri")]
47 Hijri,
48 #[serde(rename = "hebrew")]
49 Hebrew,
50 #[serde(rename = "taiwan")]
51 Taiwan,
52 #[serde(rename = "japan")]
53 Japan,
54 #[serde(rename = "thai")]
55 Thai,
56 #[serde(rename = "korea")]
57 Korea,
58 #[serde(rename = "saka")]
59 Saka,
60 #[serde(rename = "gregorianXlitEnglish")]
61 GregorianXlitEnglish,
62 #[serde(rename = "gregorianXlitFrench")]
63 GregorianXlitFrench,
64 #[serde(rename = "none")]
65 None,
66}
67
68impl std::fmt::Display for CalendarType {
69 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
70 match self {
71 Self::Gregorian => write!(f, "gregorian"),
72 Self::GregorianUs => write!(f, "gregorianUs"),
73 Self::GregorianMeFrench => write!(f, "gregorianMeFrench"),
74 Self::GregorianArabic => write!(f, "gregorianArabic"),
75 Self::Hijri => write!(f, "hijri"),
76 Self::Hebrew => write!(f, "hebrew"),
77 Self::Taiwan => write!(f, "taiwan"),
78 Self::Japan => write!(f, "japan"),
79 Self::Thai => write!(f, "thai"),
80 Self::Korea => write!(f, "korea"),
81 Self::Saka => write!(f, "saka"),
82 Self::GregorianXlitEnglish => write!(f, "gregorianXlitEnglish"),
83 Self::GregorianXlitFrench => write!(f, "gregorianXlitFrench"),
84 Self::None => write!(f, "none"),
85 }
86 }
87}
88
89impl std::str::FromStr for CalendarType {
90 type Err = String;
91
92 fn from_str(s: &str) -> Result<Self, Self::Err> {
93 match s {
94 "gregorian" => Ok(Self::Gregorian),
95 "gregorianUs" => Ok(Self::GregorianUs),
96 "gregorianMeFrench" => Ok(Self::GregorianMeFrench),
97 "gregorianArabic" => Ok(Self::GregorianArabic),
98 "hijri" => Ok(Self::Hijri),
99 "hebrew" => Ok(Self::Hebrew),
100 "taiwan" => Ok(Self::Taiwan),
101 "japan" => Ok(Self::Japan),
102 "thai" => Ok(Self::Thai),
103 "korea" => Ok(Self::Korea),
104 "saka" => Ok(Self::Saka),
105 "gregorianXlitEnglish" => Ok(Self::GregorianXlitEnglish),
106 "gregorianXlitFrench" => Ok(Self::GregorianXlitFrench),
107 "none" => Ok(Self::None),
108 _ => Err(format!("unknown CalendarType value: {}", s)),
109 }
110 }
111}
112
113#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
114pub enum STAlgClass {
115 #[serde(rename = "hash")]
116 Hash,
117 #[serde(rename = "custom")]
118 Custom,
119}
120
121impl std::fmt::Display for STAlgClass {
122 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
123 match self {
124 Self::Hash => write!(f, "hash"),
125 Self::Custom => write!(f, "custom"),
126 }
127 }
128}
129
130impl std::str::FromStr for STAlgClass {
131 type Err = String;
132
133 fn from_str(s: &str) -> Result<Self, Self::Err> {
134 match s {
135 "hash" => Ok(Self::Hash),
136 "custom" => Ok(Self::Custom),
137 _ => Err(format!("unknown STAlgClass value: {}", s)),
138 }
139 }
140}
141
142#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
143pub enum STCryptProv {
144 #[serde(rename = "rsaAES")]
145 RsaAES,
146 #[serde(rename = "rsaFull")]
147 RsaFull,
148 #[serde(rename = "custom")]
149 Custom,
150}
151
152impl std::fmt::Display for STCryptProv {
153 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
154 match self {
155 Self::RsaAES => write!(f, "rsaAES"),
156 Self::RsaFull => write!(f, "rsaFull"),
157 Self::Custom => write!(f, "custom"),
158 }
159 }
160}
161
162impl std::str::FromStr for STCryptProv {
163 type Err = String;
164
165 fn from_str(s: &str) -> Result<Self, Self::Err> {
166 match s {
167 "rsaAES" => Ok(Self::RsaAES),
168 "rsaFull" => Ok(Self::RsaFull),
169 "custom" => Ok(Self::Custom),
170 _ => Err(format!("unknown STCryptProv value: {}", s)),
171 }
172 }
173}
174
175#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
176pub enum STAlgType {
177 #[serde(rename = "typeAny")]
178 TypeAny,
179 #[serde(rename = "custom")]
180 Custom,
181}
182
183impl std::fmt::Display for STAlgType {
184 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
185 match self {
186 Self::TypeAny => write!(f, "typeAny"),
187 Self::Custom => write!(f, "custom"),
188 }
189 }
190}
191
192impl std::str::FromStr for STAlgType {
193 type Err = String;
194
195 fn from_str(s: &str) -> Result<Self, Self::Err> {
196 match s {
197 "typeAny" => Ok(Self::TypeAny),
198 "custom" => Ok(Self::Custom),
199 _ => Err(format!("unknown STAlgType value: {}", s)),
200 }
201 }
202}
203
204pub type STColorType = String;
205
206pub type Guid = String;
207
208pub type OnOff = String;
209
210#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
211pub enum STOnOff1 {
212 #[serde(rename = "on")]
213 On,
214 #[serde(rename = "off")]
215 Off,
216}
217
218impl std::fmt::Display for STOnOff1 {
219 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
220 match self {
221 Self::On => write!(f, "on"),
222 Self::Off => write!(f, "off"),
223 }
224 }
225}
226
227impl std::str::FromStr for STOnOff1 {
228 type Err = String;
229
230 fn from_str(s: &str) -> Result<Self, Self::Err> {
231 match s {
232 "on" => Ok(Self::On),
233 "off" => Ok(Self::Off),
234 _ => Err(format!("unknown STOnOff1 value: {}", s)),
235 }
236 }
237}
238
239pub type STString = String;
240
241pub type STXmlName = String;
242
243#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
244pub enum TrueFalse {
245 #[serde(rename = "t")]
246 T,
247 #[serde(rename = "f")]
248 F,
249 #[serde(rename = "true")]
250 True,
251 #[serde(rename = "false")]
252 False,
253}
254
255impl std::fmt::Display for TrueFalse {
256 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
257 match self {
258 Self::T => write!(f, "t"),
259 Self::F => write!(f, "f"),
260 Self::True => write!(f, "true"),
261 Self::False => write!(f, "false"),
262 }
263 }
264}
265
266impl std::str::FromStr for TrueFalse {
267 type Err = String;
268
269 fn from_str(s: &str) -> Result<Self, Self::Err> {
270 match s {
271 "t" => Ok(Self::T),
272 "f" => Ok(Self::F),
273 "true" => Ok(Self::True),
274 "false" => Ok(Self::False),
275 _ => Err(format!("unknown TrueFalse value: {}", s)),
276 }
277 }
278}
279
280#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
281pub enum STTrueFalseBlank {
282 #[serde(rename = "t")]
283 T,
284 #[serde(rename = "f")]
285 F,
286 #[serde(rename = "true")]
287 True,
288 #[serde(rename = "false")]
289 False,
290 #[serde(rename = "")]
291 Empty,
292}
293
294impl std::fmt::Display for STTrueFalseBlank {
295 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
296 match self {
297 Self::T => write!(f, "t"),
298 Self::F => write!(f, "f"),
299 Self::True => write!(f, "true"),
300 Self::False => write!(f, "false"),
301 Self::Empty => write!(f, ""),
302 }
303 }
304}
305
306impl std::str::FromStr for STTrueFalseBlank {
307 type Err = String;
308
309 fn from_str(s: &str) -> Result<Self, Self::Err> {
310 match s {
311 "t" => Ok(Self::T),
312 "f" => Ok(Self::F),
313 "true" => Ok(Self::True),
314 "false" => Ok(Self::False),
315 "" => Ok(Self::Empty),
316 "True" => Ok(Self::True),
317 "False" => Ok(Self::False),
318 _ => Err(format!("unknown STTrueFalseBlank value: {}", s)),
319 }
320 }
321}
322
323pub type STUnsignedDecimalNumber = u64;
324
325pub type STTwipsMeasure = String;
326
327#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
328pub enum STVerticalAlignRun {
329 #[serde(rename = "baseline")]
330 Baseline,
331 #[serde(rename = "superscript")]
332 Superscript,
333 #[serde(rename = "subscript")]
334 Subscript,
335}
336
337impl std::fmt::Display for STVerticalAlignRun {
338 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
339 match self {
340 Self::Baseline => write!(f, "baseline"),
341 Self::Superscript => write!(f, "superscript"),
342 Self::Subscript => write!(f, "subscript"),
343 }
344 }
345}
346
347impl std::str::FromStr for STVerticalAlignRun {
348 type Err = String;
349
350 fn from_str(s: &str) -> Result<Self, Self::Err> {
351 match s {
352 "baseline" => Ok(Self::Baseline),
353 "superscript" => Ok(Self::Superscript),
354 "subscript" => Ok(Self::Subscript),
355 _ => Err(format!("unknown STVerticalAlignRun value: {}", s)),
356 }
357 }
358}
359
360pub type XmlString = String;
361
362#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
363pub enum STXAlign {
364 #[serde(rename = "left")]
365 Left,
366 #[serde(rename = "center")]
367 Center,
368 #[serde(rename = "right")]
369 Right,
370 #[serde(rename = "inside")]
371 Inside,
372 #[serde(rename = "outside")]
373 Outside,
374}
375
376impl std::fmt::Display for STXAlign {
377 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
378 match self {
379 Self::Left => write!(f, "left"),
380 Self::Center => write!(f, "center"),
381 Self::Right => write!(f, "right"),
382 Self::Inside => write!(f, "inside"),
383 Self::Outside => write!(f, "outside"),
384 }
385 }
386}
387
388impl std::str::FromStr for STXAlign {
389 type Err = String;
390
391 fn from_str(s: &str) -> Result<Self, Self::Err> {
392 match s {
393 "left" => Ok(Self::Left),
394 "center" => Ok(Self::Center),
395 "right" => Ok(Self::Right),
396 "inside" => Ok(Self::Inside),
397 "outside" => Ok(Self::Outside),
398 _ => Err(format!("unknown STXAlign value: {}", s)),
399 }
400 }
401}
402
403#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
404pub enum STYAlign {
405 #[serde(rename = "inline")]
406 Inline,
407 #[serde(rename = "top")]
408 Top,
409 #[serde(rename = "center")]
410 Center,
411 #[serde(rename = "bottom")]
412 Bottom,
413 #[serde(rename = "inside")]
414 Inside,
415 #[serde(rename = "outside")]
416 Outside,
417}
418
419impl std::fmt::Display for STYAlign {
420 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
421 match self {
422 Self::Inline => write!(f, "inline"),
423 Self::Top => write!(f, "top"),
424 Self::Center => write!(f, "center"),
425 Self::Bottom => write!(f, "bottom"),
426 Self::Inside => write!(f, "inside"),
427 Self::Outside => write!(f, "outside"),
428 }
429 }
430}
431
432impl std::str::FromStr for STYAlign {
433 type Err = String;
434
435 fn from_str(s: &str) -> Result<Self, Self::Err> {
436 match s {
437 "inline" => Ok(Self::Inline),
438 "top" => Ok(Self::Top),
439 "center" => Ok(Self::Center),
440 "bottom" => Ok(Self::Bottom),
441 "inside" => Ok(Self::Inside),
442 "outside" => Ok(Self::Outside),
443 _ => Err(format!("unknown STYAlign value: {}", s)),
444 }
445 }
446}
447
448#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
449pub enum STConformanceClass {
450 #[serde(rename = "strict")]
451 Strict,
452 #[serde(rename = "transitional")]
453 Transitional,
454}
455
456impl std::fmt::Display for STConformanceClass {
457 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
458 match self {
459 Self::Strict => write!(f, "strict"),
460 Self::Transitional => write!(f, "transitional"),
461 }
462 }
463}
464
465impl std::str::FromStr for STConformanceClass {
466 type Err = String;
467
468 fn from_str(s: &str) -> Result<Self, Self::Err> {
469 match s {
470 "strict" => Ok(Self::Strict),
471 "transitional" => Ok(Self::Transitional),
472 _ => Err(format!("unknown STConformanceClass value: {}", s)),
473 }
474 }
475}
476
477pub type STUniversalMeasure = String;
478
479pub type STPositiveUniversalMeasure = String;
480
481pub type STPercentage = String;
482
483pub type STFixedPercentage = String;
484
485pub type STPositivePercentage = String;
486
487pub type STPositiveFixedPercentage = String;
488
489pub type STRelationshipId = String;
490
491pub type STStyleMatrixColumnIndex = u32;
492
493#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
494pub enum STFontCollectionIndex {
495 #[serde(rename = "major")]
496 Major,
497 #[serde(rename = "minor")]
498 Minor,
499 #[serde(rename = "none")]
500 None,
501}
502
503impl std::fmt::Display for STFontCollectionIndex {
504 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
505 match self {
506 Self::Major => write!(f, "major"),
507 Self::Minor => write!(f, "minor"),
508 Self::None => write!(f, "none"),
509 }
510 }
511}
512
513impl std::str::FromStr for STFontCollectionIndex {
514 type Err = String;
515
516 fn from_str(s: &str) -> Result<Self, Self::Err> {
517 match s {
518 "major" => Ok(Self::Major),
519 "minor" => Ok(Self::Minor),
520 "none" => Ok(Self::None),
521 _ => Err(format!("unknown STFontCollectionIndex value: {}", s)),
522 }
523 }
524}
525
526#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
527pub enum STColorSchemeIndex {
528 #[serde(rename = "dk1")]
529 Dk1,
530 #[serde(rename = "lt1")]
531 Lt1,
532 #[serde(rename = "dk2")]
533 Dk2,
534 #[serde(rename = "lt2")]
535 Lt2,
536 #[serde(rename = "accent1")]
537 Accent1,
538 #[serde(rename = "accent2")]
539 Accent2,
540 #[serde(rename = "accent3")]
541 Accent3,
542 #[serde(rename = "accent4")]
543 Accent4,
544 #[serde(rename = "accent5")]
545 Accent5,
546 #[serde(rename = "accent6")]
547 Accent6,
548 #[serde(rename = "hlink")]
549 Hlink,
550 #[serde(rename = "folHlink")]
551 FolHlink,
552}
553
554impl std::fmt::Display for STColorSchemeIndex {
555 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
556 match self {
557 Self::Dk1 => write!(f, "dk1"),
558 Self::Lt1 => write!(f, "lt1"),
559 Self::Dk2 => write!(f, "dk2"),
560 Self::Lt2 => write!(f, "lt2"),
561 Self::Accent1 => write!(f, "accent1"),
562 Self::Accent2 => write!(f, "accent2"),
563 Self::Accent3 => write!(f, "accent3"),
564 Self::Accent4 => write!(f, "accent4"),
565 Self::Accent5 => write!(f, "accent5"),
566 Self::Accent6 => write!(f, "accent6"),
567 Self::Hlink => write!(f, "hlink"),
568 Self::FolHlink => write!(f, "folHlink"),
569 }
570 }
571}
572
573impl std::str::FromStr for STColorSchemeIndex {
574 type Err = String;
575
576 fn from_str(s: &str) -> Result<Self, Self::Err> {
577 match s {
578 "dk1" => Ok(Self::Dk1),
579 "lt1" => Ok(Self::Lt1),
580 "dk2" => Ok(Self::Dk2),
581 "lt2" => Ok(Self::Lt2),
582 "accent1" => Ok(Self::Accent1),
583 "accent2" => Ok(Self::Accent2),
584 "accent3" => Ok(Self::Accent3),
585 "accent4" => Ok(Self::Accent4),
586 "accent5" => Ok(Self::Accent5),
587 "accent6" => Ok(Self::Accent6),
588 "hlink" => Ok(Self::Hlink),
589 "folHlink" => Ok(Self::FolHlink),
590 _ => Err(format!("unknown STColorSchemeIndex value: {}", s)),
591 }
592 }
593}
594
595pub type STCoordinate = String;
596
597pub type STCoordinateUnqualified = i64;
598
599pub type STCoordinate32 = String;
600
601pub type STCoordinate32Unqualified = i32;
602
603pub type STPositiveCoordinate = i64;
604
605pub type STPositiveCoordinate32 = i32;
606
607pub type STAngle = i32;
608
609pub type STFixedAngle = i32;
610
611pub type STPositiveFixedAngle = i32;
612
613pub type STPercentageDecimal = i32;
614
615pub type STPositivePercentageDecimal = i32;
616
617pub type STFixedPercentageDecimal = i32;
618
619pub type STPositiveFixedPercentageDecimal = i32;
620
621#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
622pub enum STSystemColorVal {
623 #[serde(rename = "scrollBar")]
624 ScrollBar,
625 #[serde(rename = "background")]
626 Background,
627 #[serde(rename = "activeCaption")]
628 ActiveCaption,
629 #[serde(rename = "inactiveCaption")]
630 InactiveCaption,
631 #[serde(rename = "menu")]
632 Menu,
633 #[serde(rename = "window")]
634 Window,
635 #[serde(rename = "windowFrame")]
636 WindowFrame,
637 #[serde(rename = "menuText")]
638 MenuText,
639 #[serde(rename = "windowText")]
640 WindowText,
641 #[serde(rename = "captionText")]
642 CaptionText,
643 #[serde(rename = "activeBorder")]
644 ActiveBorder,
645 #[serde(rename = "inactiveBorder")]
646 InactiveBorder,
647 #[serde(rename = "appWorkspace")]
648 AppWorkspace,
649 #[serde(rename = "highlight")]
650 Highlight,
651 #[serde(rename = "highlightText")]
652 HighlightText,
653 #[serde(rename = "btnFace")]
654 BtnFace,
655 #[serde(rename = "btnShadow")]
656 BtnShadow,
657 #[serde(rename = "grayText")]
658 GrayText,
659 #[serde(rename = "btnText")]
660 BtnText,
661 #[serde(rename = "inactiveCaptionText")]
662 InactiveCaptionText,
663 #[serde(rename = "btnHighlight")]
664 BtnHighlight,
665 #[serde(rename = "3dDkShadow")]
666 _3dDkShadow,
667 #[serde(rename = "3dLight")]
668 _3dLight,
669 #[serde(rename = "infoText")]
670 InfoText,
671 #[serde(rename = "infoBk")]
672 InfoBk,
673 #[serde(rename = "hotLight")]
674 HotLight,
675 #[serde(rename = "gradientActiveCaption")]
676 GradientActiveCaption,
677 #[serde(rename = "gradientInactiveCaption")]
678 GradientInactiveCaption,
679 #[serde(rename = "menuHighlight")]
680 MenuHighlight,
681 #[serde(rename = "menuBar")]
682 MenuBar,
683}
684
685impl std::fmt::Display for STSystemColorVal {
686 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
687 match self {
688 Self::ScrollBar => write!(f, "scrollBar"),
689 Self::Background => write!(f, "background"),
690 Self::ActiveCaption => write!(f, "activeCaption"),
691 Self::InactiveCaption => write!(f, "inactiveCaption"),
692 Self::Menu => write!(f, "menu"),
693 Self::Window => write!(f, "window"),
694 Self::WindowFrame => write!(f, "windowFrame"),
695 Self::MenuText => write!(f, "menuText"),
696 Self::WindowText => write!(f, "windowText"),
697 Self::CaptionText => write!(f, "captionText"),
698 Self::ActiveBorder => write!(f, "activeBorder"),
699 Self::InactiveBorder => write!(f, "inactiveBorder"),
700 Self::AppWorkspace => write!(f, "appWorkspace"),
701 Self::Highlight => write!(f, "highlight"),
702 Self::HighlightText => write!(f, "highlightText"),
703 Self::BtnFace => write!(f, "btnFace"),
704 Self::BtnShadow => write!(f, "btnShadow"),
705 Self::GrayText => write!(f, "grayText"),
706 Self::BtnText => write!(f, "btnText"),
707 Self::InactiveCaptionText => write!(f, "inactiveCaptionText"),
708 Self::BtnHighlight => write!(f, "btnHighlight"),
709 Self::_3dDkShadow => write!(f, "3dDkShadow"),
710 Self::_3dLight => write!(f, "3dLight"),
711 Self::InfoText => write!(f, "infoText"),
712 Self::InfoBk => write!(f, "infoBk"),
713 Self::HotLight => write!(f, "hotLight"),
714 Self::GradientActiveCaption => write!(f, "gradientActiveCaption"),
715 Self::GradientInactiveCaption => write!(f, "gradientInactiveCaption"),
716 Self::MenuHighlight => write!(f, "menuHighlight"),
717 Self::MenuBar => write!(f, "menuBar"),
718 }
719 }
720}
721
722impl std::str::FromStr for STSystemColorVal {
723 type Err = String;
724
725 fn from_str(s: &str) -> Result<Self, Self::Err> {
726 match s {
727 "scrollBar" => Ok(Self::ScrollBar),
728 "background" => Ok(Self::Background),
729 "activeCaption" => Ok(Self::ActiveCaption),
730 "inactiveCaption" => Ok(Self::InactiveCaption),
731 "menu" => Ok(Self::Menu),
732 "window" => Ok(Self::Window),
733 "windowFrame" => Ok(Self::WindowFrame),
734 "menuText" => Ok(Self::MenuText),
735 "windowText" => Ok(Self::WindowText),
736 "captionText" => Ok(Self::CaptionText),
737 "activeBorder" => Ok(Self::ActiveBorder),
738 "inactiveBorder" => Ok(Self::InactiveBorder),
739 "appWorkspace" => Ok(Self::AppWorkspace),
740 "highlight" => Ok(Self::Highlight),
741 "highlightText" => Ok(Self::HighlightText),
742 "btnFace" => Ok(Self::BtnFace),
743 "btnShadow" => Ok(Self::BtnShadow),
744 "grayText" => Ok(Self::GrayText),
745 "btnText" => Ok(Self::BtnText),
746 "inactiveCaptionText" => Ok(Self::InactiveCaptionText),
747 "btnHighlight" => Ok(Self::BtnHighlight),
748 "3dDkShadow" => Ok(Self::_3dDkShadow),
749 "3dLight" => Ok(Self::_3dLight),
750 "infoText" => Ok(Self::InfoText),
751 "infoBk" => Ok(Self::InfoBk),
752 "hotLight" => Ok(Self::HotLight),
753 "gradientActiveCaption" => Ok(Self::GradientActiveCaption),
754 "gradientInactiveCaption" => Ok(Self::GradientInactiveCaption),
755 "menuHighlight" => Ok(Self::MenuHighlight),
756 "menuBar" => Ok(Self::MenuBar),
757 _ => Err(format!("unknown STSystemColorVal value: {}", s)),
758 }
759 }
760}
761
762#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
763pub enum STSchemeColorVal {
764 #[serde(rename = "bg1")]
765 Bg1,
766 #[serde(rename = "tx1")]
767 Tx1,
768 #[serde(rename = "bg2")]
769 Bg2,
770 #[serde(rename = "tx2")]
771 Tx2,
772 #[serde(rename = "accent1")]
773 Accent1,
774 #[serde(rename = "accent2")]
775 Accent2,
776 #[serde(rename = "accent3")]
777 Accent3,
778 #[serde(rename = "accent4")]
779 Accent4,
780 #[serde(rename = "accent5")]
781 Accent5,
782 #[serde(rename = "accent6")]
783 Accent6,
784 #[serde(rename = "hlink")]
785 Hlink,
786 #[serde(rename = "folHlink")]
787 FolHlink,
788 #[serde(rename = "phClr")]
789 PhClr,
790 #[serde(rename = "dk1")]
791 Dk1,
792 #[serde(rename = "lt1")]
793 Lt1,
794 #[serde(rename = "dk2")]
795 Dk2,
796 #[serde(rename = "lt2")]
797 Lt2,
798}
799
800impl std::fmt::Display for STSchemeColorVal {
801 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
802 match self {
803 Self::Bg1 => write!(f, "bg1"),
804 Self::Tx1 => write!(f, "tx1"),
805 Self::Bg2 => write!(f, "bg2"),
806 Self::Tx2 => write!(f, "tx2"),
807 Self::Accent1 => write!(f, "accent1"),
808 Self::Accent2 => write!(f, "accent2"),
809 Self::Accent3 => write!(f, "accent3"),
810 Self::Accent4 => write!(f, "accent4"),
811 Self::Accent5 => write!(f, "accent5"),
812 Self::Accent6 => write!(f, "accent6"),
813 Self::Hlink => write!(f, "hlink"),
814 Self::FolHlink => write!(f, "folHlink"),
815 Self::PhClr => write!(f, "phClr"),
816 Self::Dk1 => write!(f, "dk1"),
817 Self::Lt1 => write!(f, "lt1"),
818 Self::Dk2 => write!(f, "dk2"),
819 Self::Lt2 => write!(f, "lt2"),
820 }
821 }
822}
823
824impl std::str::FromStr for STSchemeColorVal {
825 type Err = String;
826
827 fn from_str(s: &str) -> Result<Self, Self::Err> {
828 match s {
829 "bg1" => Ok(Self::Bg1),
830 "tx1" => Ok(Self::Tx1),
831 "bg2" => Ok(Self::Bg2),
832 "tx2" => Ok(Self::Tx2),
833 "accent1" => Ok(Self::Accent1),
834 "accent2" => Ok(Self::Accent2),
835 "accent3" => Ok(Self::Accent3),
836 "accent4" => Ok(Self::Accent4),
837 "accent5" => Ok(Self::Accent5),
838 "accent6" => Ok(Self::Accent6),
839 "hlink" => Ok(Self::Hlink),
840 "folHlink" => Ok(Self::FolHlink),
841 "phClr" => Ok(Self::PhClr),
842 "dk1" => Ok(Self::Dk1),
843 "lt1" => Ok(Self::Lt1),
844 "dk2" => Ok(Self::Dk2),
845 "lt2" => Ok(Self::Lt2),
846 _ => Err(format!("unknown STSchemeColorVal value: {}", s)),
847 }
848 }
849}
850
851#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
852pub enum STPresetColorVal {
853 #[serde(rename = "aliceBlue")]
854 AliceBlue,
855 #[serde(rename = "antiqueWhite")]
856 AntiqueWhite,
857 #[serde(rename = "aqua")]
858 Aqua,
859 #[serde(rename = "aquamarine")]
860 Aquamarine,
861 #[serde(rename = "azure")]
862 Azure,
863 #[serde(rename = "beige")]
864 Beige,
865 #[serde(rename = "bisque")]
866 Bisque,
867 #[serde(rename = "black")]
868 Black,
869 #[serde(rename = "blanchedAlmond")]
870 BlanchedAlmond,
871 #[serde(rename = "blue")]
872 Blue,
873 #[serde(rename = "blueViolet")]
874 BlueViolet,
875 #[serde(rename = "brown")]
876 Brown,
877 #[serde(rename = "burlyWood")]
878 BurlyWood,
879 #[serde(rename = "cadetBlue")]
880 CadetBlue,
881 #[serde(rename = "chartreuse")]
882 Chartreuse,
883 #[serde(rename = "chocolate")]
884 Chocolate,
885 #[serde(rename = "coral")]
886 Coral,
887 #[serde(rename = "cornflowerBlue")]
888 CornflowerBlue,
889 #[serde(rename = "cornsilk")]
890 Cornsilk,
891 #[serde(rename = "crimson")]
892 Crimson,
893 #[serde(rename = "cyan")]
894 Cyan,
895 #[serde(rename = "darkBlue")]
896 DarkBlue,
897 #[serde(rename = "darkCyan")]
898 DarkCyan,
899 #[serde(rename = "darkGoldenrod")]
900 DarkGoldenrod,
901 #[serde(rename = "darkGray")]
902 DarkGray,
903 #[serde(rename = "darkGrey")]
904 DarkGrey,
905 #[serde(rename = "darkGreen")]
906 DarkGreen,
907 #[serde(rename = "darkKhaki")]
908 DarkKhaki,
909 #[serde(rename = "darkMagenta")]
910 DarkMagenta,
911 #[serde(rename = "darkOliveGreen")]
912 DarkOliveGreen,
913 #[serde(rename = "darkOrange")]
914 DarkOrange,
915 #[serde(rename = "darkOrchid")]
916 DarkOrchid,
917 #[serde(rename = "darkRed")]
918 DarkRed,
919 #[serde(rename = "darkSalmon")]
920 DarkSalmon,
921 #[serde(rename = "darkSeaGreen")]
922 DarkSeaGreen,
923 #[serde(rename = "darkSlateBlue")]
924 DarkSlateBlue,
925 #[serde(rename = "darkSlateGray")]
926 DarkSlateGray,
927 #[serde(rename = "darkSlateGrey")]
928 DarkSlateGrey,
929 #[serde(rename = "darkTurquoise")]
930 DarkTurquoise,
931 #[serde(rename = "darkViolet")]
932 DarkViolet,
933 #[serde(rename = "dkBlue")]
934 DkBlue,
935 #[serde(rename = "dkCyan")]
936 DkCyan,
937 #[serde(rename = "dkGoldenrod")]
938 DkGoldenrod,
939 #[serde(rename = "dkGray")]
940 DkGray,
941 #[serde(rename = "dkGrey")]
942 DkGrey,
943 #[serde(rename = "dkGreen")]
944 DkGreen,
945 #[serde(rename = "dkKhaki")]
946 DkKhaki,
947 #[serde(rename = "dkMagenta")]
948 DkMagenta,
949 #[serde(rename = "dkOliveGreen")]
950 DkOliveGreen,
951 #[serde(rename = "dkOrange")]
952 DkOrange,
953 #[serde(rename = "dkOrchid")]
954 DkOrchid,
955 #[serde(rename = "dkRed")]
956 DkRed,
957 #[serde(rename = "dkSalmon")]
958 DkSalmon,
959 #[serde(rename = "dkSeaGreen")]
960 DkSeaGreen,
961 #[serde(rename = "dkSlateBlue")]
962 DkSlateBlue,
963 #[serde(rename = "dkSlateGray")]
964 DkSlateGray,
965 #[serde(rename = "dkSlateGrey")]
966 DkSlateGrey,
967 #[serde(rename = "dkTurquoise")]
968 DkTurquoise,
969 #[serde(rename = "dkViolet")]
970 DkViolet,
971 #[serde(rename = "deepPink")]
972 DeepPink,
973 #[serde(rename = "deepSkyBlue")]
974 DeepSkyBlue,
975 #[serde(rename = "dimGray")]
976 DimGray,
977 #[serde(rename = "dimGrey")]
978 DimGrey,
979 #[serde(rename = "dodgerBlue")]
980 DodgerBlue,
981 #[serde(rename = "firebrick")]
982 Firebrick,
983 #[serde(rename = "floralWhite")]
984 FloralWhite,
985 #[serde(rename = "forestGreen")]
986 ForestGreen,
987 #[serde(rename = "fuchsia")]
988 Fuchsia,
989 #[serde(rename = "gainsboro")]
990 Gainsboro,
991 #[serde(rename = "ghostWhite")]
992 GhostWhite,
993 #[serde(rename = "gold")]
994 Gold,
995 #[serde(rename = "goldenrod")]
996 Goldenrod,
997 #[serde(rename = "gray")]
998 Gray,
999 #[serde(rename = "grey")]
1000 Grey,
1001 #[serde(rename = "green")]
1002 Green,
1003 #[serde(rename = "greenYellow")]
1004 GreenYellow,
1005 #[serde(rename = "honeydew")]
1006 Honeydew,
1007 #[serde(rename = "hotPink")]
1008 HotPink,
1009 #[serde(rename = "indianRed")]
1010 IndianRed,
1011 #[serde(rename = "indigo")]
1012 Indigo,
1013 #[serde(rename = "ivory")]
1014 Ivory,
1015 #[serde(rename = "khaki")]
1016 Khaki,
1017 #[serde(rename = "lavender")]
1018 Lavender,
1019 #[serde(rename = "lavenderBlush")]
1020 LavenderBlush,
1021 #[serde(rename = "lawnGreen")]
1022 LawnGreen,
1023 #[serde(rename = "lemonChiffon")]
1024 LemonChiffon,
1025 #[serde(rename = "lightBlue")]
1026 LightBlue,
1027 #[serde(rename = "lightCoral")]
1028 LightCoral,
1029 #[serde(rename = "lightCyan")]
1030 LightCyan,
1031 #[serde(rename = "lightGoldenrodYellow")]
1032 LightGoldenrodYellow,
1033 #[serde(rename = "lightGray")]
1034 LightGray,
1035 #[serde(rename = "lightGrey")]
1036 LightGrey,
1037 #[serde(rename = "lightGreen")]
1038 LightGreen,
1039 #[serde(rename = "lightPink")]
1040 LightPink,
1041 #[serde(rename = "lightSalmon")]
1042 LightSalmon,
1043 #[serde(rename = "lightSeaGreen")]
1044 LightSeaGreen,
1045 #[serde(rename = "lightSkyBlue")]
1046 LightSkyBlue,
1047 #[serde(rename = "lightSlateGray")]
1048 LightSlateGray,
1049 #[serde(rename = "lightSlateGrey")]
1050 LightSlateGrey,
1051 #[serde(rename = "lightSteelBlue")]
1052 LightSteelBlue,
1053 #[serde(rename = "lightYellow")]
1054 LightYellow,
1055 #[serde(rename = "ltBlue")]
1056 LtBlue,
1057 #[serde(rename = "ltCoral")]
1058 LtCoral,
1059 #[serde(rename = "ltCyan")]
1060 LtCyan,
1061 #[serde(rename = "ltGoldenrodYellow")]
1062 LtGoldenrodYellow,
1063 #[serde(rename = "ltGray")]
1064 LtGray,
1065 #[serde(rename = "ltGrey")]
1066 LtGrey,
1067 #[serde(rename = "ltGreen")]
1068 LtGreen,
1069 #[serde(rename = "ltPink")]
1070 LtPink,
1071 #[serde(rename = "ltSalmon")]
1072 LtSalmon,
1073 #[serde(rename = "ltSeaGreen")]
1074 LtSeaGreen,
1075 #[serde(rename = "ltSkyBlue")]
1076 LtSkyBlue,
1077 #[serde(rename = "ltSlateGray")]
1078 LtSlateGray,
1079 #[serde(rename = "ltSlateGrey")]
1080 LtSlateGrey,
1081 #[serde(rename = "ltSteelBlue")]
1082 LtSteelBlue,
1083 #[serde(rename = "ltYellow")]
1084 LtYellow,
1085 #[serde(rename = "lime")]
1086 Lime,
1087 #[serde(rename = "limeGreen")]
1088 LimeGreen,
1089 #[serde(rename = "linen")]
1090 Linen,
1091 #[serde(rename = "magenta")]
1092 Magenta,
1093 #[serde(rename = "maroon")]
1094 Maroon,
1095 #[serde(rename = "medAquamarine")]
1096 MedAquamarine,
1097 #[serde(rename = "medBlue")]
1098 MedBlue,
1099 #[serde(rename = "medOrchid")]
1100 MedOrchid,
1101 #[serde(rename = "medPurple")]
1102 MedPurple,
1103 #[serde(rename = "medSeaGreen")]
1104 MedSeaGreen,
1105 #[serde(rename = "medSlateBlue")]
1106 MedSlateBlue,
1107 #[serde(rename = "medSpringGreen")]
1108 MedSpringGreen,
1109 #[serde(rename = "medTurquoise")]
1110 MedTurquoise,
1111 #[serde(rename = "medVioletRed")]
1112 MedVioletRed,
1113 #[serde(rename = "mediumAquamarine")]
1114 MediumAquamarine,
1115 #[serde(rename = "mediumBlue")]
1116 MediumBlue,
1117 #[serde(rename = "mediumOrchid")]
1118 MediumOrchid,
1119 #[serde(rename = "mediumPurple")]
1120 MediumPurple,
1121 #[serde(rename = "mediumSeaGreen")]
1122 MediumSeaGreen,
1123 #[serde(rename = "mediumSlateBlue")]
1124 MediumSlateBlue,
1125 #[serde(rename = "mediumSpringGreen")]
1126 MediumSpringGreen,
1127 #[serde(rename = "mediumTurquoise")]
1128 MediumTurquoise,
1129 #[serde(rename = "mediumVioletRed")]
1130 MediumVioletRed,
1131 #[serde(rename = "midnightBlue")]
1132 MidnightBlue,
1133 #[serde(rename = "mintCream")]
1134 MintCream,
1135 #[serde(rename = "mistyRose")]
1136 MistyRose,
1137 #[serde(rename = "moccasin")]
1138 Moccasin,
1139 #[serde(rename = "navajoWhite")]
1140 NavajoWhite,
1141 #[serde(rename = "navy")]
1142 Navy,
1143 #[serde(rename = "oldLace")]
1144 OldLace,
1145 #[serde(rename = "olive")]
1146 Olive,
1147 #[serde(rename = "oliveDrab")]
1148 OliveDrab,
1149 #[serde(rename = "orange")]
1150 Orange,
1151 #[serde(rename = "orangeRed")]
1152 OrangeRed,
1153 #[serde(rename = "orchid")]
1154 Orchid,
1155 #[serde(rename = "paleGoldenrod")]
1156 PaleGoldenrod,
1157 #[serde(rename = "paleGreen")]
1158 PaleGreen,
1159 #[serde(rename = "paleTurquoise")]
1160 PaleTurquoise,
1161 #[serde(rename = "paleVioletRed")]
1162 PaleVioletRed,
1163 #[serde(rename = "papayaWhip")]
1164 PapayaWhip,
1165 #[serde(rename = "peachPuff")]
1166 PeachPuff,
1167 #[serde(rename = "peru")]
1168 Peru,
1169 #[serde(rename = "pink")]
1170 Pink,
1171 #[serde(rename = "plum")]
1172 Plum,
1173 #[serde(rename = "powderBlue")]
1174 PowderBlue,
1175 #[serde(rename = "purple")]
1176 Purple,
1177 #[serde(rename = "red")]
1178 Red,
1179 #[serde(rename = "rosyBrown")]
1180 RosyBrown,
1181 #[serde(rename = "royalBlue")]
1182 RoyalBlue,
1183 #[serde(rename = "saddleBrown")]
1184 SaddleBrown,
1185 #[serde(rename = "salmon")]
1186 Salmon,
1187 #[serde(rename = "sandyBrown")]
1188 SandyBrown,
1189 #[serde(rename = "seaGreen")]
1190 SeaGreen,
1191 #[serde(rename = "seaShell")]
1192 SeaShell,
1193 #[serde(rename = "sienna")]
1194 Sienna,
1195 #[serde(rename = "silver")]
1196 Silver,
1197 #[serde(rename = "skyBlue")]
1198 SkyBlue,
1199 #[serde(rename = "slateBlue")]
1200 SlateBlue,
1201 #[serde(rename = "slateGray")]
1202 SlateGray,
1203 #[serde(rename = "slateGrey")]
1204 SlateGrey,
1205 #[serde(rename = "snow")]
1206 Snow,
1207 #[serde(rename = "springGreen")]
1208 SpringGreen,
1209 #[serde(rename = "steelBlue")]
1210 SteelBlue,
1211 #[serde(rename = "tan")]
1212 Tan,
1213 #[serde(rename = "teal")]
1214 Teal,
1215 #[serde(rename = "thistle")]
1216 Thistle,
1217 #[serde(rename = "tomato")]
1218 Tomato,
1219 #[serde(rename = "turquoise")]
1220 Turquoise,
1221 #[serde(rename = "violet")]
1222 Violet,
1223 #[serde(rename = "wheat")]
1224 Wheat,
1225 #[serde(rename = "white")]
1226 White,
1227 #[serde(rename = "whiteSmoke")]
1228 WhiteSmoke,
1229 #[serde(rename = "yellow")]
1230 Yellow,
1231 #[serde(rename = "yellowGreen")]
1232 YellowGreen,
1233}
1234
1235impl std::fmt::Display for STPresetColorVal {
1236 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1237 match self {
1238 Self::AliceBlue => write!(f, "aliceBlue"),
1239 Self::AntiqueWhite => write!(f, "antiqueWhite"),
1240 Self::Aqua => write!(f, "aqua"),
1241 Self::Aquamarine => write!(f, "aquamarine"),
1242 Self::Azure => write!(f, "azure"),
1243 Self::Beige => write!(f, "beige"),
1244 Self::Bisque => write!(f, "bisque"),
1245 Self::Black => write!(f, "black"),
1246 Self::BlanchedAlmond => write!(f, "blanchedAlmond"),
1247 Self::Blue => write!(f, "blue"),
1248 Self::BlueViolet => write!(f, "blueViolet"),
1249 Self::Brown => write!(f, "brown"),
1250 Self::BurlyWood => write!(f, "burlyWood"),
1251 Self::CadetBlue => write!(f, "cadetBlue"),
1252 Self::Chartreuse => write!(f, "chartreuse"),
1253 Self::Chocolate => write!(f, "chocolate"),
1254 Self::Coral => write!(f, "coral"),
1255 Self::CornflowerBlue => write!(f, "cornflowerBlue"),
1256 Self::Cornsilk => write!(f, "cornsilk"),
1257 Self::Crimson => write!(f, "crimson"),
1258 Self::Cyan => write!(f, "cyan"),
1259 Self::DarkBlue => write!(f, "darkBlue"),
1260 Self::DarkCyan => write!(f, "darkCyan"),
1261 Self::DarkGoldenrod => write!(f, "darkGoldenrod"),
1262 Self::DarkGray => write!(f, "darkGray"),
1263 Self::DarkGrey => write!(f, "darkGrey"),
1264 Self::DarkGreen => write!(f, "darkGreen"),
1265 Self::DarkKhaki => write!(f, "darkKhaki"),
1266 Self::DarkMagenta => write!(f, "darkMagenta"),
1267 Self::DarkOliveGreen => write!(f, "darkOliveGreen"),
1268 Self::DarkOrange => write!(f, "darkOrange"),
1269 Self::DarkOrchid => write!(f, "darkOrchid"),
1270 Self::DarkRed => write!(f, "darkRed"),
1271 Self::DarkSalmon => write!(f, "darkSalmon"),
1272 Self::DarkSeaGreen => write!(f, "darkSeaGreen"),
1273 Self::DarkSlateBlue => write!(f, "darkSlateBlue"),
1274 Self::DarkSlateGray => write!(f, "darkSlateGray"),
1275 Self::DarkSlateGrey => write!(f, "darkSlateGrey"),
1276 Self::DarkTurquoise => write!(f, "darkTurquoise"),
1277 Self::DarkViolet => write!(f, "darkViolet"),
1278 Self::DkBlue => write!(f, "dkBlue"),
1279 Self::DkCyan => write!(f, "dkCyan"),
1280 Self::DkGoldenrod => write!(f, "dkGoldenrod"),
1281 Self::DkGray => write!(f, "dkGray"),
1282 Self::DkGrey => write!(f, "dkGrey"),
1283 Self::DkGreen => write!(f, "dkGreen"),
1284 Self::DkKhaki => write!(f, "dkKhaki"),
1285 Self::DkMagenta => write!(f, "dkMagenta"),
1286 Self::DkOliveGreen => write!(f, "dkOliveGreen"),
1287 Self::DkOrange => write!(f, "dkOrange"),
1288 Self::DkOrchid => write!(f, "dkOrchid"),
1289 Self::DkRed => write!(f, "dkRed"),
1290 Self::DkSalmon => write!(f, "dkSalmon"),
1291 Self::DkSeaGreen => write!(f, "dkSeaGreen"),
1292 Self::DkSlateBlue => write!(f, "dkSlateBlue"),
1293 Self::DkSlateGray => write!(f, "dkSlateGray"),
1294 Self::DkSlateGrey => write!(f, "dkSlateGrey"),
1295 Self::DkTurquoise => write!(f, "dkTurquoise"),
1296 Self::DkViolet => write!(f, "dkViolet"),
1297 Self::DeepPink => write!(f, "deepPink"),
1298 Self::DeepSkyBlue => write!(f, "deepSkyBlue"),
1299 Self::DimGray => write!(f, "dimGray"),
1300 Self::DimGrey => write!(f, "dimGrey"),
1301 Self::DodgerBlue => write!(f, "dodgerBlue"),
1302 Self::Firebrick => write!(f, "firebrick"),
1303 Self::FloralWhite => write!(f, "floralWhite"),
1304 Self::ForestGreen => write!(f, "forestGreen"),
1305 Self::Fuchsia => write!(f, "fuchsia"),
1306 Self::Gainsboro => write!(f, "gainsboro"),
1307 Self::GhostWhite => write!(f, "ghostWhite"),
1308 Self::Gold => write!(f, "gold"),
1309 Self::Goldenrod => write!(f, "goldenrod"),
1310 Self::Gray => write!(f, "gray"),
1311 Self::Grey => write!(f, "grey"),
1312 Self::Green => write!(f, "green"),
1313 Self::GreenYellow => write!(f, "greenYellow"),
1314 Self::Honeydew => write!(f, "honeydew"),
1315 Self::HotPink => write!(f, "hotPink"),
1316 Self::IndianRed => write!(f, "indianRed"),
1317 Self::Indigo => write!(f, "indigo"),
1318 Self::Ivory => write!(f, "ivory"),
1319 Self::Khaki => write!(f, "khaki"),
1320 Self::Lavender => write!(f, "lavender"),
1321 Self::LavenderBlush => write!(f, "lavenderBlush"),
1322 Self::LawnGreen => write!(f, "lawnGreen"),
1323 Self::LemonChiffon => write!(f, "lemonChiffon"),
1324 Self::LightBlue => write!(f, "lightBlue"),
1325 Self::LightCoral => write!(f, "lightCoral"),
1326 Self::LightCyan => write!(f, "lightCyan"),
1327 Self::LightGoldenrodYellow => write!(f, "lightGoldenrodYellow"),
1328 Self::LightGray => write!(f, "lightGray"),
1329 Self::LightGrey => write!(f, "lightGrey"),
1330 Self::LightGreen => write!(f, "lightGreen"),
1331 Self::LightPink => write!(f, "lightPink"),
1332 Self::LightSalmon => write!(f, "lightSalmon"),
1333 Self::LightSeaGreen => write!(f, "lightSeaGreen"),
1334 Self::LightSkyBlue => write!(f, "lightSkyBlue"),
1335 Self::LightSlateGray => write!(f, "lightSlateGray"),
1336 Self::LightSlateGrey => write!(f, "lightSlateGrey"),
1337 Self::LightSteelBlue => write!(f, "lightSteelBlue"),
1338 Self::LightYellow => write!(f, "lightYellow"),
1339 Self::LtBlue => write!(f, "ltBlue"),
1340 Self::LtCoral => write!(f, "ltCoral"),
1341 Self::LtCyan => write!(f, "ltCyan"),
1342 Self::LtGoldenrodYellow => write!(f, "ltGoldenrodYellow"),
1343 Self::LtGray => write!(f, "ltGray"),
1344 Self::LtGrey => write!(f, "ltGrey"),
1345 Self::LtGreen => write!(f, "ltGreen"),
1346 Self::LtPink => write!(f, "ltPink"),
1347 Self::LtSalmon => write!(f, "ltSalmon"),
1348 Self::LtSeaGreen => write!(f, "ltSeaGreen"),
1349 Self::LtSkyBlue => write!(f, "ltSkyBlue"),
1350 Self::LtSlateGray => write!(f, "ltSlateGray"),
1351 Self::LtSlateGrey => write!(f, "ltSlateGrey"),
1352 Self::LtSteelBlue => write!(f, "ltSteelBlue"),
1353 Self::LtYellow => write!(f, "ltYellow"),
1354 Self::Lime => write!(f, "lime"),
1355 Self::LimeGreen => write!(f, "limeGreen"),
1356 Self::Linen => write!(f, "linen"),
1357 Self::Magenta => write!(f, "magenta"),
1358 Self::Maroon => write!(f, "maroon"),
1359 Self::MedAquamarine => write!(f, "medAquamarine"),
1360 Self::MedBlue => write!(f, "medBlue"),
1361 Self::MedOrchid => write!(f, "medOrchid"),
1362 Self::MedPurple => write!(f, "medPurple"),
1363 Self::MedSeaGreen => write!(f, "medSeaGreen"),
1364 Self::MedSlateBlue => write!(f, "medSlateBlue"),
1365 Self::MedSpringGreen => write!(f, "medSpringGreen"),
1366 Self::MedTurquoise => write!(f, "medTurquoise"),
1367 Self::MedVioletRed => write!(f, "medVioletRed"),
1368 Self::MediumAquamarine => write!(f, "mediumAquamarine"),
1369 Self::MediumBlue => write!(f, "mediumBlue"),
1370 Self::MediumOrchid => write!(f, "mediumOrchid"),
1371 Self::MediumPurple => write!(f, "mediumPurple"),
1372 Self::MediumSeaGreen => write!(f, "mediumSeaGreen"),
1373 Self::MediumSlateBlue => write!(f, "mediumSlateBlue"),
1374 Self::MediumSpringGreen => write!(f, "mediumSpringGreen"),
1375 Self::MediumTurquoise => write!(f, "mediumTurquoise"),
1376 Self::MediumVioletRed => write!(f, "mediumVioletRed"),
1377 Self::MidnightBlue => write!(f, "midnightBlue"),
1378 Self::MintCream => write!(f, "mintCream"),
1379 Self::MistyRose => write!(f, "mistyRose"),
1380 Self::Moccasin => write!(f, "moccasin"),
1381 Self::NavajoWhite => write!(f, "navajoWhite"),
1382 Self::Navy => write!(f, "navy"),
1383 Self::OldLace => write!(f, "oldLace"),
1384 Self::Olive => write!(f, "olive"),
1385 Self::OliveDrab => write!(f, "oliveDrab"),
1386 Self::Orange => write!(f, "orange"),
1387 Self::OrangeRed => write!(f, "orangeRed"),
1388 Self::Orchid => write!(f, "orchid"),
1389 Self::PaleGoldenrod => write!(f, "paleGoldenrod"),
1390 Self::PaleGreen => write!(f, "paleGreen"),
1391 Self::PaleTurquoise => write!(f, "paleTurquoise"),
1392 Self::PaleVioletRed => write!(f, "paleVioletRed"),
1393 Self::PapayaWhip => write!(f, "papayaWhip"),
1394 Self::PeachPuff => write!(f, "peachPuff"),
1395 Self::Peru => write!(f, "peru"),
1396 Self::Pink => write!(f, "pink"),
1397 Self::Plum => write!(f, "plum"),
1398 Self::PowderBlue => write!(f, "powderBlue"),
1399 Self::Purple => write!(f, "purple"),
1400 Self::Red => write!(f, "red"),
1401 Self::RosyBrown => write!(f, "rosyBrown"),
1402 Self::RoyalBlue => write!(f, "royalBlue"),
1403 Self::SaddleBrown => write!(f, "saddleBrown"),
1404 Self::Salmon => write!(f, "salmon"),
1405 Self::SandyBrown => write!(f, "sandyBrown"),
1406 Self::SeaGreen => write!(f, "seaGreen"),
1407 Self::SeaShell => write!(f, "seaShell"),
1408 Self::Sienna => write!(f, "sienna"),
1409 Self::Silver => write!(f, "silver"),
1410 Self::SkyBlue => write!(f, "skyBlue"),
1411 Self::SlateBlue => write!(f, "slateBlue"),
1412 Self::SlateGray => write!(f, "slateGray"),
1413 Self::SlateGrey => write!(f, "slateGrey"),
1414 Self::Snow => write!(f, "snow"),
1415 Self::SpringGreen => write!(f, "springGreen"),
1416 Self::SteelBlue => write!(f, "steelBlue"),
1417 Self::Tan => write!(f, "tan"),
1418 Self::Teal => write!(f, "teal"),
1419 Self::Thistle => write!(f, "thistle"),
1420 Self::Tomato => write!(f, "tomato"),
1421 Self::Turquoise => write!(f, "turquoise"),
1422 Self::Violet => write!(f, "violet"),
1423 Self::Wheat => write!(f, "wheat"),
1424 Self::White => write!(f, "white"),
1425 Self::WhiteSmoke => write!(f, "whiteSmoke"),
1426 Self::Yellow => write!(f, "yellow"),
1427 Self::YellowGreen => write!(f, "yellowGreen"),
1428 }
1429 }
1430}
1431
1432impl std::str::FromStr for STPresetColorVal {
1433 type Err = String;
1434
1435 fn from_str(s: &str) -> Result<Self, Self::Err> {
1436 match s {
1437 "aliceBlue" => Ok(Self::AliceBlue),
1438 "antiqueWhite" => Ok(Self::AntiqueWhite),
1439 "aqua" => Ok(Self::Aqua),
1440 "aquamarine" => Ok(Self::Aquamarine),
1441 "azure" => Ok(Self::Azure),
1442 "beige" => Ok(Self::Beige),
1443 "bisque" => Ok(Self::Bisque),
1444 "black" => Ok(Self::Black),
1445 "blanchedAlmond" => Ok(Self::BlanchedAlmond),
1446 "blue" => Ok(Self::Blue),
1447 "blueViolet" => Ok(Self::BlueViolet),
1448 "brown" => Ok(Self::Brown),
1449 "burlyWood" => Ok(Self::BurlyWood),
1450 "cadetBlue" => Ok(Self::CadetBlue),
1451 "chartreuse" => Ok(Self::Chartreuse),
1452 "chocolate" => Ok(Self::Chocolate),
1453 "coral" => Ok(Self::Coral),
1454 "cornflowerBlue" => Ok(Self::CornflowerBlue),
1455 "cornsilk" => Ok(Self::Cornsilk),
1456 "crimson" => Ok(Self::Crimson),
1457 "cyan" => Ok(Self::Cyan),
1458 "darkBlue" => Ok(Self::DarkBlue),
1459 "darkCyan" => Ok(Self::DarkCyan),
1460 "darkGoldenrod" => Ok(Self::DarkGoldenrod),
1461 "darkGray" => Ok(Self::DarkGray),
1462 "darkGrey" => Ok(Self::DarkGrey),
1463 "darkGreen" => Ok(Self::DarkGreen),
1464 "darkKhaki" => Ok(Self::DarkKhaki),
1465 "darkMagenta" => Ok(Self::DarkMagenta),
1466 "darkOliveGreen" => Ok(Self::DarkOliveGreen),
1467 "darkOrange" => Ok(Self::DarkOrange),
1468 "darkOrchid" => Ok(Self::DarkOrchid),
1469 "darkRed" => Ok(Self::DarkRed),
1470 "darkSalmon" => Ok(Self::DarkSalmon),
1471 "darkSeaGreen" => Ok(Self::DarkSeaGreen),
1472 "darkSlateBlue" => Ok(Self::DarkSlateBlue),
1473 "darkSlateGray" => Ok(Self::DarkSlateGray),
1474 "darkSlateGrey" => Ok(Self::DarkSlateGrey),
1475 "darkTurquoise" => Ok(Self::DarkTurquoise),
1476 "darkViolet" => Ok(Self::DarkViolet),
1477 "dkBlue" => Ok(Self::DkBlue),
1478 "dkCyan" => Ok(Self::DkCyan),
1479 "dkGoldenrod" => Ok(Self::DkGoldenrod),
1480 "dkGray" => Ok(Self::DkGray),
1481 "dkGrey" => Ok(Self::DkGrey),
1482 "dkGreen" => Ok(Self::DkGreen),
1483 "dkKhaki" => Ok(Self::DkKhaki),
1484 "dkMagenta" => Ok(Self::DkMagenta),
1485 "dkOliveGreen" => Ok(Self::DkOliveGreen),
1486 "dkOrange" => Ok(Self::DkOrange),
1487 "dkOrchid" => Ok(Self::DkOrchid),
1488 "dkRed" => Ok(Self::DkRed),
1489 "dkSalmon" => Ok(Self::DkSalmon),
1490 "dkSeaGreen" => Ok(Self::DkSeaGreen),
1491 "dkSlateBlue" => Ok(Self::DkSlateBlue),
1492 "dkSlateGray" => Ok(Self::DkSlateGray),
1493 "dkSlateGrey" => Ok(Self::DkSlateGrey),
1494 "dkTurquoise" => Ok(Self::DkTurquoise),
1495 "dkViolet" => Ok(Self::DkViolet),
1496 "deepPink" => Ok(Self::DeepPink),
1497 "deepSkyBlue" => Ok(Self::DeepSkyBlue),
1498 "dimGray" => Ok(Self::DimGray),
1499 "dimGrey" => Ok(Self::DimGrey),
1500 "dodgerBlue" => Ok(Self::DodgerBlue),
1501 "firebrick" => Ok(Self::Firebrick),
1502 "floralWhite" => Ok(Self::FloralWhite),
1503 "forestGreen" => Ok(Self::ForestGreen),
1504 "fuchsia" => Ok(Self::Fuchsia),
1505 "gainsboro" => Ok(Self::Gainsboro),
1506 "ghostWhite" => Ok(Self::GhostWhite),
1507 "gold" => Ok(Self::Gold),
1508 "goldenrod" => Ok(Self::Goldenrod),
1509 "gray" => Ok(Self::Gray),
1510 "grey" => Ok(Self::Grey),
1511 "green" => Ok(Self::Green),
1512 "greenYellow" => Ok(Self::GreenYellow),
1513 "honeydew" => Ok(Self::Honeydew),
1514 "hotPink" => Ok(Self::HotPink),
1515 "indianRed" => Ok(Self::IndianRed),
1516 "indigo" => Ok(Self::Indigo),
1517 "ivory" => Ok(Self::Ivory),
1518 "khaki" => Ok(Self::Khaki),
1519 "lavender" => Ok(Self::Lavender),
1520 "lavenderBlush" => Ok(Self::LavenderBlush),
1521 "lawnGreen" => Ok(Self::LawnGreen),
1522 "lemonChiffon" => Ok(Self::LemonChiffon),
1523 "lightBlue" => Ok(Self::LightBlue),
1524 "lightCoral" => Ok(Self::LightCoral),
1525 "lightCyan" => Ok(Self::LightCyan),
1526 "lightGoldenrodYellow" => Ok(Self::LightGoldenrodYellow),
1527 "lightGray" => Ok(Self::LightGray),
1528 "lightGrey" => Ok(Self::LightGrey),
1529 "lightGreen" => Ok(Self::LightGreen),
1530 "lightPink" => Ok(Self::LightPink),
1531 "lightSalmon" => Ok(Self::LightSalmon),
1532 "lightSeaGreen" => Ok(Self::LightSeaGreen),
1533 "lightSkyBlue" => Ok(Self::LightSkyBlue),
1534 "lightSlateGray" => Ok(Self::LightSlateGray),
1535 "lightSlateGrey" => Ok(Self::LightSlateGrey),
1536 "lightSteelBlue" => Ok(Self::LightSteelBlue),
1537 "lightYellow" => Ok(Self::LightYellow),
1538 "ltBlue" => Ok(Self::LtBlue),
1539 "ltCoral" => Ok(Self::LtCoral),
1540 "ltCyan" => Ok(Self::LtCyan),
1541 "ltGoldenrodYellow" => Ok(Self::LtGoldenrodYellow),
1542 "ltGray" => Ok(Self::LtGray),
1543 "ltGrey" => Ok(Self::LtGrey),
1544 "ltGreen" => Ok(Self::LtGreen),
1545 "ltPink" => Ok(Self::LtPink),
1546 "ltSalmon" => Ok(Self::LtSalmon),
1547 "ltSeaGreen" => Ok(Self::LtSeaGreen),
1548 "ltSkyBlue" => Ok(Self::LtSkyBlue),
1549 "ltSlateGray" => Ok(Self::LtSlateGray),
1550 "ltSlateGrey" => Ok(Self::LtSlateGrey),
1551 "ltSteelBlue" => Ok(Self::LtSteelBlue),
1552 "ltYellow" => Ok(Self::LtYellow),
1553 "lime" => Ok(Self::Lime),
1554 "limeGreen" => Ok(Self::LimeGreen),
1555 "linen" => Ok(Self::Linen),
1556 "magenta" => Ok(Self::Magenta),
1557 "maroon" => Ok(Self::Maroon),
1558 "medAquamarine" => Ok(Self::MedAquamarine),
1559 "medBlue" => Ok(Self::MedBlue),
1560 "medOrchid" => Ok(Self::MedOrchid),
1561 "medPurple" => Ok(Self::MedPurple),
1562 "medSeaGreen" => Ok(Self::MedSeaGreen),
1563 "medSlateBlue" => Ok(Self::MedSlateBlue),
1564 "medSpringGreen" => Ok(Self::MedSpringGreen),
1565 "medTurquoise" => Ok(Self::MedTurquoise),
1566 "medVioletRed" => Ok(Self::MedVioletRed),
1567 "mediumAquamarine" => Ok(Self::MediumAquamarine),
1568 "mediumBlue" => Ok(Self::MediumBlue),
1569 "mediumOrchid" => Ok(Self::MediumOrchid),
1570 "mediumPurple" => Ok(Self::MediumPurple),
1571 "mediumSeaGreen" => Ok(Self::MediumSeaGreen),
1572 "mediumSlateBlue" => Ok(Self::MediumSlateBlue),
1573 "mediumSpringGreen" => Ok(Self::MediumSpringGreen),
1574 "mediumTurquoise" => Ok(Self::MediumTurquoise),
1575 "mediumVioletRed" => Ok(Self::MediumVioletRed),
1576 "midnightBlue" => Ok(Self::MidnightBlue),
1577 "mintCream" => Ok(Self::MintCream),
1578 "mistyRose" => Ok(Self::MistyRose),
1579 "moccasin" => Ok(Self::Moccasin),
1580 "navajoWhite" => Ok(Self::NavajoWhite),
1581 "navy" => Ok(Self::Navy),
1582 "oldLace" => Ok(Self::OldLace),
1583 "olive" => Ok(Self::Olive),
1584 "oliveDrab" => Ok(Self::OliveDrab),
1585 "orange" => Ok(Self::Orange),
1586 "orangeRed" => Ok(Self::OrangeRed),
1587 "orchid" => Ok(Self::Orchid),
1588 "paleGoldenrod" => Ok(Self::PaleGoldenrod),
1589 "paleGreen" => Ok(Self::PaleGreen),
1590 "paleTurquoise" => Ok(Self::PaleTurquoise),
1591 "paleVioletRed" => Ok(Self::PaleVioletRed),
1592 "papayaWhip" => Ok(Self::PapayaWhip),
1593 "peachPuff" => Ok(Self::PeachPuff),
1594 "peru" => Ok(Self::Peru),
1595 "pink" => Ok(Self::Pink),
1596 "plum" => Ok(Self::Plum),
1597 "powderBlue" => Ok(Self::PowderBlue),
1598 "purple" => Ok(Self::Purple),
1599 "red" => Ok(Self::Red),
1600 "rosyBrown" => Ok(Self::RosyBrown),
1601 "royalBlue" => Ok(Self::RoyalBlue),
1602 "saddleBrown" => Ok(Self::SaddleBrown),
1603 "salmon" => Ok(Self::Salmon),
1604 "sandyBrown" => Ok(Self::SandyBrown),
1605 "seaGreen" => Ok(Self::SeaGreen),
1606 "seaShell" => Ok(Self::SeaShell),
1607 "sienna" => Ok(Self::Sienna),
1608 "silver" => Ok(Self::Silver),
1609 "skyBlue" => Ok(Self::SkyBlue),
1610 "slateBlue" => Ok(Self::SlateBlue),
1611 "slateGray" => Ok(Self::SlateGray),
1612 "slateGrey" => Ok(Self::SlateGrey),
1613 "snow" => Ok(Self::Snow),
1614 "springGreen" => Ok(Self::SpringGreen),
1615 "steelBlue" => Ok(Self::SteelBlue),
1616 "tan" => Ok(Self::Tan),
1617 "teal" => Ok(Self::Teal),
1618 "thistle" => Ok(Self::Thistle),
1619 "tomato" => Ok(Self::Tomato),
1620 "turquoise" => Ok(Self::Turquoise),
1621 "violet" => Ok(Self::Violet),
1622 "wheat" => Ok(Self::Wheat),
1623 "white" => Ok(Self::White),
1624 "whiteSmoke" => Ok(Self::WhiteSmoke),
1625 "yellow" => Ok(Self::Yellow),
1626 "yellowGreen" => Ok(Self::YellowGreen),
1627 _ => Err(format!("unknown STPresetColorVal value: {}", s)),
1628 }
1629 }
1630}
1631
1632#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
1633pub enum STRectAlignment {
1634 #[serde(rename = "tl")]
1635 Tl,
1636 #[serde(rename = "t")]
1637 T,
1638 #[serde(rename = "tr")]
1639 Tr,
1640 #[serde(rename = "l")]
1641 L,
1642 #[serde(rename = "ctr")]
1643 Ctr,
1644 #[serde(rename = "r")]
1645 R,
1646 #[serde(rename = "bl")]
1647 Bl,
1648 #[serde(rename = "b")]
1649 B,
1650 #[serde(rename = "br")]
1651 Br,
1652}
1653
1654impl std::fmt::Display for STRectAlignment {
1655 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1656 match self {
1657 Self::Tl => write!(f, "tl"),
1658 Self::T => write!(f, "t"),
1659 Self::Tr => write!(f, "tr"),
1660 Self::L => write!(f, "l"),
1661 Self::Ctr => write!(f, "ctr"),
1662 Self::R => write!(f, "r"),
1663 Self::Bl => write!(f, "bl"),
1664 Self::B => write!(f, "b"),
1665 Self::Br => write!(f, "br"),
1666 }
1667 }
1668}
1669
1670impl std::str::FromStr for STRectAlignment {
1671 type Err = String;
1672
1673 fn from_str(s: &str) -> Result<Self, Self::Err> {
1674 match s {
1675 "tl" => Ok(Self::Tl),
1676 "t" => Ok(Self::T),
1677 "tr" => Ok(Self::Tr),
1678 "l" => Ok(Self::L),
1679 "ctr" => Ok(Self::Ctr),
1680 "r" => Ok(Self::R),
1681 "bl" => Ok(Self::Bl),
1682 "b" => Ok(Self::B),
1683 "br" => Ok(Self::Br),
1684 _ => Err(format!("unknown STRectAlignment value: {}", s)),
1685 }
1686 }
1687}
1688
1689#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
1690pub enum STBlackWhiteMode {
1691 #[serde(rename = "clr")]
1692 Clr,
1693 #[serde(rename = "auto")]
1694 Auto,
1695 #[serde(rename = "gray")]
1696 Gray,
1697 #[serde(rename = "ltGray")]
1698 LtGray,
1699 #[serde(rename = "invGray")]
1700 InvGray,
1701 #[serde(rename = "grayWhite")]
1702 GrayWhite,
1703 #[serde(rename = "blackGray")]
1704 BlackGray,
1705 #[serde(rename = "blackWhite")]
1706 BlackWhite,
1707 #[serde(rename = "black")]
1708 Black,
1709 #[serde(rename = "white")]
1710 White,
1711 #[serde(rename = "hidden")]
1712 Hidden,
1713}
1714
1715impl std::fmt::Display for STBlackWhiteMode {
1716 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1717 match self {
1718 Self::Clr => write!(f, "clr"),
1719 Self::Auto => write!(f, "auto"),
1720 Self::Gray => write!(f, "gray"),
1721 Self::LtGray => write!(f, "ltGray"),
1722 Self::InvGray => write!(f, "invGray"),
1723 Self::GrayWhite => write!(f, "grayWhite"),
1724 Self::BlackGray => write!(f, "blackGray"),
1725 Self::BlackWhite => write!(f, "blackWhite"),
1726 Self::Black => write!(f, "black"),
1727 Self::White => write!(f, "white"),
1728 Self::Hidden => write!(f, "hidden"),
1729 }
1730 }
1731}
1732
1733impl std::str::FromStr for STBlackWhiteMode {
1734 type Err = String;
1735
1736 fn from_str(s: &str) -> Result<Self, Self::Err> {
1737 match s {
1738 "clr" => Ok(Self::Clr),
1739 "auto" => Ok(Self::Auto),
1740 "gray" => Ok(Self::Gray),
1741 "ltGray" => Ok(Self::LtGray),
1742 "invGray" => Ok(Self::InvGray),
1743 "grayWhite" => Ok(Self::GrayWhite),
1744 "blackGray" => Ok(Self::BlackGray),
1745 "blackWhite" => Ok(Self::BlackWhite),
1746 "black" => Ok(Self::Black),
1747 "white" => Ok(Self::White),
1748 "hidden" => Ok(Self::Hidden),
1749 _ => Err(format!("unknown STBlackWhiteMode value: {}", s)),
1750 }
1751 }
1752}
1753
1754pub type STDrawingElementId = u32;
1755
1756#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
1757pub enum STChartBuildStep {
1758 #[serde(rename = "category")]
1759 Category,
1760 #[serde(rename = "ptInCategory")]
1761 PtInCategory,
1762 #[serde(rename = "series")]
1763 Series,
1764 #[serde(rename = "ptInSeries")]
1765 PtInSeries,
1766 #[serde(rename = "allPts")]
1767 AllPts,
1768 #[serde(rename = "gridLegend")]
1769 GridLegend,
1770}
1771
1772impl std::fmt::Display for STChartBuildStep {
1773 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1774 match self {
1775 Self::Category => write!(f, "category"),
1776 Self::PtInCategory => write!(f, "ptInCategory"),
1777 Self::Series => write!(f, "series"),
1778 Self::PtInSeries => write!(f, "ptInSeries"),
1779 Self::AllPts => write!(f, "allPts"),
1780 Self::GridLegend => write!(f, "gridLegend"),
1781 }
1782 }
1783}
1784
1785impl std::str::FromStr for STChartBuildStep {
1786 type Err = String;
1787
1788 fn from_str(s: &str) -> Result<Self, Self::Err> {
1789 match s {
1790 "category" => Ok(Self::Category),
1791 "ptInCategory" => Ok(Self::PtInCategory),
1792 "series" => Ok(Self::Series),
1793 "ptInSeries" => Ok(Self::PtInSeries),
1794 "allPts" => Ok(Self::AllPts),
1795 "gridLegend" => Ok(Self::GridLegend),
1796 _ => Err(format!("unknown STChartBuildStep value: {}", s)),
1797 }
1798 }
1799}
1800
1801#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
1802pub enum STDgmBuildStep {
1803 #[serde(rename = "sp")]
1804 Sp,
1805 #[serde(rename = "bg")]
1806 Bg,
1807}
1808
1809impl std::fmt::Display for STDgmBuildStep {
1810 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1811 match self {
1812 Self::Sp => write!(f, "sp"),
1813 Self::Bg => write!(f, "bg"),
1814 }
1815 }
1816}
1817
1818impl std::str::FromStr for STDgmBuildStep {
1819 type Err = String;
1820
1821 fn from_str(s: &str) -> Result<Self, Self::Err> {
1822 match s {
1823 "sp" => Ok(Self::Sp),
1824 "bg" => Ok(Self::Bg),
1825 _ => Err(format!("unknown STDgmBuildStep value: {}", s)),
1826 }
1827 }
1828}
1829
1830#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
1831pub enum STAnimationDgmOnlyBuildType {
1832 #[serde(rename = "one")]
1833 One,
1834 #[serde(rename = "lvlOne")]
1835 LvlOne,
1836 #[serde(rename = "lvlAtOnce")]
1837 LvlAtOnce,
1838}
1839
1840impl std::fmt::Display for STAnimationDgmOnlyBuildType {
1841 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1842 match self {
1843 Self::One => write!(f, "one"),
1844 Self::LvlOne => write!(f, "lvlOne"),
1845 Self::LvlAtOnce => write!(f, "lvlAtOnce"),
1846 }
1847 }
1848}
1849
1850impl std::str::FromStr for STAnimationDgmOnlyBuildType {
1851 type Err = String;
1852
1853 fn from_str(s: &str) -> Result<Self, Self::Err> {
1854 match s {
1855 "one" => Ok(Self::One),
1856 "lvlOne" => Ok(Self::LvlOne),
1857 "lvlAtOnce" => Ok(Self::LvlAtOnce),
1858 _ => Err(format!("unknown STAnimationDgmOnlyBuildType value: {}", s)),
1859 }
1860 }
1861}
1862
1863pub type STAnimationDgmBuildType = String;
1864
1865#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
1866pub enum STAnimationChartOnlyBuildType {
1867 #[serde(rename = "series")]
1868 Series,
1869 #[serde(rename = "category")]
1870 Category,
1871 #[serde(rename = "seriesEl")]
1872 SeriesEl,
1873 #[serde(rename = "categoryEl")]
1874 CategoryEl,
1875}
1876
1877impl std::fmt::Display for STAnimationChartOnlyBuildType {
1878 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1879 match self {
1880 Self::Series => write!(f, "series"),
1881 Self::Category => write!(f, "category"),
1882 Self::SeriesEl => write!(f, "seriesEl"),
1883 Self::CategoryEl => write!(f, "categoryEl"),
1884 }
1885 }
1886}
1887
1888impl std::str::FromStr for STAnimationChartOnlyBuildType {
1889 type Err = String;
1890
1891 fn from_str(s: &str) -> Result<Self, Self::Err> {
1892 match s {
1893 "series" => Ok(Self::Series),
1894 "category" => Ok(Self::Category),
1895 "seriesEl" => Ok(Self::SeriesEl),
1896 "categoryEl" => Ok(Self::CategoryEl),
1897 _ => Err(format!(
1898 "unknown STAnimationChartOnlyBuildType value: {}",
1899 s
1900 )),
1901 }
1902 }
1903}
1904
1905pub type STAnimationChartBuildType = String;
1906
1907#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
1908pub enum STPresetCameraType {
1909 #[serde(rename = "legacyObliqueTopLeft")]
1910 LegacyObliqueTopLeft,
1911 #[serde(rename = "legacyObliqueTop")]
1912 LegacyObliqueTop,
1913 #[serde(rename = "legacyObliqueTopRight")]
1914 LegacyObliqueTopRight,
1915 #[serde(rename = "legacyObliqueLeft")]
1916 LegacyObliqueLeft,
1917 #[serde(rename = "legacyObliqueFront")]
1918 LegacyObliqueFront,
1919 #[serde(rename = "legacyObliqueRight")]
1920 LegacyObliqueRight,
1921 #[serde(rename = "legacyObliqueBottomLeft")]
1922 LegacyObliqueBottomLeft,
1923 #[serde(rename = "legacyObliqueBottom")]
1924 LegacyObliqueBottom,
1925 #[serde(rename = "legacyObliqueBottomRight")]
1926 LegacyObliqueBottomRight,
1927 #[serde(rename = "legacyPerspectiveTopLeft")]
1928 LegacyPerspectiveTopLeft,
1929 #[serde(rename = "legacyPerspectiveTop")]
1930 LegacyPerspectiveTop,
1931 #[serde(rename = "legacyPerspectiveTopRight")]
1932 LegacyPerspectiveTopRight,
1933 #[serde(rename = "legacyPerspectiveLeft")]
1934 LegacyPerspectiveLeft,
1935 #[serde(rename = "legacyPerspectiveFront")]
1936 LegacyPerspectiveFront,
1937 #[serde(rename = "legacyPerspectiveRight")]
1938 LegacyPerspectiveRight,
1939 #[serde(rename = "legacyPerspectiveBottomLeft")]
1940 LegacyPerspectiveBottomLeft,
1941 #[serde(rename = "legacyPerspectiveBottom")]
1942 LegacyPerspectiveBottom,
1943 #[serde(rename = "legacyPerspectiveBottomRight")]
1944 LegacyPerspectiveBottomRight,
1945 #[serde(rename = "orthographicFront")]
1946 OrthographicFront,
1947 #[serde(rename = "isometricTopUp")]
1948 IsometricTopUp,
1949 #[serde(rename = "isometricTopDown")]
1950 IsometricTopDown,
1951 #[serde(rename = "isometricBottomUp")]
1952 IsometricBottomUp,
1953 #[serde(rename = "isometricBottomDown")]
1954 IsometricBottomDown,
1955 #[serde(rename = "isometricLeftUp")]
1956 IsometricLeftUp,
1957 #[serde(rename = "isometricLeftDown")]
1958 IsometricLeftDown,
1959 #[serde(rename = "isometricRightUp")]
1960 IsometricRightUp,
1961 #[serde(rename = "isometricRightDown")]
1962 IsometricRightDown,
1963 #[serde(rename = "isometricOffAxis1Left")]
1964 IsometricOffAxis1Left,
1965 #[serde(rename = "isometricOffAxis1Right")]
1966 IsometricOffAxis1Right,
1967 #[serde(rename = "isometricOffAxis1Top")]
1968 IsometricOffAxis1Top,
1969 #[serde(rename = "isometricOffAxis2Left")]
1970 IsometricOffAxis2Left,
1971 #[serde(rename = "isometricOffAxis2Right")]
1972 IsometricOffAxis2Right,
1973 #[serde(rename = "isometricOffAxis2Top")]
1974 IsometricOffAxis2Top,
1975 #[serde(rename = "isometricOffAxis3Left")]
1976 IsometricOffAxis3Left,
1977 #[serde(rename = "isometricOffAxis3Right")]
1978 IsometricOffAxis3Right,
1979 #[serde(rename = "isometricOffAxis3Bottom")]
1980 IsometricOffAxis3Bottom,
1981 #[serde(rename = "isometricOffAxis4Left")]
1982 IsometricOffAxis4Left,
1983 #[serde(rename = "isometricOffAxis4Right")]
1984 IsometricOffAxis4Right,
1985 #[serde(rename = "isometricOffAxis4Bottom")]
1986 IsometricOffAxis4Bottom,
1987 #[serde(rename = "obliqueTopLeft")]
1988 ObliqueTopLeft,
1989 #[serde(rename = "obliqueTop")]
1990 ObliqueTop,
1991 #[serde(rename = "obliqueTopRight")]
1992 ObliqueTopRight,
1993 #[serde(rename = "obliqueLeft")]
1994 ObliqueLeft,
1995 #[serde(rename = "obliqueRight")]
1996 ObliqueRight,
1997 #[serde(rename = "obliqueBottomLeft")]
1998 ObliqueBottomLeft,
1999 #[serde(rename = "obliqueBottom")]
2000 ObliqueBottom,
2001 #[serde(rename = "obliqueBottomRight")]
2002 ObliqueBottomRight,
2003 #[serde(rename = "perspectiveFront")]
2004 PerspectiveFront,
2005 #[serde(rename = "perspectiveLeft")]
2006 PerspectiveLeft,
2007 #[serde(rename = "perspectiveRight")]
2008 PerspectiveRight,
2009 #[serde(rename = "perspectiveAbove")]
2010 PerspectiveAbove,
2011 #[serde(rename = "perspectiveBelow")]
2012 PerspectiveBelow,
2013 #[serde(rename = "perspectiveAboveLeftFacing")]
2014 PerspectiveAboveLeftFacing,
2015 #[serde(rename = "perspectiveAboveRightFacing")]
2016 PerspectiveAboveRightFacing,
2017 #[serde(rename = "perspectiveContrastingLeftFacing")]
2018 PerspectiveContrastingLeftFacing,
2019 #[serde(rename = "perspectiveContrastingRightFacing")]
2020 PerspectiveContrastingRightFacing,
2021 #[serde(rename = "perspectiveHeroicLeftFacing")]
2022 PerspectiveHeroicLeftFacing,
2023 #[serde(rename = "perspectiveHeroicRightFacing")]
2024 PerspectiveHeroicRightFacing,
2025 #[serde(rename = "perspectiveHeroicExtremeLeftFacing")]
2026 PerspectiveHeroicExtremeLeftFacing,
2027 #[serde(rename = "perspectiveHeroicExtremeRightFacing")]
2028 PerspectiveHeroicExtremeRightFacing,
2029 #[serde(rename = "perspectiveRelaxed")]
2030 PerspectiveRelaxed,
2031 #[serde(rename = "perspectiveRelaxedModerately")]
2032 PerspectiveRelaxedModerately,
2033}
2034
2035impl std::fmt::Display for STPresetCameraType {
2036 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2037 match self {
2038 Self::LegacyObliqueTopLeft => write!(f, "legacyObliqueTopLeft"),
2039 Self::LegacyObliqueTop => write!(f, "legacyObliqueTop"),
2040 Self::LegacyObliqueTopRight => write!(f, "legacyObliqueTopRight"),
2041 Self::LegacyObliqueLeft => write!(f, "legacyObliqueLeft"),
2042 Self::LegacyObliqueFront => write!(f, "legacyObliqueFront"),
2043 Self::LegacyObliqueRight => write!(f, "legacyObliqueRight"),
2044 Self::LegacyObliqueBottomLeft => write!(f, "legacyObliqueBottomLeft"),
2045 Self::LegacyObliqueBottom => write!(f, "legacyObliqueBottom"),
2046 Self::LegacyObliqueBottomRight => write!(f, "legacyObliqueBottomRight"),
2047 Self::LegacyPerspectiveTopLeft => write!(f, "legacyPerspectiveTopLeft"),
2048 Self::LegacyPerspectiveTop => write!(f, "legacyPerspectiveTop"),
2049 Self::LegacyPerspectiveTopRight => write!(f, "legacyPerspectiveTopRight"),
2050 Self::LegacyPerspectiveLeft => write!(f, "legacyPerspectiveLeft"),
2051 Self::LegacyPerspectiveFront => write!(f, "legacyPerspectiveFront"),
2052 Self::LegacyPerspectiveRight => write!(f, "legacyPerspectiveRight"),
2053 Self::LegacyPerspectiveBottomLeft => write!(f, "legacyPerspectiveBottomLeft"),
2054 Self::LegacyPerspectiveBottom => write!(f, "legacyPerspectiveBottom"),
2055 Self::LegacyPerspectiveBottomRight => write!(f, "legacyPerspectiveBottomRight"),
2056 Self::OrthographicFront => write!(f, "orthographicFront"),
2057 Self::IsometricTopUp => write!(f, "isometricTopUp"),
2058 Self::IsometricTopDown => write!(f, "isometricTopDown"),
2059 Self::IsometricBottomUp => write!(f, "isometricBottomUp"),
2060 Self::IsometricBottomDown => write!(f, "isometricBottomDown"),
2061 Self::IsometricLeftUp => write!(f, "isometricLeftUp"),
2062 Self::IsometricLeftDown => write!(f, "isometricLeftDown"),
2063 Self::IsometricRightUp => write!(f, "isometricRightUp"),
2064 Self::IsometricRightDown => write!(f, "isometricRightDown"),
2065 Self::IsometricOffAxis1Left => write!(f, "isometricOffAxis1Left"),
2066 Self::IsometricOffAxis1Right => write!(f, "isometricOffAxis1Right"),
2067 Self::IsometricOffAxis1Top => write!(f, "isometricOffAxis1Top"),
2068 Self::IsometricOffAxis2Left => write!(f, "isometricOffAxis2Left"),
2069 Self::IsometricOffAxis2Right => write!(f, "isometricOffAxis2Right"),
2070 Self::IsometricOffAxis2Top => write!(f, "isometricOffAxis2Top"),
2071 Self::IsometricOffAxis3Left => write!(f, "isometricOffAxis3Left"),
2072 Self::IsometricOffAxis3Right => write!(f, "isometricOffAxis3Right"),
2073 Self::IsometricOffAxis3Bottom => write!(f, "isometricOffAxis3Bottom"),
2074 Self::IsometricOffAxis4Left => write!(f, "isometricOffAxis4Left"),
2075 Self::IsometricOffAxis4Right => write!(f, "isometricOffAxis4Right"),
2076 Self::IsometricOffAxis4Bottom => write!(f, "isometricOffAxis4Bottom"),
2077 Self::ObliqueTopLeft => write!(f, "obliqueTopLeft"),
2078 Self::ObliqueTop => write!(f, "obliqueTop"),
2079 Self::ObliqueTopRight => write!(f, "obliqueTopRight"),
2080 Self::ObliqueLeft => write!(f, "obliqueLeft"),
2081 Self::ObliqueRight => write!(f, "obliqueRight"),
2082 Self::ObliqueBottomLeft => write!(f, "obliqueBottomLeft"),
2083 Self::ObliqueBottom => write!(f, "obliqueBottom"),
2084 Self::ObliqueBottomRight => write!(f, "obliqueBottomRight"),
2085 Self::PerspectiveFront => write!(f, "perspectiveFront"),
2086 Self::PerspectiveLeft => write!(f, "perspectiveLeft"),
2087 Self::PerspectiveRight => write!(f, "perspectiveRight"),
2088 Self::PerspectiveAbove => write!(f, "perspectiveAbove"),
2089 Self::PerspectiveBelow => write!(f, "perspectiveBelow"),
2090 Self::PerspectiveAboveLeftFacing => write!(f, "perspectiveAboveLeftFacing"),
2091 Self::PerspectiveAboveRightFacing => write!(f, "perspectiveAboveRightFacing"),
2092 Self::PerspectiveContrastingLeftFacing => write!(f, "perspectiveContrastingLeftFacing"),
2093 Self::PerspectiveContrastingRightFacing => {
2094 write!(f, "perspectiveContrastingRightFacing")
2095 }
2096 Self::PerspectiveHeroicLeftFacing => write!(f, "perspectiveHeroicLeftFacing"),
2097 Self::PerspectiveHeroicRightFacing => write!(f, "perspectiveHeroicRightFacing"),
2098 Self::PerspectiveHeroicExtremeLeftFacing => {
2099 write!(f, "perspectiveHeroicExtremeLeftFacing")
2100 }
2101 Self::PerspectiveHeroicExtremeRightFacing => {
2102 write!(f, "perspectiveHeroicExtremeRightFacing")
2103 }
2104 Self::PerspectiveRelaxed => write!(f, "perspectiveRelaxed"),
2105 Self::PerspectiveRelaxedModerately => write!(f, "perspectiveRelaxedModerately"),
2106 }
2107 }
2108}
2109
2110impl std::str::FromStr for STPresetCameraType {
2111 type Err = String;
2112
2113 fn from_str(s: &str) -> Result<Self, Self::Err> {
2114 match s {
2115 "legacyObliqueTopLeft" => Ok(Self::LegacyObliqueTopLeft),
2116 "legacyObliqueTop" => Ok(Self::LegacyObliqueTop),
2117 "legacyObliqueTopRight" => Ok(Self::LegacyObliqueTopRight),
2118 "legacyObliqueLeft" => Ok(Self::LegacyObliqueLeft),
2119 "legacyObliqueFront" => Ok(Self::LegacyObliqueFront),
2120 "legacyObliqueRight" => Ok(Self::LegacyObliqueRight),
2121 "legacyObliqueBottomLeft" => Ok(Self::LegacyObliqueBottomLeft),
2122 "legacyObliqueBottom" => Ok(Self::LegacyObliqueBottom),
2123 "legacyObliqueBottomRight" => Ok(Self::LegacyObliqueBottomRight),
2124 "legacyPerspectiveTopLeft" => Ok(Self::LegacyPerspectiveTopLeft),
2125 "legacyPerspectiveTop" => Ok(Self::LegacyPerspectiveTop),
2126 "legacyPerspectiveTopRight" => Ok(Self::LegacyPerspectiveTopRight),
2127 "legacyPerspectiveLeft" => Ok(Self::LegacyPerspectiveLeft),
2128 "legacyPerspectiveFront" => Ok(Self::LegacyPerspectiveFront),
2129 "legacyPerspectiveRight" => Ok(Self::LegacyPerspectiveRight),
2130 "legacyPerspectiveBottomLeft" => Ok(Self::LegacyPerspectiveBottomLeft),
2131 "legacyPerspectiveBottom" => Ok(Self::LegacyPerspectiveBottom),
2132 "legacyPerspectiveBottomRight" => Ok(Self::LegacyPerspectiveBottomRight),
2133 "orthographicFront" => Ok(Self::OrthographicFront),
2134 "isometricTopUp" => Ok(Self::IsometricTopUp),
2135 "isometricTopDown" => Ok(Self::IsometricTopDown),
2136 "isometricBottomUp" => Ok(Self::IsometricBottomUp),
2137 "isometricBottomDown" => Ok(Self::IsometricBottomDown),
2138 "isometricLeftUp" => Ok(Self::IsometricLeftUp),
2139 "isometricLeftDown" => Ok(Self::IsometricLeftDown),
2140 "isometricRightUp" => Ok(Self::IsometricRightUp),
2141 "isometricRightDown" => Ok(Self::IsometricRightDown),
2142 "isometricOffAxis1Left" => Ok(Self::IsometricOffAxis1Left),
2143 "isometricOffAxis1Right" => Ok(Self::IsometricOffAxis1Right),
2144 "isometricOffAxis1Top" => Ok(Self::IsometricOffAxis1Top),
2145 "isometricOffAxis2Left" => Ok(Self::IsometricOffAxis2Left),
2146 "isometricOffAxis2Right" => Ok(Self::IsometricOffAxis2Right),
2147 "isometricOffAxis2Top" => Ok(Self::IsometricOffAxis2Top),
2148 "isometricOffAxis3Left" => Ok(Self::IsometricOffAxis3Left),
2149 "isometricOffAxis3Right" => Ok(Self::IsometricOffAxis3Right),
2150 "isometricOffAxis3Bottom" => Ok(Self::IsometricOffAxis3Bottom),
2151 "isometricOffAxis4Left" => Ok(Self::IsometricOffAxis4Left),
2152 "isometricOffAxis4Right" => Ok(Self::IsometricOffAxis4Right),
2153 "isometricOffAxis4Bottom" => Ok(Self::IsometricOffAxis4Bottom),
2154 "obliqueTopLeft" => Ok(Self::ObliqueTopLeft),
2155 "obliqueTop" => Ok(Self::ObliqueTop),
2156 "obliqueTopRight" => Ok(Self::ObliqueTopRight),
2157 "obliqueLeft" => Ok(Self::ObliqueLeft),
2158 "obliqueRight" => Ok(Self::ObliqueRight),
2159 "obliqueBottomLeft" => Ok(Self::ObliqueBottomLeft),
2160 "obliqueBottom" => Ok(Self::ObliqueBottom),
2161 "obliqueBottomRight" => Ok(Self::ObliqueBottomRight),
2162 "perspectiveFront" => Ok(Self::PerspectiveFront),
2163 "perspectiveLeft" => Ok(Self::PerspectiveLeft),
2164 "perspectiveRight" => Ok(Self::PerspectiveRight),
2165 "perspectiveAbove" => Ok(Self::PerspectiveAbove),
2166 "perspectiveBelow" => Ok(Self::PerspectiveBelow),
2167 "perspectiveAboveLeftFacing" => Ok(Self::PerspectiveAboveLeftFacing),
2168 "perspectiveAboveRightFacing" => Ok(Self::PerspectiveAboveRightFacing),
2169 "perspectiveContrastingLeftFacing" => Ok(Self::PerspectiveContrastingLeftFacing),
2170 "perspectiveContrastingRightFacing" => Ok(Self::PerspectiveContrastingRightFacing),
2171 "perspectiveHeroicLeftFacing" => Ok(Self::PerspectiveHeroicLeftFacing),
2172 "perspectiveHeroicRightFacing" => Ok(Self::PerspectiveHeroicRightFacing),
2173 "perspectiveHeroicExtremeLeftFacing" => Ok(Self::PerspectiveHeroicExtremeLeftFacing),
2174 "perspectiveHeroicExtremeRightFacing" => Ok(Self::PerspectiveHeroicExtremeRightFacing),
2175 "perspectiveRelaxed" => Ok(Self::PerspectiveRelaxed),
2176 "perspectiveRelaxedModerately" => Ok(Self::PerspectiveRelaxedModerately),
2177 _ => Err(format!("unknown STPresetCameraType value: {}", s)),
2178 }
2179 }
2180}
2181
2182pub type STFOVAngle = i32;
2183
2184#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2185pub enum STLightRigDirection {
2186 #[serde(rename = "tl")]
2187 Tl,
2188 #[serde(rename = "t")]
2189 T,
2190 #[serde(rename = "tr")]
2191 Tr,
2192 #[serde(rename = "l")]
2193 L,
2194 #[serde(rename = "r")]
2195 R,
2196 #[serde(rename = "bl")]
2197 Bl,
2198 #[serde(rename = "b")]
2199 B,
2200 #[serde(rename = "br")]
2201 Br,
2202}
2203
2204impl std::fmt::Display for STLightRigDirection {
2205 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2206 match self {
2207 Self::Tl => write!(f, "tl"),
2208 Self::T => write!(f, "t"),
2209 Self::Tr => write!(f, "tr"),
2210 Self::L => write!(f, "l"),
2211 Self::R => write!(f, "r"),
2212 Self::Bl => write!(f, "bl"),
2213 Self::B => write!(f, "b"),
2214 Self::Br => write!(f, "br"),
2215 }
2216 }
2217}
2218
2219impl std::str::FromStr for STLightRigDirection {
2220 type Err = String;
2221
2222 fn from_str(s: &str) -> Result<Self, Self::Err> {
2223 match s {
2224 "tl" => Ok(Self::Tl),
2225 "t" => Ok(Self::T),
2226 "tr" => Ok(Self::Tr),
2227 "l" => Ok(Self::L),
2228 "r" => Ok(Self::R),
2229 "bl" => Ok(Self::Bl),
2230 "b" => Ok(Self::B),
2231 "br" => Ok(Self::Br),
2232 _ => Err(format!("unknown STLightRigDirection value: {}", s)),
2233 }
2234 }
2235}
2236
2237#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2238pub enum STLightRigType {
2239 #[serde(rename = "legacyFlat1")]
2240 LegacyFlat1,
2241 #[serde(rename = "legacyFlat2")]
2242 LegacyFlat2,
2243 #[serde(rename = "legacyFlat3")]
2244 LegacyFlat3,
2245 #[serde(rename = "legacyFlat4")]
2246 LegacyFlat4,
2247 #[serde(rename = "legacyNormal1")]
2248 LegacyNormal1,
2249 #[serde(rename = "legacyNormal2")]
2250 LegacyNormal2,
2251 #[serde(rename = "legacyNormal3")]
2252 LegacyNormal3,
2253 #[serde(rename = "legacyNormal4")]
2254 LegacyNormal4,
2255 #[serde(rename = "legacyHarsh1")]
2256 LegacyHarsh1,
2257 #[serde(rename = "legacyHarsh2")]
2258 LegacyHarsh2,
2259 #[serde(rename = "legacyHarsh3")]
2260 LegacyHarsh3,
2261 #[serde(rename = "legacyHarsh4")]
2262 LegacyHarsh4,
2263 #[serde(rename = "threePt")]
2264 ThreePt,
2265 #[serde(rename = "balanced")]
2266 Balanced,
2267 #[serde(rename = "soft")]
2268 Soft,
2269 #[serde(rename = "harsh")]
2270 Harsh,
2271 #[serde(rename = "flood")]
2272 Flood,
2273 #[serde(rename = "contrasting")]
2274 Contrasting,
2275 #[serde(rename = "morning")]
2276 Morning,
2277 #[serde(rename = "sunrise")]
2278 Sunrise,
2279 #[serde(rename = "sunset")]
2280 Sunset,
2281 #[serde(rename = "chilly")]
2282 Chilly,
2283 #[serde(rename = "freezing")]
2284 Freezing,
2285 #[serde(rename = "flat")]
2286 Flat,
2287 #[serde(rename = "twoPt")]
2288 TwoPt,
2289 #[serde(rename = "glow")]
2290 Glow,
2291 #[serde(rename = "brightRoom")]
2292 BrightRoom,
2293}
2294
2295impl std::fmt::Display for STLightRigType {
2296 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2297 match self {
2298 Self::LegacyFlat1 => write!(f, "legacyFlat1"),
2299 Self::LegacyFlat2 => write!(f, "legacyFlat2"),
2300 Self::LegacyFlat3 => write!(f, "legacyFlat3"),
2301 Self::LegacyFlat4 => write!(f, "legacyFlat4"),
2302 Self::LegacyNormal1 => write!(f, "legacyNormal1"),
2303 Self::LegacyNormal2 => write!(f, "legacyNormal2"),
2304 Self::LegacyNormal3 => write!(f, "legacyNormal3"),
2305 Self::LegacyNormal4 => write!(f, "legacyNormal4"),
2306 Self::LegacyHarsh1 => write!(f, "legacyHarsh1"),
2307 Self::LegacyHarsh2 => write!(f, "legacyHarsh2"),
2308 Self::LegacyHarsh3 => write!(f, "legacyHarsh3"),
2309 Self::LegacyHarsh4 => write!(f, "legacyHarsh4"),
2310 Self::ThreePt => write!(f, "threePt"),
2311 Self::Balanced => write!(f, "balanced"),
2312 Self::Soft => write!(f, "soft"),
2313 Self::Harsh => write!(f, "harsh"),
2314 Self::Flood => write!(f, "flood"),
2315 Self::Contrasting => write!(f, "contrasting"),
2316 Self::Morning => write!(f, "morning"),
2317 Self::Sunrise => write!(f, "sunrise"),
2318 Self::Sunset => write!(f, "sunset"),
2319 Self::Chilly => write!(f, "chilly"),
2320 Self::Freezing => write!(f, "freezing"),
2321 Self::Flat => write!(f, "flat"),
2322 Self::TwoPt => write!(f, "twoPt"),
2323 Self::Glow => write!(f, "glow"),
2324 Self::BrightRoom => write!(f, "brightRoom"),
2325 }
2326 }
2327}
2328
2329impl std::str::FromStr for STLightRigType {
2330 type Err = String;
2331
2332 fn from_str(s: &str) -> Result<Self, Self::Err> {
2333 match s {
2334 "legacyFlat1" => Ok(Self::LegacyFlat1),
2335 "legacyFlat2" => Ok(Self::LegacyFlat2),
2336 "legacyFlat3" => Ok(Self::LegacyFlat3),
2337 "legacyFlat4" => Ok(Self::LegacyFlat4),
2338 "legacyNormal1" => Ok(Self::LegacyNormal1),
2339 "legacyNormal2" => Ok(Self::LegacyNormal2),
2340 "legacyNormal3" => Ok(Self::LegacyNormal3),
2341 "legacyNormal4" => Ok(Self::LegacyNormal4),
2342 "legacyHarsh1" => Ok(Self::LegacyHarsh1),
2343 "legacyHarsh2" => Ok(Self::LegacyHarsh2),
2344 "legacyHarsh3" => Ok(Self::LegacyHarsh3),
2345 "legacyHarsh4" => Ok(Self::LegacyHarsh4),
2346 "threePt" => Ok(Self::ThreePt),
2347 "balanced" => Ok(Self::Balanced),
2348 "soft" => Ok(Self::Soft),
2349 "harsh" => Ok(Self::Harsh),
2350 "flood" => Ok(Self::Flood),
2351 "contrasting" => Ok(Self::Contrasting),
2352 "morning" => Ok(Self::Morning),
2353 "sunrise" => Ok(Self::Sunrise),
2354 "sunset" => Ok(Self::Sunset),
2355 "chilly" => Ok(Self::Chilly),
2356 "freezing" => Ok(Self::Freezing),
2357 "flat" => Ok(Self::Flat),
2358 "twoPt" => Ok(Self::TwoPt),
2359 "glow" => Ok(Self::Glow),
2360 "brightRoom" => Ok(Self::BrightRoom),
2361 _ => Err(format!("unknown STLightRigType value: {}", s)),
2362 }
2363 }
2364}
2365
2366#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2367pub enum STBevelPresetType {
2368 #[serde(rename = "relaxedInset")]
2369 RelaxedInset,
2370 #[serde(rename = "circle")]
2371 Circle,
2372 #[serde(rename = "slope")]
2373 Slope,
2374 #[serde(rename = "cross")]
2375 Cross,
2376 #[serde(rename = "angle")]
2377 Angle,
2378 #[serde(rename = "softRound")]
2379 SoftRound,
2380 #[serde(rename = "convex")]
2381 Convex,
2382 #[serde(rename = "coolSlant")]
2383 CoolSlant,
2384 #[serde(rename = "divot")]
2385 Divot,
2386 #[serde(rename = "riblet")]
2387 Riblet,
2388 #[serde(rename = "hardEdge")]
2389 HardEdge,
2390 #[serde(rename = "artDeco")]
2391 ArtDeco,
2392}
2393
2394impl std::fmt::Display for STBevelPresetType {
2395 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2396 match self {
2397 Self::RelaxedInset => write!(f, "relaxedInset"),
2398 Self::Circle => write!(f, "circle"),
2399 Self::Slope => write!(f, "slope"),
2400 Self::Cross => write!(f, "cross"),
2401 Self::Angle => write!(f, "angle"),
2402 Self::SoftRound => write!(f, "softRound"),
2403 Self::Convex => write!(f, "convex"),
2404 Self::CoolSlant => write!(f, "coolSlant"),
2405 Self::Divot => write!(f, "divot"),
2406 Self::Riblet => write!(f, "riblet"),
2407 Self::HardEdge => write!(f, "hardEdge"),
2408 Self::ArtDeco => write!(f, "artDeco"),
2409 }
2410 }
2411}
2412
2413impl std::str::FromStr for STBevelPresetType {
2414 type Err = String;
2415
2416 fn from_str(s: &str) -> Result<Self, Self::Err> {
2417 match s {
2418 "relaxedInset" => Ok(Self::RelaxedInset),
2419 "circle" => Ok(Self::Circle),
2420 "slope" => Ok(Self::Slope),
2421 "cross" => Ok(Self::Cross),
2422 "angle" => Ok(Self::Angle),
2423 "softRound" => Ok(Self::SoftRound),
2424 "convex" => Ok(Self::Convex),
2425 "coolSlant" => Ok(Self::CoolSlant),
2426 "divot" => Ok(Self::Divot),
2427 "riblet" => Ok(Self::Riblet),
2428 "hardEdge" => Ok(Self::HardEdge),
2429 "artDeco" => Ok(Self::ArtDeco),
2430 _ => Err(format!("unknown STBevelPresetType value: {}", s)),
2431 }
2432 }
2433}
2434
2435#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2436pub enum STPresetMaterialType {
2437 #[serde(rename = "legacyMatte")]
2438 LegacyMatte,
2439 #[serde(rename = "legacyPlastic")]
2440 LegacyPlastic,
2441 #[serde(rename = "legacyMetal")]
2442 LegacyMetal,
2443 #[serde(rename = "legacyWireframe")]
2444 LegacyWireframe,
2445 #[serde(rename = "matte")]
2446 Matte,
2447 #[serde(rename = "plastic")]
2448 Plastic,
2449 #[serde(rename = "metal")]
2450 Metal,
2451 #[serde(rename = "warmMatte")]
2452 WarmMatte,
2453 #[serde(rename = "translucentPowder")]
2454 TranslucentPowder,
2455 #[serde(rename = "powder")]
2456 Powder,
2457 #[serde(rename = "dkEdge")]
2458 DkEdge,
2459 #[serde(rename = "softEdge")]
2460 SoftEdge,
2461 #[serde(rename = "clear")]
2462 Clear,
2463 #[serde(rename = "flat")]
2464 Flat,
2465 #[serde(rename = "softmetal")]
2466 Softmetal,
2467}
2468
2469impl std::fmt::Display for STPresetMaterialType {
2470 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2471 match self {
2472 Self::LegacyMatte => write!(f, "legacyMatte"),
2473 Self::LegacyPlastic => write!(f, "legacyPlastic"),
2474 Self::LegacyMetal => write!(f, "legacyMetal"),
2475 Self::LegacyWireframe => write!(f, "legacyWireframe"),
2476 Self::Matte => write!(f, "matte"),
2477 Self::Plastic => write!(f, "plastic"),
2478 Self::Metal => write!(f, "metal"),
2479 Self::WarmMatte => write!(f, "warmMatte"),
2480 Self::TranslucentPowder => write!(f, "translucentPowder"),
2481 Self::Powder => write!(f, "powder"),
2482 Self::DkEdge => write!(f, "dkEdge"),
2483 Self::SoftEdge => write!(f, "softEdge"),
2484 Self::Clear => write!(f, "clear"),
2485 Self::Flat => write!(f, "flat"),
2486 Self::Softmetal => write!(f, "softmetal"),
2487 }
2488 }
2489}
2490
2491impl std::str::FromStr for STPresetMaterialType {
2492 type Err = String;
2493
2494 fn from_str(s: &str) -> Result<Self, Self::Err> {
2495 match s {
2496 "legacyMatte" => Ok(Self::LegacyMatte),
2497 "legacyPlastic" => Ok(Self::LegacyPlastic),
2498 "legacyMetal" => Ok(Self::LegacyMetal),
2499 "legacyWireframe" => Ok(Self::LegacyWireframe),
2500 "matte" => Ok(Self::Matte),
2501 "plastic" => Ok(Self::Plastic),
2502 "metal" => Ok(Self::Metal),
2503 "warmMatte" => Ok(Self::WarmMatte),
2504 "translucentPowder" => Ok(Self::TranslucentPowder),
2505 "powder" => Ok(Self::Powder),
2506 "dkEdge" => Ok(Self::DkEdge),
2507 "softEdge" => Ok(Self::SoftEdge),
2508 "clear" => Ok(Self::Clear),
2509 "flat" => Ok(Self::Flat),
2510 "softmetal" => Ok(Self::Softmetal),
2511 _ => Err(format!("unknown STPresetMaterialType value: {}", s)),
2512 }
2513 }
2514}
2515
2516#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2517pub enum STPresetShadowVal {
2518 #[serde(rename = "shdw1")]
2519 Shdw1,
2520 #[serde(rename = "shdw2")]
2521 Shdw2,
2522 #[serde(rename = "shdw3")]
2523 Shdw3,
2524 #[serde(rename = "shdw4")]
2525 Shdw4,
2526 #[serde(rename = "shdw5")]
2527 Shdw5,
2528 #[serde(rename = "shdw6")]
2529 Shdw6,
2530 #[serde(rename = "shdw7")]
2531 Shdw7,
2532 #[serde(rename = "shdw8")]
2533 Shdw8,
2534 #[serde(rename = "shdw9")]
2535 Shdw9,
2536 #[serde(rename = "shdw10")]
2537 Shdw10,
2538 #[serde(rename = "shdw11")]
2539 Shdw11,
2540 #[serde(rename = "shdw12")]
2541 Shdw12,
2542 #[serde(rename = "shdw13")]
2543 Shdw13,
2544 #[serde(rename = "shdw14")]
2545 Shdw14,
2546 #[serde(rename = "shdw15")]
2547 Shdw15,
2548 #[serde(rename = "shdw16")]
2549 Shdw16,
2550 #[serde(rename = "shdw17")]
2551 Shdw17,
2552 #[serde(rename = "shdw18")]
2553 Shdw18,
2554 #[serde(rename = "shdw19")]
2555 Shdw19,
2556 #[serde(rename = "shdw20")]
2557 Shdw20,
2558}
2559
2560impl std::fmt::Display for STPresetShadowVal {
2561 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2562 match self {
2563 Self::Shdw1 => write!(f, "shdw1"),
2564 Self::Shdw2 => write!(f, "shdw2"),
2565 Self::Shdw3 => write!(f, "shdw3"),
2566 Self::Shdw4 => write!(f, "shdw4"),
2567 Self::Shdw5 => write!(f, "shdw5"),
2568 Self::Shdw6 => write!(f, "shdw6"),
2569 Self::Shdw7 => write!(f, "shdw7"),
2570 Self::Shdw8 => write!(f, "shdw8"),
2571 Self::Shdw9 => write!(f, "shdw9"),
2572 Self::Shdw10 => write!(f, "shdw10"),
2573 Self::Shdw11 => write!(f, "shdw11"),
2574 Self::Shdw12 => write!(f, "shdw12"),
2575 Self::Shdw13 => write!(f, "shdw13"),
2576 Self::Shdw14 => write!(f, "shdw14"),
2577 Self::Shdw15 => write!(f, "shdw15"),
2578 Self::Shdw16 => write!(f, "shdw16"),
2579 Self::Shdw17 => write!(f, "shdw17"),
2580 Self::Shdw18 => write!(f, "shdw18"),
2581 Self::Shdw19 => write!(f, "shdw19"),
2582 Self::Shdw20 => write!(f, "shdw20"),
2583 }
2584 }
2585}
2586
2587impl std::str::FromStr for STPresetShadowVal {
2588 type Err = String;
2589
2590 fn from_str(s: &str) -> Result<Self, Self::Err> {
2591 match s {
2592 "shdw1" => Ok(Self::Shdw1),
2593 "shdw2" => Ok(Self::Shdw2),
2594 "shdw3" => Ok(Self::Shdw3),
2595 "shdw4" => Ok(Self::Shdw4),
2596 "shdw5" => Ok(Self::Shdw5),
2597 "shdw6" => Ok(Self::Shdw6),
2598 "shdw7" => Ok(Self::Shdw7),
2599 "shdw8" => Ok(Self::Shdw8),
2600 "shdw9" => Ok(Self::Shdw9),
2601 "shdw10" => Ok(Self::Shdw10),
2602 "shdw11" => Ok(Self::Shdw11),
2603 "shdw12" => Ok(Self::Shdw12),
2604 "shdw13" => Ok(Self::Shdw13),
2605 "shdw14" => Ok(Self::Shdw14),
2606 "shdw15" => Ok(Self::Shdw15),
2607 "shdw16" => Ok(Self::Shdw16),
2608 "shdw17" => Ok(Self::Shdw17),
2609 "shdw18" => Ok(Self::Shdw18),
2610 "shdw19" => Ok(Self::Shdw19),
2611 "shdw20" => Ok(Self::Shdw20),
2612 _ => Err(format!("unknown STPresetShadowVal value: {}", s)),
2613 }
2614 }
2615}
2616
2617#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2618pub enum STPathShadeType {
2619 #[serde(rename = "shape")]
2620 Shape,
2621 #[serde(rename = "circle")]
2622 Circle,
2623 #[serde(rename = "rect")]
2624 Rect,
2625}
2626
2627impl std::fmt::Display for STPathShadeType {
2628 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2629 match self {
2630 Self::Shape => write!(f, "shape"),
2631 Self::Circle => write!(f, "circle"),
2632 Self::Rect => write!(f, "rect"),
2633 }
2634 }
2635}
2636
2637impl std::str::FromStr for STPathShadeType {
2638 type Err = String;
2639
2640 fn from_str(s: &str) -> Result<Self, Self::Err> {
2641 match s {
2642 "shape" => Ok(Self::Shape),
2643 "circle" => Ok(Self::Circle),
2644 "rect" => Ok(Self::Rect),
2645 _ => Err(format!("unknown STPathShadeType value: {}", s)),
2646 }
2647 }
2648}
2649
2650#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2651pub enum STTileFlipMode {
2652 #[serde(rename = "none")]
2653 None,
2654 #[serde(rename = "x")]
2655 X,
2656 #[serde(rename = "y")]
2657 Y,
2658 #[serde(rename = "xy")]
2659 Xy,
2660}
2661
2662impl std::fmt::Display for STTileFlipMode {
2663 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2664 match self {
2665 Self::None => write!(f, "none"),
2666 Self::X => write!(f, "x"),
2667 Self::Y => write!(f, "y"),
2668 Self::Xy => write!(f, "xy"),
2669 }
2670 }
2671}
2672
2673impl std::str::FromStr for STTileFlipMode {
2674 type Err = String;
2675
2676 fn from_str(s: &str) -> Result<Self, Self::Err> {
2677 match s {
2678 "none" => Ok(Self::None),
2679 "x" => Ok(Self::X),
2680 "y" => Ok(Self::Y),
2681 "xy" => Ok(Self::Xy),
2682 _ => Err(format!("unknown STTileFlipMode value: {}", s)),
2683 }
2684 }
2685}
2686
2687#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2688pub enum STBlipCompression {
2689 #[serde(rename = "email")]
2690 Email,
2691 #[serde(rename = "screen")]
2692 Screen,
2693 #[serde(rename = "print")]
2694 Print,
2695 #[serde(rename = "hqprint")]
2696 Hqprint,
2697 #[serde(rename = "none")]
2698 None,
2699}
2700
2701impl std::fmt::Display for STBlipCompression {
2702 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2703 match self {
2704 Self::Email => write!(f, "email"),
2705 Self::Screen => write!(f, "screen"),
2706 Self::Print => write!(f, "print"),
2707 Self::Hqprint => write!(f, "hqprint"),
2708 Self::None => write!(f, "none"),
2709 }
2710 }
2711}
2712
2713impl std::str::FromStr for STBlipCompression {
2714 type Err = String;
2715
2716 fn from_str(s: &str) -> Result<Self, Self::Err> {
2717 match s {
2718 "email" => Ok(Self::Email),
2719 "screen" => Ok(Self::Screen),
2720 "print" => Ok(Self::Print),
2721 "hqprint" => Ok(Self::Hqprint),
2722 "none" => Ok(Self::None),
2723 _ => Err(format!("unknown STBlipCompression value: {}", s)),
2724 }
2725 }
2726}
2727
2728#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2729pub enum STPresetPatternVal {
2730 #[serde(rename = "pct5")]
2731 Pct5,
2732 #[serde(rename = "pct10")]
2733 Pct10,
2734 #[serde(rename = "pct20")]
2735 Pct20,
2736 #[serde(rename = "pct25")]
2737 Pct25,
2738 #[serde(rename = "pct30")]
2739 Pct30,
2740 #[serde(rename = "pct40")]
2741 Pct40,
2742 #[serde(rename = "pct50")]
2743 Pct50,
2744 #[serde(rename = "pct60")]
2745 Pct60,
2746 #[serde(rename = "pct70")]
2747 Pct70,
2748 #[serde(rename = "pct75")]
2749 Pct75,
2750 #[serde(rename = "pct80")]
2751 Pct80,
2752 #[serde(rename = "pct90")]
2753 Pct90,
2754 #[serde(rename = "horz")]
2755 Horz,
2756 #[serde(rename = "vert")]
2757 Vert,
2758 #[serde(rename = "ltHorz")]
2759 LtHorz,
2760 #[serde(rename = "ltVert")]
2761 LtVert,
2762 #[serde(rename = "dkHorz")]
2763 DkHorz,
2764 #[serde(rename = "dkVert")]
2765 DkVert,
2766 #[serde(rename = "narHorz")]
2767 NarHorz,
2768 #[serde(rename = "narVert")]
2769 NarVert,
2770 #[serde(rename = "dashHorz")]
2771 DashHorz,
2772 #[serde(rename = "dashVert")]
2773 DashVert,
2774 #[serde(rename = "cross")]
2775 Cross,
2776 #[serde(rename = "dnDiag")]
2777 DnDiag,
2778 #[serde(rename = "upDiag")]
2779 UpDiag,
2780 #[serde(rename = "ltDnDiag")]
2781 LtDnDiag,
2782 #[serde(rename = "ltUpDiag")]
2783 LtUpDiag,
2784 #[serde(rename = "dkDnDiag")]
2785 DkDnDiag,
2786 #[serde(rename = "dkUpDiag")]
2787 DkUpDiag,
2788 #[serde(rename = "wdDnDiag")]
2789 WdDnDiag,
2790 #[serde(rename = "wdUpDiag")]
2791 WdUpDiag,
2792 #[serde(rename = "dashDnDiag")]
2793 DashDnDiag,
2794 #[serde(rename = "dashUpDiag")]
2795 DashUpDiag,
2796 #[serde(rename = "diagCross")]
2797 DiagCross,
2798 #[serde(rename = "smCheck")]
2799 SmCheck,
2800 #[serde(rename = "lgCheck")]
2801 LgCheck,
2802 #[serde(rename = "smGrid")]
2803 SmGrid,
2804 #[serde(rename = "lgGrid")]
2805 LgGrid,
2806 #[serde(rename = "dotGrid")]
2807 DotGrid,
2808 #[serde(rename = "smConfetti")]
2809 SmConfetti,
2810 #[serde(rename = "lgConfetti")]
2811 LgConfetti,
2812 #[serde(rename = "horzBrick")]
2813 HorzBrick,
2814 #[serde(rename = "diagBrick")]
2815 DiagBrick,
2816 #[serde(rename = "solidDmnd")]
2817 SolidDmnd,
2818 #[serde(rename = "openDmnd")]
2819 OpenDmnd,
2820 #[serde(rename = "dotDmnd")]
2821 DotDmnd,
2822 #[serde(rename = "plaid")]
2823 Plaid,
2824 #[serde(rename = "sphere")]
2825 Sphere,
2826 #[serde(rename = "weave")]
2827 Weave,
2828 #[serde(rename = "divot")]
2829 Divot,
2830 #[serde(rename = "shingle")]
2831 Shingle,
2832 #[serde(rename = "wave")]
2833 Wave,
2834 #[serde(rename = "trellis")]
2835 Trellis,
2836 #[serde(rename = "zigZag")]
2837 ZigZag,
2838}
2839
2840impl std::fmt::Display for STPresetPatternVal {
2841 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2842 match self {
2843 Self::Pct5 => write!(f, "pct5"),
2844 Self::Pct10 => write!(f, "pct10"),
2845 Self::Pct20 => write!(f, "pct20"),
2846 Self::Pct25 => write!(f, "pct25"),
2847 Self::Pct30 => write!(f, "pct30"),
2848 Self::Pct40 => write!(f, "pct40"),
2849 Self::Pct50 => write!(f, "pct50"),
2850 Self::Pct60 => write!(f, "pct60"),
2851 Self::Pct70 => write!(f, "pct70"),
2852 Self::Pct75 => write!(f, "pct75"),
2853 Self::Pct80 => write!(f, "pct80"),
2854 Self::Pct90 => write!(f, "pct90"),
2855 Self::Horz => write!(f, "horz"),
2856 Self::Vert => write!(f, "vert"),
2857 Self::LtHorz => write!(f, "ltHorz"),
2858 Self::LtVert => write!(f, "ltVert"),
2859 Self::DkHorz => write!(f, "dkHorz"),
2860 Self::DkVert => write!(f, "dkVert"),
2861 Self::NarHorz => write!(f, "narHorz"),
2862 Self::NarVert => write!(f, "narVert"),
2863 Self::DashHorz => write!(f, "dashHorz"),
2864 Self::DashVert => write!(f, "dashVert"),
2865 Self::Cross => write!(f, "cross"),
2866 Self::DnDiag => write!(f, "dnDiag"),
2867 Self::UpDiag => write!(f, "upDiag"),
2868 Self::LtDnDiag => write!(f, "ltDnDiag"),
2869 Self::LtUpDiag => write!(f, "ltUpDiag"),
2870 Self::DkDnDiag => write!(f, "dkDnDiag"),
2871 Self::DkUpDiag => write!(f, "dkUpDiag"),
2872 Self::WdDnDiag => write!(f, "wdDnDiag"),
2873 Self::WdUpDiag => write!(f, "wdUpDiag"),
2874 Self::DashDnDiag => write!(f, "dashDnDiag"),
2875 Self::DashUpDiag => write!(f, "dashUpDiag"),
2876 Self::DiagCross => write!(f, "diagCross"),
2877 Self::SmCheck => write!(f, "smCheck"),
2878 Self::LgCheck => write!(f, "lgCheck"),
2879 Self::SmGrid => write!(f, "smGrid"),
2880 Self::LgGrid => write!(f, "lgGrid"),
2881 Self::DotGrid => write!(f, "dotGrid"),
2882 Self::SmConfetti => write!(f, "smConfetti"),
2883 Self::LgConfetti => write!(f, "lgConfetti"),
2884 Self::HorzBrick => write!(f, "horzBrick"),
2885 Self::DiagBrick => write!(f, "diagBrick"),
2886 Self::SolidDmnd => write!(f, "solidDmnd"),
2887 Self::OpenDmnd => write!(f, "openDmnd"),
2888 Self::DotDmnd => write!(f, "dotDmnd"),
2889 Self::Plaid => write!(f, "plaid"),
2890 Self::Sphere => write!(f, "sphere"),
2891 Self::Weave => write!(f, "weave"),
2892 Self::Divot => write!(f, "divot"),
2893 Self::Shingle => write!(f, "shingle"),
2894 Self::Wave => write!(f, "wave"),
2895 Self::Trellis => write!(f, "trellis"),
2896 Self::ZigZag => write!(f, "zigZag"),
2897 }
2898 }
2899}
2900
2901impl std::str::FromStr for STPresetPatternVal {
2902 type Err = String;
2903
2904 fn from_str(s: &str) -> Result<Self, Self::Err> {
2905 match s {
2906 "pct5" => Ok(Self::Pct5),
2907 "pct10" => Ok(Self::Pct10),
2908 "pct20" => Ok(Self::Pct20),
2909 "pct25" => Ok(Self::Pct25),
2910 "pct30" => Ok(Self::Pct30),
2911 "pct40" => Ok(Self::Pct40),
2912 "pct50" => Ok(Self::Pct50),
2913 "pct60" => Ok(Self::Pct60),
2914 "pct70" => Ok(Self::Pct70),
2915 "pct75" => Ok(Self::Pct75),
2916 "pct80" => Ok(Self::Pct80),
2917 "pct90" => Ok(Self::Pct90),
2918 "horz" => Ok(Self::Horz),
2919 "vert" => Ok(Self::Vert),
2920 "ltHorz" => Ok(Self::LtHorz),
2921 "ltVert" => Ok(Self::LtVert),
2922 "dkHorz" => Ok(Self::DkHorz),
2923 "dkVert" => Ok(Self::DkVert),
2924 "narHorz" => Ok(Self::NarHorz),
2925 "narVert" => Ok(Self::NarVert),
2926 "dashHorz" => Ok(Self::DashHorz),
2927 "dashVert" => Ok(Self::DashVert),
2928 "cross" => Ok(Self::Cross),
2929 "dnDiag" => Ok(Self::DnDiag),
2930 "upDiag" => Ok(Self::UpDiag),
2931 "ltDnDiag" => Ok(Self::LtDnDiag),
2932 "ltUpDiag" => Ok(Self::LtUpDiag),
2933 "dkDnDiag" => Ok(Self::DkDnDiag),
2934 "dkUpDiag" => Ok(Self::DkUpDiag),
2935 "wdDnDiag" => Ok(Self::WdDnDiag),
2936 "wdUpDiag" => Ok(Self::WdUpDiag),
2937 "dashDnDiag" => Ok(Self::DashDnDiag),
2938 "dashUpDiag" => Ok(Self::DashUpDiag),
2939 "diagCross" => Ok(Self::DiagCross),
2940 "smCheck" => Ok(Self::SmCheck),
2941 "lgCheck" => Ok(Self::LgCheck),
2942 "smGrid" => Ok(Self::SmGrid),
2943 "lgGrid" => Ok(Self::LgGrid),
2944 "dotGrid" => Ok(Self::DotGrid),
2945 "smConfetti" => Ok(Self::SmConfetti),
2946 "lgConfetti" => Ok(Self::LgConfetti),
2947 "horzBrick" => Ok(Self::HorzBrick),
2948 "diagBrick" => Ok(Self::DiagBrick),
2949 "solidDmnd" => Ok(Self::SolidDmnd),
2950 "openDmnd" => Ok(Self::OpenDmnd),
2951 "dotDmnd" => Ok(Self::DotDmnd),
2952 "plaid" => Ok(Self::Plaid),
2953 "sphere" => Ok(Self::Sphere),
2954 "weave" => Ok(Self::Weave),
2955 "divot" => Ok(Self::Divot),
2956 "shingle" => Ok(Self::Shingle),
2957 "wave" => Ok(Self::Wave),
2958 "trellis" => Ok(Self::Trellis),
2959 "zigZag" => Ok(Self::ZigZag),
2960 _ => Err(format!("unknown STPresetPatternVal value: {}", s)),
2961 }
2962 }
2963}
2964
2965#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
2966pub enum STBlendMode {
2967 #[serde(rename = "over")]
2968 Over,
2969 #[serde(rename = "mult")]
2970 Mult,
2971 #[serde(rename = "screen")]
2972 Screen,
2973 #[serde(rename = "darken")]
2974 Darken,
2975 #[serde(rename = "lighten")]
2976 Lighten,
2977}
2978
2979impl std::fmt::Display for STBlendMode {
2980 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2981 match self {
2982 Self::Over => write!(f, "over"),
2983 Self::Mult => write!(f, "mult"),
2984 Self::Screen => write!(f, "screen"),
2985 Self::Darken => write!(f, "darken"),
2986 Self::Lighten => write!(f, "lighten"),
2987 }
2988 }
2989}
2990
2991impl std::str::FromStr for STBlendMode {
2992 type Err = String;
2993
2994 fn from_str(s: &str) -> Result<Self, Self::Err> {
2995 match s {
2996 "over" => Ok(Self::Over),
2997 "mult" => Ok(Self::Mult),
2998 "screen" => Ok(Self::Screen),
2999 "darken" => Ok(Self::Darken),
3000 "lighten" => Ok(Self::Lighten),
3001 _ => Err(format!("unknown STBlendMode value: {}", s)),
3002 }
3003 }
3004}
3005
3006#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3007pub enum STEffectContainerType {
3008 #[serde(rename = "sib")]
3009 Sib,
3010 #[serde(rename = "tree")]
3011 Tree,
3012}
3013
3014impl std::fmt::Display for STEffectContainerType {
3015 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3016 match self {
3017 Self::Sib => write!(f, "sib"),
3018 Self::Tree => write!(f, "tree"),
3019 }
3020 }
3021}
3022
3023impl std::str::FromStr for STEffectContainerType {
3024 type Err = String;
3025
3026 fn from_str(s: &str) -> Result<Self, Self::Err> {
3027 match s {
3028 "sib" => Ok(Self::Sib),
3029 "tree" => Ok(Self::Tree),
3030 _ => Err(format!("unknown STEffectContainerType value: {}", s)),
3031 }
3032 }
3033}
3034
3035#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3036pub enum STShapeType {
3037 #[serde(rename = "line")]
3038 Line,
3039 #[serde(rename = "lineInv")]
3040 LineInv,
3041 #[serde(rename = "triangle")]
3042 Triangle,
3043 #[serde(rename = "rtTriangle")]
3044 RtTriangle,
3045 #[serde(rename = "rect")]
3046 Rect,
3047 #[serde(rename = "diamond")]
3048 Diamond,
3049 #[serde(rename = "parallelogram")]
3050 Parallelogram,
3051 #[serde(rename = "trapezoid")]
3052 Trapezoid,
3053 #[serde(rename = "nonIsoscelesTrapezoid")]
3054 NonIsoscelesTrapezoid,
3055 #[serde(rename = "pentagon")]
3056 Pentagon,
3057 #[serde(rename = "hexagon")]
3058 Hexagon,
3059 #[serde(rename = "heptagon")]
3060 Heptagon,
3061 #[serde(rename = "octagon")]
3062 Octagon,
3063 #[serde(rename = "decagon")]
3064 Decagon,
3065 #[serde(rename = "dodecagon")]
3066 Dodecagon,
3067 #[serde(rename = "star4")]
3068 Star4,
3069 #[serde(rename = "star5")]
3070 Star5,
3071 #[serde(rename = "star6")]
3072 Star6,
3073 #[serde(rename = "star7")]
3074 Star7,
3075 #[serde(rename = "star8")]
3076 Star8,
3077 #[serde(rename = "star10")]
3078 Star10,
3079 #[serde(rename = "star12")]
3080 Star12,
3081 #[serde(rename = "star16")]
3082 Star16,
3083 #[serde(rename = "star24")]
3084 Star24,
3085 #[serde(rename = "star32")]
3086 Star32,
3087 #[serde(rename = "roundRect")]
3088 RoundRect,
3089 #[serde(rename = "round1Rect")]
3090 Round1Rect,
3091 #[serde(rename = "round2SameRect")]
3092 Round2SameRect,
3093 #[serde(rename = "round2DiagRect")]
3094 Round2DiagRect,
3095 #[serde(rename = "snipRoundRect")]
3096 SnipRoundRect,
3097 #[serde(rename = "snip1Rect")]
3098 Snip1Rect,
3099 #[serde(rename = "snip2SameRect")]
3100 Snip2SameRect,
3101 #[serde(rename = "snip2DiagRect")]
3102 Snip2DiagRect,
3103 #[serde(rename = "plaque")]
3104 Plaque,
3105 #[serde(rename = "ellipse")]
3106 Ellipse,
3107 #[serde(rename = "teardrop")]
3108 Teardrop,
3109 #[serde(rename = "homePlate")]
3110 HomePlate,
3111 #[serde(rename = "chevron")]
3112 Chevron,
3113 #[serde(rename = "pieWedge")]
3114 PieWedge,
3115 #[serde(rename = "pie")]
3116 Pie,
3117 #[serde(rename = "blockArc")]
3118 BlockArc,
3119 #[serde(rename = "donut")]
3120 Donut,
3121 #[serde(rename = "noSmoking")]
3122 NoSmoking,
3123 #[serde(rename = "rightArrow")]
3124 RightArrow,
3125 #[serde(rename = "leftArrow")]
3126 LeftArrow,
3127 #[serde(rename = "upArrow")]
3128 UpArrow,
3129 #[serde(rename = "downArrow")]
3130 DownArrow,
3131 #[serde(rename = "stripedRightArrow")]
3132 StripedRightArrow,
3133 #[serde(rename = "notchedRightArrow")]
3134 NotchedRightArrow,
3135 #[serde(rename = "bentUpArrow")]
3136 BentUpArrow,
3137 #[serde(rename = "leftRightArrow")]
3138 LeftRightArrow,
3139 #[serde(rename = "upDownArrow")]
3140 UpDownArrow,
3141 #[serde(rename = "leftUpArrow")]
3142 LeftUpArrow,
3143 #[serde(rename = "leftRightUpArrow")]
3144 LeftRightUpArrow,
3145 #[serde(rename = "quadArrow")]
3146 QuadArrow,
3147 #[serde(rename = "leftArrowCallout")]
3148 LeftArrowCallout,
3149 #[serde(rename = "rightArrowCallout")]
3150 RightArrowCallout,
3151 #[serde(rename = "upArrowCallout")]
3152 UpArrowCallout,
3153 #[serde(rename = "downArrowCallout")]
3154 DownArrowCallout,
3155 #[serde(rename = "leftRightArrowCallout")]
3156 LeftRightArrowCallout,
3157 #[serde(rename = "upDownArrowCallout")]
3158 UpDownArrowCallout,
3159 #[serde(rename = "quadArrowCallout")]
3160 QuadArrowCallout,
3161 #[serde(rename = "bentArrow")]
3162 BentArrow,
3163 #[serde(rename = "uturnArrow")]
3164 UturnArrow,
3165 #[serde(rename = "circularArrow")]
3166 CircularArrow,
3167 #[serde(rename = "leftCircularArrow")]
3168 LeftCircularArrow,
3169 #[serde(rename = "leftRightCircularArrow")]
3170 LeftRightCircularArrow,
3171 #[serde(rename = "curvedRightArrow")]
3172 CurvedRightArrow,
3173 #[serde(rename = "curvedLeftArrow")]
3174 CurvedLeftArrow,
3175 #[serde(rename = "curvedUpArrow")]
3176 CurvedUpArrow,
3177 #[serde(rename = "curvedDownArrow")]
3178 CurvedDownArrow,
3179 #[serde(rename = "swooshArrow")]
3180 SwooshArrow,
3181 #[serde(rename = "cube")]
3182 Cube,
3183 #[serde(rename = "can")]
3184 Can,
3185 #[serde(rename = "lightningBolt")]
3186 LightningBolt,
3187 #[serde(rename = "heart")]
3188 Heart,
3189 #[serde(rename = "sun")]
3190 Sun,
3191 #[serde(rename = "moon")]
3192 Moon,
3193 #[serde(rename = "smileyFace")]
3194 SmileyFace,
3195 #[serde(rename = "irregularSeal1")]
3196 IrregularSeal1,
3197 #[serde(rename = "irregularSeal2")]
3198 IrregularSeal2,
3199 #[serde(rename = "foldedCorner")]
3200 FoldedCorner,
3201 #[serde(rename = "bevel")]
3202 Bevel,
3203 #[serde(rename = "frame")]
3204 Frame,
3205 #[serde(rename = "halfFrame")]
3206 HalfFrame,
3207 #[serde(rename = "corner")]
3208 Corner,
3209 #[serde(rename = "diagStripe")]
3210 DiagStripe,
3211 #[serde(rename = "chord")]
3212 Chord,
3213 #[serde(rename = "arc")]
3214 Arc,
3215 #[serde(rename = "leftBracket")]
3216 LeftBracket,
3217 #[serde(rename = "rightBracket")]
3218 RightBracket,
3219 #[serde(rename = "leftBrace")]
3220 LeftBrace,
3221 #[serde(rename = "rightBrace")]
3222 RightBrace,
3223 #[serde(rename = "bracketPair")]
3224 BracketPair,
3225 #[serde(rename = "bracePair")]
3226 BracePair,
3227 #[serde(rename = "straightConnector1")]
3228 StraightConnector1,
3229 #[serde(rename = "bentConnector2")]
3230 BentConnector2,
3231 #[serde(rename = "bentConnector3")]
3232 BentConnector3,
3233 #[serde(rename = "bentConnector4")]
3234 BentConnector4,
3235 #[serde(rename = "bentConnector5")]
3236 BentConnector5,
3237 #[serde(rename = "curvedConnector2")]
3238 CurvedConnector2,
3239 #[serde(rename = "curvedConnector3")]
3240 CurvedConnector3,
3241 #[serde(rename = "curvedConnector4")]
3242 CurvedConnector4,
3243 #[serde(rename = "curvedConnector5")]
3244 CurvedConnector5,
3245 #[serde(rename = "callout1")]
3246 Callout1,
3247 #[serde(rename = "callout2")]
3248 Callout2,
3249 #[serde(rename = "callout3")]
3250 Callout3,
3251 #[serde(rename = "accentCallout1")]
3252 AccentCallout1,
3253 #[serde(rename = "accentCallout2")]
3254 AccentCallout2,
3255 #[serde(rename = "accentCallout3")]
3256 AccentCallout3,
3257 #[serde(rename = "borderCallout1")]
3258 BorderCallout1,
3259 #[serde(rename = "borderCallout2")]
3260 BorderCallout2,
3261 #[serde(rename = "borderCallout3")]
3262 BorderCallout3,
3263 #[serde(rename = "accentBorderCallout1")]
3264 AccentBorderCallout1,
3265 #[serde(rename = "accentBorderCallout2")]
3266 AccentBorderCallout2,
3267 #[serde(rename = "accentBorderCallout3")]
3268 AccentBorderCallout3,
3269 #[serde(rename = "wedgeRectCallout")]
3270 WedgeRectCallout,
3271 #[serde(rename = "wedgeRoundRectCallout")]
3272 WedgeRoundRectCallout,
3273 #[serde(rename = "wedgeEllipseCallout")]
3274 WedgeEllipseCallout,
3275 #[serde(rename = "cloudCallout")]
3276 CloudCallout,
3277 #[serde(rename = "cloud")]
3278 Cloud,
3279 #[serde(rename = "ribbon")]
3280 Ribbon,
3281 #[serde(rename = "ribbon2")]
3282 Ribbon2,
3283 #[serde(rename = "ellipseRibbon")]
3284 EllipseRibbon,
3285 #[serde(rename = "ellipseRibbon2")]
3286 EllipseRibbon2,
3287 #[serde(rename = "leftRightRibbon")]
3288 LeftRightRibbon,
3289 #[serde(rename = "verticalScroll")]
3290 VerticalScroll,
3291 #[serde(rename = "horizontalScroll")]
3292 HorizontalScroll,
3293 #[serde(rename = "wave")]
3294 Wave,
3295 #[serde(rename = "doubleWave")]
3296 DoubleWave,
3297 #[serde(rename = "plus")]
3298 Plus,
3299 #[serde(rename = "flowChartProcess")]
3300 FlowChartProcess,
3301 #[serde(rename = "flowChartDecision")]
3302 FlowChartDecision,
3303 #[serde(rename = "flowChartInputOutput")]
3304 FlowChartInputOutput,
3305 #[serde(rename = "flowChartPredefinedProcess")]
3306 FlowChartPredefinedProcess,
3307 #[serde(rename = "flowChartInternalStorage")]
3308 FlowChartInternalStorage,
3309 #[serde(rename = "flowChartDocument")]
3310 FlowChartDocument,
3311 #[serde(rename = "flowChartMultidocument")]
3312 FlowChartMultidocument,
3313 #[serde(rename = "flowChartTerminator")]
3314 FlowChartTerminator,
3315 #[serde(rename = "flowChartPreparation")]
3316 FlowChartPreparation,
3317 #[serde(rename = "flowChartManualInput")]
3318 FlowChartManualInput,
3319 #[serde(rename = "flowChartManualOperation")]
3320 FlowChartManualOperation,
3321 #[serde(rename = "flowChartConnector")]
3322 FlowChartConnector,
3323 #[serde(rename = "flowChartPunchedCard")]
3324 FlowChartPunchedCard,
3325 #[serde(rename = "flowChartPunchedTape")]
3326 FlowChartPunchedTape,
3327 #[serde(rename = "flowChartSummingJunction")]
3328 FlowChartSummingJunction,
3329 #[serde(rename = "flowChartOr")]
3330 FlowChartOr,
3331 #[serde(rename = "flowChartCollate")]
3332 FlowChartCollate,
3333 #[serde(rename = "flowChartSort")]
3334 FlowChartSort,
3335 #[serde(rename = "flowChartExtract")]
3336 FlowChartExtract,
3337 #[serde(rename = "flowChartMerge")]
3338 FlowChartMerge,
3339 #[serde(rename = "flowChartOfflineStorage")]
3340 FlowChartOfflineStorage,
3341 #[serde(rename = "flowChartOnlineStorage")]
3342 FlowChartOnlineStorage,
3343 #[serde(rename = "flowChartMagneticTape")]
3344 FlowChartMagneticTape,
3345 #[serde(rename = "flowChartMagneticDisk")]
3346 FlowChartMagneticDisk,
3347 #[serde(rename = "flowChartMagneticDrum")]
3348 FlowChartMagneticDrum,
3349 #[serde(rename = "flowChartDisplay")]
3350 FlowChartDisplay,
3351 #[serde(rename = "flowChartDelay")]
3352 FlowChartDelay,
3353 #[serde(rename = "flowChartAlternateProcess")]
3354 FlowChartAlternateProcess,
3355 #[serde(rename = "flowChartOffpageConnector")]
3356 FlowChartOffpageConnector,
3357 #[serde(rename = "actionButtonBlank")]
3358 ActionButtonBlank,
3359 #[serde(rename = "actionButtonHome")]
3360 ActionButtonHome,
3361 #[serde(rename = "actionButtonHelp")]
3362 ActionButtonHelp,
3363 #[serde(rename = "actionButtonInformation")]
3364 ActionButtonInformation,
3365 #[serde(rename = "actionButtonForwardNext")]
3366 ActionButtonForwardNext,
3367 #[serde(rename = "actionButtonBackPrevious")]
3368 ActionButtonBackPrevious,
3369 #[serde(rename = "actionButtonEnd")]
3370 ActionButtonEnd,
3371 #[serde(rename = "actionButtonBeginning")]
3372 ActionButtonBeginning,
3373 #[serde(rename = "actionButtonReturn")]
3374 ActionButtonReturn,
3375 #[serde(rename = "actionButtonDocument")]
3376 ActionButtonDocument,
3377 #[serde(rename = "actionButtonSound")]
3378 ActionButtonSound,
3379 #[serde(rename = "actionButtonMovie")]
3380 ActionButtonMovie,
3381 #[serde(rename = "gear6")]
3382 Gear6,
3383 #[serde(rename = "gear9")]
3384 Gear9,
3385 #[serde(rename = "funnel")]
3386 Funnel,
3387 #[serde(rename = "mathPlus")]
3388 MathPlus,
3389 #[serde(rename = "mathMinus")]
3390 MathMinus,
3391 #[serde(rename = "mathMultiply")]
3392 MathMultiply,
3393 #[serde(rename = "mathDivide")]
3394 MathDivide,
3395 #[serde(rename = "mathEqual")]
3396 MathEqual,
3397 #[serde(rename = "mathNotEqual")]
3398 MathNotEqual,
3399 #[serde(rename = "cornerTabs")]
3400 CornerTabs,
3401 #[serde(rename = "squareTabs")]
3402 SquareTabs,
3403 #[serde(rename = "plaqueTabs")]
3404 PlaqueTabs,
3405 #[serde(rename = "chartX")]
3406 ChartX,
3407 #[serde(rename = "chartStar")]
3408 ChartStar,
3409 #[serde(rename = "chartPlus")]
3410 ChartPlus,
3411}
3412
3413impl std::fmt::Display for STShapeType {
3414 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3415 match self {
3416 Self::Line => write!(f, "line"),
3417 Self::LineInv => write!(f, "lineInv"),
3418 Self::Triangle => write!(f, "triangle"),
3419 Self::RtTriangle => write!(f, "rtTriangle"),
3420 Self::Rect => write!(f, "rect"),
3421 Self::Diamond => write!(f, "diamond"),
3422 Self::Parallelogram => write!(f, "parallelogram"),
3423 Self::Trapezoid => write!(f, "trapezoid"),
3424 Self::NonIsoscelesTrapezoid => write!(f, "nonIsoscelesTrapezoid"),
3425 Self::Pentagon => write!(f, "pentagon"),
3426 Self::Hexagon => write!(f, "hexagon"),
3427 Self::Heptagon => write!(f, "heptagon"),
3428 Self::Octagon => write!(f, "octagon"),
3429 Self::Decagon => write!(f, "decagon"),
3430 Self::Dodecagon => write!(f, "dodecagon"),
3431 Self::Star4 => write!(f, "star4"),
3432 Self::Star5 => write!(f, "star5"),
3433 Self::Star6 => write!(f, "star6"),
3434 Self::Star7 => write!(f, "star7"),
3435 Self::Star8 => write!(f, "star8"),
3436 Self::Star10 => write!(f, "star10"),
3437 Self::Star12 => write!(f, "star12"),
3438 Self::Star16 => write!(f, "star16"),
3439 Self::Star24 => write!(f, "star24"),
3440 Self::Star32 => write!(f, "star32"),
3441 Self::RoundRect => write!(f, "roundRect"),
3442 Self::Round1Rect => write!(f, "round1Rect"),
3443 Self::Round2SameRect => write!(f, "round2SameRect"),
3444 Self::Round2DiagRect => write!(f, "round2DiagRect"),
3445 Self::SnipRoundRect => write!(f, "snipRoundRect"),
3446 Self::Snip1Rect => write!(f, "snip1Rect"),
3447 Self::Snip2SameRect => write!(f, "snip2SameRect"),
3448 Self::Snip2DiagRect => write!(f, "snip2DiagRect"),
3449 Self::Plaque => write!(f, "plaque"),
3450 Self::Ellipse => write!(f, "ellipse"),
3451 Self::Teardrop => write!(f, "teardrop"),
3452 Self::HomePlate => write!(f, "homePlate"),
3453 Self::Chevron => write!(f, "chevron"),
3454 Self::PieWedge => write!(f, "pieWedge"),
3455 Self::Pie => write!(f, "pie"),
3456 Self::BlockArc => write!(f, "blockArc"),
3457 Self::Donut => write!(f, "donut"),
3458 Self::NoSmoking => write!(f, "noSmoking"),
3459 Self::RightArrow => write!(f, "rightArrow"),
3460 Self::LeftArrow => write!(f, "leftArrow"),
3461 Self::UpArrow => write!(f, "upArrow"),
3462 Self::DownArrow => write!(f, "downArrow"),
3463 Self::StripedRightArrow => write!(f, "stripedRightArrow"),
3464 Self::NotchedRightArrow => write!(f, "notchedRightArrow"),
3465 Self::BentUpArrow => write!(f, "bentUpArrow"),
3466 Self::LeftRightArrow => write!(f, "leftRightArrow"),
3467 Self::UpDownArrow => write!(f, "upDownArrow"),
3468 Self::LeftUpArrow => write!(f, "leftUpArrow"),
3469 Self::LeftRightUpArrow => write!(f, "leftRightUpArrow"),
3470 Self::QuadArrow => write!(f, "quadArrow"),
3471 Self::LeftArrowCallout => write!(f, "leftArrowCallout"),
3472 Self::RightArrowCallout => write!(f, "rightArrowCallout"),
3473 Self::UpArrowCallout => write!(f, "upArrowCallout"),
3474 Self::DownArrowCallout => write!(f, "downArrowCallout"),
3475 Self::LeftRightArrowCallout => write!(f, "leftRightArrowCallout"),
3476 Self::UpDownArrowCallout => write!(f, "upDownArrowCallout"),
3477 Self::QuadArrowCallout => write!(f, "quadArrowCallout"),
3478 Self::BentArrow => write!(f, "bentArrow"),
3479 Self::UturnArrow => write!(f, "uturnArrow"),
3480 Self::CircularArrow => write!(f, "circularArrow"),
3481 Self::LeftCircularArrow => write!(f, "leftCircularArrow"),
3482 Self::LeftRightCircularArrow => write!(f, "leftRightCircularArrow"),
3483 Self::CurvedRightArrow => write!(f, "curvedRightArrow"),
3484 Self::CurvedLeftArrow => write!(f, "curvedLeftArrow"),
3485 Self::CurvedUpArrow => write!(f, "curvedUpArrow"),
3486 Self::CurvedDownArrow => write!(f, "curvedDownArrow"),
3487 Self::SwooshArrow => write!(f, "swooshArrow"),
3488 Self::Cube => write!(f, "cube"),
3489 Self::Can => write!(f, "can"),
3490 Self::LightningBolt => write!(f, "lightningBolt"),
3491 Self::Heart => write!(f, "heart"),
3492 Self::Sun => write!(f, "sun"),
3493 Self::Moon => write!(f, "moon"),
3494 Self::SmileyFace => write!(f, "smileyFace"),
3495 Self::IrregularSeal1 => write!(f, "irregularSeal1"),
3496 Self::IrregularSeal2 => write!(f, "irregularSeal2"),
3497 Self::FoldedCorner => write!(f, "foldedCorner"),
3498 Self::Bevel => write!(f, "bevel"),
3499 Self::Frame => write!(f, "frame"),
3500 Self::HalfFrame => write!(f, "halfFrame"),
3501 Self::Corner => write!(f, "corner"),
3502 Self::DiagStripe => write!(f, "diagStripe"),
3503 Self::Chord => write!(f, "chord"),
3504 Self::Arc => write!(f, "arc"),
3505 Self::LeftBracket => write!(f, "leftBracket"),
3506 Self::RightBracket => write!(f, "rightBracket"),
3507 Self::LeftBrace => write!(f, "leftBrace"),
3508 Self::RightBrace => write!(f, "rightBrace"),
3509 Self::BracketPair => write!(f, "bracketPair"),
3510 Self::BracePair => write!(f, "bracePair"),
3511 Self::StraightConnector1 => write!(f, "straightConnector1"),
3512 Self::BentConnector2 => write!(f, "bentConnector2"),
3513 Self::BentConnector3 => write!(f, "bentConnector3"),
3514 Self::BentConnector4 => write!(f, "bentConnector4"),
3515 Self::BentConnector5 => write!(f, "bentConnector5"),
3516 Self::CurvedConnector2 => write!(f, "curvedConnector2"),
3517 Self::CurvedConnector3 => write!(f, "curvedConnector3"),
3518 Self::CurvedConnector4 => write!(f, "curvedConnector4"),
3519 Self::CurvedConnector5 => write!(f, "curvedConnector5"),
3520 Self::Callout1 => write!(f, "callout1"),
3521 Self::Callout2 => write!(f, "callout2"),
3522 Self::Callout3 => write!(f, "callout3"),
3523 Self::AccentCallout1 => write!(f, "accentCallout1"),
3524 Self::AccentCallout2 => write!(f, "accentCallout2"),
3525 Self::AccentCallout3 => write!(f, "accentCallout3"),
3526 Self::BorderCallout1 => write!(f, "borderCallout1"),
3527 Self::BorderCallout2 => write!(f, "borderCallout2"),
3528 Self::BorderCallout3 => write!(f, "borderCallout3"),
3529 Self::AccentBorderCallout1 => write!(f, "accentBorderCallout1"),
3530 Self::AccentBorderCallout2 => write!(f, "accentBorderCallout2"),
3531 Self::AccentBorderCallout3 => write!(f, "accentBorderCallout3"),
3532 Self::WedgeRectCallout => write!(f, "wedgeRectCallout"),
3533 Self::WedgeRoundRectCallout => write!(f, "wedgeRoundRectCallout"),
3534 Self::WedgeEllipseCallout => write!(f, "wedgeEllipseCallout"),
3535 Self::CloudCallout => write!(f, "cloudCallout"),
3536 Self::Cloud => write!(f, "cloud"),
3537 Self::Ribbon => write!(f, "ribbon"),
3538 Self::Ribbon2 => write!(f, "ribbon2"),
3539 Self::EllipseRibbon => write!(f, "ellipseRibbon"),
3540 Self::EllipseRibbon2 => write!(f, "ellipseRibbon2"),
3541 Self::LeftRightRibbon => write!(f, "leftRightRibbon"),
3542 Self::VerticalScroll => write!(f, "verticalScroll"),
3543 Self::HorizontalScroll => write!(f, "horizontalScroll"),
3544 Self::Wave => write!(f, "wave"),
3545 Self::DoubleWave => write!(f, "doubleWave"),
3546 Self::Plus => write!(f, "plus"),
3547 Self::FlowChartProcess => write!(f, "flowChartProcess"),
3548 Self::FlowChartDecision => write!(f, "flowChartDecision"),
3549 Self::FlowChartInputOutput => write!(f, "flowChartInputOutput"),
3550 Self::FlowChartPredefinedProcess => write!(f, "flowChartPredefinedProcess"),
3551 Self::FlowChartInternalStorage => write!(f, "flowChartInternalStorage"),
3552 Self::FlowChartDocument => write!(f, "flowChartDocument"),
3553 Self::FlowChartMultidocument => write!(f, "flowChartMultidocument"),
3554 Self::FlowChartTerminator => write!(f, "flowChartTerminator"),
3555 Self::FlowChartPreparation => write!(f, "flowChartPreparation"),
3556 Self::FlowChartManualInput => write!(f, "flowChartManualInput"),
3557 Self::FlowChartManualOperation => write!(f, "flowChartManualOperation"),
3558 Self::FlowChartConnector => write!(f, "flowChartConnector"),
3559 Self::FlowChartPunchedCard => write!(f, "flowChartPunchedCard"),
3560 Self::FlowChartPunchedTape => write!(f, "flowChartPunchedTape"),
3561 Self::FlowChartSummingJunction => write!(f, "flowChartSummingJunction"),
3562 Self::FlowChartOr => write!(f, "flowChartOr"),
3563 Self::FlowChartCollate => write!(f, "flowChartCollate"),
3564 Self::FlowChartSort => write!(f, "flowChartSort"),
3565 Self::FlowChartExtract => write!(f, "flowChartExtract"),
3566 Self::FlowChartMerge => write!(f, "flowChartMerge"),
3567 Self::FlowChartOfflineStorage => write!(f, "flowChartOfflineStorage"),
3568 Self::FlowChartOnlineStorage => write!(f, "flowChartOnlineStorage"),
3569 Self::FlowChartMagneticTape => write!(f, "flowChartMagneticTape"),
3570 Self::FlowChartMagneticDisk => write!(f, "flowChartMagneticDisk"),
3571 Self::FlowChartMagneticDrum => write!(f, "flowChartMagneticDrum"),
3572 Self::FlowChartDisplay => write!(f, "flowChartDisplay"),
3573 Self::FlowChartDelay => write!(f, "flowChartDelay"),
3574 Self::FlowChartAlternateProcess => write!(f, "flowChartAlternateProcess"),
3575 Self::FlowChartOffpageConnector => write!(f, "flowChartOffpageConnector"),
3576 Self::ActionButtonBlank => write!(f, "actionButtonBlank"),
3577 Self::ActionButtonHome => write!(f, "actionButtonHome"),
3578 Self::ActionButtonHelp => write!(f, "actionButtonHelp"),
3579 Self::ActionButtonInformation => write!(f, "actionButtonInformation"),
3580 Self::ActionButtonForwardNext => write!(f, "actionButtonForwardNext"),
3581 Self::ActionButtonBackPrevious => write!(f, "actionButtonBackPrevious"),
3582 Self::ActionButtonEnd => write!(f, "actionButtonEnd"),
3583 Self::ActionButtonBeginning => write!(f, "actionButtonBeginning"),
3584 Self::ActionButtonReturn => write!(f, "actionButtonReturn"),
3585 Self::ActionButtonDocument => write!(f, "actionButtonDocument"),
3586 Self::ActionButtonSound => write!(f, "actionButtonSound"),
3587 Self::ActionButtonMovie => write!(f, "actionButtonMovie"),
3588 Self::Gear6 => write!(f, "gear6"),
3589 Self::Gear9 => write!(f, "gear9"),
3590 Self::Funnel => write!(f, "funnel"),
3591 Self::MathPlus => write!(f, "mathPlus"),
3592 Self::MathMinus => write!(f, "mathMinus"),
3593 Self::MathMultiply => write!(f, "mathMultiply"),
3594 Self::MathDivide => write!(f, "mathDivide"),
3595 Self::MathEqual => write!(f, "mathEqual"),
3596 Self::MathNotEqual => write!(f, "mathNotEqual"),
3597 Self::CornerTabs => write!(f, "cornerTabs"),
3598 Self::SquareTabs => write!(f, "squareTabs"),
3599 Self::PlaqueTabs => write!(f, "plaqueTabs"),
3600 Self::ChartX => write!(f, "chartX"),
3601 Self::ChartStar => write!(f, "chartStar"),
3602 Self::ChartPlus => write!(f, "chartPlus"),
3603 }
3604 }
3605}
3606
3607impl std::str::FromStr for STShapeType {
3608 type Err = String;
3609
3610 fn from_str(s: &str) -> Result<Self, Self::Err> {
3611 match s {
3612 "line" => Ok(Self::Line),
3613 "lineInv" => Ok(Self::LineInv),
3614 "triangle" => Ok(Self::Triangle),
3615 "rtTriangle" => Ok(Self::RtTriangle),
3616 "rect" => Ok(Self::Rect),
3617 "diamond" => Ok(Self::Diamond),
3618 "parallelogram" => Ok(Self::Parallelogram),
3619 "trapezoid" => Ok(Self::Trapezoid),
3620 "nonIsoscelesTrapezoid" => Ok(Self::NonIsoscelesTrapezoid),
3621 "pentagon" => Ok(Self::Pentagon),
3622 "hexagon" => Ok(Self::Hexagon),
3623 "heptagon" => Ok(Self::Heptagon),
3624 "octagon" => Ok(Self::Octagon),
3625 "decagon" => Ok(Self::Decagon),
3626 "dodecagon" => Ok(Self::Dodecagon),
3627 "star4" => Ok(Self::Star4),
3628 "star5" => Ok(Self::Star5),
3629 "star6" => Ok(Self::Star6),
3630 "star7" => Ok(Self::Star7),
3631 "star8" => Ok(Self::Star8),
3632 "star10" => Ok(Self::Star10),
3633 "star12" => Ok(Self::Star12),
3634 "star16" => Ok(Self::Star16),
3635 "star24" => Ok(Self::Star24),
3636 "star32" => Ok(Self::Star32),
3637 "roundRect" => Ok(Self::RoundRect),
3638 "round1Rect" => Ok(Self::Round1Rect),
3639 "round2SameRect" => Ok(Self::Round2SameRect),
3640 "round2DiagRect" => Ok(Self::Round2DiagRect),
3641 "snipRoundRect" => Ok(Self::SnipRoundRect),
3642 "snip1Rect" => Ok(Self::Snip1Rect),
3643 "snip2SameRect" => Ok(Self::Snip2SameRect),
3644 "snip2DiagRect" => Ok(Self::Snip2DiagRect),
3645 "plaque" => Ok(Self::Plaque),
3646 "ellipse" => Ok(Self::Ellipse),
3647 "teardrop" => Ok(Self::Teardrop),
3648 "homePlate" => Ok(Self::HomePlate),
3649 "chevron" => Ok(Self::Chevron),
3650 "pieWedge" => Ok(Self::PieWedge),
3651 "pie" => Ok(Self::Pie),
3652 "blockArc" => Ok(Self::BlockArc),
3653 "donut" => Ok(Self::Donut),
3654 "noSmoking" => Ok(Self::NoSmoking),
3655 "rightArrow" => Ok(Self::RightArrow),
3656 "leftArrow" => Ok(Self::LeftArrow),
3657 "upArrow" => Ok(Self::UpArrow),
3658 "downArrow" => Ok(Self::DownArrow),
3659 "stripedRightArrow" => Ok(Self::StripedRightArrow),
3660 "notchedRightArrow" => Ok(Self::NotchedRightArrow),
3661 "bentUpArrow" => Ok(Self::BentUpArrow),
3662 "leftRightArrow" => Ok(Self::LeftRightArrow),
3663 "upDownArrow" => Ok(Self::UpDownArrow),
3664 "leftUpArrow" => Ok(Self::LeftUpArrow),
3665 "leftRightUpArrow" => Ok(Self::LeftRightUpArrow),
3666 "quadArrow" => Ok(Self::QuadArrow),
3667 "leftArrowCallout" => Ok(Self::LeftArrowCallout),
3668 "rightArrowCallout" => Ok(Self::RightArrowCallout),
3669 "upArrowCallout" => Ok(Self::UpArrowCallout),
3670 "downArrowCallout" => Ok(Self::DownArrowCallout),
3671 "leftRightArrowCallout" => Ok(Self::LeftRightArrowCallout),
3672 "upDownArrowCallout" => Ok(Self::UpDownArrowCallout),
3673 "quadArrowCallout" => Ok(Self::QuadArrowCallout),
3674 "bentArrow" => Ok(Self::BentArrow),
3675 "uturnArrow" => Ok(Self::UturnArrow),
3676 "circularArrow" => Ok(Self::CircularArrow),
3677 "leftCircularArrow" => Ok(Self::LeftCircularArrow),
3678 "leftRightCircularArrow" => Ok(Self::LeftRightCircularArrow),
3679 "curvedRightArrow" => Ok(Self::CurvedRightArrow),
3680 "curvedLeftArrow" => Ok(Self::CurvedLeftArrow),
3681 "curvedUpArrow" => Ok(Self::CurvedUpArrow),
3682 "curvedDownArrow" => Ok(Self::CurvedDownArrow),
3683 "swooshArrow" => Ok(Self::SwooshArrow),
3684 "cube" => Ok(Self::Cube),
3685 "can" => Ok(Self::Can),
3686 "lightningBolt" => Ok(Self::LightningBolt),
3687 "heart" => Ok(Self::Heart),
3688 "sun" => Ok(Self::Sun),
3689 "moon" => Ok(Self::Moon),
3690 "smileyFace" => Ok(Self::SmileyFace),
3691 "irregularSeal1" => Ok(Self::IrregularSeal1),
3692 "irregularSeal2" => Ok(Self::IrregularSeal2),
3693 "foldedCorner" => Ok(Self::FoldedCorner),
3694 "bevel" => Ok(Self::Bevel),
3695 "frame" => Ok(Self::Frame),
3696 "halfFrame" => Ok(Self::HalfFrame),
3697 "corner" => Ok(Self::Corner),
3698 "diagStripe" => Ok(Self::DiagStripe),
3699 "chord" => Ok(Self::Chord),
3700 "arc" => Ok(Self::Arc),
3701 "leftBracket" => Ok(Self::LeftBracket),
3702 "rightBracket" => Ok(Self::RightBracket),
3703 "leftBrace" => Ok(Self::LeftBrace),
3704 "rightBrace" => Ok(Self::RightBrace),
3705 "bracketPair" => Ok(Self::BracketPair),
3706 "bracePair" => Ok(Self::BracePair),
3707 "straightConnector1" => Ok(Self::StraightConnector1),
3708 "bentConnector2" => Ok(Self::BentConnector2),
3709 "bentConnector3" => Ok(Self::BentConnector3),
3710 "bentConnector4" => Ok(Self::BentConnector4),
3711 "bentConnector5" => Ok(Self::BentConnector5),
3712 "curvedConnector2" => Ok(Self::CurvedConnector2),
3713 "curvedConnector3" => Ok(Self::CurvedConnector3),
3714 "curvedConnector4" => Ok(Self::CurvedConnector4),
3715 "curvedConnector5" => Ok(Self::CurvedConnector5),
3716 "callout1" => Ok(Self::Callout1),
3717 "callout2" => Ok(Self::Callout2),
3718 "callout3" => Ok(Self::Callout3),
3719 "accentCallout1" => Ok(Self::AccentCallout1),
3720 "accentCallout2" => Ok(Self::AccentCallout2),
3721 "accentCallout3" => Ok(Self::AccentCallout3),
3722 "borderCallout1" => Ok(Self::BorderCallout1),
3723 "borderCallout2" => Ok(Self::BorderCallout2),
3724 "borderCallout3" => Ok(Self::BorderCallout3),
3725 "accentBorderCallout1" => Ok(Self::AccentBorderCallout1),
3726 "accentBorderCallout2" => Ok(Self::AccentBorderCallout2),
3727 "accentBorderCallout3" => Ok(Self::AccentBorderCallout3),
3728 "wedgeRectCallout" => Ok(Self::WedgeRectCallout),
3729 "wedgeRoundRectCallout" => Ok(Self::WedgeRoundRectCallout),
3730 "wedgeEllipseCallout" => Ok(Self::WedgeEllipseCallout),
3731 "cloudCallout" => Ok(Self::CloudCallout),
3732 "cloud" => Ok(Self::Cloud),
3733 "ribbon" => Ok(Self::Ribbon),
3734 "ribbon2" => Ok(Self::Ribbon2),
3735 "ellipseRibbon" => Ok(Self::EllipseRibbon),
3736 "ellipseRibbon2" => Ok(Self::EllipseRibbon2),
3737 "leftRightRibbon" => Ok(Self::LeftRightRibbon),
3738 "verticalScroll" => Ok(Self::VerticalScroll),
3739 "horizontalScroll" => Ok(Self::HorizontalScroll),
3740 "wave" => Ok(Self::Wave),
3741 "doubleWave" => Ok(Self::DoubleWave),
3742 "plus" => Ok(Self::Plus),
3743 "flowChartProcess" => Ok(Self::FlowChartProcess),
3744 "flowChartDecision" => Ok(Self::FlowChartDecision),
3745 "flowChartInputOutput" => Ok(Self::FlowChartInputOutput),
3746 "flowChartPredefinedProcess" => Ok(Self::FlowChartPredefinedProcess),
3747 "flowChartInternalStorage" => Ok(Self::FlowChartInternalStorage),
3748 "flowChartDocument" => Ok(Self::FlowChartDocument),
3749 "flowChartMultidocument" => Ok(Self::FlowChartMultidocument),
3750 "flowChartTerminator" => Ok(Self::FlowChartTerminator),
3751 "flowChartPreparation" => Ok(Self::FlowChartPreparation),
3752 "flowChartManualInput" => Ok(Self::FlowChartManualInput),
3753 "flowChartManualOperation" => Ok(Self::FlowChartManualOperation),
3754 "flowChartConnector" => Ok(Self::FlowChartConnector),
3755 "flowChartPunchedCard" => Ok(Self::FlowChartPunchedCard),
3756 "flowChartPunchedTape" => Ok(Self::FlowChartPunchedTape),
3757 "flowChartSummingJunction" => Ok(Self::FlowChartSummingJunction),
3758 "flowChartOr" => Ok(Self::FlowChartOr),
3759 "flowChartCollate" => Ok(Self::FlowChartCollate),
3760 "flowChartSort" => Ok(Self::FlowChartSort),
3761 "flowChartExtract" => Ok(Self::FlowChartExtract),
3762 "flowChartMerge" => Ok(Self::FlowChartMerge),
3763 "flowChartOfflineStorage" => Ok(Self::FlowChartOfflineStorage),
3764 "flowChartOnlineStorage" => Ok(Self::FlowChartOnlineStorage),
3765 "flowChartMagneticTape" => Ok(Self::FlowChartMagneticTape),
3766 "flowChartMagneticDisk" => Ok(Self::FlowChartMagneticDisk),
3767 "flowChartMagneticDrum" => Ok(Self::FlowChartMagneticDrum),
3768 "flowChartDisplay" => Ok(Self::FlowChartDisplay),
3769 "flowChartDelay" => Ok(Self::FlowChartDelay),
3770 "flowChartAlternateProcess" => Ok(Self::FlowChartAlternateProcess),
3771 "flowChartOffpageConnector" => Ok(Self::FlowChartOffpageConnector),
3772 "actionButtonBlank" => Ok(Self::ActionButtonBlank),
3773 "actionButtonHome" => Ok(Self::ActionButtonHome),
3774 "actionButtonHelp" => Ok(Self::ActionButtonHelp),
3775 "actionButtonInformation" => Ok(Self::ActionButtonInformation),
3776 "actionButtonForwardNext" => Ok(Self::ActionButtonForwardNext),
3777 "actionButtonBackPrevious" => Ok(Self::ActionButtonBackPrevious),
3778 "actionButtonEnd" => Ok(Self::ActionButtonEnd),
3779 "actionButtonBeginning" => Ok(Self::ActionButtonBeginning),
3780 "actionButtonReturn" => Ok(Self::ActionButtonReturn),
3781 "actionButtonDocument" => Ok(Self::ActionButtonDocument),
3782 "actionButtonSound" => Ok(Self::ActionButtonSound),
3783 "actionButtonMovie" => Ok(Self::ActionButtonMovie),
3784 "gear6" => Ok(Self::Gear6),
3785 "gear9" => Ok(Self::Gear9),
3786 "funnel" => Ok(Self::Funnel),
3787 "mathPlus" => Ok(Self::MathPlus),
3788 "mathMinus" => Ok(Self::MathMinus),
3789 "mathMultiply" => Ok(Self::MathMultiply),
3790 "mathDivide" => Ok(Self::MathDivide),
3791 "mathEqual" => Ok(Self::MathEqual),
3792 "mathNotEqual" => Ok(Self::MathNotEqual),
3793 "cornerTabs" => Ok(Self::CornerTabs),
3794 "squareTabs" => Ok(Self::SquareTabs),
3795 "plaqueTabs" => Ok(Self::PlaqueTabs),
3796 "chartX" => Ok(Self::ChartX),
3797 "chartStar" => Ok(Self::ChartStar),
3798 "chartPlus" => Ok(Self::ChartPlus),
3799 _ => Err(format!("unknown STShapeType value: {}", s)),
3800 }
3801 }
3802}
3803
3804#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3805pub enum STTextShapeType {
3806 #[serde(rename = "textNoShape")]
3807 TextNoShape,
3808 #[serde(rename = "textPlain")]
3809 TextPlain,
3810 #[serde(rename = "textStop")]
3811 TextStop,
3812 #[serde(rename = "textTriangle")]
3813 TextTriangle,
3814 #[serde(rename = "textTriangleInverted")]
3815 TextTriangleInverted,
3816 #[serde(rename = "textChevron")]
3817 TextChevron,
3818 #[serde(rename = "textChevronInverted")]
3819 TextChevronInverted,
3820 #[serde(rename = "textRingInside")]
3821 TextRingInside,
3822 #[serde(rename = "textRingOutside")]
3823 TextRingOutside,
3824 #[serde(rename = "textArchUp")]
3825 TextArchUp,
3826 #[serde(rename = "textArchDown")]
3827 TextArchDown,
3828 #[serde(rename = "textCircle")]
3829 TextCircle,
3830 #[serde(rename = "textButton")]
3831 TextButton,
3832 #[serde(rename = "textArchUpPour")]
3833 TextArchUpPour,
3834 #[serde(rename = "textArchDownPour")]
3835 TextArchDownPour,
3836 #[serde(rename = "textCirclePour")]
3837 TextCirclePour,
3838 #[serde(rename = "textButtonPour")]
3839 TextButtonPour,
3840 #[serde(rename = "textCurveUp")]
3841 TextCurveUp,
3842 #[serde(rename = "textCurveDown")]
3843 TextCurveDown,
3844 #[serde(rename = "textCanUp")]
3845 TextCanUp,
3846 #[serde(rename = "textCanDown")]
3847 TextCanDown,
3848 #[serde(rename = "textWave1")]
3849 TextWave1,
3850 #[serde(rename = "textWave2")]
3851 TextWave2,
3852 #[serde(rename = "textDoubleWave1")]
3853 TextDoubleWave1,
3854 #[serde(rename = "textWave4")]
3855 TextWave4,
3856 #[serde(rename = "textInflate")]
3857 TextInflate,
3858 #[serde(rename = "textDeflate")]
3859 TextDeflate,
3860 #[serde(rename = "textInflateBottom")]
3861 TextInflateBottom,
3862 #[serde(rename = "textDeflateBottom")]
3863 TextDeflateBottom,
3864 #[serde(rename = "textInflateTop")]
3865 TextInflateTop,
3866 #[serde(rename = "textDeflateTop")]
3867 TextDeflateTop,
3868 #[serde(rename = "textDeflateInflate")]
3869 TextDeflateInflate,
3870 #[serde(rename = "textDeflateInflateDeflate")]
3871 TextDeflateInflateDeflate,
3872 #[serde(rename = "textFadeRight")]
3873 TextFadeRight,
3874 #[serde(rename = "textFadeLeft")]
3875 TextFadeLeft,
3876 #[serde(rename = "textFadeUp")]
3877 TextFadeUp,
3878 #[serde(rename = "textFadeDown")]
3879 TextFadeDown,
3880 #[serde(rename = "textSlantUp")]
3881 TextSlantUp,
3882 #[serde(rename = "textSlantDown")]
3883 TextSlantDown,
3884 #[serde(rename = "textCascadeUp")]
3885 TextCascadeUp,
3886 #[serde(rename = "textCascadeDown")]
3887 TextCascadeDown,
3888}
3889
3890impl std::fmt::Display for STTextShapeType {
3891 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3892 match self {
3893 Self::TextNoShape => write!(f, "textNoShape"),
3894 Self::TextPlain => write!(f, "textPlain"),
3895 Self::TextStop => write!(f, "textStop"),
3896 Self::TextTriangle => write!(f, "textTriangle"),
3897 Self::TextTriangleInverted => write!(f, "textTriangleInverted"),
3898 Self::TextChevron => write!(f, "textChevron"),
3899 Self::TextChevronInverted => write!(f, "textChevronInverted"),
3900 Self::TextRingInside => write!(f, "textRingInside"),
3901 Self::TextRingOutside => write!(f, "textRingOutside"),
3902 Self::TextArchUp => write!(f, "textArchUp"),
3903 Self::TextArchDown => write!(f, "textArchDown"),
3904 Self::TextCircle => write!(f, "textCircle"),
3905 Self::TextButton => write!(f, "textButton"),
3906 Self::TextArchUpPour => write!(f, "textArchUpPour"),
3907 Self::TextArchDownPour => write!(f, "textArchDownPour"),
3908 Self::TextCirclePour => write!(f, "textCirclePour"),
3909 Self::TextButtonPour => write!(f, "textButtonPour"),
3910 Self::TextCurveUp => write!(f, "textCurveUp"),
3911 Self::TextCurveDown => write!(f, "textCurveDown"),
3912 Self::TextCanUp => write!(f, "textCanUp"),
3913 Self::TextCanDown => write!(f, "textCanDown"),
3914 Self::TextWave1 => write!(f, "textWave1"),
3915 Self::TextWave2 => write!(f, "textWave2"),
3916 Self::TextDoubleWave1 => write!(f, "textDoubleWave1"),
3917 Self::TextWave4 => write!(f, "textWave4"),
3918 Self::TextInflate => write!(f, "textInflate"),
3919 Self::TextDeflate => write!(f, "textDeflate"),
3920 Self::TextInflateBottom => write!(f, "textInflateBottom"),
3921 Self::TextDeflateBottom => write!(f, "textDeflateBottom"),
3922 Self::TextInflateTop => write!(f, "textInflateTop"),
3923 Self::TextDeflateTop => write!(f, "textDeflateTop"),
3924 Self::TextDeflateInflate => write!(f, "textDeflateInflate"),
3925 Self::TextDeflateInflateDeflate => write!(f, "textDeflateInflateDeflate"),
3926 Self::TextFadeRight => write!(f, "textFadeRight"),
3927 Self::TextFadeLeft => write!(f, "textFadeLeft"),
3928 Self::TextFadeUp => write!(f, "textFadeUp"),
3929 Self::TextFadeDown => write!(f, "textFadeDown"),
3930 Self::TextSlantUp => write!(f, "textSlantUp"),
3931 Self::TextSlantDown => write!(f, "textSlantDown"),
3932 Self::TextCascadeUp => write!(f, "textCascadeUp"),
3933 Self::TextCascadeDown => write!(f, "textCascadeDown"),
3934 }
3935 }
3936}
3937
3938impl std::str::FromStr for STTextShapeType {
3939 type Err = String;
3940
3941 fn from_str(s: &str) -> Result<Self, Self::Err> {
3942 match s {
3943 "textNoShape" => Ok(Self::TextNoShape),
3944 "textPlain" => Ok(Self::TextPlain),
3945 "textStop" => Ok(Self::TextStop),
3946 "textTriangle" => Ok(Self::TextTriangle),
3947 "textTriangleInverted" => Ok(Self::TextTriangleInverted),
3948 "textChevron" => Ok(Self::TextChevron),
3949 "textChevronInverted" => Ok(Self::TextChevronInverted),
3950 "textRingInside" => Ok(Self::TextRingInside),
3951 "textRingOutside" => Ok(Self::TextRingOutside),
3952 "textArchUp" => Ok(Self::TextArchUp),
3953 "textArchDown" => Ok(Self::TextArchDown),
3954 "textCircle" => Ok(Self::TextCircle),
3955 "textButton" => Ok(Self::TextButton),
3956 "textArchUpPour" => Ok(Self::TextArchUpPour),
3957 "textArchDownPour" => Ok(Self::TextArchDownPour),
3958 "textCirclePour" => Ok(Self::TextCirclePour),
3959 "textButtonPour" => Ok(Self::TextButtonPour),
3960 "textCurveUp" => Ok(Self::TextCurveUp),
3961 "textCurveDown" => Ok(Self::TextCurveDown),
3962 "textCanUp" => Ok(Self::TextCanUp),
3963 "textCanDown" => Ok(Self::TextCanDown),
3964 "textWave1" => Ok(Self::TextWave1),
3965 "textWave2" => Ok(Self::TextWave2),
3966 "textDoubleWave1" => Ok(Self::TextDoubleWave1),
3967 "textWave4" => Ok(Self::TextWave4),
3968 "textInflate" => Ok(Self::TextInflate),
3969 "textDeflate" => Ok(Self::TextDeflate),
3970 "textInflateBottom" => Ok(Self::TextInflateBottom),
3971 "textDeflateBottom" => Ok(Self::TextDeflateBottom),
3972 "textInflateTop" => Ok(Self::TextInflateTop),
3973 "textDeflateTop" => Ok(Self::TextDeflateTop),
3974 "textDeflateInflate" => Ok(Self::TextDeflateInflate),
3975 "textDeflateInflateDeflate" => Ok(Self::TextDeflateInflateDeflate),
3976 "textFadeRight" => Ok(Self::TextFadeRight),
3977 "textFadeLeft" => Ok(Self::TextFadeLeft),
3978 "textFadeUp" => Ok(Self::TextFadeUp),
3979 "textFadeDown" => Ok(Self::TextFadeDown),
3980 "textSlantUp" => Ok(Self::TextSlantUp),
3981 "textSlantDown" => Ok(Self::TextSlantDown),
3982 "textCascadeUp" => Ok(Self::TextCascadeUp),
3983 "textCascadeDown" => Ok(Self::TextCascadeDown),
3984 _ => Err(format!("unknown STTextShapeType value: {}", s)),
3985 }
3986 }
3987}
3988
3989pub type STGeomGuideName = String;
3990
3991pub type STGeomGuideFormula = String;
3992
3993pub type STAdjCoordinate = String;
3994
3995pub type STAdjAngle = String;
3996
3997#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
3998pub enum STPathFillMode {
3999 #[serde(rename = "none")]
4000 None,
4001 #[serde(rename = "norm")]
4002 Norm,
4003 #[serde(rename = "lighten")]
4004 Lighten,
4005 #[serde(rename = "lightenLess")]
4006 LightenLess,
4007 #[serde(rename = "darken")]
4008 Darken,
4009 #[serde(rename = "darkenLess")]
4010 DarkenLess,
4011}
4012
4013impl std::fmt::Display for STPathFillMode {
4014 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4015 match self {
4016 Self::None => write!(f, "none"),
4017 Self::Norm => write!(f, "norm"),
4018 Self::Lighten => write!(f, "lighten"),
4019 Self::LightenLess => write!(f, "lightenLess"),
4020 Self::Darken => write!(f, "darken"),
4021 Self::DarkenLess => write!(f, "darkenLess"),
4022 }
4023 }
4024}
4025
4026impl std::str::FromStr for STPathFillMode {
4027 type Err = String;
4028
4029 fn from_str(s: &str) -> Result<Self, Self::Err> {
4030 match s {
4031 "none" => Ok(Self::None),
4032 "norm" => Ok(Self::Norm),
4033 "lighten" => Ok(Self::Lighten),
4034 "lightenLess" => Ok(Self::LightenLess),
4035 "darken" => Ok(Self::Darken),
4036 "darkenLess" => Ok(Self::DarkenLess),
4037 _ => Err(format!("unknown STPathFillMode value: {}", s)),
4038 }
4039 }
4040}
4041
4042#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4043pub enum STLineEndType {
4044 #[serde(rename = "none")]
4045 None,
4046 #[serde(rename = "triangle")]
4047 Triangle,
4048 #[serde(rename = "stealth")]
4049 Stealth,
4050 #[serde(rename = "diamond")]
4051 Diamond,
4052 #[serde(rename = "oval")]
4053 Oval,
4054 #[serde(rename = "arrow")]
4055 Arrow,
4056}
4057
4058impl std::fmt::Display for STLineEndType {
4059 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4060 match self {
4061 Self::None => write!(f, "none"),
4062 Self::Triangle => write!(f, "triangle"),
4063 Self::Stealth => write!(f, "stealth"),
4064 Self::Diamond => write!(f, "diamond"),
4065 Self::Oval => write!(f, "oval"),
4066 Self::Arrow => write!(f, "arrow"),
4067 }
4068 }
4069}
4070
4071impl std::str::FromStr for STLineEndType {
4072 type Err = String;
4073
4074 fn from_str(s: &str) -> Result<Self, Self::Err> {
4075 match s {
4076 "none" => Ok(Self::None),
4077 "triangle" => Ok(Self::Triangle),
4078 "stealth" => Ok(Self::Stealth),
4079 "diamond" => Ok(Self::Diamond),
4080 "oval" => Ok(Self::Oval),
4081 "arrow" => Ok(Self::Arrow),
4082 _ => Err(format!("unknown STLineEndType value: {}", s)),
4083 }
4084 }
4085}
4086
4087#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4088pub enum STLineEndWidth {
4089 #[serde(rename = "sm")]
4090 Sm,
4091 #[serde(rename = "med")]
4092 Med,
4093 #[serde(rename = "lg")]
4094 Lg,
4095}
4096
4097impl std::fmt::Display for STLineEndWidth {
4098 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4099 match self {
4100 Self::Sm => write!(f, "sm"),
4101 Self::Med => write!(f, "med"),
4102 Self::Lg => write!(f, "lg"),
4103 }
4104 }
4105}
4106
4107impl std::str::FromStr for STLineEndWidth {
4108 type Err = String;
4109
4110 fn from_str(s: &str) -> Result<Self, Self::Err> {
4111 match s {
4112 "sm" => Ok(Self::Sm),
4113 "med" => Ok(Self::Med),
4114 "lg" => Ok(Self::Lg),
4115 _ => Err(format!("unknown STLineEndWidth value: {}", s)),
4116 }
4117 }
4118}
4119
4120#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4121pub enum STLineEndLength {
4122 #[serde(rename = "sm")]
4123 Sm,
4124 #[serde(rename = "med")]
4125 Med,
4126 #[serde(rename = "lg")]
4127 Lg,
4128}
4129
4130impl std::fmt::Display for STLineEndLength {
4131 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4132 match self {
4133 Self::Sm => write!(f, "sm"),
4134 Self::Med => write!(f, "med"),
4135 Self::Lg => write!(f, "lg"),
4136 }
4137 }
4138}
4139
4140impl std::str::FromStr for STLineEndLength {
4141 type Err = String;
4142
4143 fn from_str(s: &str) -> Result<Self, Self::Err> {
4144 match s {
4145 "sm" => Ok(Self::Sm),
4146 "med" => Ok(Self::Med),
4147 "lg" => Ok(Self::Lg),
4148 _ => Err(format!("unknown STLineEndLength value: {}", s)),
4149 }
4150 }
4151}
4152
4153#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4154pub enum STPresetLineDashVal {
4155 #[serde(rename = "solid")]
4156 Solid,
4157 #[serde(rename = "dot")]
4158 Dot,
4159 #[serde(rename = "dash")]
4160 Dash,
4161 #[serde(rename = "lgDash")]
4162 LgDash,
4163 #[serde(rename = "dashDot")]
4164 DashDot,
4165 #[serde(rename = "lgDashDot")]
4166 LgDashDot,
4167 #[serde(rename = "lgDashDotDot")]
4168 LgDashDotDot,
4169 #[serde(rename = "sysDash")]
4170 SysDash,
4171 #[serde(rename = "sysDot")]
4172 SysDot,
4173 #[serde(rename = "sysDashDot")]
4174 SysDashDot,
4175 #[serde(rename = "sysDashDotDot")]
4176 SysDashDotDot,
4177}
4178
4179impl std::fmt::Display for STPresetLineDashVal {
4180 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4181 match self {
4182 Self::Solid => write!(f, "solid"),
4183 Self::Dot => write!(f, "dot"),
4184 Self::Dash => write!(f, "dash"),
4185 Self::LgDash => write!(f, "lgDash"),
4186 Self::DashDot => write!(f, "dashDot"),
4187 Self::LgDashDot => write!(f, "lgDashDot"),
4188 Self::LgDashDotDot => write!(f, "lgDashDotDot"),
4189 Self::SysDash => write!(f, "sysDash"),
4190 Self::SysDot => write!(f, "sysDot"),
4191 Self::SysDashDot => write!(f, "sysDashDot"),
4192 Self::SysDashDotDot => write!(f, "sysDashDotDot"),
4193 }
4194 }
4195}
4196
4197impl std::str::FromStr for STPresetLineDashVal {
4198 type Err = String;
4199
4200 fn from_str(s: &str) -> Result<Self, Self::Err> {
4201 match s {
4202 "solid" => Ok(Self::Solid),
4203 "dot" => Ok(Self::Dot),
4204 "dash" => Ok(Self::Dash),
4205 "lgDash" => Ok(Self::LgDash),
4206 "dashDot" => Ok(Self::DashDot),
4207 "lgDashDot" => Ok(Self::LgDashDot),
4208 "lgDashDotDot" => Ok(Self::LgDashDotDot),
4209 "sysDash" => Ok(Self::SysDash),
4210 "sysDot" => Ok(Self::SysDot),
4211 "sysDashDot" => Ok(Self::SysDashDot),
4212 "sysDashDotDot" => Ok(Self::SysDashDotDot),
4213 _ => Err(format!("unknown STPresetLineDashVal value: {}", s)),
4214 }
4215 }
4216}
4217
4218#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4219pub enum STLineCap {
4220 #[serde(rename = "rnd")]
4221 Rnd,
4222 #[serde(rename = "sq")]
4223 Sq,
4224 #[serde(rename = "flat")]
4225 Flat,
4226}
4227
4228impl std::fmt::Display for STLineCap {
4229 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4230 match self {
4231 Self::Rnd => write!(f, "rnd"),
4232 Self::Sq => write!(f, "sq"),
4233 Self::Flat => write!(f, "flat"),
4234 }
4235 }
4236}
4237
4238impl std::str::FromStr for STLineCap {
4239 type Err = String;
4240
4241 fn from_str(s: &str) -> Result<Self, Self::Err> {
4242 match s {
4243 "rnd" => Ok(Self::Rnd),
4244 "sq" => Ok(Self::Sq),
4245 "flat" => Ok(Self::Flat),
4246 _ => Err(format!("unknown STLineCap value: {}", s)),
4247 }
4248 }
4249}
4250
4251pub type STLineWidth = i32;
4252
4253#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4254pub enum STPenAlignment {
4255 #[serde(rename = "ctr")]
4256 Ctr,
4257 #[serde(rename = "in")]
4258 In,
4259}
4260
4261impl std::fmt::Display for STPenAlignment {
4262 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4263 match self {
4264 Self::Ctr => write!(f, "ctr"),
4265 Self::In => write!(f, "in"),
4266 }
4267 }
4268}
4269
4270impl std::str::FromStr for STPenAlignment {
4271 type Err = String;
4272
4273 fn from_str(s: &str) -> Result<Self, Self::Err> {
4274 match s {
4275 "ctr" => Ok(Self::Ctr),
4276 "in" => Ok(Self::In),
4277 _ => Err(format!("unknown STPenAlignment value: {}", s)),
4278 }
4279 }
4280}
4281
4282#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4283pub enum STCompoundLine {
4284 #[serde(rename = "sng")]
4285 Sng,
4286 #[serde(rename = "dbl")]
4287 Dbl,
4288 #[serde(rename = "thickThin")]
4289 ThickThin,
4290 #[serde(rename = "thinThick")]
4291 ThinThick,
4292 #[serde(rename = "tri")]
4293 Tri,
4294}
4295
4296impl std::fmt::Display for STCompoundLine {
4297 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4298 match self {
4299 Self::Sng => write!(f, "sng"),
4300 Self::Dbl => write!(f, "dbl"),
4301 Self::ThickThin => write!(f, "thickThin"),
4302 Self::ThinThick => write!(f, "thinThick"),
4303 Self::Tri => write!(f, "tri"),
4304 }
4305 }
4306}
4307
4308impl std::str::FromStr for STCompoundLine {
4309 type Err = String;
4310
4311 fn from_str(s: &str) -> Result<Self, Self::Err> {
4312 match s {
4313 "sng" => Ok(Self::Sng),
4314 "dbl" => Ok(Self::Dbl),
4315 "thickThin" => Ok(Self::ThickThin),
4316 "thinThick" => Ok(Self::ThinThick),
4317 "tri" => Ok(Self::Tri),
4318 _ => Err(format!("unknown STCompoundLine value: {}", s)),
4319 }
4320 }
4321}
4322
4323pub type STShapeID = String;
4324
4325#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4326pub enum STOnOffStyleType {
4327 #[serde(rename = "on")]
4328 On,
4329 #[serde(rename = "off")]
4330 Off,
4331 #[serde(rename = "def")]
4332 Def,
4333}
4334
4335impl std::fmt::Display for STOnOffStyleType {
4336 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4337 match self {
4338 Self::On => write!(f, "on"),
4339 Self::Off => write!(f, "off"),
4340 Self::Def => write!(f, "def"),
4341 }
4342 }
4343}
4344
4345impl std::str::FromStr for STOnOffStyleType {
4346 type Err = String;
4347
4348 fn from_str(s: &str) -> Result<Self, Self::Err> {
4349 match s {
4350 "on" => Ok(Self::On),
4351 "off" => Ok(Self::Off),
4352 "def" => Ok(Self::Def),
4353 _ => Err(format!("unknown STOnOffStyleType value: {}", s)),
4354 }
4355 }
4356}
4357
4358#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4359pub enum STTextAnchoringType {
4360 #[serde(rename = "t")]
4361 T,
4362 #[serde(rename = "ctr")]
4363 Ctr,
4364 #[serde(rename = "b")]
4365 B,
4366 #[serde(rename = "just")]
4367 Just,
4368 #[serde(rename = "dist")]
4369 Dist,
4370}
4371
4372impl std::fmt::Display for STTextAnchoringType {
4373 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4374 match self {
4375 Self::T => write!(f, "t"),
4376 Self::Ctr => write!(f, "ctr"),
4377 Self::B => write!(f, "b"),
4378 Self::Just => write!(f, "just"),
4379 Self::Dist => write!(f, "dist"),
4380 }
4381 }
4382}
4383
4384impl std::str::FromStr for STTextAnchoringType {
4385 type Err = String;
4386
4387 fn from_str(s: &str) -> Result<Self, Self::Err> {
4388 match s {
4389 "t" => Ok(Self::T),
4390 "ctr" => Ok(Self::Ctr),
4391 "b" => Ok(Self::B),
4392 "just" => Ok(Self::Just),
4393 "dist" => Ok(Self::Dist),
4394 _ => Err(format!("unknown STTextAnchoringType value: {}", s)),
4395 }
4396 }
4397}
4398
4399#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4400pub enum STTextVertOverflowType {
4401 #[serde(rename = "overflow")]
4402 Overflow,
4403 #[serde(rename = "ellipsis")]
4404 Ellipsis,
4405 #[serde(rename = "clip")]
4406 Clip,
4407}
4408
4409impl std::fmt::Display for STTextVertOverflowType {
4410 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4411 match self {
4412 Self::Overflow => write!(f, "overflow"),
4413 Self::Ellipsis => write!(f, "ellipsis"),
4414 Self::Clip => write!(f, "clip"),
4415 }
4416 }
4417}
4418
4419impl std::str::FromStr for STTextVertOverflowType {
4420 type Err = String;
4421
4422 fn from_str(s: &str) -> Result<Self, Self::Err> {
4423 match s {
4424 "overflow" => Ok(Self::Overflow),
4425 "ellipsis" => Ok(Self::Ellipsis),
4426 "clip" => Ok(Self::Clip),
4427 _ => Err(format!("unknown STTextVertOverflowType value: {}", s)),
4428 }
4429 }
4430}
4431
4432#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4433pub enum STTextHorzOverflowType {
4434 #[serde(rename = "overflow")]
4435 Overflow,
4436 #[serde(rename = "clip")]
4437 Clip,
4438}
4439
4440impl std::fmt::Display for STTextHorzOverflowType {
4441 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4442 match self {
4443 Self::Overflow => write!(f, "overflow"),
4444 Self::Clip => write!(f, "clip"),
4445 }
4446 }
4447}
4448
4449impl std::str::FromStr for STTextHorzOverflowType {
4450 type Err = String;
4451
4452 fn from_str(s: &str) -> Result<Self, Self::Err> {
4453 match s {
4454 "overflow" => Ok(Self::Overflow),
4455 "clip" => Ok(Self::Clip),
4456 _ => Err(format!("unknown STTextHorzOverflowType value: {}", s)),
4457 }
4458 }
4459}
4460
4461#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4462pub enum STTextVerticalType {
4463 #[serde(rename = "horz")]
4464 Horz,
4465 #[serde(rename = "vert")]
4466 Vert,
4467 #[serde(rename = "vert270")]
4468 Vert270,
4469 #[serde(rename = "wordArtVert")]
4470 WordArtVert,
4471 #[serde(rename = "eaVert")]
4472 EaVert,
4473 #[serde(rename = "mongolianVert")]
4474 MongolianVert,
4475 #[serde(rename = "wordArtVertRtl")]
4476 WordArtVertRtl,
4477}
4478
4479impl std::fmt::Display for STTextVerticalType {
4480 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4481 match self {
4482 Self::Horz => write!(f, "horz"),
4483 Self::Vert => write!(f, "vert"),
4484 Self::Vert270 => write!(f, "vert270"),
4485 Self::WordArtVert => write!(f, "wordArtVert"),
4486 Self::EaVert => write!(f, "eaVert"),
4487 Self::MongolianVert => write!(f, "mongolianVert"),
4488 Self::WordArtVertRtl => write!(f, "wordArtVertRtl"),
4489 }
4490 }
4491}
4492
4493impl std::str::FromStr for STTextVerticalType {
4494 type Err = String;
4495
4496 fn from_str(s: &str) -> Result<Self, Self::Err> {
4497 match s {
4498 "horz" => Ok(Self::Horz),
4499 "vert" => Ok(Self::Vert),
4500 "vert270" => Ok(Self::Vert270),
4501 "wordArtVert" => Ok(Self::WordArtVert),
4502 "eaVert" => Ok(Self::EaVert),
4503 "mongolianVert" => Ok(Self::MongolianVert),
4504 "wordArtVertRtl" => Ok(Self::WordArtVertRtl),
4505 _ => Err(format!("unknown STTextVerticalType value: {}", s)),
4506 }
4507 }
4508}
4509
4510#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4511pub enum STTextWrappingType {
4512 #[serde(rename = "none")]
4513 None,
4514 #[serde(rename = "square")]
4515 Square,
4516}
4517
4518impl std::fmt::Display for STTextWrappingType {
4519 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4520 match self {
4521 Self::None => write!(f, "none"),
4522 Self::Square => write!(f, "square"),
4523 }
4524 }
4525}
4526
4527impl std::str::FromStr for STTextWrappingType {
4528 type Err = String;
4529
4530 fn from_str(s: &str) -> Result<Self, Self::Err> {
4531 match s {
4532 "none" => Ok(Self::None),
4533 "square" => Ok(Self::Square),
4534 _ => Err(format!("unknown STTextWrappingType value: {}", s)),
4535 }
4536 }
4537}
4538
4539pub type STTextColumnCount = i32;
4540
4541pub type STTextFontScalePercentOrPercentString = String;
4542
4543pub type STTextFontScalePercent = i32;
4544
4545pub type STTextBulletStartAtNum = i32;
4546
4547#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4548pub enum STTextAutonumberScheme {
4549 #[serde(rename = "alphaLcParenBoth")]
4550 AlphaLcParenBoth,
4551 #[serde(rename = "alphaUcParenBoth")]
4552 AlphaUcParenBoth,
4553 #[serde(rename = "alphaLcParenR")]
4554 AlphaLcParenR,
4555 #[serde(rename = "alphaUcParenR")]
4556 AlphaUcParenR,
4557 #[serde(rename = "alphaLcPeriod")]
4558 AlphaLcPeriod,
4559 #[serde(rename = "alphaUcPeriod")]
4560 AlphaUcPeriod,
4561 #[serde(rename = "arabicParenBoth")]
4562 ArabicParenBoth,
4563 #[serde(rename = "arabicParenR")]
4564 ArabicParenR,
4565 #[serde(rename = "arabicPeriod")]
4566 ArabicPeriod,
4567 #[serde(rename = "arabicPlain")]
4568 ArabicPlain,
4569 #[serde(rename = "romanLcParenBoth")]
4570 RomanLcParenBoth,
4571 #[serde(rename = "romanUcParenBoth")]
4572 RomanUcParenBoth,
4573 #[serde(rename = "romanLcParenR")]
4574 RomanLcParenR,
4575 #[serde(rename = "romanUcParenR")]
4576 RomanUcParenR,
4577 #[serde(rename = "romanLcPeriod")]
4578 RomanLcPeriod,
4579 #[serde(rename = "romanUcPeriod")]
4580 RomanUcPeriod,
4581 #[serde(rename = "circleNumDbPlain")]
4582 CircleNumDbPlain,
4583 #[serde(rename = "circleNumWdBlackPlain")]
4584 CircleNumWdBlackPlain,
4585 #[serde(rename = "circleNumWdWhitePlain")]
4586 CircleNumWdWhitePlain,
4587 #[serde(rename = "arabicDbPeriod")]
4588 ArabicDbPeriod,
4589 #[serde(rename = "arabicDbPlain")]
4590 ArabicDbPlain,
4591 #[serde(rename = "ea1ChsPeriod")]
4592 Ea1ChsPeriod,
4593 #[serde(rename = "ea1ChsPlain")]
4594 Ea1ChsPlain,
4595 #[serde(rename = "ea1ChtPeriod")]
4596 Ea1ChtPeriod,
4597 #[serde(rename = "ea1ChtPlain")]
4598 Ea1ChtPlain,
4599 #[serde(rename = "ea1JpnChsDbPeriod")]
4600 Ea1JpnChsDbPeriod,
4601 #[serde(rename = "ea1JpnKorPlain")]
4602 Ea1JpnKorPlain,
4603 #[serde(rename = "ea1JpnKorPeriod")]
4604 Ea1JpnKorPeriod,
4605 #[serde(rename = "arabic1Minus")]
4606 Arabic1Minus,
4607 #[serde(rename = "arabic2Minus")]
4608 Arabic2Minus,
4609 #[serde(rename = "hebrew2Minus")]
4610 Hebrew2Minus,
4611 #[serde(rename = "thaiAlphaPeriod")]
4612 ThaiAlphaPeriod,
4613 #[serde(rename = "thaiAlphaParenR")]
4614 ThaiAlphaParenR,
4615 #[serde(rename = "thaiAlphaParenBoth")]
4616 ThaiAlphaParenBoth,
4617 #[serde(rename = "thaiNumPeriod")]
4618 ThaiNumPeriod,
4619 #[serde(rename = "thaiNumParenR")]
4620 ThaiNumParenR,
4621 #[serde(rename = "thaiNumParenBoth")]
4622 ThaiNumParenBoth,
4623 #[serde(rename = "hindiAlphaPeriod")]
4624 HindiAlphaPeriod,
4625 #[serde(rename = "hindiNumPeriod")]
4626 HindiNumPeriod,
4627 #[serde(rename = "hindiNumParenR")]
4628 HindiNumParenR,
4629 #[serde(rename = "hindiAlpha1Period")]
4630 HindiAlpha1Period,
4631}
4632
4633impl std::fmt::Display for STTextAutonumberScheme {
4634 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4635 match self {
4636 Self::AlphaLcParenBoth => write!(f, "alphaLcParenBoth"),
4637 Self::AlphaUcParenBoth => write!(f, "alphaUcParenBoth"),
4638 Self::AlphaLcParenR => write!(f, "alphaLcParenR"),
4639 Self::AlphaUcParenR => write!(f, "alphaUcParenR"),
4640 Self::AlphaLcPeriod => write!(f, "alphaLcPeriod"),
4641 Self::AlphaUcPeriod => write!(f, "alphaUcPeriod"),
4642 Self::ArabicParenBoth => write!(f, "arabicParenBoth"),
4643 Self::ArabicParenR => write!(f, "arabicParenR"),
4644 Self::ArabicPeriod => write!(f, "arabicPeriod"),
4645 Self::ArabicPlain => write!(f, "arabicPlain"),
4646 Self::RomanLcParenBoth => write!(f, "romanLcParenBoth"),
4647 Self::RomanUcParenBoth => write!(f, "romanUcParenBoth"),
4648 Self::RomanLcParenR => write!(f, "romanLcParenR"),
4649 Self::RomanUcParenR => write!(f, "romanUcParenR"),
4650 Self::RomanLcPeriod => write!(f, "romanLcPeriod"),
4651 Self::RomanUcPeriod => write!(f, "romanUcPeriod"),
4652 Self::CircleNumDbPlain => write!(f, "circleNumDbPlain"),
4653 Self::CircleNumWdBlackPlain => write!(f, "circleNumWdBlackPlain"),
4654 Self::CircleNumWdWhitePlain => write!(f, "circleNumWdWhitePlain"),
4655 Self::ArabicDbPeriod => write!(f, "arabicDbPeriod"),
4656 Self::ArabicDbPlain => write!(f, "arabicDbPlain"),
4657 Self::Ea1ChsPeriod => write!(f, "ea1ChsPeriod"),
4658 Self::Ea1ChsPlain => write!(f, "ea1ChsPlain"),
4659 Self::Ea1ChtPeriod => write!(f, "ea1ChtPeriod"),
4660 Self::Ea1ChtPlain => write!(f, "ea1ChtPlain"),
4661 Self::Ea1JpnChsDbPeriod => write!(f, "ea1JpnChsDbPeriod"),
4662 Self::Ea1JpnKorPlain => write!(f, "ea1JpnKorPlain"),
4663 Self::Ea1JpnKorPeriod => write!(f, "ea1JpnKorPeriod"),
4664 Self::Arabic1Minus => write!(f, "arabic1Minus"),
4665 Self::Arabic2Minus => write!(f, "arabic2Minus"),
4666 Self::Hebrew2Minus => write!(f, "hebrew2Minus"),
4667 Self::ThaiAlphaPeriod => write!(f, "thaiAlphaPeriod"),
4668 Self::ThaiAlphaParenR => write!(f, "thaiAlphaParenR"),
4669 Self::ThaiAlphaParenBoth => write!(f, "thaiAlphaParenBoth"),
4670 Self::ThaiNumPeriod => write!(f, "thaiNumPeriod"),
4671 Self::ThaiNumParenR => write!(f, "thaiNumParenR"),
4672 Self::ThaiNumParenBoth => write!(f, "thaiNumParenBoth"),
4673 Self::HindiAlphaPeriod => write!(f, "hindiAlphaPeriod"),
4674 Self::HindiNumPeriod => write!(f, "hindiNumPeriod"),
4675 Self::HindiNumParenR => write!(f, "hindiNumParenR"),
4676 Self::HindiAlpha1Period => write!(f, "hindiAlpha1Period"),
4677 }
4678 }
4679}
4680
4681impl std::str::FromStr for STTextAutonumberScheme {
4682 type Err = String;
4683
4684 fn from_str(s: &str) -> Result<Self, Self::Err> {
4685 match s {
4686 "alphaLcParenBoth" => Ok(Self::AlphaLcParenBoth),
4687 "alphaUcParenBoth" => Ok(Self::AlphaUcParenBoth),
4688 "alphaLcParenR" => Ok(Self::AlphaLcParenR),
4689 "alphaUcParenR" => Ok(Self::AlphaUcParenR),
4690 "alphaLcPeriod" => Ok(Self::AlphaLcPeriod),
4691 "alphaUcPeriod" => Ok(Self::AlphaUcPeriod),
4692 "arabicParenBoth" => Ok(Self::ArabicParenBoth),
4693 "arabicParenR" => Ok(Self::ArabicParenR),
4694 "arabicPeriod" => Ok(Self::ArabicPeriod),
4695 "arabicPlain" => Ok(Self::ArabicPlain),
4696 "romanLcParenBoth" => Ok(Self::RomanLcParenBoth),
4697 "romanUcParenBoth" => Ok(Self::RomanUcParenBoth),
4698 "romanLcParenR" => Ok(Self::RomanLcParenR),
4699 "romanUcParenR" => Ok(Self::RomanUcParenR),
4700 "romanLcPeriod" => Ok(Self::RomanLcPeriod),
4701 "romanUcPeriod" => Ok(Self::RomanUcPeriod),
4702 "circleNumDbPlain" => Ok(Self::CircleNumDbPlain),
4703 "circleNumWdBlackPlain" => Ok(Self::CircleNumWdBlackPlain),
4704 "circleNumWdWhitePlain" => Ok(Self::CircleNumWdWhitePlain),
4705 "arabicDbPeriod" => Ok(Self::ArabicDbPeriod),
4706 "arabicDbPlain" => Ok(Self::ArabicDbPlain),
4707 "ea1ChsPeriod" => Ok(Self::Ea1ChsPeriod),
4708 "ea1ChsPlain" => Ok(Self::Ea1ChsPlain),
4709 "ea1ChtPeriod" => Ok(Self::Ea1ChtPeriod),
4710 "ea1ChtPlain" => Ok(Self::Ea1ChtPlain),
4711 "ea1JpnChsDbPeriod" => Ok(Self::Ea1JpnChsDbPeriod),
4712 "ea1JpnKorPlain" => Ok(Self::Ea1JpnKorPlain),
4713 "ea1JpnKorPeriod" => Ok(Self::Ea1JpnKorPeriod),
4714 "arabic1Minus" => Ok(Self::Arabic1Minus),
4715 "arabic2Minus" => Ok(Self::Arabic2Minus),
4716 "hebrew2Minus" => Ok(Self::Hebrew2Minus),
4717 "thaiAlphaPeriod" => Ok(Self::ThaiAlphaPeriod),
4718 "thaiAlphaParenR" => Ok(Self::ThaiAlphaParenR),
4719 "thaiAlphaParenBoth" => Ok(Self::ThaiAlphaParenBoth),
4720 "thaiNumPeriod" => Ok(Self::ThaiNumPeriod),
4721 "thaiNumParenR" => Ok(Self::ThaiNumParenR),
4722 "thaiNumParenBoth" => Ok(Self::ThaiNumParenBoth),
4723 "hindiAlphaPeriod" => Ok(Self::HindiAlphaPeriod),
4724 "hindiNumPeriod" => Ok(Self::HindiNumPeriod),
4725 "hindiNumParenR" => Ok(Self::HindiNumParenR),
4726 "hindiAlpha1Period" => Ok(Self::HindiAlpha1Period),
4727 _ => Err(format!("unknown STTextAutonumberScheme value: {}", s)),
4728 }
4729 }
4730}
4731
4732pub type STTextBulletSize = String;
4733
4734pub type STTextBulletSizePercent = String;
4735
4736pub type STTextBulletSizeDecimal = i32;
4737
4738pub type STTextPoint = String;
4739
4740pub type STTextPointUnqualified = i32;
4741
4742pub type STTextNonNegativePoint = i32;
4743
4744pub type STTextFontSize = i32;
4745
4746pub type STTextTypeface = String;
4747
4748pub type STPitchFamily = String;
4749
4750#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4751pub enum STTextUnderlineType {
4752 #[serde(rename = "none")]
4753 None,
4754 #[serde(rename = "words")]
4755 Words,
4756 #[serde(rename = "sng")]
4757 Sng,
4758 #[serde(rename = "dbl")]
4759 Dbl,
4760 #[serde(rename = "heavy")]
4761 Heavy,
4762 #[serde(rename = "dotted")]
4763 Dotted,
4764 #[serde(rename = "dottedHeavy")]
4765 DottedHeavy,
4766 #[serde(rename = "dash")]
4767 Dash,
4768 #[serde(rename = "dashHeavy")]
4769 DashHeavy,
4770 #[serde(rename = "dashLong")]
4771 DashLong,
4772 #[serde(rename = "dashLongHeavy")]
4773 DashLongHeavy,
4774 #[serde(rename = "dotDash")]
4775 DotDash,
4776 #[serde(rename = "dotDashHeavy")]
4777 DotDashHeavy,
4778 #[serde(rename = "dotDotDash")]
4779 DotDotDash,
4780 #[serde(rename = "dotDotDashHeavy")]
4781 DotDotDashHeavy,
4782 #[serde(rename = "wavy")]
4783 Wavy,
4784 #[serde(rename = "wavyHeavy")]
4785 WavyHeavy,
4786 #[serde(rename = "wavyDbl")]
4787 WavyDbl,
4788}
4789
4790impl std::fmt::Display for STTextUnderlineType {
4791 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4792 match self {
4793 Self::None => write!(f, "none"),
4794 Self::Words => write!(f, "words"),
4795 Self::Sng => write!(f, "sng"),
4796 Self::Dbl => write!(f, "dbl"),
4797 Self::Heavy => write!(f, "heavy"),
4798 Self::Dotted => write!(f, "dotted"),
4799 Self::DottedHeavy => write!(f, "dottedHeavy"),
4800 Self::Dash => write!(f, "dash"),
4801 Self::DashHeavy => write!(f, "dashHeavy"),
4802 Self::DashLong => write!(f, "dashLong"),
4803 Self::DashLongHeavy => write!(f, "dashLongHeavy"),
4804 Self::DotDash => write!(f, "dotDash"),
4805 Self::DotDashHeavy => write!(f, "dotDashHeavy"),
4806 Self::DotDotDash => write!(f, "dotDotDash"),
4807 Self::DotDotDashHeavy => write!(f, "dotDotDashHeavy"),
4808 Self::Wavy => write!(f, "wavy"),
4809 Self::WavyHeavy => write!(f, "wavyHeavy"),
4810 Self::WavyDbl => write!(f, "wavyDbl"),
4811 }
4812 }
4813}
4814
4815impl std::str::FromStr for STTextUnderlineType {
4816 type Err = String;
4817
4818 fn from_str(s: &str) -> Result<Self, Self::Err> {
4819 match s {
4820 "none" => Ok(Self::None),
4821 "words" => Ok(Self::Words),
4822 "sng" => Ok(Self::Sng),
4823 "dbl" => Ok(Self::Dbl),
4824 "heavy" => Ok(Self::Heavy),
4825 "dotted" => Ok(Self::Dotted),
4826 "dottedHeavy" => Ok(Self::DottedHeavy),
4827 "dash" => Ok(Self::Dash),
4828 "dashHeavy" => Ok(Self::DashHeavy),
4829 "dashLong" => Ok(Self::DashLong),
4830 "dashLongHeavy" => Ok(Self::DashLongHeavy),
4831 "dotDash" => Ok(Self::DotDash),
4832 "dotDashHeavy" => Ok(Self::DotDashHeavy),
4833 "dotDotDash" => Ok(Self::DotDotDash),
4834 "dotDotDashHeavy" => Ok(Self::DotDotDashHeavy),
4835 "wavy" => Ok(Self::Wavy),
4836 "wavyHeavy" => Ok(Self::WavyHeavy),
4837 "wavyDbl" => Ok(Self::WavyDbl),
4838 _ => Err(format!("unknown STTextUnderlineType value: {}", s)),
4839 }
4840 }
4841}
4842
4843#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4844pub enum STTextStrikeType {
4845 #[serde(rename = "noStrike")]
4846 NoStrike,
4847 #[serde(rename = "sngStrike")]
4848 SngStrike,
4849 #[serde(rename = "dblStrike")]
4850 DblStrike,
4851}
4852
4853impl std::fmt::Display for STTextStrikeType {
4854 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4855 match self {
4856 Self::NoStrike => write!(f, "noStrike"),
4857 Self::SngStrike => write!(f, "sngStrike"),
4858 Self::DblStrike => write!(f, "dblStrike"),
4859 }
4860 }
4861}
4862
4863impl std::str::FromStr for STTextStrikeType {
4864 type Err = String;
4865
4866 fn from_str(s: &str) -> Result<Self, Self::Err> {
4867 match s {
4868 "noStrike" => Ok(Self::NoStrike),
4869 "sngStrike" => Ok(Self::SngStrike),
4870 "dblStrike" => Ok(Self::DblStrike),
4871 _ => Err(format!("unknown STTextStrikeType value: {}", s)),
4872 }
4873 }
4874}
4875
4876#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4877pub enum STTextCapsType {
4878 #[serde(rename = "none")]
4879 None,
4880 #[serde(rename = "small")]
4881 Small,
4882 #[serde(rename = "all")]
4883 All,
4884}
4885
4886impl std::fmt::Display for STTextCapsType {
4887 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4888 match self {
4889 Self::None => write!(f, "none"),
4890 Self::Small => write!(f, "small"),
4891 Self::All => write!(f, "all"),
4892 }
4893 }
4894}
4895
4896impl std::str::FromStr for STTextCapsType {
4897 type Err = String;
4898
4899 fn from_str(s: &str) -> Result<Self, Self::Err> {
4900 match s {
4901 "none" => Ok(Self::None),
4902 "small" => Ok(Self::Small),
4903 "all" => Ok(Self::All),
4904 _ => Err(format!("unknown STTextCapsType value: {}", s)),
4905 }
4906 }
4907}
4908
4909pub type STTextSpacingPoint = i32;
4910
4911pub type STTextSpacingPercentOrPercentString = String;
4912
4913pub type STTextSpacingPercent = i32;
4914
4915pub type STTextMargin = i32;
4916
4917pub type STTextIndent = i32;
4918
4919#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4920pub enum STTextTabAlignType {
4921 #[serde(rename = "l")]
4922 L,
4923 #[serde(rename = "ctr")]
4924 Ctr,
4925 #[serde(rename = "r")]
4926 R,
4927 #[serde(rename = "dec")]
4928 Dec,
4929}
4930
4931impl std::fmt::Display for STTextTabAlignType {
4932 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4933 match self {
4934 Self::L => write!(f, "l"),
4935 Self::Ctr => write!(f, "ctr"),
4936 Self::R => write!(f, "r"),
4937 Self::Dec => write!(f, "dec"),
4938 }
4939 }
4940}
4941
4942impl std::str::FromStr for STTextTabAlignType {
4943 type Err = String;
4944
4945 fn from_str(s: &str) -> Result<Self, Self::Err> {
4946 match s {
4947 "l" => Ok(Self::L),
4948 "ctr" => Ok(Self::Ctr),
4949 "r" => Ok(Self::R),
4950 "dec" => Ok(Self::Dec),
4951 _ => Err(format!("unknown STTextTabAlignType value: {}", s)),
4952 }
4953 }
4954}
4955
4956#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4957pub enum STTextAlignType {
4958 #[serde(rename = "l")]
4959 L,
4960 #[serde(rename = "ctr")]
4961 Ctr,
4962 #[serde(rename = "r")]
4963 R,
4964 #[serde(rename = "just")]
4965 Just,
4966 #[serde(rename = "justLow")]
4967 JustLow,
4968 #[serde(rename = "dist")]
4969 Dist,
4970 #[serde(rename = "thaiDist")]
4971 ThaiDist,
4972}
4973
4974impl std::fmt::Display for STTextAlignType {
4975 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4976 match self {
4977 Self::L => write!(f, "l"),
4978 Self::Ctr => write!(f, "ctr"),
4979 Self::R => write!(f, "r"),
4980 Self::Just => write!(f, "just"),
4981 Self::JustLow => write!(f, "justLow"),
4982 Self::Dist => write!(f, "dist"),
4983 Self::ThaiDist => write!(f, "thaiDist"),
4984 }
4985 }
4986}
4987
4988impl std::str::FromStr for STTextAlignType {
4989 type Err = String;
4990
4991 fn from_str(s: &str) -> Result<Self, Self::Err> {
4992 match s {
4993 "l" => Ok(Self::L),
4994 "ctr" => Ok(Self::Ctr),
4995 "r" => Ok(Self::R),
4996 "just" => Ok(Self::Just),
4997 "justLow" => Ok(Self::JustLow),
4998 "dist" => Ok(Self::Dist),
4999 "thaiDist" => Ok(Self::ThaiDist),
5000 _ => Err(format!("unknown STTextAlignType value: {}", s)),
5001 }
5002 }
5003}
5004
5005#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5006pub enum STTextFontAlignType {
5007 #[serde(rename = "auto")]
5008 Auto,
5009 #[serde(rename = "t")]
5010 T,
5011 #[serde(rename = "ctr")]
5012 Ctr,
5013 #[serde(rename = "base")]
5014 Base,
5015 #[serde(rename = "b")]
5016 B,
5017}
5018
5019impl std::fmt::Display for STTextFontAlignType {
5020 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5021 match self {
5022 Self::Auto => write!(f, "auto"),
5023 Self::T => write!(f, "t"),
5024 Self::Ctr => write!(f, "ctr"),
5025 Self::Base => write!(f, "base"),
5026 Self::B => write!(f, "b"),
5027 }
5028 }
5029}
5030
5031impl std::str::FromStr for STTextFontAlignType {
5032 type Err = String;
5033
5034 fn from_str(s: &str) -> Result<Self, Self::Err> {
5035 match s {
5036 "auto" => Ok(Self::Auto),
5037 "t" => Ok(Self::T),
5038 "ctr" => Ok(Self::Ctr),
5039 "base" => Ok(Self::Base),
5040 "b" => Ok(Self::B),
5041 _ => Err(format!("unknown STTextFontAlignType value: {}", s)),
5042 }
5043 }
5044}
5045
5046pub type STTextIndentLevelType = i32;
5047
5048#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5049pub enum LayoutTargetType {
5050 #[serde(rename = "inner")]
5051 Inner,
5052 #[serde(rename = "outer")]
5053 Outer,
5054}
5055
5056impl std::fmt::Display for LayoutTargetType {
5057 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5058 match self {
5059 Self::Inner => write!(f, "inner"),
5060 Self::Outer => write!(f, "outer"),
5061 }
5062 }
5063}
5064
5065impl std::str::FromStr for LayoutTargetType {
5066 type Err = String;
5067
5068 fn from_str(s: &str) -> Result<Self, Self::Err> {
5069 match s {
5070 "inner" => Ok(Self::Inner),
5071 "outer" => Ok(Self::Outer),
5072 _ => Err(format!("unknown LayoutTargetType value: {}", s)),
5073 }
5074 }
5075}
5076
5077#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5078pub enum LayoutModeType {
5079 #[serde(rename = "edge")]
5080 Edge,
5081 #[serde(rename = "factor")]
5082 Factor,
5083}
5084
5085impl std::fmt::Display for LayoutModeType {
5086 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5087 match self {
5088 Self::Edge => write!(f, "edge"),
5089 Self::Factor => write!(f, "factor"),
5090 }
5091 }
5092}
5093
5094impl std::str::FromStr for LayoutModeType {
5095 type Err = String;
5096
5097 fn from_str(s: &str) -> Result<Self, Self::Err> {
5098 match s {
5099 "edge" => Ok(Self::Edge),
5100 "factor" => Ok(Self::Factor),
5101 _ => Err(format!("unknown LayoutModeType value: {}", s)),
5102 }
5103 }
5104}
5105
5106pub type RotXValue = i8;
5107
5108pub type HPercentValue = String;
5109
5110pub type HPercentWithSymbol = String;
5111
5112pub type HPercentUShort = u16;
5113
5114pub type RotYValue = u16;
5115
5116pub type DepthPercentValue = String;
5117
5118pub type DepthPercentWithSymbol = String;
5119
5120pub type DepthPercentUShort = u16;
5121
5122pub type PerspectiveValue = u8;
5123
5124pub type ChartThicknessValue = String;
5125
5126pub type ThicknessPercentStr = String;
5127
5128pub type GapAmountValue = String;
5129
5130pub type GapAmountPercent = String;
5131
5132pub type GapAmountUShort = u16;
5133
5134pub type OverlapValue = String;
5135
5136pub type OverlapPercent = String;
5137
5138pub type OverlapByte = i8;
5139
5140pub type BubbleScaleValue = String;
5141
5142pub type BubbleScalePercent = String;
5143
5144pub type BubbleScaleUInt = u32;
5145
5146#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5147pub enum SizeRepresentsType {
5148 #[serde(rename = "area")]
5149 Area,
5150 #[serde(rename = "w")]
5151 W,
5152}
5153
5154impl std::fmt::Display for SizeRepresentsType {
5155 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5156 match self {
5157 Self::Area => write!(f, "area"),
5158 Self::W => write!(f, "w"),
5159 }
5160 }
5161}
5162
5163impl std::str::FromStr for SizeRepresentsType {
5164 type Err = String;
5165
5166 fn from_str(s: &str) -> Result<Self, Self::Err> {
5167 match s {
5168 "area" => Ok(Self::Area),
5169 "w" => Ok(Self::W),
5170 _ => Err(format!("unknown SizeRepresentsType value: {}", s)),
5171 }
5172 }
5173}
5174
5175pub type FirstSliceAngValue = u16;
5176
5177pub type HoleSizeValue = String;
5178
5179pub type HoleSizePercent = String;
5180
5181pub type HoleSizeUByte = u8;
5182
5183#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5184pub enum SplitTypeValue {
5185 #[serde(rename = "auto")]
5186 Auto,
5187 #[serde(rename = "cust")]
5188 Cust,
5189 #[serde(rename = "percent")]
5190 Percent,
5191 #[serde(rename = "pos")]
5192 Pos,
5193 #[serde(rename = "val")]
5194 Val,
5195}
5196
5197impl std::fmt::Display for SplitTypeValue {
5198 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5199 match self {
5200 Self::Auto => write!(f, "auto"),
5201 Self::Cust => write!(f, "cust"),
5202 Self::Percent => write!(f, "percent"),
5203 Self::Pos => write!(f, "pos"),
5204 Self::Val => write!(f, "val"),
5205 }
5206 }
5207}
5208
5209impl std::str::FromStr for SplitTypeValue {
5210 type Err = String;
5211
5212 fn from_str(s: &str) -> Result<Self, Self::Err> {
5213 match s {
5214 "auto" => Ok(Self::Auto),
5215 "cust" => Ok(Self::Cust),
5216 "percent" => Ok(Self::Percent),
5217 "pos" => Ok(Self::Pos),
5218 "val" => Ok(Self::Val),
5219 _ => Err(format!("unknown SplitTypeValue value: {}", s)),
5220 }
5221 }
5222}
5223
5224pub type SecondPieSizeValue = String;
5225
5226pub type SecondPieSizePercent = String;
5227
5228pub type SecondPieSizeUShort = u16;
5229
5230#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5231pub enum LabelAlignType {
5232 #[serde(rename = "ctr")]
5233 Ctr,
5234 #[serde(rename = "l")]
5235 L,
5236 #[serde(rename = "r")]
5237 R,
5238}
5239
5240impl std::fmt::Display for LabelAlignType {
5241 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5242 match self {
5243 Self::Ctr => write!(f, "ctr"),
5244 Self::L => write!(f, "l"),
5245 Self::R => write!(f, "r"),
5246 }
5247 }
5248}
5249
5250impl std::str::FromStr for LabelAlignType {
5251 type Err = String;
5252
5253 fn from_str(s: &str) -> Result<Self, Self::Err> {
5254 match s {
5255 "ctr" => Ok(Self::Ctr),
5256 "l" => Ok(Self::L),
5257 "r" => Ok(Self::R),
5258 _ => Err(format!("unknown LabelAlignType value: {}", s)),
5259 }
5260 }
5261}
5262
5263#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5264pub enum DataLabelPositionType {
5265 #[serde(rename = "bestFit")]
5266 BestFit,
5267 #[serde(rename = "b")]
5268 B,
5269 #[serde(rename = "ctr")]
5270 Ctr,
5271 #[serde(rename = "inBase")]
5272 InBase,
5273 #[serde(rename = "inEnd")]
5274 InEnd,
5275 #[serde(rename = "l")]
5276 L,
5277 #[serde(rename = "outEnd")]
5278 OutEnd,
5279 #[serde(rename = "r")]
5280 R,
5281 #[serde(rename = "t")]
5282 T,
5283}
5284
5285impl std::fmt::Display for DataLabelPositionType {
5286 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5287 match self {
5288 Self::BestFit => write!(f, "bestFit"),
5289 Self::B => write!(f, "b"),
5290 Self::Ctr => write!(f, "ctr"),
5291 Self::InBase => write!(f, "inBase"),
5292 Self::InEnd => write!(f, "inEnd"),
5293 Self::L => write!(f, "l"),
5294 Self::OutEnd => write!(f, "outEnd"),
5295 Self::R => write!(f, "r"),
5296 Self::T => write!(f, "t"),
5297 }
5298 }
5299}
5300
5301impl std::str::FromStr for DataLabelPositionType {
5302 type Err = String;
5303
5304 fn from_str(s: &str) -> Result<Self, Self::Err> {
5305 match s {
5306 "bestFit" => Ok(Self::BestFit),
5307 "b" => Ok(Self::B),
5308 "ctr" => Ok(Self::Ctr),
5309 "inBase" => Ok(Self::InBase),
5310 "inEnd" => Ok(Self::InEnd),
5311 "l" => Ok(Self::L),
5312 "outEnd" => Ok(Self::OutEnd),
5313 "r" => Ok(Self::R),
5314 "t" => Ok(Self::T),
5315 _ => Err(format!("unknown DataLabelPositionType value: {}", s)),
5316 }
5317 }
5318}
5319
5320#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5321pub enum MarkerStyleType {
5322 #[serde(rename = "circle")]
5323 Circle,
5324 #[serde(rename = "dash")]
5325 Dash,
5326 #[serde(rename = "diamond")]
5327 Diamond,
5328 #[serde(rename = "dot")]
5329 Dot,
5330 #[serde(rename = "none")]
5331 None,
5332 #[serde(rename = "picture")]
5333 Picture,
5334 #[serde(rename = "plus")]
5335 Plus,
5336 #[serde(rename = "square")]
5337 Square,
5338 #[serde(rename = "star")]
5339 Star,
5340 #[serde(rename = "triangle")]
5341 Triangle,
5342 #[serde(rename = "x")]
5343 X,
5344 #[serde(rename = "auto")]
5345 Auto,
5346}
5347
5348impl std::fmt::Display for MarkerStyleType {
5349 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5350 match self {
5351 Self::Circle => write!(f, "circle"),
5352 Self::Dash => write!(f, "dash"),
5353 Self::Diamond => write!(f, "diamond"),
5354 Self::Dot => write!(f, "dot"),
5355 Self::None => write!(f, "none"),
5356 Self::Picture => write!(f, "picture"),
5357 Self::Plus => write!(f, "plus"),
5358 Self::Square => write!(f, "square"),
5359 Self::Star => write!(f, "star"),
5360 Self::Triangle => write!(f, "triangle"),
5361 Self::X => write!(f, "x"),
5362 Self::Auto => write!(f, "auto"),
5363 }
5364 }
5365}
5366
5367impl std::str::FromStr for MarkerStyleType {
5368 type Err = String;
5369
5370 fn from_str(s: &str) -> Result<Self, Self::Err> {
5371 match s {
5372 "circle" => Ok(Self::Circle),
5373 "dash" => Ok(Self::Dash),
5374 "diamond" => Ok(Self::Diamond),
5375 "dot" => Ok(Self::Dot),
5376 "none" => Ok(Self::None),
5377 "picture" => Ok(Self::Picture),
5378 "plus" => Ok(Self::Plus),
5379 "square" => Ok(Self::Square),
5380 "star" => Ok(Self::Star),
5381 "triangle" => Ok(Self::Triangle),
5382 "x" => Ok(Self::X),
5383 "auto" => Ok(Self::Auto),
5384 _ => Err(format!("unknown MarkerStyleType value: {}", s)),
5385 }
5386 }
5387}
5388
5389pub type MarkerSizeValue = u8;
5390
5391#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5392pub enum TrendlineTypeValue {
5393 #[serde(rename = "exp")]
5394 Exp,
5395 #[serde(rename = "linear")]
5396 Linear,
5397 #[serde(rename = "log")]
5398 Log,
5399 #[serde(rename = "movingAvg")]
5400 MovingAvg,
5401 #[serde(rename = "poly")]
5402 Poly,
5403 #[serde(rename = "power")]
5404 Power,
5405}
5406
5407impl std::fmt::Display for TrendlineTypeValue {
5408 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5409 match self {
5410 Self::Exp => write!(f, "exp"),
5411 Self::Linear => write!(f, "linear"),
5412 Self::Log => write!(f, "log"),
5413 Self::MovingAvg => write!(f, "movingAvg"),
5414 Self::Poly => write!(f, "poly"),
5415 Self::Power => write!(f, "power"),
5416 }
5417 }
5418}
5419
5420impl std::str::FromStr for TrendlineTypeValue {
5421 type Err = String;
5422
5423 fn from_str(s: &str) -> Result<Self, Self::Err> {
5424 match s {
5425 "exp" => Ok(Self::Exp),
5426 "linear" => Ok(Self::Linear),
5427 "log" => Ok(Self::Log),
5428 "movingAvg" => Ok(Self::MovingAvg),
5429 "poly" => Ok(Self::Poly),
5430 "power" => Ok(Self::Power),
5431 _ => Err(format!("unknown TrendlineTypeValue value: {}", s)),
5432 }
5433 }
5434}
5435
5436pub type TrendlineOrderValue = u8;
5437
5438pub type TrendlinePeriodValue = u32;
5439
5440#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5441pub enum ErrorDirectionType {
5442 #[serde(rename = "x")]
5443 X,
5444 #[serde(rename = "y")]
5445 Y,
5446}
5447
5448impl std::fmt::Display for ErrorDirectionType {
5449 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5450 match self {
5451 Self::X => write!(f, "x"),
5452 Self::Y => write!(f, "y"),
5453 }
5454 }
5455}
5456
5457impl std::str::FromStr for ErrorDirectionType {
5458 type Err = String;
5459
5460 fn from_str(s: &str) -> Result<Self, Self::Err> {
5461 match s {
5462 "x" => Ok(Self::X),
5463 "y" => Ok(Self::Y),
5464 _ => Err(format!("unknown ErrorDirectionType value: {}", s)),
5465 }
5466 }
5467}
5468
5469#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5470pub enum ErrorBarTypeValue {
5471 #[serde(rename = "both")]
5472 Both,
5473 #[serde(rename = "minus")]
5474 Minus,
5475 #[serde(rename = "plus")]
5476 Plus,
5477}
5478
5479impl std::fmt::Display for ErrorBarTypeValue {
5480 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5481 match self {
5482 Self::Both => write!(f, "both"),
5483 Self::Minus => write!(f, "minus"),
5484 Self::Plus => write!(f, "plus"),
5485 }
5486 }
5487}
5488
5489impl std::str::FromStr for ErrorBarTypeValue {
5490 type Err = String;
5491
5492 fn from_str(s: &str) -> Result<Self, Self::Err> {
5493 match s {
5494 "both" => Ok(Self::Both),
5495 "minus" => Ok(Self::Minus),
5496 "plus" => Ok(Self::Plus),
5497 _ => Err(format!("unknown ErrorBarTypeValue value: {}", s)),
5498 }
5499 }
5500}
5501
5502#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5503pub enum ErrorValueTypeValue {
5504 #[serde(rename = "cust")]
5505 Cust,
5506 #[serde(rename = "fixedVal")]
5507 FixedVal,
5508 #[serde(rename = "percentage")]
5509 Percentage,
5510 #[serde(rename = "stdDev")]
5511 StdDev,
5512 #[serde(rename = "stdErr")]
5513 StdErr,
5514}
5515
5516impl std::fmt::Display for ErrorValueTypeValue {
5517 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5518 match self {
5519 Self::Cust => write!(f, "cust"),
5520 Self::FixedVal => write!(f, "fixedVal"),
5521 Self::Percentage => write!(f, "percentage"),
5522 Self::StdDev => write!(f, "stdDev"),
5523 Self::StdErr => write!(f, "stdErr"),
5524 }
5525 }
5526}
5527
5528impl std::str::FromStr for ErrorValueTypeValue {
5529 type Err = String;
5530
5531 fn from_str(s: &str) -> Result<Self, Self::Err> {
5532 match s {
5533 "cust" => Ok(Self::Cust),
5534 "fixedVal" => Ok(Self::FixedVal),
5535 "percentage" => Ok(Self::Percentage),
5536 "stdDev" => Ok(Self::StdDev),
5537 "stdErr" => Ok(Self::StdErr),
5538 _ => Err(format!("unknown ErrorValueTypeValue value: {}", s)),
5539 }
5540 }
5541}
5542
5543#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5544pub enum GroupingType {
5545 #[serde(rename = "percentStacked")]
5546 PercentStacked,
5547 #[serde(rename = "standard")]
5548 Standard,
5549 #[serde(rename = "stacked")]
5550 Stacked,
5551}
5552
5553impl std::fmt::Display for GroupingType {
5554 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5555 match self {
5556 Self::PercentStacked => write!(f, "percentStacked"),
5557 Self::Standard => write!(f, "standard"),
5558 Self::Stacked => write!(f, "stacked"),
5559 }
5560 }
5561}
5562
5563impl std::str::FromStr for GroupingType {
5564 type Err = String;
5565
5566 fn from_str(s: &str) -> Result<Self, Self::Err> {
5567 match s {
5568 "percentStacked" => Ok(Self::PercentStacked),
5569 "standard" => Ok(Self::Standard),
5570 "stacked" => Ok(Self::Stacked),
5571 _ => Err(format!("unknown GroupingType value: {}", s)),
5572 }
5573 }
5574}
5575
5576#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5577pub enum ScatterStyleType {
5578 #[serde(rename = "none")]
5579 None,
5580 #[serde(rename = "line")]
5581 Line,
5582 #[serde(rename = "lineMarker")]
5583 LineMarker,
5584 #[serde(rename = "marker")]
5585 Marker,
5586 #[serde(rename = "smooth")]
5587 Smooth,
5588 #[serde(rename = "smoothMarker")]
5589 SmoothMarker,
5590}
5591
5592impl std::fmt::Display for ScatterStyleType {
5593 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5594 match self {
5595 Self::None => write!(f, "none"),
5596 Self::Line => write!(f, "line"),
5597 Self::LineMarker => write!(f, "lineMarker"),
5598 Self::Marker => write!(f, "marker"),
5599 Self::Smooth => write!(f, "smooth"),
5600 Self::SmoothMarker => write!(f, "smoothMarker"),
5601 }
5602 }
5603}
5604
5605impl std::str::FromStr for ScatterStyleType {
5606 type Err = String;
5607
5608 fn from_str(s: &str) -> Result<Self, Self::Err> {
5609 match s {
5610 "none" => Ok(Self::None),
5611 "line" => Ok(Self::Line),
5612 "lineMarker" => Ok(Self::LineMarker),
5613 "marker" => Ok(Self::Marker),
5614 "smooth" => Ok(Self::Smooth),
5615 "smoothMarker" => Ok(Self::SmoothMarker),
5616 _ => Err(format!("unknown ScatterStyleType value: {}", s)),
5617 }
5618 }
5619}
5620
5621#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5622pub enum RadarStyleType {
5623 #[serde(rename = "standard")]
5624 Standard,
5625 #[serde(rename = "marker")]
5626 Marker,
5627 #[serde(rename = "filled")]
5628 Filled,
5629}
5630
5631impl std::fmt::Display for RadarStyleType {
5632 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5633 match self {
5634 Self::Standard => write!(f, "standard"),
5635 Self::Marker => write!(f, "marker"),
5636 Self::Filled => write!(f, "filled"),
5637 }
5638 }
5639}
5640
5641impl std::str::FromStr for RadarStyleType {
5642 type Err = String;
5643
5644 fn from_str(s: &str) -> Result<Self, Self::Err> {
5645 match s {
5646 "standard" => Ok(Self::Standard),
5647 "marker" => Ok(Self::Marker),
5648 "filled" => Ok(Self::Filled),
5649 _ => Err(format!("unknown RadarStyleType value: {}", s)),
5650 }
5651 }
5652}
5653
5654#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5655pub enum BarGroupingType {
5656 #[serde(rename = "percentStacked")]
5657 PercentStacked,
5658 #[serde(rename = "clustered")]
5659 Clustered,
5660 #[serde(rename = "standard")]
5661 Standard,
5662 #[serde(rename = "stacked")]
5663 Stacked,
5664}
5665
5666impl std::fmt::Display for BarGroupingType {
5667 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5668 match self {
5669 Self::PercentStacked => write!(f, "percentStacked"),
5670 Self::Clustered => write!(f, "clustered"),
5671 Self::Standard => write!(f, "standard"),
5672 Self::Stacked => write!(f, "stacked"),
5673 }
5674 }
5675}
5676
5677impl std::str::FromStr for BarGroupingType {
5678 type Err = String;
5679
5680 fn from_str(s: &str) -> Result<Self, Self::Err> {
5681 match s {
5682 "percentStacked" => Ok(Self::PercentStacked),
5683 "clustered" => Ok(Self::Clustered),
5684 "standard" => Ok(Self::Standard),
5685 "stacked" => Ok(Self::Stacked),
5686 _ => Err(format!("unknown BarGroupingType value: {}", s)),
5687 }
5688 }
5689}
5690
5691#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5692pub enum BarDirectionType {
5693 #[serde(rename = "bar")]
5694 Bar,
5695 #[serde(rename = "col")]
5696 Col,
5697}
5698
5699impl std::fmt::Display for BarDirectionType {
5700 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5701 match self {
5702 Self::Bar => write!(f, "bar"),
5703 Self::Col => write!(f, "col"),
5704 }
5705 }
5706}
5707
5708impl std::str::FromStr for BarDirectionType {
5709 type Err = String;
5710
5711 fn from_str(s: &str) -> Result<Self, Self::Err> {
5712 match s {
5713 "bar" => Ok(Self::Bar),
5714 "col" => Ok(Self::Col),
5715 _ => Err(format!("unknown BarDirectionType value: {}", s)),
5716 }
5717 }
5718}
5719
5720#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5721pub enum BarShapeType {
5722 #[serde(rename = "cone")]
5723 Cone,
5724 #[serde(rename = "coneToMax")]
5725 ConeToMax,
5726 #[serde(rename = "box")]
5727 Box,
5728 #[serde(rename = "cylinder")]
5729 Cylinder,
5730 #[serde(rename = "pyramid")]
5731 Pyramid,
5732 #[serde(rename = "pyramidToMax")]
5733 PyramidToMax,
5734}
5735
5736impl std::fmt::Display for BarShapeType {
5737 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5738 match self {
5739 Self::Cone => write!(f, "cone"),
5740 Self::ConeToMax => write!(f, "coneToMax"),
5741 Self::Box => write!(f, "box"),
5742 Self::Cylinder => write!(f, "cylinder"),
5743 Self::Pyramid => write!(f, "pyramid"),
5744 Self::PyramidToMax => write!(f, "pyramidToMax"),
5745 }
5746 }
5747}
5748
5749impl std::str::FromStr for BarShapeType {
5750 type Err = String;
5751
5752 fn from_str(s: &str) -> Result<Self, Self::Err> {
5753 match s {
5754 "cone" => Ok(Self::Cone),
5755 "coneToMax" => Ok(Self::ConeToMax),
5756 "box" => Ok(Self::Box),
5757 "cylinder" => Ok(Self::Cylinder),
5758 "pyramid" => Ok(Self::Pyramid),
5759 "pyramidToMax" => Ok(Self::PyramidToMax),
5760 _ => Err(format!("unknown BarShapeType value: {}", s)),
5761 }
5762 }
5763}
5764
5765#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5766pub enum OfPieTypeValue {
5767 #[serde(rename = "pie")]
5768 Pie,
5769 #[serde(rename = "bar")]
5770 Bar,
5771}
5772
5773impl std::fmt::Display for OfPieTypeValue {
5774 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5775 match self {
5776 Self::Pie => write!(f, "pie"),
5777 Self::Bar => write!(f, "bar"),
5778 }
5779 }
5780}
5781
5782impl std::str::FromStr for OfPieTypeValue {
5783 type Err = String;
5784
5785 fn from_str(s: &str) -> Result<Self, Self::Err> {
5786 match s {
5787 "pie" => Ok(Self::Pie),
5788 "bar" => Ok(Self::Bar),
5789 _ => Err(format!("unknown OfPieTypeValue value: {}", s)),
5790 }
5791 }
5792}
5793
5794#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5795pub enum AxisPositionType {
5796 #[serde(rename = "b")]
5797 B,
5798 #[serde(rename = "l")]
5799 L,
5800 #[serde(rename = "r")]
5801 R,
5802 #[serde(rename = "t")]
5803 T,
5804}
5805
5806impl std::fmt::Display for AxisPositionType {
5807 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5808 match self {
5809 Self::B => write!(f, "b"),
5810 Self::L => write!(f, "l"),
5811 Self::R => write!(f, "r"),
5812 Self::T => write!(f, "t"),
5813 }
5814 }
5815}
5816
5817impl std::str::FromStr for AxisPositionType {
5818 type Err = String;
5819
5820 fn from_str(s: &str) -> Result<Self, Self::Err> {
5821 match s {
5822 "b" => Ok(Self::B),
5823 "l" => Ok(Self::L),
5824 "r" => Ok(Self::R),
5825 "t" => Ok(Self::T),
5826 _ => Err(format!("unknown AxisPositionType value: {}", s)),
5827 }
5828 }
5829}
5830
5831#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5832pub enum AxisCrossesType {
5833 #[serde(rename = "autoZero")]
5834 AutoZero,
5835 #[serde(rename = "max")]
5836 Max,
5837 #[serde(rename = "min")]
5838 Min,
5839}
5840
5841impl std::fmt::Display for AxisCrossesType {
5842 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5843 match self {
5844 Self::AutoZero => write!(f, "autoZero"),
5845 Self::Max => write!(f, "max"),
5846 Self::Min => write!(f, "min"),
5847 }
5848 }
5849}
5850
5851impl std::str::FromStr for AxisCrossesType {
5852 type Err = String;
5853
5854 fn from_str(s: &str) -> Result<Self, Self::Err> {
5855 match s {
5856 "autoZero" => Ok(Self::AutoZero),
5857 "max" => Ok(Self::Max),
5858 "min" => Ok(Self::Min),
5859 _ => Err(format!("unknown AxisCrossesType value: {}", s)),
5860 }
5861 }
5862}
5863
5864#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5865pub enum CrossBetweenType {
5866 #[serde(rename = "between")]
5867 Between,
5868 #[serde(rename = "midCat")]
5869 MidCat,
5870}
5871
5872impl std::fmt::Display for CrossBetweenType {
5873 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5874 match self {
5875 Self::Between => write!(f, "between"),
5876 Self::MidCat => write!(f, "midCat"),
5877 }
5878 }
5879}
5880
5881impl std::str::FromStr for CrossBetweenType {
5882 type Err = String;
5883
5884 fn from_str(s: &str) -> Result<Self, Self::Err> {
5885 match s {
5886 "between" => Ok(Self::Between),
5887 "midCat" => Ok(Self::MidCat),
5888 _ => Err(format!("unknown CrossBetweenType value: {}", s)),
5889 }
5890 }
5891}
5892
5893#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5894pub enum TickMarkType {
5895 #[serde(rename = "cross")]
5896 Cross,
5897 #[serde(rename = "in")]
5898 In,
5899 #[serde(rename = "none")]
5900 None,
5901 #[serde(rename = "out")]
5902 Out,
5903}
5904
5905impl std::fmt::Display for TickMarkType {
5906 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5907 match self {
5908 Self::Cross => write!(f, "cross"),
5909 Self::In => write!(f, "in"),
5910 Self::None => write!(f, "none"),
5911 Self::Out => write!(f, "out"),
5912 }
5913 }
5914}
5915
5916impl std::str::FromStr for TickMarkType {
5917 type Err = String;
5918
5919 fn from_str(s: &str) -> Result<Self, Self::Err> {
5920 match s {
5921 "cross" => Ok(Self::Cross),
5922 "in" => Ok(Self::In),
5923 "none" => Ok(Self::None),
5924 "out" => Ok(Self::Out),
5925 _ => Err(format!("unknown TickMarkType value: {}", s)),
5926 }
5927 }
5928}
5929
5930#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5931pub enum TickLabelPositionType {
5932 #[serde(rename = "high")]
5933 High,
5934 #[serde(rename = "low")]
5935 Low,
5936 #[serde(rename = "nextTo")]
5937 NextTo,
5938 #[serde(rename = "none")]
5939 None,
5940}
5941
5942impl std::fmt::Display for TickLabelPositionType {
5943 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5944 match self {
5945 Self::High => write!(f, "high"),
5946 Self::Low => write!(f, "low"),
5947 Self::NextTo => write!(f, "nextTo"),
5948 Self::None => write!(f, "none"),
5949 }
5950 }
5951}
5952
5953impl std::str::FromStr for TickLabelPositionType {
5954 type Err = String;
5955
5956 fn from_str(s: &str) -> Result<Self, Self::Err> {
5957 match s {
5958 "high" => Ok(Self::High),
5959 "low" => Ok(Self::Low),
5960 "nextTo" => Ok(Self::NextTo),
5961 "none" => Ok(Self::None),
5962 _ => Err(format!("unknown TickLabelPositionType value: {}", s)),
5963 }
5964 }
5965}
5966
5967pub type AxisSkipValue = u32;
5968
5969#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5970pub enum TimeUnitType {
5971 #[serde(rename = "days")]
5972 Days,
5973 #[serde(rename = "months")]
5974 Months,
5975 #[serde(rename = "years")]
5976 Years,
5977}
5978
5979impl std::fmt::Display for TimeUnitType {
5980 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5981 match self {
5982 Self::Days => write!(f, "days"),
5983 Self::Months => write!(f, "months"),
5984 Self::Years => write!(f, "years"),
5985 }
5986 }
5987}
5988
5989impl std::str::FromStr for TimeUnitType {
5990 type Err = String;
5991
5992 fn from_str(s: &str) -> Result<Self, Self::Err> {
5993 match s {
5994 "days" => Ok(Self::Days),
5995 "months" => Ok(Self::Months),
5996 "years" => Ok(Self::Years),
5997 _ => Err(format!("unknown TimeUnitType value: {}", s)),
5998 }
5999 }
6000}
6001
6002pub type AxisUnitValue = f64;
6003
6004#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6005pub enum BuiltInUnitType {
6006 #[serde(rename = "hundreds")]
6007 Hundreds,
6008 #[serde(rename = "thousands")]
6009 Thousands,
6010 #[serde(rename = "tenThousands")]
6011 TenThousands,
6012 #[serde(rename = "hundredThousands")]
6013 HundredThousands,
6014 #[serde(rename = "millions")]
6015 Millions,
6016 #[serde(rename = "tenMillions")]
6017 TenMillions,
6018 #[serde(rename = "hundredMillions")]
6019 HundredMillions,
6020 #[serde(rename = "billions")]
6021 Billions,
6022 #[serde(rename = "trillions")]
6023 Trillions,
6024}
6025
6026impl std::fmt::Display for BuiltInUnitType {
6027 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6028 match self {
6029 Self::Hundreds => write!(f, "hundreds"),
6030 Self::Thousands => write!(f, "thousands"),
6031 Self::TenThousands => write!(f, "tenThousands"),
6032 Self::HundredThousands => write!(f, "hundredThousands"),
6033 Self::Millions => write!(f, "millions"),
6034 Self::TenMillions => write!(f, "tenMillions"),
6035 Self::HundredMillions => write!(f, "hundredMillions"),
6036 Self::Billions => write!(f, "billions"),
6037 Self::Trillions => write!(f, "trillions"),
6038 }
6039 }
6040}
6041
6042impl std::str::FromStr for BuiltInUnitType {
6043 type Err = String;
6044
6045 fn from_str(s: &str) -> Result<Self, Self::Err> {
6046 match s {
6047 "hundreds" => Ok(Self::Hundreds),
6048 "thousands" => Ok(Self::Thousands),
6049 "tenThousands" => Ok(Self::TenThousands),
6050 "hundredThousands" => Ok(Self::HundredThousands),
6051 "millions" => Ok(Self::Millions),
6052 "tenMillions" => Ok(Self::TenMillions),
6053 "hundredMillions" => Ok(Self::HundredMillions),
6054 "billions" => Ok(Self::Billions),
6055 "trillions" => Ok(Self::Trillions),
6056 _ => Err(format!("unknown BuiltInUnitType value: {}", s)),
6057 }
6058 }
6059}
6060
6061#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6062pub enum PictureFormatType {
6063 #[serde(rename = "stretch")]
6064 Stretch,
6065 #[serde(rename = "stack")]
6066 Stack,
6067 #[serde(rename = "stackScale")]
6068 StackScale,
6069}
6070
6071impl std::fmt::Display for PictureFormatType {
6072 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6073 match self {
6074 Self::Stretch => write!(f, "stretch"),
6075 Self::Stack => write!(f, "stack"),
6076 Self::StackScale => write!(f, "stackScale"),
6077 }
6078 }
6079}
6080
6081impl std::str::FromStr for PictureFormatType {
6082 type Err = String;
6083
6084 fn from_str(s: &str) -> Result<Self, Self::Err> {
6085 match s {
6086 "stretch" => Ok(Self::Stretch),
6087 "stack" => Ok(Self::Stack),
6088 "stackScale" => Ok(Self::StackScale),
6089 _ => Err(format!("unknown PictureFormatType value: {}", s)),
6090 }
6091 }
6092}
6093
6094pub type PictureStackUnitValue = f64;
6095
6096#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6097pub enum AxisOrientationType {
6098 #[serde(rename = "maxMin")]
6099 MaxMin,
6100 #[serde(rename = "minMax")]
6101 MinMax,
6102}
6103
6104impl std::fmt::Display for AxisOrientationType {
6105 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6106 match self {
6107 Self::MaxMin => write!(f, "maxMin"),
6108 Self::MinMax => write!(f, "minMax"),
6109 }
6110 }
6111}
6112
6113impl std::str::FromStr for AxisOrientationType {
6114 type Err = String;
6115
6116 fn from_str(s: &str) -> Result<Self, Self::Err> {
6117 match s {
6118 "maxMin" => Ok(Self::MaxMin),
6119 "minMax" => Ok(Self::MinMax),
6120 _ => Err(format!("unknown AxisOrientationType value: {}", s)),
6121 }
6122 }
6123}
6124
6125pub type LogBaseValue = f64;
6126
6127pub type LabelOffsetValue = String;
6128
6129pub type LabelOffsetPercent = String;
6130
6131pub type LabelOffsetUShort = u16;
6132
6133#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6134pub enum LegendPositionType {
6135 #[serde(rename = "b")]
6136 B,
6137 #[serde(rename = "tr")]
6138 Tr,
6139 #[serde(rename = "l")]
6140 L,
6141 #[serde(rename = "r")]
6142 R,
6143 #[serde(rename = "t")]
6144 T,
6145}
6146
6147impl std::fmt::Display for LegendPositionType {
6148 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6149 match self {
6150 Self::B => write!(f, "b"),
6151 Self::Tr => write!(f, "tr"),
6152 Self::L => write!(f, "l"),
6153 Self::R => write!(f, "r"),
6154 Self::T => write!(f, "t"),
6155 }
6156 }
6157}
6158
6159impl std::str::FromStr for LegendPositionType {
6160 type Err = String;
6161
6162 fn from_str(s: &str) -> Result<Self, Self::Err> {
6163 match s {
6164 "b" => Ok(Self::B),
6165 "tr" => Ok(Self::Tr),
6166 "l" => Ok(Self::L),
6167 "r" => Ok(Self::R),
6168 "t" => Ok(Self::T),
6169 _ => Err(format!("unknown LegendPositionType value: {}", s)),
6170 }
6171 }
6172}
6173
6174#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6175pub enum DisplayBlanksAsType {
6176 #[serde(rename = "span")]
6177 Span,
6178 #[serde(rename = "gap")]
6179 Gap,
6180 #[serde(rename = "zero")]
6181 Zero,
6182}
6183
6184impl std::fmt::Display for DisplayBlanksAsType {
6185 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6186 match self {
6187 Self::Span => write!(f, "span"),
6188 Self::Gap => write!(f, "gap"),
6189 Self::Zero => write!(f, "zero"),
6190 }
6191 }
6192}
6193
6194impl std::str::FromStr for DisplayBlanksAsType {
6195 type Err = String;
6196
6197 fn from_str(s: &str) -> Result<Self, Self::Err> {
6198 match s {
6199 "span" => Ok(Self::Span),
6200 "gap" => Ok(Self::Gap),
6201 "zero" => Ok(Self::Zero),
6202 _ => Err(format!("unknown DisplayBlanksAsType value: {}", s)),
6203 }
6204 }
6205}
6206
6207pub type ChartStyleValue = u8;
6208
6209#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6210pub enum ChartPageOrientation {
6211 #[serde(rename = "default")]
6212 Default,
6213 #[serde(rename = "portrait")]
6214 Portrait,
6215 #[serde(rename = "landscape")]
6216 Landscape,
6217}
6218
6219impl std::fmt::Display for ChartPageOrientation {
6220 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6221 match self {
6222 Self::Default => write!(f, "default"),
6223 Self::Portrait => write!(f, "portrait"),
6224 Self::Landscape => write!(f, "landscape"),
6225 }
6226 }
6227}
6228
6229impl std::str::FromStr for ChartPageOrientation {
6230 type Err = String;
6231
6232 fn from_str(s: &str) -> Result<Self, Self::Err> {
6233 match s {
6234 "default" => Ok(Self::Default),
6235 "portrait" => Ok(Self::Portrait),
6236 "landscape" => Ok(Self::Landscape),
6237 _ => Err(format!("unknown ChartPageOrientation value: {}", s)),
6238 }
6239 }
6240}
6241
6242#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6243pub enum STClrAppMethod {
6244 #[serde(rename = "span")]
6245 Span,
6246 #[serde(rename = "cycle")]
6247 Cycle,
6248 #[serde(rename = "repeat")]
6249 Repeat,
6250}
6251
6252impl std::fmt::Display for STClrAppMethod {
6253 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6254 match self {
6255 Self::Span => write!(f, "span"),
6256 Self::Cycle => write!(f, "cycle"),
6257 Self::Repeat => write!(f, "repeat"),
6258 }
6259 }
6260}
6261
6262impl std::str::FromStr for STClrAppMethod {
6263 type Err = String;
6264
6265 fn from_str(s: &str) -> Result<Self, Self::Err> {
6266 match s {
6267 "span" => Ok(Self::Span),
6268 "cycle" => Ok(Self::Cycle),
6269 "repeat" => Ok(Self::Repeat),
6270 _ => Err(format!("unknown STClrAppMethod value: {}", s)),
6271 }
6272 }
6273}
6274
6275#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6276pub enum STHueDir {
6277 #[serde(rename = "cw")]
6278 Cw,
6279 #[serde(rename = "ccw")]
6280 Ccw,
6281}
6282
6283impl std::fmt::Display for STHueDir {
6284 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6285 match self {
6286 Self::Cw => write!(f, "cw"),
6287 Self::Ccw => write!(f, "ccw"),
6288 }
6289 }
6290}
6291
6292impl std::str::FromStr for STHueDir {
6293 type Err = String;
6294
6295 fn from_str(s: &str) -> Result<Self, Self::Err> {
6296 match s {
6297 "cw" => Ok(Self::Cw),
6298 "ccw" => Ok(Self::Ccw),
6299 _ => Err(format!("unknown STHueDir value: {}", s)),
6300 }
6301 }
6302}
6303
6304#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6305pub enum STPtType {
6306 #[serde(rename = "node")]
6307 Node,
6308 #[serde(rename = "asst")]
6309 Asst,
6310 #[serde(rename = "doc")]
6311 Doc,
6312 #[serde(rename = "pres")]
6313 Pres,
6314 #[serde(rename = "parTrans")]
6315 ParTrans,
6316 #[serde(rename = "sibTrans")]
6317 SibTrans,
6318}
6319
6320impl std::fmt::Display for STPtType {
6321 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6322 match self {
6323 Self::Node => write!(f, "node"),
6324 Self::Asst => write!(f, "asst"),
6325 Self::Doc => write!(f, "doc"),
6326 Self::Pres => write!(f, "pres"),
6327 Self::ParTrans => write!(f, "parTrans"),
6328 Self::SibTrans => write!(f, "sibTrans"),
6329 }
6330 }
6331}
6332
6333impl std::str::FromStr for STPtType {
6334 type Err = String;
6335
6336 fn from_str(s: &str) -> Result<Self, Self::Err> {
6337 match s {
6338 "node" => Ok(Self::Node),
6339 "asst" => Ok(Self::Asst),
6340 "doc" => Ok(Self::Doc),
6341 "pres" => Ok(Self::Pres),
6342 "parTrans" => Ok(Self::ParTrans),
6343 "sibTrans" => Ok(Self::SibTrans),
6344 _ => Err(format!("unknown STPtType value: {}", s)),
6345 }
6346 }
6347}
6348
6349#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6350pub enum STCxnType {
6351 #[serde(rename = "parOf")]
6352 ParOf,
6353 #[serde(rename = "presOf")]
6354 PresOf,
6355 #[serde(rename = "presParOf")]
6356 PresParOf,
6357 #[serde(rename = "unknownRelationship")]
6358 UnknownRelationship,
6359}
6360
6361impl std::fmt::Display for STCxnType {
6362 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6363 match self {
6364 Self::ParOf => write!(f, "parOf"),
6365 Self::PresOf => write!(f, "presOf"),
6366 Self::PresParOf => write!(f, "presParOf"),
6367 Self::UnknownRelationship => write!(f, "unknownRelationship"),
6368 }
6369 }
6370}
6371
6372impl std::str::FromStr for STCxnType {
6373 type Err = String;
6374
6375 fn from_str(s: &str) -> Result<Self, Self::Err> {
6376 match s {
6377 "parOf" => Ok(Self::ParOf),
6378 "presOf" => Ok(Self::PresOf),
6379 "presParOf" => Ok(Self::PresParOf),
6380 "unknownRelationship" => Ok(Self::UnknownRelationship),
6381 _ => Err(format!("unknown STCxnType value: {}", s)),
6382 }
6383 }
6384}
6385
6386pub type STLayoutShapeType = String;
6387
6388pub type STIndex1 = u32;
6389
6390pub type STParameterVal = String;
6391
6392pub type STModelId = String;
6393
6394pub type STPrSetCustVal = String;
6395
6396#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6397pub enum STDirection {
6398 #[serde(rename = "norm")]
6399 Norm,
6400 #[serde(rename = "rev")]
6401 Rev,
6402}
6403
6404impl std::fmt::Display for STDirection {
6405 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6406 match self {
6407 Self::Norm => write!(f, "norm"),
6408 Self::Rev => write!(f, "rev"),
6409 }
6410 }
6411}
6412
6413impl std::str::FromStr for STDirection {
6414 type Err = String;
6415
6416 fn from_str(s: &str) -> Result<Self, Self::Err> {
6417 match s {
6418 "norm" => Ok(Self::Norm),
6419 "rev" => Ok(Self::Rev),
6420 _ => Err(format!("unknown STDirection value: {}", s)),
6421 }
6422 }
6423}
6424
6425#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6426pub enum STHierBranchStyle {
6427 #[serde(rename = "l")]
6428 L,
6429 #[serde(rename = "r")]
6430 R,
6431 #[serde(rename = "hang")]
6432 Hang,
6433 #[serde(rename = "std")]
6434 Std,
6435 #[serde(rename = "init")]
6436 Init,
6437}
6438
6439impl std::fmt::Display for STHierBranchStyle {
6440 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6441 match self {
6442 Self::L => write!(f, "l"),
6443 Self::R => write!(f, "r"),
6444 Self::Hang => write!(f, "hang"),
6445 Self::Std => write!(f, "std"),
6446 Self::Init => write!(f, "init"),
6447 }
6448 }
6449}
6450
6451impl std::str::FromStr for STHierBranchStyle {
6452 type Err = String;
6453
6454 fn from_str(s: &str) -> Result<Self, Self::Err> {
6455 match s {
6456 "l" => Ok(Self::L),
6457 "r" => Ok(Self::R),
6458 "hang" => Ok(Self::Hang),
6459 "std" => Ok(Self::Std),
6460 "init" => Ok(Self::Init),
6461 _ => Err(format!("unknown STHierBranchStyle value: {}", s)),
6462 }
6463 }
6464}
6465
6466#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6467pub enum STAnimOneStr {
6468 #[serde(rename = "none")]
6469 None,
6470 #[serde(rename = "one")]
6471 One,
6472 #[serde(rename = "branch")]
6473 Branch,
6474}
6475
6476impl std::fmt::Display for STAnimOneStr {
6477 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6478 match self {
6479 Self::None => write!(f, "none"),
6480 Self::One => write!(f, "one"),
6481 Self::Branch => write!(f, "branch"),
6482 }
6483 }
6484}
6485
6486impl std::str::FromStr for STAnimOneStr {
6487 type Err = String;
6488
6489 fn from_str(s: &str) -> Result<Self, Self::Err> {
6490 match s {
6491 "none" => Ok(Self::None),
6492 "one" => Ok(Self::One),
6493 "branch" => Ok(Self::Branch),
6494 _ => Err(format!("unknown STAnimOneStr value: {}", s)),
6495 }
6496 }
6497}
6498
6499#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6500pub enum STAnimLvlStr {
6501 #[serde(rename = "none")]
6502 None,
6503 #[serde(rename = "lvl")]
6504 Lvl,
6505 #[serde(rename = "ctr")]
6506 Ctr,
6507}
6508
6509impl std::fmt::Display for STAnimLvlStr {
6510 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6511 match self {
6512 Self::None => write!(f, "none"),
6513 Self::Lvl => write!(f, "lvl"),
6514 Self::Ctr => write!(f, "ctr"),
6515 }
6516 }
6517}
6518
6519impl std::str::FromStr for STAnimLvlStr {
6520 type Err = String;
6521
6522 fn from_str(s: &str) -> Result<Self, Self::Err> {
6523 match s {
6524 "none" => Ok(Self::None),
6525 "lvl" => Ok(Self::Lvl),
6526 "ctr" => Ok(Self::Ctr),
6527 _ => Err(format!("unknown STAnimLvlStr value: {}", s)),
6528 }
6529 }
6530}
6531
6532pub type STNodeCount = i32;
6533
6534#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6535pub enum STResizeHandlesStr {
6536 #[serde(rename = "exact")]
6537 Exact,
6538 #[serde(rename = "rel")]
6539 Rel,
6540}
6541
6542impl std::fmt::Display for STResizeHandlesStr {
6543 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6544 match self {
6545 Self::Exact => write!(f, "exact"),
6546 Self::Rel => write!(f, "rel"),
6547 }
6548 }
6549}
6550
6551impl std::str::FromStr for STResizeHandlesStr {
6552 type Err = String;
6553
6554 fn from_str(s: &str) -> Result<Self, Self::Err> {
6555 match s {
6556 "exact" => Ok(Self::Exact),
6557 "rel" => Ok(Self::Rel),
6558 _ => Err(format!("unknown STResizeHandlesStr value: {}", s)),
6559 }
6560 }
6561}
6562
6563#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6564pub enum STAlgorithmType {
6565 #[serde(rename = "composite")]
6566 Composite,
6567 #[serde(rename = "conn")]
6568 Conn,
6569 #[serde(rename = "cycle")]
6570 Cycle,
6571 #[serde(rename = "hierChild")]
6572 HierChild,
6573 #[serde(rename = "hierRoot")]
6574 HierRoot,
6575 #[serde(rename = "pyra")]
6576 Pyra,
6577 #[serde(rename = "lin")]
6578 Lin,
6579 #[serde(rename = "sp")]
6580 Sp,
6581 #[serde(rename = "tx")]
6582 Tx,
6583 #[serde(rename = "snake")]
6584 Snake,
6585}
6586
6587impl std::fmt::Display for STAlgorithmType {
6588 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6589 match self {
6590 Self::Composite => write!(f, "composite"),
6591 Self::Conn => write!(f, "conn"),
6592 Self::Cycle => write!(f, "cycle"),
6593 Self::HierChild => write!(f, "hierChild"),
6594 Self::HierRoot => write!(f, "hierRoot"),
6595 Self::Pyra => write!(f, "pyra"),
6596 Self::Lin => write!(f, "lin"),
6597 Self::Sp => write!(f, "sp"),
6598 Self::Tx => write!(f, "tx"),
6599 Self::Snake => write!(f, "snake"),
6600 }
6601 }
6602}
6603
6604impl std::str::FromStr for STAlgorithmType {
6605 type Err = String;
6606
6607 fn from_str(s: &str) -> Result<Self, Self::Err> {
6608 match s {
6609 "composite" => Ok(Self::Composite),
6610 "conn" => Ok(Self::Conn),
6611 "cycle" => Ok(Self::Cycle),
6612 "hierChild" => Ok(Self::HierChild),
6613 "hierRoot" => Ok(Self::HierRoot),
6614 "pyra" => Ok(Self::Pyra),
6615 "lin" => Ok(Self::Lin),
6616 "sp" => Ok(Self::Sp),
6617 "tx" => Ok(Self::Tx),
6618 "snake" => Ok(Self::Snake),
6619 _ => Err(format!("unknown STAlgorithmType value: {}", s)),
6620 }
6621 }
6622}
6623
6624#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6625pub enum STAxisType {
6626 #[serde(rename = "self")]
6627 SelfNode,
6628 #[serde(rename = "ch")]
6629 Ch,
6630 #[serde(rename = "des")]
6631 Des,
6632 #[serde(rename = "desOrSelf")]
6633 DesOrSelf,
6634 #[serde(rename = "par")]
6635 Par,
6636 #[serde(rename = "ancst")]
6637 Ancst,
6638 #[serde(rename = "ancstOrSelf")]
6639 AncstOrSelf,
6640 #[serde(rename = "followSib")]
6641 FollowSib,
6642 #[serde(rename = "precedSib")]
6643 PrecedSib,
6644 #[serde(rename = "follow")]
6645 Follow,
6646 #[serde(rename = "preced")]
6647 Preced,
6648 #[serde(rename = "root")]
6649 Root,
6650 #[serde(rename = "none")]
6651 None,
6652}
6653
6654impl std::fmt::Display for STAxisType {
6655 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6656 match self {
6657 Self::SelfNode => write!(f, "self"),
6658 Self::Ch => write!(f, "ch"),
6659 Self::Des => write!(f, "des"),
6660 Self::DesOrSelf => write!(f, "desOrSelf"),
6661 Self::Par => write!(f, "par"),
6662 Self::Ancst => write!(f, "ancst"),
6663 Self::AncstOrSelf => write!(f, "ancstOrSelf"),
6664 Self::FollowSib => write!(f, "followSib"),
6665 Self::PrecedSib => write!(f, "precedSib"),
6666 Self::Follow => write!(f, "follow"),
6667 Self::Preced => write!(f, "preced"),
6668 Self::Root => write!(f, "root"),
6669 Self::None => write!(f, "none"),
6670 }
6671 }
6672}
6673
6674impl std::str::FromStr for STAxisType {
6675 type Err = String;
6676
6677 fn from_str(s: &str) -> Result<Self, Self::Err> {
6678 match s {
6679 "self" => Ok(Self::SelfNode),
6680 "ch" => Ok(Self::Ch),
6681 "des" => Ok(Self::Des),
6682 "desOrSelf" => Ok(Self::DesOrSelf),
6683 "par" => Ok(Self::Par),
6684 "ancst" => Ok(Self::Ancst),
6685 "ancstOrSelf" => Ok(Self::AncstOrSelf),
6686 "followSib" => Ok(Self::FollowSib),
6687 "precedSib" => Ok(Self::PrecedSib),
6688 "follow" => Ok(Self::Follow),
6689 "preced" => Ok(Self::Preced),
6690 "root" => Ok(Self::Root),
6691 "none" => Ok(Self::None),
6692 _ => Err(format!("unknown STAxisType value: {}", s)),
6693 }
6694 }
6695}
6696
6697pub type STAxisTypes = String;
6698
6699#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6700pub enum STBoolOperator {
6701 #[serde(rename = "none")]
6702 None,
6703 #[serde(rename = "equ")]
6704 Equ,
6705 #[serde(rename = "gte")]
6706 Gte,
6707 #[serde(rename = "lte")]
6708 Lte,
6709}
6710
6711impl std::fmt::Display for STBoolOperator {
6712 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6713 match self {
6714 Self::None => write!(f, "none"),
6715 Self::Equ => write!(f, "equ"),
6716 Self::Gte => write!(f, "gte"),
6717 Self::Lte => write!(f, "lte"),
6718 }
6719 }
6720}
6721
6722impl std::str::FromStr for STBoolOperator {
6723 type Err = String;
6724
6725 fn from_str(s: &str) -> Result<Self, Self::Err> {
6726 match s {
6727 "none" => Ok(Self::None),
6728 "equ" => Ok(Self::Equ),
6729 "gte" => Ok(Self::Gte),
6730 "lte" => Ok(Self::Lte),
6731 _ => Err(format!("unknown STBoolOperator value: {}", s)),
6732 }
6733 }
6734}
6735
6736#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6737pub enum STChildOrderType {
6738 #[serde(rename = "b")]
6739 B,
6740 #[serde(rename = "t")]
6741 T,
6742}
6743
6744impl std::fmt::Display for STChildOrderType {
6745 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6746 match self {
6747 Self::B => write!(f, "b"),
6748 Self::T => write!(f, "t"),
6749 }
6750 }
6751}
6752
6753impl std::str::FromStr for STChildOrderType {
6754 type Err = String;
6755
6756 fn from_str(s: &str) -> Result<Self, Self::Err> {
6757 match s {
6758 "b" => Ok(Self::B),
6759 "t" => Ok(Self::T),
6760 _ => Err(format!("unknown STChildOrderType value: {}", s)),
6761 }
6762 }
6763}
6764
6765#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6766pub enum STConstraintType {
6767 #[serde(rename = "none")]
6768 None,
6769 #[serde(rename = "alignOff")]
6770 AlignOff,
6771 #[serde(rename = "begMarg")]
6772 BegMarg,
6773 #[serde(rename = "bendDist")]
6774 BendDist,
6775 #[serde(rename = "begPad")]
6776 BegPad,
6777 #[serde(rename = "b")]
6778 B,
6779 #[serde(rename = "bMarg")]
6780 BMarg,
6781 #[serde(rename = "bOff")]
6782 BOff,
6783 #[serde(rename = "ctrX")]
6784 CtrX,
6785 #[serde(rename = "ctrXOff")]
6786 CtrXOff,
6787 #[serde(rename = "ctrY")]
6788 CtrY,
6789 #[serde(rename = "ctrYOff")]
6790 CtrYOff,
6791 #[serde(rename = "connDist")]
6792 ConnDist,
6793 #[serde(rename = "diam")]
6794 Diam,
6795 #[serde(rename = "endMarg")]
6796 EndMarg,
6797 #[serde(rename = "endPad")]
6798 EndPad,
6799 #[serde(rename = "h")]
6800 H,
6801 #[serde(rename = "hArH")]
6802 HArH,
6803 #[serde(rename = "hOff")]
6804 HOff,
6805 #[serde(rename = "l")]
6806 L,
6807 #[serde(rename = "lMarg")]
6808 LMarg,
6809 #[serde(rename = "lOff")]
6810 LOff,
6811 #[serde(rename = "r")]
6812 R,
6813 #[serde(rename = "rMarg")]
6814 RMarg,
6815 #[serde(rename = "rOff")]
6816 ROff,
6817 #[serde(rename = "primFontSz")]
6818 PrimFontSz,
6819 #[serde(rename = "pyraAcctRatio")]
6820 PyraAcctRatio,
6821 #[serde(rename = "secFontSz")]
6822 SecFontSz,
6823 #[serde(rename = "sibSp")]
6824 SibSp,
6825 #[serde(rename = "secSibSp")]
6826 SecSibSp,
6827 #[serde(rename = "sp")]
6828 Sp,
6829 #[serde(rename = "stemThick")]
6830 StemThick,
6831 #[serde(rename = "t")]
6832 T,
6833 #[serde(rename = "tMarg")]
6834 TMarg,
6835 #[serde(rename = "tOff")]
6836 TOff,
6837 #[serde(rename = "userA")]
6838 UserA,
6839 #[serde(rename = "userB")]
6840 UserB,
6841 #[serde(rename = "userC")]
6842 UserC,
6843 #[serde(rename = "userD")]
6844 UserD,
6845 #[serde(rename = "userE")]
6846 UserE,
6847 #[serde(rename = "userF")]
6848 UserF,
6849 #[serde(rename = "userG")]
6850 UserG,
6851 #[serde(rename = "userH")]
6852 UserH,
6853 #[serde(rename = "userI")]
6854 UserI,
6855 #[serde(rename = "userJ")]
6856 UserJ,
6857 #[serde(rename = "userK")]
6858 UserK,
6859 #[serde(rename = "userL")]
6860 UserL,
6861 #[serde(rename = "userM")]
6862 UserM,
6863 #[serde(rename = "userN")]
6864 UserN,
6865 #[serde(rename = "userO")]
6866 UserO,
6867 #[serde(rename = "userP")]
6868 UserP,
6869 #[serde(rename = "userQ")]
6870 UserQ,
6871 #[serde(rename = "userR")]
6872 UserR,
6873 #[serde(rename = "userS")]
6874 UserS,
6875 #[serde(rename = "userT")]
6876 UserT,
6877 #[serde(rename = "userU")]
6878 UserU,
6879 #[serde(rename = "userV")]
6880 UserV,
6881 #[serde(rename = "userW")]
6882 UserW,
6883 #[serde(rename = "userX")]
6884 UserX,
6885 #[serde(rename = "userY")]
6886 UserY,
6887 #[serde(rename = "userZ")]
6888 UserZ,
6889 #[serde(rename = "w")]
6890 W,
6891 #[serde(rename = "wArH")]
6892 WArH,
6893 #[serde(rename = "wOff")]
6894 WOff,
6895}
6896
6897impl std::fmt::Display for STConstraintType {
6898 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6899 match self {
6900 Self::None => write!(f, "none"),
6901 Self::AlignOff => write!(f, "alignOff"),
6902 Self::BegMarg => write!(f, "begMarg"),
6903 Self::BendDist => write!(f, "bendDist"),
6904 Self::BegPad => write!(f, "begPad"),
6905 Self::B => write!(f, "b"),
6906 Self::BMarg => write!(f, "bMarg"),
6907 Self::BOff => write!(f, "bOff"),
6908 Self::CtrX => write!(f, "ctrX"),
6909 Self::CtrXOff => write!(f, "ctrXOff"),
6910 Self::CtrY => write!(f, "ctrY"),
6911 Self::CtrYOff => write!(f, "ctrYOff"),
6912 Self::ConnDist => write!(f, "connDist"),
6913 Self::Diam => write!(f, "diam"),
6914 Self::EndMarg => write!(f, "endMarg"),
6915 Self::EndPad => write!(f, "endPad"),
6916 Self::H => write!(f, "h"),
6917 Self::HArH => write!(f, "hArH"),
6918 Self::HOff => write!(f, "hOff"),
6919 Self::L => write!(f, "l"),
6920 Self::LMarg => write!(f, "lMarg"),
6921 Self::LOff => write!(f, "lOff"),
6922 Self::R => write!(f, "r"),
6923 Self::RMarg => write!(f, "rMarg"),
6924 Self::ROff => write!(f, "rOff"),
6925 Self::PrimFontSz => write!(f, "primFontSz"),
6926 Self::PyraAcctRatio => write!(f, "pyraAcctRatio"),
6927 Self::SecFontSz => write!(f, "secFontSz"),
6928 Self::SibSp => write!(f, "sibSp"),
6929 Self::SecSibSp => write!(f, "secSibSp"),
6930 Self::Sp => write!(f, "sp"),
6931 Self::StemThick => write!(f, "stemThick"),
6932 Self::T => write!(f, "t"),
6933 Self::TMarg => write!(f, "tMarg"),
6934 Self::TOff => write!(f, "tOff"),
6935 Self::UserA => write!(f, "userA"),
6936 Self::UserB => write!(f, "userB"),
6937 Self::UserC => write!(f, "userC"),
6938 Self::UserD => write!(f, "userD"),
6939 Self::UserE => write!(f, "userE"),
6940 Self::UserF => write!(f, "userF"),
6941 Self::UserG => write!(f, "userG"),
6942 Self::UserH => write!(f, "userH"),
6943 Self::UserI => write!(f, "userI"),
6944 Self::UserJ => write!(f, "userJ"),
6945 Self::UserK => write!(f, "userK"),
6946 Self::UserL => write!(f, "userL"),
6947 Self::UserM => write!(f, "userM"),
6948 Self::UserN => write!(f, "userN"),
6949 Self::UserO => write!(f, "userO"),
6950 Self::UserP => write!(f, "userP"),
6951 Self::UserQ => write!(f, "userQ"),
6952 Self::UserR => write!(f, "userR"),
6953 Self::UserS => write!(f, "userS"),
6954 Self::UserT => write!(f, "userT"),
6955 Self::UserU => write!(f, "userU"),
6956 Self::UserV => write!(f, "userV"),
6957 Self::UserW => write!(f, "userW"),
6958 Self::UserX => write!(f, "userX"),
6959 Self::UserY => write!(f, "userY"),
6960 Self::UserZ => write!(f, "userZ"),
6961 Self::W => write!(f, "w"),
6962 Self::WArH => write!(f, "wArH"),
6963 Self::WOff => write!(f, "wOff"),
6964 }
6965 }
6966}
6967
6968impl std::str::FromStr for STConstraintType {
6969 type Err = String;
6970
6971 fn from_str(s: &str) -> Result<Self, Self::Err> {
6972 match s {
6973 "none" => Ok(Self::None),
6974 "alignOff" => Ok(Self::AlignOff),
6975 "begMarg" => Ok(Self::BegMarg),
6976 "bendDist" => Ok(Self::BendDist),
6977 "begPad" => Ok(Self::BegPad),
6978 "b" => Ok(Self::B),
6979 "bMarg" => Ok(Self::BMarg),
6980 "bOff" => Ok(Self::BOff),
6981 "ctrX" => Ok(Self::CtrX),
6982 "ctrXOff" => Ok(Self::CtrXOff),
6983 "ctrY" => Ok(Self::CtrY),
6984 "ctrYOff" => Ok(Self::CtrYOff),
6985 "connDist" => Ok(Self::ConnDist),
6986 "diam" => Ok(Self::Diam),
6987 "endMarg" => Ok(Self::EndMarg),
6988 "endPad" => Ok(Self::EndPad),
6989 "h" => Ok(Self::H),
6990 "hArH" => Ok(Self::HArH),
6991 "hOff" => Ok(Self::HOff),
6992 "l" => Ok(Self::L),
6993 "lMarg" => Ok(Self::LMarg),
6994 "lOff" => Ok(Self::LOff),
6995 "r" => Ok(Self::R),
6996 "rMarg" => Ok(Self::RMarg),
6997 "rOff" => Ok(Self::ROff),
6998 "primFontSz" => Ok(Self::PrimFontSz),
6999 "pyraAcctRatio" => Ok(Self::PyraAcctRatio),
7000 "secFontSz" => Ok(Self::SecFontSz),
7001 "sibSp" => Ok(Self::SibSp),
7002 "secSibSp" => Ok(Self::SecSibSp),
7003 "sp" => Ok(Self::Sp),
7004 "stemThick" => Ok(Self::StemThick),
7005 "t" => Ok(Self::T),
7006 "tMarg" => Ok(Self::TMarg),
7007 "tOff" => Ok(Self::TOff),
7008 "userA" => Ok(Self::UserA),
7009 "userB" => Ok(Self::UserB),
7010 "userC" => Ok(Self::UserC),
7011 "userD" => Ok(Self::UserD),
7012 "userE" => Ok(Self::UserE),
7013 "userF" => Ok(Self::UserF),
7014 "userG" => Ok(Self::UserG),
7015 "userH" => Ok(Self::UserH),
7016 "userI" => Ok(Self::UserI),
7017 "userJ" => Ok(Self::UserJ),
7018 "userK" => Ok(Self::UserK),
7019 "userL" => Ok(Self::UserL),
7020 "userM" => Ok(Self::UserM),
7021 "userN" => Ok(Self::UserN),
7022 "userO" => Ok(Self::UserO),
7023 "userP" => Ok(Self::UserP),
7024 "userQ" => Ok(Self::UserQ),
7025 "userR" => Ok(Self::UserR),
7026 "userS" => Ok(Self::UserS),
7027 "userT" => Ok(Self::UserT),
7028 "userU" => Ok(Self::UserU),
7029 "userV" => Ok(Self::UserV),
7030 "userW" => Ok(Self::UserW),
7031 "userX" => Ok(Self::UserX),
7032 "userY" => Ok(Self::UserY),
7033 "userZ" => Ok(Self::UserZ),
7034 "w" => Ok(Self::W),
7035 "wArH" => Ok(Self::WArH),
7036 "wOff" => Ok(Self::WOff),
7037 _ => Err(format!("unknown STConstraintType value: {}", s)),
7038 }
7039 }
7040}
7041
7042#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7043pub enum STConstraintRelationship {
7044 #[serde(rename = "self")]
7045 SelfNode,
7046 #[serde(rename = "ch")]
7047 Ch,
7048 #[serde(rename = "des")]
7049 Des,
7050}
7051
7052impl std::fmt::Display for STConstraintRelationship {
7053 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7054 match self {
7055 Self::SelfNode => write!(f, "self"),
7056 Self::Ch => write!(f, "ch"),
7057 Self::Des => write!(f, "des"),
7058 }
7059 }
7060}
7061
7062impl std::str::FromStr for STConstraintRelationship {
7063 type Err = String;
7064
7065 fn from_str(s: &str) -> Result<Self, Self::Err> {
7066 match s {
7067 "self" => Ok(Self::SelfNode),
7068 "ch" => Ok(Self::Ch),
7069 "des" => Ok(Self::Des),
7070 _ => Err(format!("unknown STConstraintRelationship value: {}", s)),
7071 }
7072 }
7073}
7074
7075#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7076pub enum STElementType {
7077 #[serde(rename = "all")]
7078 All,
7079 #[serde(rename = "doc")]
7080 Doc,
7081 #[serde(rename = "node")]
7082 Node,
7083 #[serde(rename = "norm")]
7084 Norm,
7085 #[serde(rename = "nonNorm")]
7086 NonNorm,
7087 #[serde(rename = "asst")]
7088 Asst,
7089 #[serde(rename = "nonAsst")]
7090 NonAsst,
7091 #[serde(rename = "parTrans")]
7092 ParTrans,
7093 #[serde(rename = "pres")]
7094 Pres,
7095 #[serde(rename = "sibTrans")]
7096 SibTrans,
7097}
7098
7099impl std::fmt::Display for STElementType {
7100 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7101 match self {
7102 Self::All => write!(f, "all"),
7103 Self::Doc => write!(f, "doc"),
7104 Self::Node => write!(f, "node"),
7105 Self::Norm => write!(f, "norm"),
7106 Self::NonNorm => write!(f, "nonNorm"),
7107 Self::Asst => write!(f, "asst"),
7108 Self::NonAsst => write!(f, "nonAsst"),
7109 Self::ParTrans => write!(f, "parTrans"),
7110 Self::Pres => write!(f, "pres"),
7111 Self::SibTrans => write!(f, "sibTrans"),
7112 }
7113 }
7114}
7115
7116impl std::str::FromStr for STElementType {
7117 type Err = String;
7118
7119 fn from_str(s: &str) -> Result<Self, Self::Err> {
7120 match s {
7121 "all" => Ok(Self::All),
7122 "doc" => Ok(Self::Doc),
7123 "node" => Ok(Self::Node),
7124 "norm" => Ok(Self::Norm),
7125 "nonNorm" => Ok(Self::NonNorm),
7126 "asst" => Ok(Self::Asst),
7127 "nonAsst" => Ok(Self::NonAsst),
7128 "parTrans" => Ok(Self::ParTrans),
7129 "pres" => Ok(Self::Pres),
7130 "sibTrans" => Ok(Self::SibTrans),
7131 _ => Err(format!("unknown STElementType value: {}", s)),
7132 }
7133 }
7134}
7135
7136pub type STElementTypes = String;
7137
7138#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7139pub enum STParameterId {
7140 #[serde(rename = "horzAlign")]
7141 HorzAlign,
7142 #[serde(rename = "vertAlign")]
7143 VertAlign,
7144 #[serde(rename = "chDir")]
7145 ChDir,
7146 #[serde(rename = "chAlign")]
7147 ChAlign,
7148 #[serde(rename = "secChAlign")]
7149 SecChAlign,
7150 #[serde(rename = "linDir")]
7151 LinDir,
7152 #[serde(rename = "secLinDir")]
7153 SecLinDir,
7154 #[serde(rename = "stElem")]
7155 StElem,
7156 #[serde(rename = "bendPt")]
7157 BendPt,
7158 #[serde(rename = "connRout")]
7159 ConnRout,
7160 #[serde(rename = "begSty")]
7161 BegSty,
7162 #[serde(rename = "endSty")]
7163 EndSty,
7164 #[serde(rename = "dim")]
7165 Dim,
7166 #[serde(rename = "rotPath")]
7167 RotPath,
7168 #[serde(rename = "ctrShpMap")]
7169 CtrShpMap,
7170 #[serde(rename = "nodeHorzAlign")]
7171 NodeHorzAlign,
7172 #[serde(rename = "nodeVertAlign")]
7173 NodeVertAlign,
7174 #[serde(rename = "fallback")]
7175 Fallback,
7176 #[serde(rename = "txDir")]
7177 TxDir,
7178 #[serde(rename = "pyraAcctPos")]
7179 PyraAcctPos,
7180 #[serde(rename = "pyraAcctTxMar")]
7181 PyraAcctTxMar,
7182 #[serde(rename = "txBlDir")]
7183 TxBlDir,
7184 #[serde(rename = "txAnchorHorz")]
7185 TxAnchorHorz,
7186 #[serde(rename = "txAnchorVert")]
7187 TxAnchorVert,
7188 #[serde(rename = "txAnchorHorzCh")]
7189 TxAnchorHorzCh,
7190 #[serde(rename = "txAnchorVertCh")]
7191 TxAnchorVertCh,
7192 #[serde(rename = "parTxLTRAlign")]
7193 ParTxLTRAlign,
7194 #[serde(rename = "parTxRTLAlign")]
7195 ParTxRTLAlign,
7196 #[serde(rename = "shpTxLTRAlignCh")]
7197 ShpTxLTRAlignCh,
7198 #[serde(rename = "shpTxRTLAlignCh")]
7199 ShpTxRTLAlignCh,
7200 #[serde(rename = "autoTxRot")]
7201 AutoTxRot,
7202 #[serde(rename = "grDir")]
7203 GrDir,
7204 #[serde(rename = "flowDir")]
7205 FlowDir,
7206 #[serde(rename = "contDir")]
7207 ContDir,
7208 #[serde(rename = "bkpt")]
7209 Bkpt,
7210 #[serde(rename = "off")]
7211 Off,
7212 #[serde(rename = "hierAlign")]
7213 HierAlign,
7214 #[serde(rename = "bkPtFixedVal")]
7215 BkPtFixedVal,
7216 #[serde(rename = "stBulletLvl")]
7217 StBulletLvl,
7218 #[serde(rename = "stAng")]
7219 StAng,
7220 #[serde(rename = "spanAng")]
7221 SpanAng,
7222 #[serde(rename = "ar")]
7223 Ar,
7224 #[serde(rename = "lnSpPar")]
7225 LnSpPar,
7226 #[serde(rename = "lnSpAfParP")]
7227 LnSpAfParP,
7228 #[serde(rename = "lnSpCh")]
7229 LnSpCh,
7230 #[serde(rename = "lnSpAfChP")]
7231 LnSpAfChP,
7232 #[serde(rename = "rtShortDist")]
7233 RtShortDist,
7234 #[serde(rename = "alignTx")]
7235 AlignTx,
7236 #[serde(rename = "pyraLvlNode")]
7237 PyraLvlNode,
7238 #[serde(rename = "pyraAcctBkgdNode")]
7239 PyraAcctBkgdNode,
7240 #[serde(rename = "pyraAcctTxNode")]
7241 PyraAcctTxNode,
7242 #[serde(rename = "srcNode")]
7243 SrcNode,
7244 #[serde(rename = "dstNode")]
7245 DstNode,
7246 #[serde(rename = "begPts")]
7247 BegPts,
7248 #[serde(rename = "endPts")]
7249 EndPts,
7250}
7251
7252impl std::fmt::Display for STParameterId {
7253 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7254 match self {
7255 Self::HorzAlign => write!(f, "horzAlign"),
7256 Self::VertAlign => write!(f, "vertAlign"),
7257 Self::ChDir => write!(f, "chDir"),
7258 Self::ChAlign => write!(f, "chAlign"),
7259 Self::SecChAlign => write!(f, "secChAlign"),
7260 Self::LinDir => write!(f, "linDir"),
7261 Self::SecLinDir => write!(f, "secLinDir"),
7262 Self::StElem => write!(f, "stElem"),
7263 Self::BendPt => write!(f, "bendPt"),
7264 Self::ConnRout => write!(f, "connRout"),
7265 Self::BegSty => write!(f, "begSty"),
7266 Self::EndSty => write!(f, "endSty"),
7267 Self::Dim => write!(f, "dim"),
7268 Self::RotPath => write!(f, "rotPath"),
7269 Self::CtrShpMap => write!(f, "ctrShpMap"),
7270 Self::NodeHorzAlign => write!(f, "nodeHorzAlign"),
7271 Self::NodeVertAlign => write!(f, "nodeVertAlign"),
7272 Self::Fallback => write!(f, "fallback"),
7273 Self::TxDir => write!(f, "txDir"),
7274 Self::PyraAcctPos => write!(f, "pyraAcctPos"),
7275 Self::PyraAcctTxMar => write!(f, "pyraAcctTxMar"),
7276 Self::TxBlDir => write!(f, "txBlDir"),
7277 Self::TxAnchorHorz => write!(f, "txAnchorHorz"),
7278 Self::TxAnchorVert => write!(f, "txAnchorVert"),
7279 Self::TxAnchorHorzCh => write!(f, "txAnchorHorzCh"),
7280 Self::TxAnchorVertCh => write!(f, "txAnchorVertCh"),
7281 Self::ParTxLTRAlign => write!(f, "parTxLTRAlign"),
7282 Self::ParTxRTLAlign => write!(f, "parTxRTLAlign"),
7283 Self::ShpTxLTRAlignCh => write!(f, "shpTxLTRAlignCh"),
7284 Self::ShpTxRTLAlignCh => write!(f, "shpTxRTLAlignCh"),
7285 Self::AutoTxRot => write!(f, "autoTxRot"),
7286 Self::GrDir => write!(f, "grDir"),
7287 Self::FlowDir => write!(f, "flowDir"),
7288 Self::ContDir => write!(f, "contDir"),
7289 Self::Bkpt => write!(f, "bkpt"),
7290 Self::Off => write!(f, "off"),
7291 Self::HierAlign => write!(f, "hierAlign"),
7292 Self::BkPtFixedVal => write!(f, "bkPtFixedVal"),
7293 Self::StBulletLvl => write!(f, "stBulletLvl"),
7294 Self::StAng => write!(f, "stAng"),
7295 Self::SpanAng => write!(f, "spanAng"),
7296 Self::Ar => write!(f, "ar"),
7297 Self::LnSpPar => write!(f, "lnSpPar"),
7298 Self::LnSpAfParP => write!(f, "lnSpAfParP"),
7299 Self::LnSpCh => write!(f, "lnSpCh"),
7300 Self::LnSpAfChP => write!(f, "lnSpAfChP"),
7301 Self::RtShortDist => write!(f, "rtShortDist"),
7302 Self::AlignTx => write!(f, "alignTx"),
7303 Self::PyraLvlNode => write!(f, "pyraLvlNode"),
7304 Self::PyraAcctBkgdNode => write!(f, "pyraAcctBkgdNode"),
7305 Self::PyraAcctTxNode => write!(f, "pyraAcctTxNode"),
7306 Self::SrcNode => write!(f, "srcNode"),
7307 Self::DstNode => write!(f, "dstNode"),
7308 Self::BegPts => write!(f, "begPts"),
7309 Self::EndPts => write!(f, "endPts"),
7310 }
7311 }
7312}
7313
7314impl std::str::FromStr for STParameterId {
7315 type Err = String;
7316
7317 fn from_str(s: &str) -> Result<Self, Self::Err> {
7318 match s {
7319 "horzAlign" => Ok(Self::HorzAlign),
7320 "vertAlign" => Ok(Self::VertAlign),
7321 "chDir" => Ok(Self::ChDir),
7322 "chAlign" => Ok(Self::ChAlign),
7323 "secChAlign" => Ok(Self::SecChAlign),
7324 "linDir" => Ok(Self::LinDir),
7325 "secLinDir" => Ok(Self::SecLinDir),
7326 "stElem" => Ok(Self::StElem),
7327 "bendPt" => Ok(Self::BendPt),
7328 "connRout" => Ok(Self::ConnRout),
7329 "begSty" => Ok(Self::BegSty),
7330 "endSty" => Ok(Self::EndSty),
7331 "dim" => Ok(Self::Dim),
7332 "rotPath" => Ok(Self::RotPath),
7333 "ctrShpMap" => Ok(Self::CtrShpMap),
7334 "nodeHorzAlign" => Ok(Self::NodeHorzAlign),
7335 "nodeVertAlign" => Ok(Self::NodeVertAlign),
7336 "fallback" => Ok(Self::Fallback),
7337 "txDir" => Ok(Self::TxDir),
7338 "pyraAcctPos" => Ok(Self::PyraAcctPos),
7339 "pyraAcctTxMar" => Ok(Self::PyraAcctTxMar),
7340 "txBlDir" => Ok(Self::TxBlDir),
7341 "txAnchorHorz" => Ok(Self::TxAnchorHorz),
7342 "txAnchorVert" => Ok(Self::TxAnchorVert),
7343 "txAnchorHorzCh" => Ok(Self::TxAnchorHorzCh),
7344 "txAnchorVertCh" => Ok(Self::TxAnchorVertCh),
7345 "parTxLTRAlign" => Ok(Self::ParTxLTRAlign),
7346 "parTxRTLAlign" => Ok(Self::ParTxRTLAlign),
7347 "shpTxLTRAlignCh" => Ok(Self::ShpTxLTRAlignCh),
7348 "shpTxRTLAlignCh" => Ok(Self::ShpTxRTLAlignCh),
7349 "autoTxRot" => Ok(Self::AutoTxRot),
7350 "grDir" => Ok(Self::GrDir),
7351 "flowDir" => Ok(Self::FlowDir),
7352 "contDir" => Ok(Self::ContDir),
7353 "bkpt" => Ok(Self::Bkpt),
7354 "off" => Ok(Self::Off),
7355 "hierAlign" => Ok(Self::HierAlign),
7356 "bkPtFixedVal" => Ok(Self::BkPtFixedVal),
7357 "stBulletLvl" => Ok(Self::StBulletLvl),
7358 "stAng" => Ok(Self::StAng),
7359 "spanAng" => Ok(Self::SpanAng),
7360 "ar" => Ok(Self::Ar),
7361 "lnSpPar" => Ok(Self::LnSpPar),
7362 "lnSpAfParP" => Ok(Self::LnSpAfParP),
7363 "lnSpCh" => Ok(Self::LnSpCh),
7364 "lnSpAfChP" => Ok(Self::LnSpAfChP),
7365 "rtShortDist" => Ok(Self::RtShortDist),
7366 "alignTx" => Ok(Self::AlignTx),
7367 "pyraLvlNode" => Ok(Self::PyraLvlNode),
7368 "pyraAcctBkgdNode" => Ok(Self::PyraAcctBkgdNode),
7369 "pyraAcctTxNode" => Ok(Self::PyraAcctTxNode),
7370 "srcNode" => Ok(Self::SrcNode),
7371 "dstNode" => Ok(Self::DstNode),
7372 "begPts" => Ok(Self::BegPts),
7373 "endPts" => Ok(Self::EndPts),
7374 _ => Err(format!("unknown STParameterId value: {}", s)),
7375 }
7376 }
7377}
7378
7379pub type STInts = String;
7380
7381pub type STUnsignedInts = String;
7382
7383pub type STBooleans = String;
7384
7385#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7386pub enum STFunctionType {
7387 #[serde(rename = "cnt")]
7388 Cnt,
7389 #[serde(rename = "pos")]
7390 Pos,
7391 #[serde(rename = "revPos")]
7392 RevPos,
7393 #[serde(rename = "posEven")]
7394 PosEven,
7395 #[serde(rename = "posOdd")]
7396 PosOdd,
7397 #[serde(rename = "var")]
7398 Var,
7399 #[serde(rename = "depth")]
7400 Depth,
7401 #[serde(rename = "maxDepth")]
7402 MaxDepth,
7403}
7404
7405impl std::fmt::Display for STFunctionType {
7406 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7407 match self {
7408 Self::Cnt => write!(f, "cnt"),
7409 Self::Pos => write!(f, "pos"),
7410 Self::RevPos => write!(f, "revPos"),
7411 Self::PosEven => write!(f, "posEven"),
7412 Self::PosOdd => write!(f, "posOdd"),
7413 Self::Var => write!(f, "var"),
7414 Self::Depth => write!(f, "depth"),
7415 Self::MaxDepth => write!(f, "maxDepth"),
7416 }
7417 }
7418}
7419
7420impl std::str::FromStr for STFunctionType {
7421 type Err = String;
7422
7423 fn from_str(s: &str) -> Result<Self, Self::Err> {
7424 match s {
7425 "cnt" => Ok(Self::Cnt),
7426 "pos" => Ok(Self::Pos),
7427 "revPos" => Ok(Self::RevPos),
7428 "posEven" => Ok(Self::PosEven),
7429 "posOdd" => Ok(Self::PosOdd),
7430 "var" => Ok(Self::Var),
7431 "depth" => Ok(Self::Depth),
7432 "maxDepth" => Ok(Self::MaxDepth),
7433 _ => Err(format!("unknown STFunctionType value: {}", s)),
7434 }
7435 }
7436}
7437
7438#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7439pub enum STFunctionOperator {
7440 #[serde(rename = "equ")]
7441 Equ,
7442 #[serde(rename = "neq")]
7443 Neq,
7444 #[serde(rename = "gt")]
7445 Gt,
7446 #[serde(rename = "lt")]
7447 Lt,
7448 #[serde(rename = "gte")]
7449 Gte,
7450 #[serde(rename = "lte")]
7451 Lte,
7452}
7453
7454impl std::fmt::Display for STFunctionOperator {
7455 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7456 match self {
7457 Self::Equ => write!(f, "equ"),
7458 Self::Neq => write!(f, "neq"),
7459 Self::Gt => write!(f, "gt"),
7460 Self::Lt => write!(f, "lt"),
7461 Self::Gte => write!(f, "gte"),
7462 Self::Lte => write!(f, "lte"),
7463 }
7464 }
7465}
7466
7467impl std::str::FromStr for STFunctionOperator {
7468 type Err = String;
7469
7470 fn from_str(s: &str) -> Result<Self, Self::Err> {
7471 match s {
7472 "equ" => Ok(Self::Equ),
7473 "neq" => Ok(Self::Neq),
7474 "gt" => Ok(Self::Gt),
7475 "lt" => Ok(Self::Lt),
7476 "gte" => Ok(Self::Gte),
7477 "lte" => Ok(Self::Lte),
7478 _ => Err(format!("unknown STFunctionOperator value: {}", s)),
7479 }
7480 }
7481}
7482
7483#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7484pub enum STDiagramHorizontalAlignment {
7485 #[serde(rename = "l")]
7486 L,
7487 #[serde(rename = "ctr")]
7488 Ctr,
7489 #[serde(rename = "r")]
7490 R,
7491 #[serde(rename = "none")]
7492 None,
7493}
7494
7495impl std::fmt::Display for STDiagramHorizontalAlignment {
7496 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7497 match self {
7498 Self::L => write!(f, "l"),
7499 Self::Ctr => write!(f, "ctr"),
7500 Self::R => write!(f, "r"),
7501 Self::None => write!(f, "none"),
7502 }
7503 }
7504}
7505
7506impl std::str::FromStr for STDiagramHorizontalAlignment {
7507 type Err = String;
7508
7509 fn from_str(s: &str) -> Result<Self, Self::Err> {
7510 match s {
7511 "l" => Ok(Self::L),
7512 "ctr" => Ok(Self::Ctr),
7513 "r" => Ok(Self::R),
7514 "none" => Ok(Self::None),
7515 _ => Err(format!("unknown STDiagramHorizontalAlignment value: {}", s)),
7516 }
7517 }
7518}
7519
7520#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7521pub enum STVerticalAlignment {
7522 #[serde(rename = "t")]
7523 T,
7524 #[serde(rename = "mid")]
7525 Mid,
7526 #[serde(rename = "b")]
7527 B,
7528 #[serde(rename = "none")]
7529 None,
7530}
7531
7532impl std::fmt::Display for STVerticalAlignment {
7533 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7534 match self {
7535 Self::T => write!(f, "t"),
7536 Self::Mid => write!(f, "mid"),
7537 Self::B => write!(f, "b"),
7538 Self::None => write!(f, "none"),
7539 }
7540 }
7541}
7542
7543impl std::str::FromStr for STVerticalAlignment {
7544 type Err = String;
7545
7546 fn from_str(s: &str) -> Result<Self, Self::Err> {
7547 match s {
7548 "t" => Ok(Self::T),
7549 "mid" => Ok(Self::Mid),
7550 "b" => Ok(Self::B),
7551 "none" => Ok(Self::None),
7552 _ => Err(format!("unknown STVerticalAlignment value: {}", s)),
7553 }
7554 }
7555}
7556
7557#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7558pub enum STChildDirection {
7559 #[serde(rename = "horz")]
7560 Horz,
7561 #[serde(rename = "vert")]
7562 Vert,
7563}
7564
7565impl std::fmt::Display for STChildDirection {
7566 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7567 match self {
7568 Self::Horz => write!(f, "horz"),
7569 Self::Vert => write!(f, "vert"),
7570 }
7571 }
7572}
7573
7574impl std::str::FromStr for STChildDirection {
7575 type Err = String;
7576
7577 fn from_str(s: &str) -> Result<Self, Self::Err> {
7578 match s {
7579 "horz" => Ok(Self::Horz),
7580 "vert" => Ok(Self::Vert),
7581 _ => Err(format!("unknown STChildDirection value: {}", s)),
7582 }
7583 }
7584}
7585
7586#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7587pub enum STChildAlignment {
7588 #[serde(rename = "t")]
7589 T,
7590 #[serde(rename = "b")]
7591 B,
7592 #[serde(rename = "l")]
7593 L,
7594 #[serde(rename = "r")]
7595 R,
7596}
7597
7598impl std::fmt::Display for STChildAlignment {
7599 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7600 match self {
7601 Self::T => write!(f, "t"),
7602 Self::B => write!(f, "b"),
7603 Self::L => write!(f, "l"),
7604 Self::R => write!(f, "r"),
7605 }
7606 }
7607}
7608
7609impl std::str::FromStr for STChildAlignment {
7610 type Err = String;
7611
7612 fn from_str(s: &str) -> Result<Self, Self::Err> {
7613 match s {
7614 "t" => Ok(Self::T),
7615 "b" => Ok(Self::B),
7616 "l" => Ok(Self::L),
7617 "r" => Ok(Self::R),
7618 _ => Err(format!("unknown STChildAlignment value: {}", s)),
7619 }
7620 }
7621}
7622
7623#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7624pub enum STSecondaryChildAlignment {
7625 #[serde(rename = "none")]
7626 None,
7627 #[serde(rename = "t")]
7628 T,
7629 #[serde(rename = "b")]
7630 B,
7631 #[serde(rename = "l")]
7632 L,
7633 #[serde(rename = "r")]
7634 R,
7635}
7636
7637impl std::fmt::Display for STSecondaryChildAlignment {
7638 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7639 match self {
7640 Self::None => write!(f, "none"),
7641 Self::T => write!(f, "t"),
7642 Self::B => write!(f, "b"),
7643 Self::L => write!(f, "l"),
7644 Self::R => write!(f, "r"),
7645 }
7646 }
7647}
7648
7649impl std::str::FromStr for STSecondaryChildAlignment {
7650 type Err = String;
7651
7652 fn from_str(s: &str) -> Result<Self, Self::Err> {
7653 match s {
7654 "none" => Ok(Self::None),
7655 "t" => Ok(Self::T),
7656 "b" => Ok(Self::B),
7657 "l" => Ok(Self::L),
7658 "r" => Ok(Self::R),
7659 _ => Err(format!("unknown STSecondaryChildAlignment value: {}", s)),
7660 }
7661 }
7662}
7663
7664#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7665pub enum STLinearDirection {
7666 #[serde(rename = "fromL")]
7667 FromL,
7668 #[serde(rename = "fromR")]
7669 FromR,
7670 #[serde(rename = "fromT")]
7671 FromT,
7672 #[serde(rename = "fromB")]
7673 FromB,
7674}
7675
7676impl std::fmt::Display for STLinearDirection {
7677 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7678 match self {
7679 Self::FromL => write!(f, "fromL"),
7680 Self::FromR => write!(f, "fromR"),
7681 Self::FromT => write!(f, "fromT"),
7682 Self::FromB => write!(f, "fromB"),
7683 }
7684 }
7685}
7686
7687impl std::str::FromStr for STLinearDirection {
7688 type Err = String;
7689
7690 fn from_str(s: &str) -> Result<Self, Self::Err> {
7691 match s {
7692 "fromL" => Ok(Self::FromL),
7693 "fromR" => Ok(Self::FromR),
7694 "fromT" => Ok(Self::FromT),
7695 "fromB" => Ok(Self::FromB),
7696 _ => Err(format!("unknown STLinearDirection value: {}", s)),
7697 }
7698 }
7699}
7700
7701#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7702pub enum STSecondaryLinearDirection {
7703 #[serde(rename = "none")]
7704 None,
7705 #[serde(rename = "fromL")]
7706 FromL,
7707 #[serde(rename = "fromR")]
7708 FromR,
7709 #[serde(rename = "fromT")]
7710 FromT,
7711 #[serde(rename = "fromB")]
7712 FromB,
7713}
7714
7715impl std::fmt::Display for STSecondaryLinearDirection {
7716 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7717 match self {
7718 Self::None => write!(f, "none"),
7719 Self::FromL => write!(f, "fromL"),
7720 Self::FromR => write!(f, "fromR"),
7721 Self::FromT => write!(f, "fromT"),
7722 Self::FromB => write!(f, "fromB"),
7723 }
7724 }
7725}
7726
7727impl std::str::FromStr for STSecondaryLinearDirection {
7728 type Err = String;
7729
7730 fn from_str(s: &str) -> Result<Self, Self::Err> {
7731 match s {
7732 "none" => Ok(Self::None),
7733 "fromL" => Ok(Self::FromL),
7734 "fromR" => Ok(Self::FromR),
7735 "fromT" => Ok(Self::FromT),
7736 "fromB" => Ok(Self::FromB),
7737 _ => Err(format!("unknown STSecondaryLinearDirection value: {}", s)),
7738 }
7739 }
7740}
7741
7742#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7743pub enum STStartingElement {
7744 #[serde(rename = "node")]
7745 Node,
7746 #[serde(rename = "trans")]
7747 Trans,
7748}
7749
7750impl std::fmt::Display for STStartingElement {
7751 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7752 match self {
7753 Self::Node => write!(f, "node"),
7754 Self::Trans => write!(f, "trans"),
7755 }
7756 }
7757}
7758
7759impl std::str::FromStr for STStartingElement {
7760 type Err = String;
7761
7762 fn from_str(s: &str) -> Result<Self, Self::Err> {
7763 match s {
7764 "node" => Ok(Self::Node),
7765 "trans" => Ok(Self::Trans),
7766 _ => Err(format!("unknown STStartingElement value: {}", s)),
7767 }
7768 }
7769}
7770
7771#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7772pub enum STRotationPath {
7773 #[serde(rename = "none")]
7774 None,
7775 #[serde(rename = "alongPath")]
7776 AlongPath,
7777}
7778
7779impl std::fmt::Display for STRotationPath {
7780 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7781 match self {
7782 Self::None => write!(f, "none"),
7783 Self::AlongPath => write!(f, "alongPath"),
7784 }
7785 }
7786}
7787
7788impl std::str::FromStr for STRotationPath {
7789 type Err = String;
7790
7791 fn from_str(s: &str) -> Result<Self, Self::Err> {
7792 match s {
7793 "none" => Ok(Self::None),
7794 "alongPath" => Ok(Self::AlongPath),
7795 _ => Err(format!("unknown STRotationPath value: {}", s)),
7796 }
7797 }
7798}
7799
7800#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7801pub enum STCenterShapeMapping {
7802 #[serde(rename = "none")]
7803 None,
7804 #[serde(rename = "fNode")]
7805 FNode,
7806}
7807
7808impl std::fmt::Display for STCenterShapeMapping {
7809 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7810 match self {
7811 Self::None => write!(f, "none"),
7812 Self::FNode => write!(f, "fNode"),
7813 }
7814 }
7815}
7816
7817impl std::str::FromStr for STCenterShapeMapping {
7818 type Err = String;
7819
7820 fn from_str(s: &str) -> Result<Self, Self::Err> {
7821 match s {
7822 "none" => Ok(Self::None),
7823 "fNode" => Ok(Self::FNode),
7824 _ => Err(format!("unknown STCenterShapeMapping value: {}", s)),
7825 }
7826 }
7827}
7828
7829#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7830pub enum STBendPoint {
7831 #[serde(rename = "beg")]
7832 Beg,
7833 #[serde(rename = "def")]
7834 Def,
7835 #[serde(rename = "end")]
7836 End,
7837}
7838
7839impl std::fmt::Display for STBendPoint {
7840 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7841 match self {
7842 Self::Beg => write!(f, "beg"),
7843 Self::Def => write!(f, "def"),
7844 Self::End => write!(f, "end"),
7845 }
7846 }
7847}
7848
7849impl std::str::FromStr for STBendPoint {
7850 type Err = String;
7851
7852 fn from_str(s: &str) -> Result<Self, Self::Err> {
7853 match s {
7854 "beg" => Ok(Self::Beg),
7855 "def" => Ok(Self::Def),
7856 "end" => Ok(Self::End),
7857 _ => Err(format!("unknown STBendPoint value: {}", s)),
7858 }
7859 }
7860}
7861
7862#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7863pub enum STConnectorRouting {
7864 #[serde(rename = "stra")]
7865 Stra,
7866 #[serde(rename = "bend")]
7867 Bend,
7868 #[serde(rename = "curve")]
7869 Curve,
7870 #[serde(rename = "longCurve")]
7871 LongCurve,
7872}
7873
7874impl std::fmt::Display for STConnectorRouting {
7875 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7876 match self {
7877 Self::Stra => write!(f, "stra"),
7878 Self::Bend => write!(f, "bend"),
7879 Self::Curve => write!(f, "curve"),
7880 Self::LongCurve => write!(f, "longCurve"),
7881 }
7882 }
7883}
7884
7885impl std::str::FromStr for STConnectorRouting {
7886 type Err = String;
7887
7888 fn from_str(s: &str) -> Result<Self, Self::Err> {
7889 match s {
7890 "stra" => Ok(Self::Stra),
7891 "bend" => Ok(Self::Bend),
7892 "curve" => Ok(Self::Curve),
7893 "longCurve" => Ok(Self::LongCurve),
7894 _ => Err(format!("unknown STConnectorRouting value: {}", s)),
7895 }
7896 }
7897}
7898
7899#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7900pub enum STArrowheadStyle {
7901 #[serde(rename = "auto")]
7902 Auto,
7903 #[serde(rename = "arr")]
7904 Arr,
7905 #[serde(rename = "noArr")]
7906 NoArr,
7907}
7908
7909impl std::fmt::Display for STArrowheadStyle {
7910 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7911 match self {
7912 Self::Auto => write!(f, "auto"),
7913 Self::Arr => write!(f, "arr"),
7914 Self::NoArr => write!(f, "noArr"),
7915 }
7916 }
7917}
7918
7919impl std::str::FromStr for STArrowheadStyle {
7920 type Err = String;
7921
7922 fn from_str(s: &str) -> Result<Self, Self::Err> {
7923 match s {
7924 "auto" => Ok(Self::Auto),
7925 "arr" => Ok(Self::Arr),
7926 "noArr" => Ok(Self::NoArr),
7927 _ => Err(format!("unknown STArrowheadStyle value: {}", s)),
7928 }
7929 }
7930}
7931
7932#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7933pub enum STConnectorDimension {
7934 #[serde(rename = "1D")]
7935 _1D,
7936 #[serde(rename = "2D")]
7937 _2D,
7938 #[serde(rename = "cust")]
7939 Cust,
7940}
7941
7942impl std::fmt::Display for STConnectorDimension {
7943 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7944 match self {
7945 Self::_1D => write!(f, "1D"),
7946 Self::_2D => write!(f, "2D"),
7947 Self::Cust => write!(f, "cust"),
7948 }
7949 }
7950}
7951
7952impl std::str::FromStr for STConnectorDimension {
7953 type Err = String;
7954
7955 fn from_str(s: &str) -> Result<Self, Self::Err> {
7956 match s {
7957 "1D" => Ok(Self::_1D),
7958 "2D" => Ok(Self::_2D),
7959 "cust" => Ok(Self::Cust),
7960 _ => Err(format!("unknown STConnectorDimension value: {}", s)),
7961 }
7962 }
7963}
7964
7965#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7966pub enum STConnectorPoint {
7967 #[serde(rename = "auto")]
7968 Auto,
7969 #[serde(rename = "bCtr")]
7970 BCtr,
7971 #[serde(rename = "ctr")]
7972 Ctr,
7973 #[serde(rename = "midL")]
7974 MidL,
7975 #[serde(rename = "midR")]
7976 MidR,
7977 #[serde(rename = "tCtr")]
7978 TCtr,
7979 #[serde(rename = "bL")]
7980 BL,
7981 #[serde(rename = "bR")]
7982 BR,
7983 #[serde(rename = "tL")]
7984 TL,
7985 #[serde(rename = "tR")]
7986 TR,
7987 #[serde(rename = "radial")]
7988 Radial,
7989}
7990
7991impl std::fmt::Display for STConnectorPoint {
7992 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7993 match self {
7994 Self::Auto => write!(f, "auto"),
7995 Self::BCtr => write!(f, "bCtr"),
7996 Self::Ctr => write!(f, "ctr"),
7997 Self::MidL => write!(f, "midL"),
7998 Self::MidR => write!(f, "midR"),
7999 Self::TCtr => write!(f, "tCtr"),
8000 Self::BL => write!(f, "bL"),
8001 Self::BR => write!(f, "bR"),
8002 Self::TL => write!(f, "tL"),
8003 Self::TR => write!(f, "tR"),
8004 Self::Radial => write!(f, "radial"),
8005 }
8006 }
8007}
8008
8009impl std::str::FromStr for STConnectorPoint {
8010 type Err = String;
8011
8012 fn from_str(s: &str) -> Result<Self, Self::Err> {
8013 match s {
8014 "auto" => Ok(Self::Auto),
8015 "bCtr" => Ok(Self::BCtr),
8016 "ctr" => Ok(Self::Ctr),
8017 "midL" => Ok(Self::MidL),
8018 "midR" => Ok(Self::MidR),
8019 "tCtr" => Ok(Self::TCtr),
8020 "bL" => Ok(Self::BL),
8021 "bR" => Ok(Self::BR),
8022 "tL" => Ok(Self::TL),
8023 "tR" => Ok(Self::TR),
8024 "radial" => Ok(Self::Radial),
8025 _ => Err(format!("unknown STConnectorPoint value: {}", s)),
8026 }
8027 }
8028}
8029
8030#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8031pub enum STNodeHorizontalAlignment {
8032 #[serde(rename = "l")]
8033 L,
8034 #[serde(rename = "ctr")]
8035 Ctr,
8036 #[serde(rename = "r")]
8037 R,
8038}
8039
8040impl std::fmt::Display for STNodeHorizontalAlignment {
8041 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8042 match self {
8043 Self::L => write!(f, "l"),
8044 Self::Ctr => write!(f, "ctr"),
8045 Self::R => write!(f, "r"),
8046 }
8047 }
8048}
8049
8050impl std::str::FromStr for STNodeHorizontalAlignment {
8051 type Err = String;
8052
8053 fn from_str(s: &str) -> Result<Self, Self::Err> {
8054 match s {
8055 "l" => Ok(Self::L),
8056 "ctr" => Ok(Self::Ctr),
8057 "r" => Ok(Self::R),
8058 _ => Err(format!("unknown STNodeHorizontalAlignment value: {}", s)),
8059 }
8060 }
8061}
8062
8063#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8064pub enum STNodeVerticalAlignment {
8065 #[serde(rename = "t")]
8066 T,
8067 #[serde(rename = "mid")]
8068 Mid,
8069 #[serde(rename = "b")]
8070 B,
8071}
8072
8073impl std::fmt::Display for STNodeVerticalAlignment {
8074 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8075 match self {
8076 Self::T => write!(f, "t"),
8077 Self::Mid => write!(f, "mid"),
8078 Self::B => write!(f, "b"),
8079 }
8080 }
8081}
8082
8083impl std::str::FromStr for STNodeVerticalAlignment {
8084 type Err = String;
8085
8086 fn from_str(s: &str) -> Result<Self, Self::Err> {
8087 match s {
8088 "t" => Ok(Self::T),
8089 "mid" => Ok(Self::Mid),
8090 "b" => Ok(Self::B),
8091 _ => Err(format!("unknown STNodeVerticalAlignment value: {}", s)),
8092 }
8093 }
8094}
8095
8096#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8097pub enum STFallbackDimension {
8098 #[serde(rename = "1D")]
8099 _1D,
8100 #[serde(rename = "2D")]
8101 _2D,
8102}
8103
8104impl std::fmt::Display for STFallbackDimension {
8105 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8106 match self {
8107 Self::_1D => write!(f, "1D"),
8108 Self::_2D => write!(f, "2D"),
8109 }
8110 }
8111}
8112
8113impl std::str::FromStr for STFallbackDimension {
8114 type Err = String;
8115
8116 fn from_str(s: &str) -> Result<Self, Self::Err> {
8117 match s {
8118 "1D" => Ok(Self::_1D),
8119 "2D" => Ok(Self::_2D),
8120 _ => Err(format!("unknown STFallbackDimension value: {}", s)),
8121 }
8122 }
8123}
8124
8125#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8126pub enum STTextDirection {
8127 #[serde(rename = "fromT")]
8128 FromT,
8129 #[serde(rename = "fromB")]
8130 FromB,
8131}
8132
8133impl std::fmt::Display for STTextDirection {
8134 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8135 match self {
8136 Self::FromT => write!(f, "fromT"),
8137 Self::FromB => write!(f, "fromB"),
8138 }
8139 }
8140}
8141
8142impl std::str::FromStr for STTextDirection {
8143 type Err = String;
8144
8145 fn from_str(s: &str) -> Result<Self, Self::Err> {
8146 match s {
8147 "fromT" => Ok(Self::FromT),
8148 "fromB" => Ok(Self::FromB),
8149 _ => Err(format!("unknown STTextDirection value: {}", s)),
8150 }
8151 }
8152}
8153
8154#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8155pub enum STPyramidAccentPosition {
8156 #[serde(rename = "bef")]
8157 Bef,
8158 #[serde(rename = "aft")]
8159 Aft,
8160}
8161
8162impl std::fmt::Display for STPyramidAccentPosition {
8163 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8164 match self {
8165 Self::Bef => write!(f, "bef"),
8166 Self::Aft => write!(f, "aft"),
8167 }
8168 }
8169}
8170
8171impl std::str::FromStr for STPyramidAccentPosition {
8172 type Err = String;
8173
8174 fn from_str(s: &str) -> Result<Self, Self::Err> {
8175 match s {
8176 "bef" => Ok(Self::Bef),
8177 "aft" => Ok(Self::Aft),
8178 _ => Err(format!("unknown STPyramidAccentPosition value: {}", s)),
8179 }
8180 }
8181}
8182
8183#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8184pub enum STPyramidAccentTextMargin {
8185 #[serde(rename = "step")]
8186 Step,
8187 #[serde(rename = "stack")]
8188 Stack,
8189}
8190
8191impl std::fmt::Display for STPyramidAccentTextMargin {
8192 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8193 match self {
8194 Self::Step => write!(f, "step"),
8195 Self::Stack => write!(f, "stack"),
8196 }
8197 }
8198}
8199
8200impl std::str::FromStr for STPyramidAccentTextMargin {
8201 type Err = String;
8202
8203 fn from_str(s: &str) -> Result<Self, Self::Err> {
8204 match s {
8205 "step" => Ok(Self::Step),
8206 "stack" => Ok(Self::Stack),
8207 _ => Err(format!("unknown STPyramidAccentTextMargin value: {}", s)),
8208 }
8209 }
8210}
8211
8212#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8213pub enum STTextBlockDirection {
8214 #[serde(rename = "horz")]
8215 Horz,
8216 #[serde(rename = "vert")]
8217 Vert,
8218}
8219
8220impl std::fmt::Display for STTextBlockDirection {
8221 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8222 match self {
8223 Self::Horz => write!(f, "horz"),
8224 Self::Vert => write!(f, "vert"),
8225 }
8226 }
8227}
8228
8229impl std::str::FromStr for STTextBlockDirection {
8230 type Err = String;
8231
8232 fn from_str(s: &str) -> Result<Self, Self::Err> {
8233 match s {
8234 "horz" => Ok(Self::Horz),
8235 "vert" => Ok(Self::Vert),
8236 _ => Err(format!("unknown STTextBlockDirection value: {}", s)),
8237 }
8238 }
8239}
8240
8241#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8242pub enum STTextAnchorHorizontal {
8243 #[serde(rename = "none")]
8244 None,
8245 #[serde(rename = "ctr")]
8246 Ctr,
8247}
8248
8249impl std::fmt::Display for STTextAnchorHorizontal {
8250 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8251 match self {
8252 Self::None => write!(f, "none"),
8253 Self::Ctr => write!(f, "ctr"),
8254 }
8255 }
8256}
8257
8258impl std::str::FromStr for STTextAnchorHorizontal {
8259 type Err = String;
8260
8261 fn from_str(s: &str) -> Result<Self, Self::Err> {
8262 match s {
8263 "none" => Ok(Self::None),
8264 "ctr" => Ok(Self::Ctr),
8265 _ => Err(format!("unknown STTextAnchorHorizontal value: {}", s)),
8266 }
8267 }
8268}
8269
8270#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8271pub enum STTextAnchorVertical {
8272 #[serde(rename = "t")]
8273 T,
8274 #[serde(rename = "mid")]
8275 Mid,
8276 #[serde(rename = "b")]
8277 B,
8278}
8279
8280impl std::fmt::Display for STTextAnchorVertical {
8281 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8282 match self {
8283 Self::T => write!(f, "t"),
8284 Self::Mid => write!(f, "mid"),
8285 Self::B => write!(f, "b"),
8286 }
8287 }
8288}
8289
8290impl std::str::FromStr for STTextAnchorVertical {
8291 type Err = String;
8292
8293 fn from_str(s: &str) -> Result<Self, Self::Err> {
8294 match s {
8295 "t" => Ok(Self::T),
8296 "mid" => Ok(Self::Mid),
8297 "b" => Ok(Self::B),
8298 _ => Err(format!("unknown STTextAnchorVertical value: {}", s)),
8299 }
8300 }
8301}
8302
8303#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8304pub enum STDiagramTextAlignment {
8305 #[serde(rename = "l")]
8306 L,
8307 #[serde(rename = "ctr")]
8308 Ctr,
8309 #[serde(rename = "r")]
8310 R,
8311}
8312
8313impl std::fmt::Display for STDiagramTextAlignment {
8314 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8315 match self {
8316 Self::L => write!(f, "l"),
8317 Self::Ctr => write!(f, "ctr"),
8318 Self::R => write!(f, "r"),
8319 }
8320 }
8321}
8322
8323impl std::str::FromStr for STDiagramTextAlignment {
8324 type Err = String;
8325
8326 fn from_str(s: &str) -> Result<Self, Self::Err> {
8327 match s {
8328 "l" => Ok(Self::L),
8329 "ctr" => Ok(Self::Ctr),
8330 "r" => Ok(Self::R),
8331 _ => Err(format!("unknown STDiagramTextAlignment value: {}", s)),
8332 }
8333 }
8334}
8335
8336#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8337pub enum STAutoTextRotation {
8338 #[serde(rename = "none")]
8339 None,
8340 #[serde(rename = "upr")]
8341 Upr,
8342 #[serde(rename = "grav")]
8343 Grav,
8344}
8345
8346impl std::fmt::Display for STAutoTextRotation {
8347 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8348 match self {
8349 Self::None => write!(f, "none"),
8350 Self::Upr => write!(f, "upr"),
8351 Self::Grav => write!(f, "grav"),
8352 }
8353 }
8354}
8355
8356impl std::str::FromStr for STAutoTextRotation {
8357 type Err = String;
8358
8359 fn from_str(s: &str) -> Result<Self, Self::Err> {
8360 match s {
8361 "none" => Ok(Self::None),
8362 "upr" => Ok(Self::Upr),
8363 "grav" => Ok(Self::Grav),
8364 _ => Err(format!("unknown STAutoTextRotation value: {}", s)),
8365 }
8366 }
8367}
8368
8369#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8370pub enum STGrowDirection {
8371 #[serde(rename = "tL")]
8372 TL,
8373 #[serde(rename = "tR")]
8374 TR,
8375 #[serde(rename = "bL")]
8376 BL,
8377 #[serde(rename = "bR")]
8378 BR,
8379}
8380
8381impl std::fmt::Display for STGrowDirection {
8382 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8383 match self {
8384 Self::TL => write!(f, "tL"),
8385 Self::TR => write!(f, "tR"),
8386 Self::BL => write!(f, "bL"),
8387 Self::BR => write!(f, "bR"),
8388 }
8389 }
8390}
8391
8392impl std::str::FromStr for STGrowDirection {
8393 type Err = String;
8394
8395 fn from_str(s: &str) -> Result<Self, Self::Err> {
8396 match s {
8397 "tL" => Ok(Self::TL),
8398 "tR" => Ok(Self::TR),
8399 "bL" => Ok(Self::BL),
8400 "bR" => Ok(Self::BR),
8401 _ => Err(format!("unknown STGrowDirection value: {}", s)),
8402 }
8403 }
8404}
8405
8406#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8407pub enum STFlowDirection {
8408 #[serde(rename = "row")]
8409 Row,
8410 #[serde(rename = "col")]
8411 Col,
8412}
8413
8414impl std::fmt::Display for STFlowDirection {
8415 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8416 match self {
8417 Self::Row => write!(f, "row"),
8418 Self::Col => write!(f, "col"),
8419 }
8420 }
8421}
8422
8423impl std::str::FromStr for STFlowDirection {
8424 type Err = String;
8425
8426 fn from_str(s: &str) -> Result<Self, Self::Err> {
8427 match s {
8428 "row" => Ok(Self::Row),
8429 "col" => Ok(Self::Col),
8430 _ => Err(format!("unknown STFlowDirection value: {}", s)),
8431 }
8432 }
8433}
8434
8435#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8436pub enum STContinueDirection {
8437 #[serde(rename = "revDir")]
8438 RevDir,
8439 #[serde(rename = "sameDir")]
8440 SameDir,
8441}
8442
8443impl std::fmt::Display for STContinueDirection {
8444 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8445 match self {
8446 Self::RevDir => write!(f, "revDir"),
8447 Self::SameDir => write!(f, "sameDir"),
8448 }
8449 }
8450}
8451
8452impl std::str::FromStr for STContinueDirection {
8453 type Err = String;
8454
8455 fn from_str(s: &str) -> Result<Self, Self::Err> {
8456 match s {
8457 "revDir" => Ok(Self::RevDir),
8458 "sameDir" => Ok(Self::SameDir),
8459 _ => Err(format!("unknown STContinueDirection value: {}", s)),
8460 }
8461 }
8462}
8463
8464#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8465pub enum STBreakpoint {
8466 #[serde(rename = "endCnv")]
8467 EndCnv,
8468 #[serde(rename = "bal")]
8469 Bal,
8470 #[serde(rename = "fixed")]
8471 Fixed,
8472}
8473
8474impl std::fmt::Display for STBreakpoint {
8475 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8476 match self {
8477 Self::EndCnv => write!(f, "endCnv"),
8478 Self::Bal => write!(f, "bal"),
8479 Self::Fixed => write!(f, "fixed"),
8480 }
8481 }
8482}
8483
8484impl std::str::FromStr for STBreakpoint {
8485 type Err = String;
8486
8487 fn from_str(s: &str) -> Result<Self, Self::Err> {
8488 match s {
8489 "endCnv" => Ok(Self::EndCnv),
8490 "bal" => Ok(Self::Bal),
8491 "fixed" => Ok(Self::Fixed),
8492 _ => Err(format!("unknown STBreakpoint value: {}", s)),
8493 }
8494 }
8495}
8496
8497#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8498pub enum STOffset {
8499 #[serde(rename = "ctr")]
8500 Ctr,
8501 #[serde(rename = "off")]
8502 Off,
8503}
8504
8505impl std::fmt::Display for STOffset {
8506 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8507 match self {
8508 Self::Ctr => write!(f, "ctr"),
8509 Self::Off => write!(f, "off"),
8510 }
8511 }
8512}
8513
8514impl std::str::FromStr for STOffset {
8515 type Err = String;
8516
8517 fn from_str(s: &str) -> Result<Self, Self::Err> {
8518 match s {
8519 "ctr" => Ok(Self::Ctr),
8520 "off" => Ok(Self::Off),
8521 _ => Err(format!("unknown STOffset value: {}", s)),
8522 }
8523 }
8524}
8525
8526#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8527pub enum STHierarchyAlignment {
8528 #[serde(rename = "tL")]
8529 TL,
8530 #[serde(rename = "tR")]
8531 TR,
8532 #[serde(rename = "tCtrCh")]
8533 TCtrCh,
8534 #[serde(rename = "tCtrDes")]
8535 TCtrDes,
8536 #[serde(rename = "bL")]
8537 BL,
8538 #[serde(rename = "bR")]
8539 BR,
8540 #[serde(rename = "bCtrCh")]
8541 BCtrCh,
8542 #[serde(rename = "bCtrDes")]
8543 BCtrDes,
8544 #[serde(rename = "lT")]
8545 LT,
8546 #[serde(rename = "lB")]
8547 LB,
8548 #[serde(rename = "lCtrCh")]
8549 LCtrCh,
8550 #[serde(rename = "lCtrDes")]
8551 LCtrDes,
8552 #[serde(rename = "rT")]
8553 RT,
8554 #[serde(rename = "rB")]
8555 RB,
8556 #[serde(rename = "rCtrCh")]
8557 RCtrCh,
8558 #[serde(rename = "rCtrDes")]
8559 RCtrDes,
8560}
8561
8562impl std::fmt::Display for STHierarchyAlignment {
8563 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8564 match self {
8565 Self::TL => write!(f, "tL"),
8566 Self::TR => write!(f, "tR"),
8567 Self::TCtrCh => write!(f, "tCtrCh"),
8568 Self::TCtrDes => write!(f, "tCtrDes"),
8569 Self::BL => write!(f, "bL"),
8570 Self::BR => write!(f, "bR"),
8571 Self::BCtrCh => write!(f, "bCtrCh"),
8572 Self::BCtrDes => write!(f, "bCtrDes"),
8573 Self::LT => write!(f, "lT"),
8574 Self::LB => write!(f, "lB"),
8575 Self::LCtrCh => write!(f, "lCtrCh"),
8576 Self::LCtrDes => write!(f, "lCtrDes"),
8577 Self::RT => write!(f, "rT"),
8578 Self::RB => write!(f, "rB"),
8579 Self::RCtrCh => write!(f, "rCtrCh"),
8580 Self::RCtrDes => write!(f, "rCtrDes"),
8581 }
8582 }
8583}
8584
8585impl std::str::FromStr for STHierarchyAlignment {
8586 type Err = String;
8587
8588 fn from_str(s: &str) -> Result<Self, Self::Err> {
8589 match s {
8590 "tL" => Ok(Self::TL),
8591 "tR" => Ok(Self::TR),
8592 "tCtrCh" => Ok(Self::TCtrCh),
8593 "tCtrDes" => Ok(Self::TCtrDes),
8594 "bL" => Ok(Self::BL),
8595 "bR" => Ok(Self::BR),
8596 "bCtrCh" => Ok(Self::BCtrCh),
8597 "bCtrDes" => Ok(Self::BCtrDes),
8598 "lT" => Ok(Self::LT),
8599 "lB" => Ok(Self::LB),
8600 "lCtrCh" => Ok(Self::LCtrCh),
8601 "lCtrDes" => Ok(Self::LCtrDes),
8602 "rT" => Ok(Self::RT),
8603 "rB" => Ok(Self::RB),
8604 "rCtrCh" => Ok(Self::RCtrCh),
8605 "rCtrDes" => Ok(Self::RCtrDes),
8606 _ => Err(format!("unknown STHierarchyAlignment value: {}", s)),
8607 }
8608 }
8609}
8610
8611pub type STFunctionValue = String;
8612
8613#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8614pub enum STVariableType {
8615 #[serde(rename = "none")]
8616 None,
8617 #[serde(rename = "orgChart")]
8618 OrgChart,
8619 #[serde(rename = "chMax")]
8620 ChMax,
8621 #[serde(rename = "chPref")]
8622 ChPref,
8623 #[serde(rename = "bulEnabled")]
8624 BulEnabled,
8625 #[serde(rename = "dir")]
8626 Dir,
8627 #[serde(rename = "hierBranch")]
8628 HierBranch,
8629 #[serde(rename = "animOne")]
8630 AnimOne,
8631 #[serde(rename = "animLvl")]
8632 AnimLvl,
8633 #[serde(rename = "resizeHandles")]
8634 ResizeHandles,
8635}
8636
8637impl std::fmt::Display for STVariableType {
8638 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8639 match self {
8640 Self::None => write!(f, "none"),
8641 Self::OrgChart => write!(f, "orgChart"),
8642 Self::ChMax => write!(f, "chMax"),
8643 Self::ChPref => write!(f, "chPref"),
8644 Self::BulEnabled => write!(f, "bulEnabled"),
8645 Self::Dir => write!(f, "dir"),
8646 Self::HierBranch => write!(f, "hierBranch"),
8647 Self::AnimOne => write!(f, "animOne"),
8648 Self::AnimLvl => write!(f, "animLvl"),
8649 Self::ResizeHandles => write!(f, "resizeHandles"),
8650 }
8651 }
8652}
8653
8654impl std::str::FromStr for STVariableType {
8655 type Err = String;
8656
8657 fn from_str(s: &str) -> Result<Self, Self::Err> {
8658 match s {
8659 "none" => Ok(Self::None),
8660 "orgChart" => Ok(Self::OrgChart),
8661 "chMax" => Ok(Self::ChMax),
8662 "chPref" => Ok(Self::ChPref),
8663 "bulEnabled" => Ok(Self::BulEnabled),
8664 "dir" => Ok(Self::Dir),
8665 "hierBranch" => Ok(Self::HierBranch),
8666 "animOne" => Ok(Self::AnimOne),
8667 "animLvl" => Ok(Self::AnimLvl),
8668 "resizeHandles" => Ok(Self::ResizeHandles),
8669 _ => Err(format!("unknown STVariableType value: {}", s)),
8670 }
8671 }
8672}
8673
8674pub type STFunctionArgument = STVariableType;
8675
8676#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
8677pub enum STOutputShapeType {
8678 #[serde(rename = "none")]
8679 None,
8680 #[serde(rename = "conn")]
8681 Conn,
8682}
8683
8684impl std::fmt::Display for STOutputShapeType {
8685 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
8686 match self {
8687 Self::None => write!(f, "none"),
8688 Self::Conn => write!(f, "conn"),
8689 }
8690 }
8691}
8692
8693impl std::str::FromStr for STOutputShapeType {
8694 type Err = String;
8695
8696 fn from_str(s: &str) -> Result<Self, Self::Err> {
8697 match s {
8698 "none" => Ok(Self::None),
8699 "conn" => Ok(Self::Conn),
8700 _ => Err(format!("unknown STOutputShapeType value: {}", s)),
8701 }
8702 }
8703}
8704
8705#[derive(Debug, Clone, Serialize, Deserialize)]
8706pub enum EGMedia {
8707 #[serde(rename = "audioCd")]
8708 AudioCd(Box<CTAudioCD>),
8709 #[serde(rename = "wavAudioFile")]
8710 WavAudioFile(Box<CTEmbeddedWAVAudioFile>),
8711 #[serde(rename = "audioFile")]
8712 AudioFile(Box<CTAudioFile>),
8713 #[serde(rename = "videoFile")]
8714 VideoFile(Box<CTVideoFile>),
8715 #[serde(rename = "quickTimeFile")]
8716 QuickTimeFile(Box<CTQuickTimeFile>),
8717}
8718
8719#[derive(Debug, Clone, Serialize, Deserialize)]
8720pub enum EGColorTransform {
8721 #[serde(rename = "tint")]
8722 Tint(Box<PositiveFixedPercentageElement>),
8723 #[serde(rename = "shade")]
8724 Shade(Box<PositiveFixedPercentageElement>),
8725 #[serde(rename = "comp")]
8726 Comp(Box<CTComplementTransform>),
8727 #[serde(rename = "inv")]
8728 Inv(Box<CTInverseTransform>),
8729 #[serde(rename = "gray")]
8730 Gray(Box<CTGrayscaleTransform>),
8731 #[serde(rename = "alpha")]
8732 Alpha(Box<PositiveFixedPercentageElement>),
8733 #[serde(rename = "alphaOff")]
8734 AlphaOff(Box<FixedPercentageElement>),
8735 #[serde(rename = "alphaMod")]
8736 AlphaMod(Box<PositivePercentageElement>),
8737 #[serde(rename = "hue")]
8738 Hue(Box<CTPositiveFixedAngle>),
8739 #[serde(rename = "hueOff")]
8740 HueOff(Box<CTAngle>),
8741 #[serde(rename = "hueMod")]
8742 HueMod(Box<PositivePercentageElement>),
8743 #[serde(rename = "sat")]
8744 Sat(Box<CTPercentage>),
8745 #[serde(rename = "satOff")]
8746 SatOff(Box<CTPercentage>),
8747 #[serde(rename = "satMod")]
8748 SatMod(Box<CTPercentage>),
8749 #[serde(rename = "lum")]
8750 Lum(Box<CTPercentage>),
8751 #[serde(rename = "lumOff")]
8752 LumOff(Box<CTPercentage>),
8753 #[serde(rename = "lumMod")]
8754 LumMod(Box<CTPercentage>),
8755 #[serde(rename = "red")]
8756 Red(Box<CTPercentage>),
8757 #[serde(rename = "redOff")]
8758 RedOff(Box<CTPercentage>),
8759 #[serde(rename = "redMod")]
8760 RedMod(Box<CTPercentage>),
8761 #[serde(rename = "green")]
8762 Green(Box<CTPercentage>),
8763 #[serde(rename = "greenOff")]
8764 GreenOff(Box<CTPercentage>),
8765 #[serde(rename = "greenMod")]
8766 GreenMod(Box<CTPercentage>),
8767 #[serde(rename = "blue")]
8768 Blue(Box<CTPercentage>),
8769 #[serde(rename = "blueOff")]
8770 BlueOff(Box<CTPercentage>),
8771 #[serde(rename = "blueMod")]
8772 BlueMod(Box<CTPercentage>),
8773 #[serde(rename = "gamma")]
8774 Gamma(Box<CTGammaTransform>),
8775 #[serde(rename = "invGamma")]
8776 InvGamma(Box<CTInverseGammaTransform>),
8777}
8778
8779#[derive(Debug, Clone, Serialize, Deserialize)]
8780pub enum EGColorChoice {
8781 #[serde(rename = "scrgbClr")]
8782 ScrgbClr(Box<CTScRgbColor>),
8783 #[serde(rename = "srgbClr")]
8784 SrgbClr(Box<SrgbColor>),
8785 #[serde(rename = "hslClr")]
8786 HslClr(Box<HslColor>),
8787 #[serde(rename = "sysClr")]
8788 SysClr(Box<SystemColor>),
8789 #[serde(rename = "schemeClr")]
8790 SchemeClr(Box<SchemeColor>),
8791 #[serde(rename = "prstClr")]
8792 PrstClr(Box<PresetColor>),
8793}
8794
8795#[derive(Debug, Clone, Serialize, Deserialize)]
8796pub enum EGText3D {
8797 #[serde(rename = "sp3d")]
8798 Sp3d(Box<CTShape3D>),
8799 #[serde(rename = "flatTx")]
8800 FlatTx(Box<CTFlatText>),
8801}
8802
8803#[derive(Debug, Clone, Serialize, Deserialize)]
8804pub enum EGShadeProperties {
8805 #[serde(rename = "lin")]
8806 Lin(Box<CTLinearShadeProperties>),
8807 #[serde(rename = "path")]
8808 Path(Box<CTPathShadeProperties>),
8809}
8810
8811#[derive(Debug, Clone, Serialize, Deserialize)]
8812pub enum EGFillModeProperties {
8813 #[serde(rename = "tile")]
8814 Tile(Box<CTTileInfoProperties>),
8815 #[serde(rename = "stretch")]
8816 Stretch(Box<CTStretchInfoProperties>),
8817}
8818
8819#[derive(Debug, Clone, Serialize, Deserialize)]
8820pub enum EGFillProperties {
8821 #[serde(rename = "noFill")]
8822 NoFill(Box<NoFill>),
8823 #[serde(rename = "solidFill")]
8824 SolidFill(Box<SolidColorFill>),
8825 #[serde(rename = "gradFill")]
8826 GradFill(Box<GradientFill>),
8827 #[serde(rename = "blipFill")]
8828 BlipFill(Box<BlipFillProperties>),
8829 #[serde(rename = "pattFill")]
8830 PattFill(Box<PatternFill>),
8831 #[serde(rename = "grpFill")]
8832 GrpFill(Box<CTGroupFillProperties>),
8833}
8834
8835#[derive(Debug, Clone, Serialize, Deserialize)]
8836pub enum EGEffect {
8837 #[serde(rename = "cont")]
8838 Cont(Box<EffectContainer>),
8839 #[serde(rename = "effect")]
8840 Effect(Box<CTEffectReference>),
8841 #[serde(rename = "alphaBiLevel")]
8842 AlphaBiLevel(Box<CTAlphaBiLevelEffect>),
8843 #[serde(rename = "alphaCeiling")]
8844 AlphaCeiling(Box<CTAlphaCeilingEffect>),
8845 #[serde(rename = "alphaFloor")]
8846 AlphaFloor(Box<CTAlphaFloorEffect>),
8847 #[serde(rename = "alphaInv")]
8848 AlphaInv(Box<CTAlphaInverseEffect>),
8849 #[serde(rename = "alphaMod")]
8850 AlphaMod(AlphaModulateEffectElement),
8851 #[serde(rename = "alphaModFix")]
8852 AlphaModFix(Box<CTAlphaModulateFixedEffect>),
8853 #[serde(rename = "alphaOutset")]
8854 AlphaOutset(Box<CTAlphaOutsetEffect>),
8855 #[serde(rename = "alphaRepl")]
8856 AlphaRepl(Box<CTAlphaReplaceEffect>),
8857 #[serde(rename = "biLevel")]
8858 BiLevel(Box<CTBiLevelEffect>),
8859 #[serde(rename = "blend")]
8860 Blend(Box<CTBlendEffect>),
8861 #[serde(rename = "blur")]
8862 Blur(Box<CTBlurEffect>),
8863 #[serde(rename = "clrChange")]
8864 ClrChange(Box<CTColorChangeEffect>),
8865 #[serde(rename = "clrRepl")]
8866 ClrRepl(Box<CTColorReplaceEffect>),
8867 #[serde(rename = "duotone")]
8868 Duotone(Box<CTDuotoneEffect>),
8869 #[serde(rename = "fill")]
8870 Fill(Box<CTFillEffect>),
8871 #[serde(rename = "fillOverlay")]
8872 FillOverlay(Box<CTFillOverlayEffect>),
8873 #[serde(rename = "glow")]
8874 Glow(Box<CTGlowEffect>),
8875 #[serde(rename = "grayscl")]
8876 Grayscl(Box<CTGrayscaleEffect>),
8877 #[serde(rename = "hsl")]
8878 Hsl(Box<CTHSLEffect>),
8879 #[serde(rename = "innerShdw")]
8880 InnerShdw(Box<CTInnerShadowEffect>),
8881 #[serde(rename = "lum")]
8882 Lum(Box<CTLuminanceEffect>),
8883 #[serde(rename = "outerShdw")]
8884 OuterShdw(Box<CTOuterShadowEffect>),
8885 #[serde(rename = "prstShdw")]
8886 PrstShdw(Box<CTPresetShadowEffect>),
8887 #[serde(rename = "reflection")]
8888 Reflection(Box<CTReflectionEffect>),
8889 #[serde(rename = "relOff")]
8890 RelOff(Box<CTRelativeOffsetEffect>),
8891 #[serde(rename = "softEdge")]
8892 SoftEdge(Box<CTSoftEdgesEffect>),
8893 #[serde(rename = "tint")]
8894 Tint(Box<CTTintEffect>),
8895 #[serde(rename = "xfrm")]
8896 Xfrm(Box<CTTransformEffect>),
8897}
8898
8899#[derive(Debug, Clone, Serialize, Deserialize)]
8900pub enum EGEffectProperties {
8901 #[serde(rename = "effectLst")]
8902 EffectLst(Box<EffectList>),
8903 #[serde(rename = "effectDag")]
8904 EffectDag(Box<EffectContainer>),
8905}
8906
8907#[derive(Debug, Clone, Serialize, Deserialize)]
8908pub enum EGGeometry {
8909 #[serde(rename = "custGeom")]
8910 CustGeom(Box<CTCustomGeometry2D>),
8911 #[serde(rename = "prstGeom")]
8912 PrstGeom(Box<CTPresetGeometry2D>),
8913}
8914
8915#[derive(Debug, Clone, Serialize, Deserialize)]
8916pub enum EGTextGeometry {
8917 #[serde(rename = "custGeom")]
8918 CustGeom(Box<CTCustomGeometry2D>),
8919 #[serde(rename = "prstTxWarp")]
8920 PrstTxWarp(Box<CTPresetTextShape>),
8921}
8922
8923#[derive(Debug, Clone, Serialize, Deserialize)]
8924pub enum EGLineFillProperties {
8925 #[serde(rename = "noFill")]
8926 NoFill(Box<NoFill>),
8927 #[serde(rename = "solidFill")]
8928 SolidFill(Box<SolidColorFill>),
8929 #[serde(rename = "gradFill")]
8930 GradFill(Box<GradientFill>),
8931 #[serde(rename = "pattFill")]
8932 PattFill(Box<PatternFill>),
8933}
8934
8935#[derive(Debug, Clone, Serialize, Deserialize)]
8936pub enum EGLineJoinProperties {
8937 #[serde(rename = "round")]
8938 Round(Box<CTLineJoinRound>),
8939 #[serde(rename = "bevel")]
8940 Bevel(Box<CTLineJoinBevel>),
8941 #[serde(rename = "miter")]
8942 Miter(Box<CTLineJoinMiterProperties>),
8943}
8944
8945#[derive(Debug, Clone, Serialize, Deserialize)]
8946pub enum EGLineDashProperties {
8947 #[serde(rename = "prstDash")]
8948 PrstDash(Box<CTPresetLineDashProperties>),
8949 #[serde(rename = "custDash")]
8950 CustDash(Box<CTDashStopList>),
8951}
8952
8953#[derive(Debug, Clone, Serialize, Deserialize)]
8954pub enum EGThemeableFillStyle {
8955 #[serde(rename = "fill")]
8956 Fill(Box<CTFillProperties>),
8957 #[serde(rename = "fillRef")]
8958 FillRef(Box<CTStyleMatrixReference>),
8959}
8960
8961#[derive(Debug, Clone, Serialize, Deserialize)]
8962pub enum EGThemeableEffectStyle {
8963 #[serde(rename = "effect")]
8964 Effect(Box<CTEffectProperties>),
8965 #[serde(rename = "effectRef")]
8966 EffectRef(Box<CTStyleMatrixReference>),
8967}
8968
8969#[derive(Debug, Clone, Serialize, Deserialize)]
8970pub enum EGThemeableFontStyles {
8971 #[serde(rename = "font")]
8972 Font(Box<CTFontCollection>),
8973 #[serde(rename = "fontRef")]
8974 FontRef(Box<CTFontReference>),
8975}
8976
8977#[derive(Debug, Clone, Serialize, Deserialize)]
8978pub enum EGTextAutofit {
8979 #[serde(rename = "noAutofit")]
8980 NoAutofit(Box<CTTextNoAutofit>),
8981 #[serde(rename = "normAutofit")]
8982 NormAutofit(Box<CTTextNormalAutofit>),
8983 #[serde(rename = "spAutoFit")]
8984 SpAutoFit(Box<CTTextShapeAutofit>),
8985}
8986
8987#[derive(Debug, Clone, Serialize, Deserialize)]
8988pub enum EGTextBulletColor {
8989 #[serde(rename = "buClrTx")]
8990 BuClrTx(Box<CTTextBulletColorFollowText>),
8991 #[serde(rename = "buClr")]
8992 BuClr(Box<CTColor>),
8993}
8994
8995#[derive(Debug, Clone, Serialize, Deserialize)]
8996pub enum EGTextBulletSize {
8997 #[serde(rename = "buSzTx")]
8998 BuSzTx(Box<CTTextBulletSizeFollowText>),
8999 #[serde(rename = "buSzPct")]
9000 BuSzPct(Box<TextBulletSizePercentElement>),
9001 #[serde(rename = "buSzPts")]
9002 BuSzPts(Box<CTTextBulletSizePoint>),
9003}
9004
9005#[derive(Debug, Clone, Serialize, Deserialize)]
9006pub enum EGTextBulletTypeface {
9007 #[serde(rename = "buFontTx")]
9008 BuFontTx(Box<CTTextBulletTypefaceFollowText>),
9009 #[serde(rename = "buFont")]
9010 BuFont(Box<TextFont>),
9011}
9012
9013#[derive(Debug, Clone, Serialize, Deserialize)]
9014pub enum EGTextBullet {
9015 #[serde(rename = "buNone")]
9016 BuNone(Box<CTTextNoBullet>),
9017 #[serde(rename = "buAutoNum")]
9018 BuAutoNum(Box<CTTextAutonumberBullet>),
9019 #[serde(rename = "buChar")]
9020 BuChar(Box<CTTextCharBullet>),
9021 #[serde(rename = "buBlip")]
9022 BuBlip(TextBlipBulletElement),
9023}
9024
9025#[derive(Debug, Clone, Serialize, Deserialize)]
9026pub enum EGTextUnderlineLine {
9027 #[serde(rename = "uLnTx")]
9028 ULnTx(Box<CTTextUnderlineLineFollowText>),
9029 #[serde(rename = "uLn")]
9030 ULn(Box<LineProperties>),
9031}
9032
9033#[derive(Debug, Clone, Serialize, Deserialize)]
9034pub enum EGTextUnderlineFill {
9035 #[serde(rename = "uFillTx")]
9036 UFillTx(Box<CTTextUnderlineFillFollowText>),
9037 #[serde(rename = "uFill")]
9038 UFill(Box<CTTextUnderlineFillGroupWrapper>),
9039}
9040
9041#[derive(Debug, Clone, Serialize, Deserialize)]
9042pub enum EGTextRun {
9043 #[serde(rename = "r")]
9044 R(Box<TextRun>),
9045 #[serde(rename = "br")]
9046 Br(Box<CTTextLineBreak>),
9047 #[serde(rename = "fld")]
9048 Fld(Box<CTTextField>),
9049}
9050
9051#[derive(Debug, Clone, Serialize, Deserialize)]
9052pub struct CTAudioFile {
9053 #[cfg(feature = "dml-media")]
9054 #[serde(rename = "@r:link")]
9055 pub link: STRelationshipId,
9056 #[cfg(feature = "dml-media")]
9057 #[serde(rename = "@contentType")]
9058 #[serde(default, skip_serializing_if = "Option::is_none")]
9059 pub content_type: Option<String>,
9060 #[serde(rename = "extLst")]
9061 #[serde(default, skip_serializing_if = "Option::is_none")]
9062 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
9063 #[cfg(feature = "extra-attrs")]
9065 #[serde(skip)]
9066 #[cfg(feature = "extra-attrs")]
9067 #[serde(default)]
9068 #[cfg(feature = "extra-attrs")]
9069 pub extra_attrs: std::collections::HashMap<String, String>,
9070 #[cfg(feature = "extra-children")]
9072 #[serde(skip)]
9073 #[cfg(feature = "extra-children")]
9074 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9075}
9076
9077#[derive(Debug, Clone, Serialize, Deserialize)]
9078pub struct CTVideoFile {
9079 #[cfg(feature = "dml-media")]
9080 #[serde(rename = "@r:link")]
9081 pub link: STRelationshipId,
9082 #[cfg(feature = "dml-media")]
9083 #[serde(rename = "@contentType")]
9084 #[serde(default, skip_serializing_if = "Option::is_none")]
9085 pub content_type: Option<String>,
9086 #[serde(rename = "extLst")]
9087 #[serde(default, skip_serializing_if = "Option::is_none")]
9088 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
9089 #[cfg(feature = "extra-attrs")]
9091 #[serde(skip)]
9092 #[cfg(feature = "extra-attrs")]
9093 #[serde(default)]
9094 #[cfg(feature = "extra-attrs")]
9095 pub extra_attrs: std::collections::HashMap<String, String>,
9096 #[cfg(feature = "extra-children")]
9098 #[serde(skip)]
9099 #[cfg(feature = "extra-children")]
9100 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9101}
9102
9103#[derive(Debug, Clone, Serialize, Deserialize)]
9104pub struct CTQuickTimeFile {
9105 #[serde(rename = "@r:link")]
9106 pub link: STRelationshipId,
9107 #[serde(rename = "extLst")]
9108 #[serde(default, skip_serializing_if = "Option::is_none")]
9109 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
9110 #[cfg(feature = "extra-attrs")]
9112 #[serde(skip)]
9113 #[cfg(feature = "extra-attrs")]
9114 #[serde(default)]
9115 #[cfg(feature = "extra-attrs")]
9116 pub extra_attrs: std::collections::HashMap<String, String>,
9117 #[cfg(feature = "extra-children")]
9119 #[serde(skip)]
9120 #[cfg(feature = "extra-children")]
9121 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9122}
9123
9124#[derive(Debug, Clone, Serialize, Deserialize)]
9125pub struct CTAudioCDTime {
9126 #[serde(rename = "@track")]
9127 pub track: u8,
9128 #[serde(rename = "@time")]
9129 #[serde(default, skip_serializing_if = "Option::is_none")]
9130 pub time: Option<u32>,
9131 #[cfg(feature = "extra-attrs")]
9133 #[serde(skip)]
9134 #[cfg(feature = "extra-attrs")]
9135 #[serde(default)]
9136 #[cfg(feature = "extra-attrs")]
9137 pub extra_attrs: std::collections::HashMap<String, String>,
9138}
9139
9140#[derive(Debug, Clone, Serialize, Deserialize)]
9141pub struct CTAudioCD {
9142 #[serde(rename = "st")]
9143 pub st: Box<CTAudioCDTime>,
9144 #[serde(rename = "end")]
9145 pub end: Box<CTAudioCDTime>,
9146 #[serde(rename = "extLst")]
9147 #[serde(default, skip_serializing_if = "Option::is_none")]
9148 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
9149 #[cfg(feature = "extra-children")]
9151 #[serde(skip)]
9152 #[cfg(feature = "extra-children")]
9153 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9154}
9155
9156pub type AVideoFile = Box<CTVideoFile>;
9157
9158#[derive(Debug, Clone, Serialize, Deserialize)]
9159pub struct ColorScheme {
9160 #[cfg(feature = "dml-themes")]
9161 #[serde(rename = "@name")]
9162 pub name: String,
9163 #[cfg(feature = "dml-colors")]
9164 #[serde(rename = "dk1")]
9165 pub dk1: Box<CTColor>,
9166 #[cfg(feature = "dml-colors")]
9167 #[serde(rename = "lt1")]
9168 pub lt1: Box<CTColor>,
9169 #[cfg(feature = "dml-colors")]
9170 #[serde(rename = "dk2")]
9171 pub dk2: Box<CTColor>,
9172 #[cfg(feature = "dml-colors")]
9173 #[serde(rename = "lt2")]
9174 pub lt2: Box<CTColor>,
9175 #[cfg(feature = "dml-colors")]
9176 #[serde(rename = "accent1")]
9177 pub accent1: Box<CTColor>,
9178 #[cfg(feature = "dml-colors")]
9179 #[serde(rename = "accent2")]
9180 pub accent2: Box<CTColor>,
9181 #[cfg(feature = "dml-colors")]
9182 #[serde(rename = "accent3")]
9183 pub accent3: Box<CTColor>,
9184 #[cfg(feature = "dml-colors")]
9185 #[serde(rename = "accent4")]
9186 pub accent4: Box<CTColor>,
9187 #[cfg(feature = "dml-colors")]
9188 #[serde(rename = "accent5")]
9189 pub accent5: Box<CTColor>,
9190 #[cfg(feature = "dml-colors")]
9191 #[serde(rename = "accent6")]
9192 pub accent6: Box<CTColor>,
9193 #[cfg(feature = "dml-colors")]
9194 #[serde(rename = "hlink")]
9195 pub hlink: Box<CTColor>,
9196 #[cfg(feature = "dml-colors")]
9197 #[serde(rename = "folHlink")]
9198 pub fol_hlink: Box<CTColor>,
9199 #[cfg(feature = "dml-extensions")]
9200 #[serde(rename = "extLst")]
9201 #[serde(default, skip_serializing_if = "Option::is_none")]
9202 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
9203 #[cfg(feature = "extra-attrs")]
9205 #[serde(skip)]
9206 #[cfg(feature = "extra-attrs")]
9207 #[serde(default)]
9208 #[cfg(feature = "extra-attrs")]
9209 pub extra_attrs: std::collections::HashMap<String, String>,
9210 #[cfg(feature = "extra-children")]
9212 #[serde(skip)]
9213 #[cfg(feature = "extra-children")]
9214 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9215}
9216
9217#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9218pub struct CTCustomColor {
9219 #[serde(rename = "@name")]
9220 #[serde(default, skip_serializing_if = "Option::is_none")]
9221 pub name: Option<String>,
9222 #[serde(skip)]
9223 #[serde(default)]
9224 pub color_choice: Option<Box<EGColorChoice>>,
9225 #[cfg(feature = "extra-attrs")]
9227 #[serde(skip)]
9228 #[cfg(feature = "extra-attrs")]
9229 #[serde(default)]
9230 #[cfg(feature = "extra-attrs")]
9231 pub extra_attrs: std::collections::HashMap<String, String>,
9232 #[cfg(feature = "extra-children")]
9234 #[serde(skip)]
9235 #[cfg(feature = "extra-children")]
9236 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9237}
9238
9239#[derive(Debug, Clone, Serialize, Deserialize)]
9240pub struct CTSupplementalFont {
9241 #[serde(rename = "@script")]
9242 pub script: String,
9243 #[serde(rename = "@typeface")]
9244 pub typeface: STTextTypeface,
9245 #[cfg(feature = "extra-attrs")]
9247 #[serde(skip)]
9248 #[cfg(feature = "extra-attrs")]
9249 #[serde(default)]
9250 #[cfg(feature = "extra-attrs")]
9251 pub extra_attrs: std::collections::HashMap<String, String>,
9252}
9253
9254#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9255pub struct CTCustomColorList {
9256 #[serde(rename = "custClr")]
9257 #[serde(default, skip_serializing_if = "Vec::is_empty")]
9258 pub cust_clr: Vec<CTCustomColor>,
9259 #[cfg(feature = "extra-children")]
9261 #[serde(skip)]
9262 #[cfg(feature = "extra-children")]
9263 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9264}
9265
9266#[derive(Debug, Clone, Serialize, Deserialize)]
9267pub struct CTFontCollection {
9268 #[serde(rename = "latin")]
9269 pub latin: Box<TextFont>,
9270 #[serde(rename = "ea")]
9271 pub ea: Box<TextFont>,
9272 #[serde(rename = "cs")]
9273 pub cs: Box<TextFont>,
9274 #[serde(rename = "font")]
9275 #[serde(default, skip_serializing_if = "Vec::is_empty")]
9276 pub font: Vec<CTSupplementalFont>,
9277 #[serde(rename = "extLst")]
9278 #[serde(default, skip_serializing_if = "Option::is_none")]
9279 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
9280 #[cfg(feature = "extra-children")]
9282 #[serde(skip)]
9283 #[cfg(feature = "extra-children")]
9284 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9285}
9286
9287#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9288pub struct CTEffectStyleItem {
9289 #[serde(skip)]
9290 #[serde(default)]
9291 pub effect_properties: Option<Box<EGEffectProperties>>,
9292 #[serde(rename = "scene3d")]
9293 #[serde(default, skip_serializing_if = "Option::is_none")]
9294 pub scene3d: Option<Box<CTScene3D>>,
9295 #[serde(rename = "sp3d")]
9296 #[serde(default, skip_serializing_if = "Option::is_none")]
9297 pub sp3d: Option<Box<CTShape3D>>,
9298 #[cfg(feature = "extra-children")]
9300 #[serde(skip)]
9301 #[cfg(feature = "extra-children")]
9302 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9303}
9304
9305#[derive(Debug, Clone, Serialize, Deserialize)]
9306pub struct FontScheme {
9307 #[cfg(feature = "dml-themes")]
9308 #[serde(rename = "@name")]
9309 pub name: String,
9310 #[cfg(feature = "dml-themes")]
9311 #[serde(rename = "majorFont")]
9312 pub major_font: Box<CTFontCollection>,
9313 #[cfg(feature = "dml-themes")]
9314 #[serde(rename = "minorFont")]
9315 pub minor_font: Box<CTFontCollection>,
9316 #[cfg(feature = "dml-extensions")]
9317 #[serde(rename = "extLst")]
9318 #[serde(default, skip_serializing_if = "Option::is_none")]
9319 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
9320 #[cfg(feature = "extra-attrs")]
9322 #[serde(skip)]
9323 #[cfg(feature = "extra-attrs")]
9324 #[serde(default)]
9325 #[cfg(feature = "extra-attrs")]
9326 pub extra_attrs: std::collections::HashMap<String, String>,
9327 #[cfg(feature = "extra-children")]
9329 #[serde(skip)]
9330 #[cfg(feature = "extra-children")]
9331 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9332}
9333
9334#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9335pub struct CTFillStyleList {
9336 #[serde(skip)]
9337 #[serde(default)]
9338 pub fill_properties: Vec<EGFillProperties>,
9339 #[cfg(feature = "extra-children")]
9341 #[serde(skip)]
9342 #[cfg(feature = "extra-children")]
9343 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9344}
9345
9346#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9347pub struct CTLineStyleList {
9348 #[serde(rename = "ln")]
9349 #[serde(default, skip_serializing_if = "Vec::is_empty")]
9350 pub line: Vec<LineProperties>,
9351 #[cfg(feature = "extra-children")]
9353 #[serde(skip)]
9354 #[cfg(feature = "extra-children")]
9355 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9356}
9357
9358#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9359pub struct CTEffectStyleList {
9360 #[serde(rename = "effectStyle")]
9361 #[serde(default, skip_serializing_if = "Vec::is_empty")]
9362 pub effect_style: Vec<CTEffectStyleItem>,
9363 #[cfg(feature = "extra-children")]
9365 #[serde(skip)]
9366 #[cfg(feature = "extra-children")]
9367 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9368}
9369
9370#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9371pub struct CTBackgroundFillStyleList {
9372 #[serde(skip)]
9373 #[serde(default)]
9374 pub fill_properties: Vec<EGFillProperties>,
9375 #[cfg(feature = "extra-children")]
9377 #[serde(skip)]
9378 #[cfg(feature = "extra-children")]
9379 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9380}
9381
9382#[derive(Debug, Clone, Serialize, Deserialize)]
9383pub struct CTStyleMatrix {
9384 #[cfg(feature = "dml-themes")]
9385 #[serde(rename = "@name")]
9386 #[serde(default, skip_serializing_if = "Option::is_none")]
9387 pub name: Option<String>,
9388 #[cfg(feature = "dml-themes")]
9389 #[serde(rename = "fillStyleLst")]
9390 pub fill_style_lst: Box<CTFillStyleList>,
9391 #[cfg(feature = "dml-themes")]
9392 #[serde(rename = "lnStyleLst")]
9393 pub ln_style_lst: Box<CTLineStyleList>,
9394 #[cfg(feature = "dml-themes")]
9395 #[serde(rename = "effectStyleLst")]
9396 pub effect_style_lst: Box<CTEffectStyleList>,
9397 #[cfg(feature = "dml-themes")]
9398 #[serde(rename = "bgFillStyleLst")]
9399 pub bg_fill_style_lst: Box<CTBackgroundFillStyleList>,
9400 #[cfg(feature = "extra-attrs")]
9402 #[serde(skip)]
9403 #[cfg(feature = "extra-attrs")]
9404 #[serde(default)]
9405 #[cfg(feature = "extra-attrs")]
9406 pub extra_attrs: std::collections::HashMap<String, String>,
9407 #[cfg(feature = "extra-children")]
9409 #[serde(skip)]
9410 #[cfg(feature = "extra-children")]
9411 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9412}
9413
9414#[derive(Debug, Clone, Serialize, Deserialize)]
9415pub struct CTBaseStyles {
9416 #[cfg(feature = "dml-colors")]
9417 #[serde(rename = "clrScheme")]
9418 pub clr_scheme: Box<ColorScheme>,
9419 #[cfg(feature = "dml-themes")]
9420 #[serde(rename = "fontScheme")]
9421 pub font_scheme: Box<FontScheme>,
9422 #[cfg(feature = "dml-themes")]
9423 #[serde(rename = "fmtScheme")]
9424 pub fmt_scheme: Box<CTStyleMatrix>,
9425 #[cfg(feature = "dml-extensions")]
9426 #[serde(rename = "extLst")]
9427 #[serde(default, skip_serializing_if = "Option::is_none")]
9428 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
9429 #[cfg(feature = "extra-children")]
9431 #[serde(skip)]
9432 #[cfg(feature = "extra-children")]
9433 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9434}
9435
9436#[derive(Debug, Clone, Serialize, Deserialize)]
9437pub struct CTOfficeArtExtension {
9438 #[serde(rename = "@uri")]
9439 pub uri: String,
9440 #[cfg(feature = "extra-attrs")]
9442 #[serde(skip)]
9443 #[cfg(feature = "extra-attrs")]
9444 #[serde(default)]
9445 #[cfg(feature = "extra-attrs")]
9446 pub extra_attrs: std::collections::HashMap<String, String>,
9447}
9448
9449pub type OfficeArtExtensionAnyElement = String;
9450
9451#[derive(Debug, Clone, Serialize, Deserialize)]
9452pub struct CTAngle {
9453 #[serde(rename = "@val")]
9454 pub value: STAngle,
9455 #[cfg(feature = "extra-attrs")]
9457 #[serde(skip)]
9458 #[cfg(feature = "extra-attrs")]
9459 #[serde(default)]
9460 #[cfg(feature = "extra-attrs")]
9461 pub extra_attrs: std::collections::HashMap<String, String>,
9462}
9463
9464#[derive(Debug, Clone, Serialize, Deserialize)]
9465pub struct CTPositiveFixedAngle {
9466 #[serde(rename = "@val")]
9467 pub value: STPositiveFixedAngle,
9468 #[cfg(feature = "extra-attrs")]
9470 #[serde(skip)]
9471 #[cfg(feature = "extra-attrs")]
9472 #[serde(default)]
9473 #[cfg(feature = "extra-attrs")]
9474 pub extra_attrs: std::collections::HashMap<String, String>,
9475}
9476
9477#[derive(Debug, Clone, Serialize, Deserialize)]
9478pub struct CTPercentage {
9479 #[serde(rename = "@val")]
9480 pub value: STPercentage,
9481 #[cfg(feature = "extra-attrs")]
9483 #[serde(skip)]
9484 #[cfg(feature = "extra-attrs")]
9485 #[serde(default)]
9486 #[cfg(feature = "extra-attrs")]
9487 pub extra_attrs: std::collections::HashMap<String, String>,
9488}
9489
9490#[derive(Debug, Clone, Serialize, Deserialize)]
9491pub struct PositivePercentageElement {
9492 #[serde(rename = "@val")]
9493 pub value: STPositivePercentage,
9494 #[cfg(feature = "extra-attrs")]
9496 #[serde(skip)]
9497 #[cfg(feature = "extra-attrs")]
9498 #[serde(default)]
9499 #[cfg(feature = "extra-attrs")]
9500 pub extra_attrs: std::collections::HashMap<String, String>,
9501}
9502
9503#[derive(Debug, Clone, Serialize, Deserialize)]
9504pub struct FixedPercentageElement {
9505 #[serde(rename = "@val")]
9506 pub value: STFixedPercentage,
9507 #[cfg(feature = "extra-attrs")]
9509 #[serde(skip)]
9510 #[cfg(feature = "extra-attrs")]
9511 #[serde(default)]
9512 #[cfg(feature = "extra-attrs")]
9513 pub extra_attrs: std::collections::HashMap<String, String>,
9514}
9515
9516#[derive(Debug, Clone, Serialize, Deserialize)]
9517pub struct PositiveFixedPercentageElement {
9518 #[serde(rename = "@val")]
9519 pub value: STPositiveFixedPercentage,
9520 #[cfg(feature = "extra-attrs")]
9522 #[serde(skip)]
9523 #[cfg(feature = "extra-attrs")]
9524 #[serde(default)]
9525 #[cfg(feature = "extra-attrs")]
9526 pub extra_attrs: std::collections::HashMap<String, String>,
9527}
9528
9529#[derive(Debug, Clone, Serialize, Deserialize)]
9530pub struct CTRatio {
9531 #[serde(rename = "@n")]
9532 pub n: i64,
9533 #[serde(rename = "@d")]
9534 pub d: i64,
9535 #[cfg(feature = "extra-attrs")]
9537 #[serde(skip)]
9538 #[cfg(feature = "extra-attrs")]
9539 #[serde(default)]
9540 #[cfg(feature = "extra-attrs")]
9541 pub extra_attrs: std::collections::HashMap<String, String>,
9542}
9543
9544#[derive(Debug, Clone, Serialize, Deserialize)]
9545pub struct Point2D {
9546 #[serde(rename = "@x")]
9547 pub x: STCoordinate,
9548 #[serde(rename = "@y")]
9549 pub y: STCoordinate,
9550 #[cfg(feature = "extra-attrs")]
9552 #[serde(skip)]
9553 #[cfg(feature = "extra-attrs")]
9554 #[serde(default)]
9555 #[cfg(feature = "extra-attrs")]
9556 pub extra_attrs: std::collections::HashMap<String, String>,
9557}
9558
9559#[derive(Debug, Clone, Serialize, Deserialize)]
9560pub struct PositiveSize2D {
9561 #[serde(rename = "@cx")]
9562 pub cx: STPositiveCoordinate,
9563 #[serde(rename = "@cy")]
9564 pub cy: STPositiveCoordinate,
9565 #[cfg(feature = "extra-attrs")]
9567 #[serde(skip)]
9568 #[cfg(feature = "extra-attrs")]
9569 #[serde(default)]
9570 #[cfg(feature = "extra-attrs")]
9571 pub extra_attrs: std::collections::HashMap<String, String>,
9572}
9573
9574#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9575pub struct CTComplementTransform;
9576
9577#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9578pub struct CTInverseTransform;
9579
9580#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9581pub struct CTGrayscaleTransform;
9582
9583#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9584pub struct CTGammaTransform;
9585
9586#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9587pub struct CTInverseGammaTransform;
9588
9589#[derive(Debug, Clone, Serialize, Deserialize)]
9590pub struct CTScRgbColor {
9591 #[serde(rename = "@r")]
9592 pub relationship_id: STPercentage,
9593 #[serde(rename = "@g")]
9594 pub g: STPercentage,
9595 #[serde(rename = "@b")]
9596 pub b: STPercentage,
9597 #[serde(skip)]
9598 #[serde(default)]
9599 pub color_transform: Vec<EGColorTransform>,
9600 #[cfg(feature = "extra-attrs")]
9602 #[serde(skip)]
9603 #[cfg(feature = "extra-attrs")]
9604 #[serde(default)]
9605 #[cfg(feature = "extra-attrs")]
9606 pub extra_attrs: std::collections::HashMap<String, String>,
9607 #[cfg(feature = "extra-children")]
9609 #[serde(skip)]
9610 #[cfg(feature = "extra-children")]
9611 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9612}
9613
9614#[derive(Debug, Clone, Serialize, Deserialize)]
9615pub struct SrgbColor {
9616 #[cfg(feature = "dml-colors")]
9617 #[serde(rename = "@val")]
9618 pub value: HexColorRgb,
9619 #[serde(skip)]
9620 #[serde(default)]
9621 pub color_transform: Vec<EGColorTransform>,
9622 #[cfg(feature = "extra-attrs")]
9624 #[serde(skip)]
9625 #[cfg(feature = "extra-attrs")]
9626 #[serde(default)]
9627 #[cfg(feature = "extra-attrs")]
9628 pub extra_attrs: std::collections::HashMap<String, String>,
9629 #[cfg(feature = "extra-children")]
9631 #[serde(skip)]
9632 #[cfg(feature = "extra-children")]
9633 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9634}
9635
9636#[derive(Debug, Clone, Serialize, Deserialize)]
9637pub struct HslColor {
9638 #[cfg(feature = "dml-colors")]
9639 #[serde(rename = "@hue")]
9640 pub hue: STPositiveFixedAngle,
9641 #[cfg(feature = "dml-colors")]
9642 #[serde(rename = "@sat")]
9643 pub sat: STPercentage,
9644 #[cfg(feature = "dml-colors")]
9645 #[serde(rename = "@lum")]
9646 pub lum: STPercentage,
9647 #[serde(skip)]
9648 #[serde(default)]
9649 pub color_transform: Vec<EGColorTransform>,
9650 #[cfg(feature = "extra-attrs")]
9652 #[serde(skip)]
9653 #[cfg(feature = "extra-attrs")]
9654 #[serde(default)]
9655 #[cfg(feature = "extra-attrs")]
9656 pub extra_attrs: std::collections::HashMap<String, String>,
9657 #[cfg(feature = "extra-children")]
9659 #[serde(skip)]
9660 #[cfg(feature = "extra-children")]
9661 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9662}
9663
9664#[derive(Debug, Clone, Serialize, Deserialize)]
9665pub struct SystemColor {
9666 #[serde(rename = "@val")]
9667 pub value: STSystemColorVal,
9668 #[serde(rename = "@lastClr")]
9669 #[serde(default, skip_serializing_if = "Option::is_none")]
9670 pub last_clr: Option<HexColorRgb>,
9671 #[serde(skip)]
9672 #[serde(default)]
9673 pub color_transform: Vec<EGColorTransform>,
9674 #[cfg(feature = "extra-attrs")]
9676 #[serde(skip)]
9677 #[cfg(feature = "extra-attrs")]
9678 #[serde(default)]
9679 #[cfg(feature = "extra-attrs")]
9680 pub extra_attrs: std::collections::HashMap<String, String>,
9681 #[cfg(feature = "extra-children")]
9683 #[serde(skip)]
9684 #[cfg(feature = "extra-children")]
9685 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9686}
9687
9688#[derive(Debug, Clone, Serialize, Deserialize)]
9689pub struct SchemeColor {
9690 #[cfg(feature = "dml-colors")]
9691 #[serde(rename = "@val")]
9692 pub value: STSchemeColorVal,
9693 #[serde(skip)]
9694 #[serde(default)]
9695 pub color_transform: Vec<EGColorTransform>,
9696 #[cfg(feature = "extra-attrs")]
9698 #[serde(skip)]
9699 #[cfg(feature = "extra-attrs")]
9700 #[serde(default)]
9701 #[cfg(feature = "extra-attrs")]
9702 pub extra_attrs: std::collections::HashMap<String, String>,
9703 #[cfg(feature = "extra-children")]
9705 #[serde(skip)]
9706 #[cfg(feature = "extra-children")]
9707 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9708}
9709
9710#[derive(Debug, Clone, Serialize, Deserialize)]
9711pub struct PresetColor {
9712 #[serde(rename = "@val")]
9713 pub value: STPresetColorVal,
9714 #[serde(skip)]
9715 #[serde(default)]
9716 pub color_transform: Vec<EGColorTransform>,
9717 #[cfg(feature = "extra-attrs")]
9719 #[serde(skip)]
9720 #[cfg(feature = "extra-attrs")]
9721 #[serde(default)]
9722 #[cfg(feature = "extra-attrs")]
9723 pub extra_attrs: std::collections::HashMap<String, String>,
9724 #[cfg(feature = "extra-children")]
9726 #[serde(skip)]
9727 #[cfg(feature = "extra-children")]
9728 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9729}
9730
9731#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9732pub struct EGOfficeArtExtensionList {
9733 #[serde(rename = "ext")]
9734 #[serde(default, skip_serializing_if = "Vec::is_empty")]
9735 pub extents: Vec<CTOfficeArtExtension>,
9736 #[cfg(feature = "extra-children")]
9738 #[serde(skip)]
9739 #[cfg(feature = "extra-children")]
9740 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9741}
9742
9743#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9744pub struct CTOfficeArtExtensionList {
9745 #[serde(rename = "ext")]
9746 #[serde(default, skip_serializing_if = "Vec::is_empty")]
9747 pub extents: Vec<CTOfficeArtExtension>,
9748 #[cfg(feature = "extra-children")]
9750 #[serde(skip)]
9751 #[cfg(feature = "extra-children")]
9752 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9753}
9754
9755#[derive(Debug, Clone, Serialize, Deserialize)]
9756pub struct CTScale2D {
9757 #[serde(rename = "sx")]
9758 pub sx: Box<CTRatio>,
9759 #[serde(rename = "sy")]
9760 pub sy: Box<CTRatio>,
9761 #[cfg(feature = "extra-children")]
9763 #[serde(skip)]
9764 #[cfg(feature = "extra-children")]
9765 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9766}
9767
9768#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9769pub struct Transform2D {
9770 #[serde(rename = "@rot")]
9771 #[serde(default, skip_serializing_if = "Option::is_none")]
9772 pub rot: Option<STAngle>,
9773 #[serde(rename = "@flipH")]
9774 #[serde(
9775 default,
9776 skip_serializing_if = "Option::is_none",
9777 with = "ooxml_xml::ooxml_bool"
9778 )]
9779 pub flip_h: Option<bool>,
9780 #[serde(rename = "@flipV")]
9781 #[serde(
9782 default,
9783 skip_serializing_if = "Option::is_none",
9784 with = "ooxml_xml::ooxml_bool"
9785 )]
9786 pub flip_v: Option<bool>,
9787 #[serde(rename = "off")]
9788 #[serde(default, skip_serializing_if = "Option::is_none")]
9789 pub offset: Option<Box<Point2D>>,
9790 #[serde(rename = "ext")]
9791 #[serde(default, skip_serializing_if = "Option::is_none")]
9792 pub extents: Option<Box<PositiveSize2D>>,
9793 #[cfg(feature = "extra-attrs")]
9795 #[serde(skip)]
9796 #[cfg(feature = "extra-attrs")]
9797 #[serde(default)]
9798 #[cfg(feature = "extra-attrs")]
9799 pub extra_attrs: std::collections::HashMap<String, String>,
9800 #[cfg(feature = "extra-children")]
9802 #[serde(skip)]
9803 #[cfg(feature = "extra-children")]
9804 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9805}
9806
9807#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9808pub struct CTGroupTransform2D {
9809 #[serde(rename = "@rot")]
9810 #[serde(default, skip_serializing_if = "Option::is_none")]
9811 pub rot: Option<STAngle>,
9812 #[serde(rename = "@flipH")]
9813 #[serde(
9814 default,
9815 skip_serializing_if = "Option::is_none",
9816 with = "ooxml_xml::ooxml_bool"
9817 )]
9818 pub flip_h: Option<bool>,
9819 #[serde(rename = "@flipV")]
9820 #[serde(
9821 default,
9822 skip_serializing_if = "Option::is_none",
9823 with = "ooxml_xml::ooxml_bool"
9824 )]
9825 pub flip_v: Option<bool>,
9826 #[serde(rename = "off")]
9827 #[serde(default, skip_serializing_if = "Option::is_none")]
9828 pub offset: Option<Box<Point2D>>,
9829 #[serde(rename = "ext")]
9830 #[serde(default, skip_serializing_if = "Option::is_none")]
9831 pub extents: Option<Box<PositiveSize2D>>,
9832 #[serde(rename = "chOff")]
9833 #[serde(default, skip_serializing_if = "Option::is_none")]
9834 pub child_offset: Option<Box<Point2D>>,
9835 #[serde(rename = "chExt")]
9836 #[serde(default, skip_serializing_if = "Option::is_none")]
9837 pub child_extents: Option<Box<PositiveSize2D>>,
9838 #[cfg(feature = "extra-attrs")]
9840 #[serde(skip)]
9841 #[cfg(feature = "extra-attrs")]
9842 #[serde(default)]
9843 #[cfg(feature = "extra-attrs")]
9844 pub extra_attrs: std::collections::HashMap<String, String>,
9845 #[cfg(feature = "extra-children")]
9847 #[serde(skip)]
9848 #[cfg(feature = "extra-children")]
9849 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9850}
9851
9852#[derive(Debug, Clone, Serialize, Deserialize)]
9853pub struct CTPoint3D {
9854 #[serde(rename = "@x")]
9855 pub x: STCoordinate,
9856 #[serde(rename = "@y")]
9857 pub y: STCoordinate,
9858 #[serde(rename = "@z")]
9859 pub z: STCoordinate,
9860 #[cfg(feature = "extra-attrs")]
9862 #[serde(skip)]
9863 #[cfg(feature = "extra-attrs")]
9864 #[serde(default)]
9865 #[cfg(feature = "extra-attrs")]
9866 pub extra_attrs: std::collections::HashMap<String, String>,
9867}
9868
9869#[derive(Debug, Clone, Serialize, Deserialize)]
9870pub struct CTVector3D {
9871 #[serde(rename = "@dx")]
9872 pub dx: STCoordinate,
9873 #[serde(rename = "@dy")]
9874 pub dy: STCoordinate,
9875 #[serde(rename = "@dz")]
9876 pub dz: STCoordinate,
9877 #[cfg(feature = "extra-attrs")]
9879 #[serde(skip)]
9880 #[cfg(feature = "extra-attrs")]
9881 #[serde(default)]
9882 #[cfg(feature = "extra-attrs")]
9883 pub extra_attrs: std::collections::HashMap<String, String>,
9884}
9885
9886#[derive(Debug, Clone, Serialize, Deserialize)]
9887pub struct CTSphereCoords {
9888 #[serde(rename = "@lat")]
9889 pub lat: STPositiveFixedAngle,
9890 #[serde(rename = "@lon")]
9891 pub lon: STPositiveFixedAngle,
9892 #[serde(rename = "@rev")]
9893 pub rev: STPositiveFixedAngle,
9894 #[cfg(feature = "extra-attrs")]
9896 #[serde(skip)]
9897 #[cfg(feature = "extra-attrs")]
9898 #[serde(default)]
9899 #[cfg(feature = "extra-attrs")]
9900 pub extra_attrs: std::collections::HashMap<String, String>,
9901}
9902
9903#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9904pub struct CTRelativeRect {
9905 #[serde(rename = "@l")]
9906 #[serde(default, skip_serializing_if = "Option::is_none")]
9907 pub l: Option<STPercentage>,
9908 #[serde(rename = "@t")]
9909 #[serde(default, skip_serializing_if = "Option::is_none")]
9910 pub t: Option<STPercentage>,
9911 #[serde(rename = "@r")]
9912 #[serde(default, skip_serializing_if = "Option::is_none")]
9913 pub relationship_id: Option<STPercentage>,
9914 #[serde(rename = "@b")]
9915 #[serde(default, skip_serializing_if = "Option::is_none")]
9916 pub b: Option<STPercentage>,
9917 #[cfg(feature = "extra-attrs")]
9919 #[serde(skip)]
9920 #[cfg(feature = "extra-attrs")]
9921 #[serde(default)]
9922 #[cfg(feature = "extra-attrs")]
9923 pub extra_attrs: std::collections::HashMap<String, String>,
9924}
9925
9926#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9927pub struct CTColor {
9928 #[serde(skip)]
9929 #[serde(default)]
9930 pub color_choice: Option<Box<EGColorChoice>>,
9931 #[cfg(feature = "extra-children")]
9933 #[serde(skip)]
9934 #[cfg(feature = "extra-children")]
9935 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9936}
9937
9938#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9939pub struct CTColorMRU {
9940 #[serde(skip)]
9941 #[serde(default)]
9942 pub color_choice: Vec<EGColorChoice>,
9943 #[cfg(feature = "extra-children")]
9945 #[serde(skip)]
9946 #[cfg(feature = "extra-children")]
9947 pub extra_children: Vec<ooxml_xml::PositionedNode>,
9948}
9949
9950#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9951pub struct AAGBlob {
9952 #[serde(rename = "@r:embed")]
9953 #[serde(default, skip_serializing_if = "Option::is_none")]
9954 pub embed: Option<STRelationshipId>,
9955 #[serde(rename = "@r:link")]
9956 #[serde(default, skip_serializing_if = "Option::is_none")]
9957 pub link: Option<STRelationshipId>,
9958 #[cfg(feature = "extra-attrs")]
9960 #[serde(skip)]
9961 #[cfg(feature = "extra-attrs")]
9962 #[serde(default)]
9963 #[cfg(feature = "extra-attrs")]
9964 pub extra_attrs: std::collections::HashMap<String, String>,
9965}
9966
9967#[derive(Debug, Clone, Serialize, Deserialize)]
9968pub struct CTEmbeddedWAVAudioFile {
9969 #[serde(rename = "@r:embed")]
9970 pub embed: STRelationshipId,
9971 #[serde(rename = "@name")]
9972 #[serde(default, skip_serializing_if = "Option::is_none")]
9973 pub name: Option<String>,
9974 #[cfg(feature = "extra-attrs")]
9976 #[serde(skip)]
9977 #[cfg(feature = "extra-attrs")]
9978 #[serde(default)]
9979 #[cfg(feature = "extra-attrs")]
9980 pub extra_attrs: std::collections::HashMap<String, String>,
9981}
9982
9983#[derive(Debug, Clone, Default, Serialize, Deserialize)]
9984pub struct CTHyperlink {
9985 #[cfg(feature = "dml-text")]
9986 #[serde(rename = "@r:id")]
9987 #[serde(default, skip_serializing_if = "Option::is_none")]
9988 pub id: Option<STRelationshipId>,
9989 #[cfg(feature = "dml-text")]
9990 #[serde(rename = "@invalidUrl")]
9991 #[serde(default, skip_serializing_if = "Option::is_none")]
9992 pub invalid_url: Option<String>,
9993 #[cfg(feature = "dml-text")]
9994 #[serde(rename = "@action")]
9995 #[serde(default, skip_serializing_if = "Option::is_none")]
9996 pub action: Option<String>,
9997 #[cfg(feature = "dml-text")]
9998 #[serde(rename = "@tgtFrame")]
9999 #[serde(default, skip_serializing_if = "Option::is_none")]
10000 pub tgt_frame: Option<String>,
10001 #[cfg(feature = "dml-text")]
10002 #[serde(rename = "@tooltip")]
10003 #[serde(default, skip_serializing_if = "Option::is_none")]
10004 pub tooltip: Option<String>,
10005 #[cfg(feature = "dml-text")]
10006 #[serde(rename = "@history")]
10007 #[serde(
10008 default,
10009 skip_serializing_if = "Option::is_none",
10010 with = "ooxml_xml::ooxml_bool"
10011 )]
10012 pub history: Option<bool>,
10013 #[cfg(feature = "dml-text")]
10014 #[serde(rename = "@highlightClick")]
10015 #[serde(
10016 default,
10017 skip_serializing_if = "Option::is_none",
10018 with = "ooxml_xml::ooxml_bool"
10019 )]
10020 pub highlight_click: Option<bool>,
10021 #[cfg(feature = "dml-text")]
10022 #[serde(rename = "@endSnd")]
10023 #[serde(
10024 default,
10025 skip_serializing_if = "Option::is_none",
10026 with = "ooxml_xml::ooxml_bool"
10027 )]
10028 pub end_snd: Option<bool>,
10029 #[cfg(feature = "dml-text")]
10030 #[serde(rename = "snd")]
10031 #[serde(default, skip_serializing_if = "Option::is_none")]
10032 pub snd: Option<Box<CTEmbeddedWAVAudioFile>>,
10033 #[cfg(feature = "dml-extensions")]
10034 #[serde(rename = "extLst")]
10035 #[serde(default, skip_serializing_if = "Option::is_none")]
10036 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
10037 #[cfg(feature = "extra-attrs")]
10039 #[serde(skip)]
10040 #[cfg(feature = "extra-attrs")]
10041 #[serde(default)]
10042 #[cfg(feature = "extra-attrs")]
10043 pub extra_attrs: std::collections::HashMap<String, String>,
10044 #[cfg(feature = "extra-children")]
10046 #[serde(skip)]
10047 #[cfg(feature = "extra-children")]
10048 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10049}
10050
10051#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10052pub struct AAGLocking {
10053 #[serde(rename = "@noGrp")]
10054 #[serde(
10055 default,
10056 skip_serializing_if = "Option::is_none",
10057 with = "ooxml_xml::ooxml_bool"
10058 )]
10059 pub no_grp: Option<bool>,
10060 #[serde(rename = "@noSelect")]
10061 #[serde(
10062 default,
10063 skip_serializing_if = "Option::is_none",
10064 with = "ooxml_xml::ooxml_bool"
10065 )]
10066 pub no_select: Option<bool>,
10067 #[serde(rename = "@noRot")]
10068 #[serde(
10069 default,
10070 skip_serializing_if = "Option::is_none",
10071 with = "ooxml_xml::ooxml_bool"
10072 )]
10073 pub no_rot: Option<bool>,
10074 #[serde(rename = "@noChangeAspect")]
10075 #[serde(
10076 default,
10077 skip_serializing_if = "Option::is_none",
10078 with = "ooxml_xml::ooxml_bool"
10079 )]
10080 pub no_change_aspect: Option<bool>,
10081 #[serde(rename = "@noMove")]
10082 #[serde(
10083 default,
10084 skip_serializing_if = "Option::is_none",
10085 with = "ooxml_xml::ooxml_bool"
10086 )]
10087 pub no_move: Option<bool>,
10088 #[serde(rename = "@noResize")]
10089 #[serde(
10090 default,
10091 skip_serializing_if = "Option::is_none",
10092 with = "ooxml_xml::ooxml_bool"
10093 )]
10094 pub no_resize: Option<bool>,
10095 #[serde(rename = "@noEditPoints")]
10096 #[serde(
10097 default,
10098 skip_serializing_if = "Option::is_none",
10099 with = "ooxml_xml::ooxml_bool"
10100 )]
10101 pub no_edit_points: Option<bool>,
10102 #[serde(rename = "@noAdjustHandles")]
10103 #[serde(
10104 default,
10105 skip_serializing_if = "Option::is_none",
10106 with = "ooxml_xml::ooxml_bool"
10107 )]
10108 pub no_adjust_handles: Option<bool>,
10109 #[serde(rename = "@noChangeArrowheads")]
10110 #[serde(
10111 default,
10112 skip_serializing_if = "Option::is_none",
10113 with = "ooxml_xml::ooxml_bool"
10114 )]
10115 pub no_change_arrowheads: Option<bool>,
10116 #[serde(rename = "@noChangeShapeType")]
10117 #[serde(
10118 default,
10119 skip_serializing_if = "Option::is_none",
10120 with = "ooxml_xml::ooxml_bool"
10121 )]
10122 pub no_change_shape_type: Option<bool>,
10123 #[cfg(feature = "extra-attrs")]
10125 #[serde(skip)]
10126 #[cfg(feature = "extra-attrs")]
10127 #[serde(default)]
10128 #[cfg(feature = "extra-attrs")]
10129 pub extra_attrs: std::collections::HashMap<String, String>,
10130}
10131
10132#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10133pub struct CTConnectorLocking {
10134 #[serde(rename = "@noGrp")]
10135 #[serde(
10136 default,
10137 skip_serializing_if = "Option::is_none",
10138 with = "ooxml_xml::ooxml_bool"
10139 )]
10140 pub no_grp: Option<bool>,
10141 #[serde(rename = "@noSelect")]
10142 #[serde(
10143 default,
10144 skip_serializing_if = "Option::is_none",
10145 with = "ooxml_xml::ooxml_bool"
10146 )]
10147 pub no_select: Option<bool>,
10148 #[serde(rename = "@noRot")]
10149 #[serde(
10150 default,
10151 skip_serializing_if = "Option::is_none",
10152 with = "ooxml_xml::ooxml_bool"
10153 )]
10154 pub no_rot: Option<bool>,
10155 #[serde(rename = "@noChangeAspect")]
10156 #[serde(
10157 default,
10158 skip_serializing_if = "Option::is_none",
10159 with = "ooxml_xml::ooxml_bool"
10160 )]
10161 pub no_change_aspect: Option<bool>,
10162 #[serde(rename = "@noMove")]
10163 #[serde(
10164 default,
10165 skip_serializing_if = "Option::is_none",
10166 with = "ooxml_xml::ooxml_bool"
10167 )]
10168 pub no_move: Option<bool>,
10169 #[serde(rename = "@noResize")]
10170 #[serde(
10171 default,
10172 skip_serializing_if = "Option::is_none",
10173 with = "ooxml_xml::ooxml_bool"
10174 )]
10175 pub no_resize: Option<bool>,
10176 #[serde(rename = "@noEditPoints")]
10177 #[serde(
10178 default,
10179 skip_serializing_if = "Option::is_none",
10180 with = "ooxml_xml::ooxml_bool"
10181 )]
10182 pub no_edit_points: Option<bool>,
10183 #[serde(rename = "@noAdjustHandles")]
10184 #[serde(
10185 default,
10186 skip_serializing_if = "Option::is_none",
10187 with = "ooxml_xml::ooxml_bool"
10188 )]
10189 pub no_adjust_handles: Option<bool>,
10190 #[serde(rename = "@noChangeArrowheads")]
10191 #[serde(
10192 default,
10193 skip_serializing_if = "Option::is_none",
10194 with = "ooxml_xml::ooxml_bool"
10195 )]
10196 pub no_change_arrowheads: Option<bool>,
10197 #[serde(rename = "@noChangeShapeType")]
10198 #[serde(
10199 default,
10200 skip_serializing_if = "Option::is_none",
10201 with = "ooxml_xml::ooxml_bool"
10202 )]
10203 pub no_change_shape_type: Option<bool>,
10204 #[serde(rename = "extLst")]
10205 #[serde(default, skip_serializing_if = "Option::is_none")]
10206 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
10207 #[cfg(feature = "extra-attrs")]
10209 #[serde(skip)]
10210 #[cfg(feature = "extra-attrs")]
10211 #[serde(default)]
10212 #[cfg(feature = "extra-attrs")]
10213 pub extra_attrs: std::collections::HashMap<String, String>,
10214 #[cfg(feature = "extra-children")]
10216 #[serde(skip)]
10217 #[cfg(feature = "extra-children")]
10218 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10219}
10220
10221#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10222pub struct CTShapeLocking {
10223 #[serde(rename = "@noGrp")]
10224 #[serde(
10225 default,
10226 skip_serializing_if = "Option::is_none",
10227 with = "ooxml_xml::ooxml_bool"
10228 )]
10229 pub no_grp: Option<bool>,
10230 #[serde(rename = "@noSelect")]
10231 #[serde(
10232 default,
10233 skip_serializing_if = "Option::is_none",
10234 with = "ooxml_xml::ooxml_bool"
10235 )]
10236 pub no_select: Option<bool>,
10237 #[serde(rename = "@noRot")]
10238 #[serde(
10239 default,
10240 skip_serializing_if = "Option::is_none",
10241 with = "ooxml_xml::ooxml_bool"
10242 )]
10243 pub no_rot: Option<bool>,
10244 #[serde(rename = "@noChangeAspect")]
10245 #[serde(
10246 default,
10247 skip_serializing_if = "Option::is_none",
10248 with = "ooxml_xml::ooxml_bool"
10249 )]
10250 pub no_change_aspect: Option<bool>,
10251 #[serde(rename = "@noMove")]
10252 #[serde(
10253 default,
10254 skip_serializing_if = "Option::is_none",
10255 with = "ooxml_xml::ooxml_bool"
10256 )]
10257 pub no_move: Option<bool>,
10258 #[serde(rename = "@noResize")]
10259 #[serde(
10260 default,
10261 skip_serializing_if = "Option::is_none",
10262 with = "ooxml_xml::ooxml_bool"
10263 )]
10264 pub no_resize: Option<bool>,
10265 #[serde(rename = "@noEditPoints")]
10266 #[serde(
10267 default,
10268 skip_serializing_if = "Option::is_none",
10269 with = "ooxml_xml::ooxml_bool"
10270 )]
10271 pub no_edit_points: Option<bool>,
10272 #[serde(rename = "@noAdjustHandles")]
10273 #[serde(
10274 default,
10275 skip_serializing_if = "Option::is_none",
10276 with = "ooxml_xml::ooxml_bool"
10277 )]
10278 pub no_adjust_handles: Option<bool>,
10279 #[serde(rename = "@noChangeArrowheads")]
10280 #[serde(
10281 default,
10282 skip_serializing_if = "Option::is_none",
10283 with = "ooxml_xml::ooxml_bool"
10284 )]
10285 pub no_change_arrowheads: Option<bool>,
10286 #[serde(rename = "@noChangeShapeType")]
10287 #[serde(
10288 default,
10289 skip_serializing_if = "Option::is_none",
10290 with = "ooxml_xml::ooxml_bool"
10291 )]
10292 pub no_change_shape_type: Option<bool>,
10293 #[serde(rename = "@noTextEdit")]
10294 #[serde(
10295 default,
10296 skip_serializing_if = "Option::is_none",
10297 with = "ooxml_xml::ooxml_bool"
10298 )]
10299 pub no_text_edit: Option<bool>,
10300 #[serde(rename = "extLst")]
10301 #[serde(default, skip_serializing_if = "Option::is_none")]
10302 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
10303 #[cfg(feature = "extra-attrs")]
10305 #[serde(skip)]
10306 #[cfg(feature = "extra-attrs")]
10307 #[serde(default)]
10308 #[cfg(feature = "extra-attrs")]
10309 pub extra_attrs: std::collections::HashMap<String, String>,
10310 #[cfg(feature = "extra-children")]
10312 #[serde(skip)]
10313 #[cfg(feature = "extra-children")]
10314 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10315}
10316
10317#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10318pub struct CTPictureLocking {
10319 #[serde(rename = "@noGrp")]
10320 #[serde(
10321 default,
10322 skip_serializing_if = "Option::is_none",
10323 with = "ooxml_xml::ooxml_bool"
10324 )]
10325 pub no_grp: Option<bool>,
10326 #[serde(rename = "@noSelect")]
10327 #[serde(
10328 default,
10329 skip_serializing_if = "Option::is_none",
10330 with = "ooxml_xml::ooxml_bool"
10331 )]
10332 pub no_select: Option<bool>,
10333 #[serde(rename = "@noRot")]
10334 #[serde(
10335 default,
10336 skip_serializing_if = "Option::is_none",
10337 with = "ooxml_xml::ooxml_bool"
10338 )]
10339 pub no_rot: Option<bool>,
10340 #[serde(rename = "@noChangeAspect")]
10341 #[serde(
10342 default,
10343 skip_serializing_if = "Option::is_none",
10344 with = "ooxml_xml::ooxml_bool"
10345 )]
10346 pub no_change_aspect: Option<bool>,
10347 #[serde(rename = "@noMove")]
10348 #[serde(
10349 default,
10350 skip_serializing_if = "Option::is_none",
10351 with = "ooxml_xml::ooxml_bool"
10352 )]
10353 pub no_move: Option<bool>,
10354 #[serde(rename = "@noResize")]
10355 #[serde(
10356 default,
10357 skip_serializing_if = "Option::is_none",
10358 with = "ooxml_xml::ooxml_bool"
10359 )]
10360 pub no_resize: Option<bool>,
10361 #[serde(rename = "@noEditPoints")]
10362 #[serde(
10363 default,
10364 skip_serializing_if = "Option::is_none",
10365 with = "ooxml_xml::ooxml_bool"
10366 )]
10367 pub no_edit_points: Option<bool>,
10368 #[serde(rename = "@noAdjustHandles")]
10369 #[serde(
10370 default,
10371 skip_serializing_if = "Option::is_none",
10372 with = "ooxml_xml::ooxml_bool"
10373 )]
10374 pub no_adjust_handles: Option<bool>,
10375 #[serde(rename = "@noChangeArrowheads")]
10376 #[serde(
10377 default,
10378 skip_serializing_if = "Option::is_none",
10379 with = "ooxml_xml::ooxml_bool"
10380 )]
10381 pub no_change_arrowheads: Option<bool>,
10382 #[serde(rename = "@noChangeShapeType")]
10383 #[serde(
10384 default,
10385 skip_serializing_if = "Option::is_none",
10386 with = "ooxml_xml::ooxml_bool"
10387 )]
10388 pub no_change_shape_type: Option<bool>,
10389 #[serde(rename = "@noCrop")]
10390 #[serde(
10391 default,
10392 skip_serializing_if = "Option::is_none",
10393 with = "ooxml_xml::ooxml_bool"
10394 )]
10395 pub no_crop: Option<bool>,
10396 #[serde(rename = "extLst")]
10397 #[serde(default, skip_serializing_if = "Option::is_none")]
10398 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
10399 #[cfg(feature = "extra-attrs")]
10401 #[serde(skip)]
10402 #[cfg(feature = "extra-attrs")]
10403 #[serde(default)]
10404 #[cfg(feature = "extra-attrs")]
10405 pub extra_attrs: std::collections::HashMap<String, String>,
10406 #[cfg(feature = "extra-children")]
10408 #[serde(skip)]
10409 #[cfg(feature = "extra-children")]
10410 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10411}
10412
10413#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10414pub struct CTGroupLocking {
10415 #[serde(rename = "@noGrp")]
10416 #[serde(
10417 default,
10418 skip_serializing_if = "Option::is_none",
10419 with = "ooxml_xml::ooxml_bool"
10420 )]
10421 pub no_grp: Option<bool>,
10422 #[serde(rename = "@noUngrp")]
10423 #[serde(
10424 default,
10425 skip_serializing_if = "Option::is_none",
10426 with = "ooxml_xml::ooxml_bool"
10427 )]
10428 pub no_ungrp: Option<bool>,
10429 #[serde(rename = "@noSelect")]
10430 #[serde(
10431 default,
10432 skip_serializing_if = "Option::is_none",
10433 with = "ooxml_xml::ooxml_bool"
10434 )]
10435 pub no_select: Option<bool>,
10436 #[serde(rename = "@noRot")]
10437 #[serde(
10438 default,
10439 skip_serializing_if = "Option::is_none",
10440 with = "ooxml_xml::ooxml_bool"
10441 )]
10442 pub no_rot: Option<bool>,
10443 #[serde(rename = "@noChangeAspect")]
10444 #[serde(
10445 default,
10446 skip_serializing_if = "Option::is_none",
10447 with = "ooxml_xml::ooxml_bool"
10448 )]
10449 pub no_change_aspect: Option<bool>,
10450 #[serde(rename = "@noMove")]
10451 #[serde(
10452 default,
10453 skip_serializing_if = "Option::is_none",
10454 with = "ooxml_xml::ooxml_bool"
10455 )]
10456 pub no_move: Option<bool>,
10457 #[serde(rename = "@noResize")]
10458 #[serde(
10459 default,
10460 skip_serializing_if = "Option::is_none",
10461 with = "ooxml_xml::ooxml_bool"
10462 )]
10463 pub no_resize: Option<bool>,
10464 #[serde(rename = "extLst")]
10465 #[serde(default, skip_serializing_if = "Option::is_none")]
10466 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
10467 #[cfg(feature = "extra-attrs")]
10469 #[serde(skip)]
10470 #[cfg(feature = "extra-attrs")]
10471 #[serde(default)]
10472 #[cfg(feature = "extra-attrs")]
10473 pub extra_attrs: std::collections::HashMap<String, String>,
10474 #[cfg(feature = "extra-children")]
10476 #[serde(skip)]
10477 #[cfg(feature = "extra-children")]
10478 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10479}
10480
10481#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10482pub struct CTGraphicalObjectFrameLocking {
10483 #[serde(rename = "@noGrp")]
10484 #[serde(
10485 default,
10486 skip_serializing_if = "Option::is_none",
10487 with = "ooxml_xml::ooxml_bool"
10488 )]
10489 pub no_grp: Option<bool>,
10490 #[serde(rename = "@noDrilldown")]
10491 #[serde(
10492 default,
10493 skip_serializing_if = "Option::is_none",
10494 with = "ooxml_xml::ooxml_bool"
10495 )]
10496 pub no_drilldown: Option<bool>,
10497 #[serde(rename = "@noSelect")]
10498 #[serde(
10499 default,
10500 skip_serializing_if = "Option::is_none",
10501 with = "ooxml_xml::ooxml_bool"
10502 )]
10503 pub no_select: Option<bool>,
10504 #[serde(rename = "@noChangeAspect")]
10505 #[serde(
10506 default,
10507 skip_serializing_if = "Option::is_none",
10508 with = "ooxml_xml::ooxml_bool"
10509 )]
10510 pub no_change_aspect: Option<bool>,
10511 #[serde(rename = "@noMove")]
10512 #[serde(
10513 default,
10514 skip_serializing_if = "Option::is_none",
10515 with = "ooxml_xml::ooxml_bool"
10516 )]
10517 pub no_move: Option<bool>,
10518 #[serde(rename = "@noResize")]
10519 #[serde(
10520 default,
10521 skip_serializing_if = "Option::is_none",
10522 with = "ooxml_xml::ooxml_bool"
10523 )]
10524 pub no_resize: Option<bool>,
10525 #[serde(rename = "extLst")]
10526 #[serde(default, skip_serializing_if = "Option::is_none")]
10527 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
10528 #[cfg(feature = "extra-attrs")]
10530 #[serde(skip)]
10531 #[cfg(feature = "extra-attrs")]
10532 #[serde(default)]
10533 #[cfg(feature = "extra-attrs")]
10534 pub extra_attrs: std::collections::HashMap<String, String>,
10535 #[cfg(feature = "extra-children")]
10537 #[serde(skip)]
10538 #[cfg(feature = "extra-children")]
10539 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10540}
10541
10542#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10543pub struct CTContentPartLocking {
10544 #[serde(rename = "@noGrp")]
10545 #[serde(
10546 default,
10547 skip_serializing_if = "Option::is_none",
10548 with = "ooxml_xml::ooxml_bool"
10549 )]
10550 pub no_grp: Option<bool>,
10551 #[serde(rename = "@noSelect")]
10552 #[serde(
10553 default,
10554 skip_serializing_if = "Option::is_none",
10555 with = "ooxml_xml::ooxml_bool"
10556 )]
10557 pub no_select: Option<bool>,
10558 #[serde(rename = "@noRot")]
10559 #[serde(
10560 default,
10561 skip_serializing_if = "Option::is_none",
10562 with = "ooxml_xml::ooxml_bool"
10563 )]
10564 pub no_rot: Option<bool>,
10565 #[serde(rename = "@noChangeAspect")]
10566 #[serde(
10567 default,
10568 skip_serializing_if = "Option::is_none",
10569 with = "ooxml_xml::ooxml_bool"
10570 )]
10571 pub no_change_aspect: Option<bool>,
10572 #[serde(rename = "@noMove")]
10573 #[serde(
10574 default,
10575 skip_serializing_if = "Option::is_none",
10576 with = "ooxml_xml::ooxml_bool"
10577 )]
10578 pub no_move: Option<bool>,
10579 #[serde(rename = "@noResize")]
10580 #[serde(
10581 default,
10582 skip_serializing_if = "Option::is_none",
10583 with = "ooxml_xml::ooxml_bool"
10584 )]
10585 pub no_resize: Option<bool>,
10586 #[serde(rename = "@noEditPoints")]
10587 #[serde(
10588 default,
10589 skip_serializing_if = "Option::is_none",
10590 with = "ooxml_xml::ooxml_bool"
10591 )]
10592 pub no_edit_points: Option<bool>,
10593 #[serde(rename = "@noAdjustHandles")]
10594 #[serde(
10595 default,
10596 skip_serializing_if = "Option::is_none",
10597 with = "ooxml_xml::ooxml_bool"
10598 )]
10599 pub no_adjust_handles: Option<bool>,
10600 #[serde(rename = "@noChangeArrowheads")]
10601 #[serde(
10602 default,
10603 skip_serializing_if = "Option::is_none",
10604 with = "ooxml_xml::ooxml_bool"
10605 )]
10606 pub no_change_arrowheads: Option<bool>,
10607 #[serde(rename = "@noChangeShapeType")]
10608 #[serde(
10609 default,
10610 skip_serializing_if = "Option::is_none",
10611 with = "ooxml_xml::ooxml_bool"
10612 )]
10613 pub no_change_shape_type: Option<bool>,
10614 #[serde(rename = "extLst")]
10615 #[serde(default, skip_serializing_if = "Option::is_none")]
10616 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
10617 #[cfg(feature = "extra-attrs")]
10619 #[serde(skip)]
10620 #[cfg(feature = "extra-attrs")]
10621 #[serde(default)]
10622 #[cfg(feature = "extra-attrs")]
10623 pub extra_attrs: std::collections::HashMap<String, String>,
10624 #[cfg(feature = "extra-children")]
10626 #[serde(skip)]
10627 #[cfg(feature = "extra-children")]
10628 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10629}
10630
10631#[derive(Debug, Clone, Serialize, Deserialize)]
10632pub struct CTNonVisualDrawingProps {
10633 #[serde(rename = "@id")]
10634 pub id: STDrawingElementId,
10635 #[serde(rename = "@name")]
10636 pub name: String,
10637 #[serde(rename = "@descr")]
10638 #[serde(default, skip_serializing_if = "Option::is_none")]
10639 pub descr: Option<String>,
10640 #[serde(rename = "@hidden")]
10641 #[serde(
10642 default,
10643 skip_serializing_if = "Option::is_none",
10644 with = "ooxml_xml::ooxml_bool"
10645 )]
10646 pub hidden: Option<bool>,
10647 #[serde(rename = "@title")]
10648 #[serde(default, skip_serializing_if = "Option::is_none")]
10649 pub title: Option<String>,
10650 #[cfg(feature = "dml-text")]
10651 #[serde(rename = "hlinkClick")]
10652 #[serde(default, skip_serializing_if = "Option::is_none")]
10653 pub hlink_click: Option<Box<CTHyperlink>>,
10654 #[cfg(feature = "dml-text")]
10655 #[serde(rename = "hlinkHover")]
10656 #[serde(default, skip_serializing_if = "Option::is_none")]
10657 pub hlink_hover: Option<Box<CTHyperlink>>,
10658 #[cfg(feature = "dml-extensions")]
10659 #[serde(rename = "extLst")]
10660 #[serde(default, skip_serializing_if = "Option::is_none")]
10661 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
10662 #[cfg(feature = "extra-attrs")]
10664 #[serde(skip)]
10665 #[cfg(feature = "extra-attrs")]
10666 #[serde(default)]
10667 #[cfg(feature = "extra-attrs")]
10668 pub extra_attrs: std::collections::HashMap<String, String>,
10669 #[cfg(feature = "extra-children")]
10671 #[serde(skip)]
10672 #[cfg(feature = "extra-children")]
10673 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10674}
10675
10676#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10677pub struct CTNonVisualDrawingShapeProps {
10678 #[serde(rename = "@txBox")]
10679 #[serde(
10680 default,
10681 skip_serializing_if = "Option::is_none",
10682 with = "ooxml_xml::ooxml_bool"
10683 )]
10684 pub tx_box: Option<bool>,
10685 #[serde(rename = "spLocks")]
10686 #[serde(default, skip_serializing_if = "Option::is_none")]
10687 pub sp_locks: Option<Box<CTShapeLocking>>,
10688 #[serde(rename = "extLst")]
10689 #[serde(default, skip_serializing_if = "Option::is_none")]
10690 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
10691 #[cfg(feature = "extra-attrs")]
10693 #[serde(skip)]
10694 #[cfg(feature = "extra-attrs")]
10695 #[serde(default)]
10696 #[cfg(feature = "extra-attrs")]
10697 pub extra_attrs: std::collections::HashMap<String, String>,
10698 #[cfg(feature = "extra-children")]
10700 #[serde(skip)]
10701 #[cfg(feature = "extra-children")]
10702 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10703}
10704
10705#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10706pub struct CTNonVisualConnectorProperties {
10707 #[cfg(feature = "dml-shapes")]
10708 #[serde(rename = "cxnSpLocks")]
10709 #[serde(default, skip_serializing_if = "Option::is_none")]
10710 pub cxn_sp_locks: Option<Box<CTConnectorLocking>>,
10711 #[cfg(feature = "dml-shapes")]
10712 #[serde(rename = "stCxn")]
10713 #[serde(default, skip_serializing_if = "Option::is_none")]
10714 pub st_cxn: Option<Box<CTConnection>>,
10715 #[cfg(feature = "dml-shapes")]
10716 #[serde(rename = "endCxn")]
10717 #[serde(default, skip_serializing_if = "Option::is_none")]
10718 pub end_cxn: Option<Box<CTConnection>>,
10719 #[cfg(feature = "dml-extensions")]
10720 #[serde(rename = "extLst")]
10721 #[serde(default, skip_serializing_if = "Option::is_none")]
10722 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
10723 #[cfg(feature = "extra-children")]
10725 #[serde(skip)]
10726 #[cfg(feature = "extra-children")]
10727 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10728}
10729
10730#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10731pub struct CTNonVisualPictureProperties {
10732 #[cfg(feature = "dml-shapes")]
10733 #[serde(rename = "@preferRelativeResize")]
10734 #[serde(
10735 default,
10736 skip_serializing_if = "Option::is_none",
10737 with = "ooxml_xml::ooxml_bool"
10738 )]
10739 pub prefer_relative_resize: Option<bool>,
10740 #[cfg(feature = "dml-shapes")]
10741 #[serde(rename = "picLocks")]
10742 #[serde(default, skip_serializing_if = "Option::is_none")]
10743 pub pic_locks: Option<Box<CTPictureLocking>>,
10744 #[cfg(feature = "dml-extensions")]
10745 #[serde(rename = "extLst")]
10746 #[serde(default, skip_serializing_if = "Option::is_none")]
10747 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
10748 #[cfg(feature = "extra-attrs")]
10750 #[serde(skip)]
10751 #[cfg(feature = "extra-attrs")]
10752 #[serde(default)]
10753 #[cfg(feature = "extra-attrs")]
10754 pub extra_attrs: std::collections::HashMap<String, String>,
10755 #[cfg(feature = "extra-children")]
10757 #[serde(skip)]
10758 #[cfg(feature = "extra-children")]
10759 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10760}
10761
10762#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10763pub struct CTNonVisualGroupDrawingShapeProps {
10764 #[cfg(feature = "dml-shapes")]
10765 #[serde(rename = "grpSpLocks")]
10766 #[serde(default, skip_serializing_if = "Option::is_none")]
10767 pub grp_sp_locks: Option<Box<CTGroupLocking>>,
10768 #[cfg(feature = "dml-extensions")]
10769 #[serde(rename = "extLst")]
10770 #[serde(default, skip_serializing_if = "Option::is_none")]
10771 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
10772 #[cfg(feature = "extra-children")]
10774 #[serde(skip)]
10775 #[cfg(feature = "extra-children")]
10776 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10777}
10778
10779#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10780pub struct CTNonVisualGraphicFrameProperties {
10781 #[cfg(feature = "dml-shapes")]
10782 #[serde(rename = "graphicFrameLocks")]
10783 #[serde(default, skip_serializing_if = "Option::is_none")]
10784 pub graphic_frame_locks: Option<Box<CTGraphicalObjectFrameLocking>>,
10785 #[cfg(feature = "dml-extensions")]
10786 #[serde(rename = "extLst")]
10787 #[serde(default, skip_serializing_if = "Option::is_none")]
10788 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
10789 #[cfg(feature = "extra-children")]
10791 #[serde(skip)]
10792 #[cfg(feature = "extra-children")]
10793 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10794}
10795
10796#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10797pub struct CTNonVisualContentPartProperties {
10798 #[serde(rename = "@isComment")]
10799 #[serde(
10800 default,
10801 skip_serializing_if = "Option::is_none",
10802 with = "ooxml_xml::ooxml_bool"
10803 )]
10804 pub is_comment: Option<bool>,
10805 #[serde(rename = "cpLocks")]
10806 #[serde(default, skip_serializing_if = "Option::is_none")]
10807 pub cp_locks: Option<Box<CTContentPartLocking>>,
10808 #[serde(rename = "extLst")]
10809 #[serde(default, skip_serializing_if = "Option::is_none")]
10810 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
10811 #[cfg(feature = "extra-attrs")]
10813 #[serde(skip)]
10814 #[cfg(feature = "extra-attrs")]
10815 #[serde(default)]
10816 #[cfg(feature = "extra-attrs")]
10817 pub extra_attrs: std::collections::HashMap<String, String>,
10818 #[cfg(feature = "extra-children")]
10820 #[serde(skip)]
10821 #[cfg(feature = "extra-children")]
10822 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10823}
10824
10825#[derive(Debug, Clone, Serialize, Deserialize)]
10826pub struct CTGraphicalObjectData {
10827 #[serde(rename = "@uri")]
10828 pub uri: String,
10829 #[cfg(feature = "extra-attrs")]
10831 #[serde(skip)]
10832 #[cfg(feature = "extra-attrs")]
10833 #[serde(default)]
10834 #[cfg(feature = "extra-attrs")]
10835 pub extra_attrs: std::collections::HashMap<String, String>,
10836}
10837
10838pub type GraphicalObjectDataAnyElement = String;
10839
10840pub type GraphicalObjectElement = Box<CTGraphicalObjectData>;
10841
10842pub type AGraphic = GraphicalObjectElement;
10843
10844#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10845pub struct CTAnimationDgmElement {
10846 #[serde(rename = "@id")]
10847 #[serde(default, skip_serializing_if = "Option::is_none")]
10848 pub id: Option<Guid>,
10849 #[serde(rename = "@bldStep")]
10850 #[serde(default, skip_serializing_if = "Option::is_none")]
10851 pub bld_step: Option<STDgmBuildStep>,
10852 #[cfg(feature = "extra-attrs")]
10854 #[serde(skip)]
10855 #[cfg(feature = "extra-attrs")]
10856 #[serde(default)]
10857 #[cfg(feature = "extra-attrs")]
10858 pub extra_attrs: std::collections::HashMap<String, String>,
10859}
10860
10861#[derive(Debug, Clone, Serialize, Deserialize)]
10862pub struct CTAnimationChartElement {
10863 #[serde(rename = "@seriesIdx")]
10864 #[serde(default, skip_serializing_if = "Option::is_none")]
10865 pub series_idx: Option<i32>,
10866 #[serde(rename = "@categoryIdx")]
10867 #[serde(default, skip_serializing_if = "Option::is_none")]
10868 pub category_idx: Option<i32>,
10869 #[serde(rename = "@bldStep")]
10870 pub bld_step: STChartBuildStep,
10871 #[cfg(feature = "extra-attrs")]
10873 #[serde(skip)]
10874 #[cfg(feature = "extra-attrs")]
10875 #[serde(default)]
10876 #[cfg(feature = "extra-attrs")]
10877 pub extra_attrs: std::collections::HashMap<String, String>,
10878}
10879
10880#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10881pub struct CTAnimationElementChoice {
10882 #[serde(rename = "dgm")]
10883 #[serde(default, skip_serializing_if = "Option::is_none")]
10884 pub dgm: Option<Box<CTAnimationDgmElement>>,
10885 #[serde(rename = "chart")]
10886 #[serde(default, skip_serializing_if = "Option::is_none")]
10887 pub chart: Option<Box<CTAnimationChartElement>>,
10888 #[cfg(feature = "extra-children")]
10890 #[serde(skip)]
10891 #[cfg(feature = "extra-children")]
10892 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10893}
10894
10895#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10896pub struct CTAnimationDgmBuildProperties {
10897 #[serde(rename = "@bld")]
10898 #[serde(default, skip_serializing_if = "Option::is_none")]
10899 pub bld: Option<STAnimationDgmBuildType>,
10900 #[serde(rename = "@rev")]
10901 #[serde(
10902 default,
10903 skip_serializing_if = "Option::is_none",
10904 with = "ooxml_xml::ooxml_bool"
10905 )]
10906 pub rev: Option<bool>,
10907 #[cfg(feature = "extra-attrs")]
10909 #[serde(skip)]
10910 #[cfg(feature = "extra-attrs")]
10911 #[serde(default)]
10912 #[cfg(feature = "extra-attrs")]
10913 pub extra_attrs: std::collections::HashMap<String, String>,
10914}
10915
10916#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10917pub struct CTAnimationChartBuildProperties {
10918 #[serde(rename = "@bld")]
10919 #[serde(default, skip_serializing_if = "Option::is_none")]
10920 pub bld: Option<STAnimationChartBuildType>,
10921 #[serde(rename = "@animBg")]
10922 #[serde(
10923 default,
10924 skip_serializing_if = "Option::is_none",
10925 with = "ooxml_xml::ooxml_bool"
10926 )]
10927 pub anim_bg: Option<bool>,
10928 #[cfg(feature = "extra-attrs")]
10930 #[serde(skip)]
10931 #[cfg(feature = "extra-attrs")]
10932 #[serde(default)]
10933 #[cfg(feature = "extra-attrs")]
10934 pub extra_attrs: std::collections::HashMap<String, String>,
10935}
10936
10937#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10938pub struct CTAnimationGraphicalObjectBuildProperties {
10939 #[serde(rename = "bldDgm")]
10940 #[serde(default, skip_serializing_if = "Option::is_none")]
10941 pub bld_dgm: Option<Box<CTAnimationDgmBuildProperties>>,
10942 #[serde(rename = "bldChart")]
10943 #[serde(default, skip_serializing_if = "Option::is_none")]
10944 pub bld_chart: Option<Box<CTAnimationChartBuildProperties>>,
10945 #[cfg(feature = "extra-children")]
10947 #[serde(skip)]
10948 #[cfg(feature = "extra-children")]
10949 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10950}
10951
10952#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10953pub struct CTBackgroundFormatting {
10954 #[serde(skip)]
10955 #[serde(default)]
10956 pub fill_properties: Option<Box<EGFillProperties>>,
10957 #[serde(skip)]
10958 #[serde(default)]
10959 pub effect_properties: Option<Box<EGEffectProperties>>,
10960 #[cfg(feature = "extra-children")]
10962 #[serde(skip)]
10963 #[cfg(feature = "extra-children")]
10964 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10965}
10966
10967#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10968pub struct CTWholeE2oFormatting {
10969 #[serde(rename = "ln")]
10970 #[serde(default, skip_serializing_if = "Option::is_none")]
10971 pub line: Option<Box<LineProperties>>,
10972 #[serde(skip)]
10973 #[serde(default)]
10974 pub effect_properties: Option<Box<EGEffectProperties>>,
10975 #[cfg(feature = "extra-children")]
10977 #[serde(skip)]
10978 #[cfg(feature = "extra-children")]
10979 pub extra_children: Vec<ooxml_xml::PositionedNode>,
10980}
10981
10982#[derive(Debug, Clone, Default, Serialize, Deserialize)]
10983pub struct CTGvmlUseShapeRectangle;
10984
10985#[derive(Debug, Clone, Serialize, Deserialize)]
10986pub struct CTGvmlTextShape {
10987 #[serde(rename = "txBody")]
10988 pub tx_body: Box<TextBody>,
10989 #[serde(rename = "useSpRect")]
10990 #[serde(default, skip_serializing_if = "Option::is_none")]
10991 pub use_sp_rect: Option<Box<CTGvmlUseShapeRectangle>>,
10992 #[serde(rename = "xfrm")]
10993 #[serde(default, skip_serializing_if = "Option::is_none")]
10994 pub transform: Option<Box<Transform2D>>,
10995 #[serde(rename = "extLst")]
10996 #[serde(default, skip_serializing_if = "Option::is_none")]
10997 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
10998 #[cfg(feature = "extra-children")]
11000 #[serde(skip)]
11001 #[cfg(feature = "extra-children")]
11002 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11003}
11004
11005#[derive(Debug, Clone, Serialize, Deserialize)]
11006pub struct CTGvmlShapeNonVisual {
11007 #[serde(rename = "cNvPr")]
11008 pub common_non_visual_properties: Box<CTNonVisualDrawingProps>,
11009 #[serde(rename = "cNvSpPr")]
11010 pub common_non_visual_shape_properties: Box<CTNonVisualDrawingShapeProps>,
11011 #[cfg(feature = "extra-children")]
11013 #[serde(skip)]
11014 #[cfg(feature = "extra-children")]
11015 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11016}
11017
11018#[derive(Debug, Clone, Serialize, Deserialize)]
11019pub struct CTGvmlShape {
11020 #[serde(rename = "nvSpPr")]
11021 pub nv_sp_pr: Box<CTGvmlShapeNonVisual>,
11022 #[serde(rename = "spPr")]
11023 pub sp_pr: Box<CTShapeProperties>,
11024 #[serde(rename = "txSp")]
11025 #[serde(default, skip_serializing_if = "Option::is_none")]
11026 pub tx_sp: Option<Box<CTGvmlTextShape>>,
11027 #[serde(rename = "style")]
11028 #[serde(default, skip_serializing_if = "Option::is_none")]
11029 pub style: Option<Box<ShapeStyle>>,
11030 #[serde(rename = "extLst")]
11031 #[serde(default, skip_serializing_if = "Option::is_none")]
11032 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
11033 #[cfg(feature = "extra-children")]
11035 #[serde(skip)]
11036 #[cfg(feature = "extra-children")]
11037 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11038}
11039
11040#[derive(Debug, Clone, Serialize, Deserialize)]
11041pub struct CTGvmlConnectorNonVisual {
11042 #[serde(rename = "cNvPr")]
11043 pub common_non_visual_properties: Box<CTNonVisualDrawingProps>,
11044 #[serde(rename = "cNvCxnSpPr")]
11045 pub c_nv_cxn_sp_pr: Box<CTNonVisualConnectorProperties>,
11046 #[cfg(feature = "extra-children")]
11048 #[serde(skip)]
11049 #[cfg(feature = "extra-children")]
11050 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11051}
11052
11053#[derive(Debug, Clone, Serialize, Deserialize)]
11054pub struct CTGvmlConnector {
11055 #[serde(rename = "nvCxnSpPr")]
11056 pub nv_cxn_sp_pr: Box<CTGvmlConnectorNonVisual>,
11057 #[serde(rename = "spPr")]
11058 pub sp_pr: Box<CTShapeProperties>,
11059 #[serde(rename = "style")]
11060 #[serde(default, skip_serializing_if = "Option::is_none")]
11061 pub style: Option<Box<ShapeStyle>>,
11062 #[serde(rename = "extLst")]
11063 #[serde(default, skip_serializing_if = "Option::is_none")]
11064 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
11065 #[cfg(feature = "extra-children")]
11067 #[serde(skip)]
11068 #[cfg(feature = "extra-children")]
11069 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11070}
11071
11072#[derive(Debug, Clone, Serialize, Deserialize)]
11073pub struct CTGvmlPictureNonVisual {
11074 #[serde(rename = "cNvPr")]
11075 pub common_non_visual_properties: Box<CTNonVisualDrawingProps>,
11076 #[serde(rename = "cNvPicPr")]
11077 pub common_non_visual_picture_properties: Box<CTNonVisualPictureProperties>,
11078 #[cfg(feature = "extra-children")]
11080 #[serde(skip)]
11081 #[cfg(feature = "extra-children")]
11082 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11083}
11084
11085#[derive(Debug, Clone, Serialize, Deserialize)]
11086pub struct CTGvmlPicture {
11087 #[serde(rename = "nvPicPr")]
11088 pub nv_pic_pr: Box<CTGvmlPictureNonVisual>,
11089 #[serde(rename = "blipFill")]
11090 pub blip_fill: Box<BlipFillProperties>,
11091 #[serde(rename = "spPr")]
11092 pub sp_pr: Box<CTShapeProperties>,
11093 #[serde(rename = "style")]
11094 #[serde(default, skip_serializing_if = "Option::is_none")]
11095 pub style: Option<Box<ShapeStyle>>,
11096 #[serde(rename = "extLst")]
11097 #[serde(default, skip_serializing_if = "Option::is_none")]
11098 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
11099 #[cfg(feature = "extra-children")]
11101 #[serde(skip)]
11102 #[cfg(feature = "extra-children")]
11103 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11104}
11105
11106#[derive(Debug, Clone, Serialize, Deserialize)]
11107pub struct CTGvmlGraphicFrameNonVisual {
11108 #[serde(rename = "cNvPr")]
11109 pub common_non_visual_properties: Box<CTNonVisualDrawingProps>,
11110 #[serde(rename = "cNvGraphicFramePr")]
11111 pub c_nv_graphic_frame_pr: Box<CTNonVisualGraphicFrameProperties>,
11112 #[cfg(feature = "extra-children")]
11114 #[serde(skip)]
11115 #[cfg(feature = "extra-children")]
11116 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11117}
11118
11119#[derive(Debug, Clone, Serialize, Deserialize)]
11120pub struct CTGvmlGraphicalObjectFrame {
11121 #[serde(rename = "nvGraphicFramePr")]
11122 pub nv_graphic_frame_pr: Box<CTGvmlGraphicFrameNonVisual>,
11123 #[serde(rename = "graphic")]
11124 pub graphic: GraphicalObjectElement,
11125 #[serde(rename = "xfrm")]
11126 pub transform: Box<Transform2D>,
11127 #[serde(rename = "extLst")]
11128 #[serde(default, skip_serializing_if = "Option::is_none")]
11129 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
11130 #[cfg(feature = "extra-children")]
11132 #[serde(skip)]
11133 #[cfg(feature = "extra-children")]
11134 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11135}
11136
11137#[derive(Debug, Clone, Serialize, Deserialize)]
11138pub struct CTGvmlGroupShapeNonVisual {
11139 #[serde(rename = "cNvPr")]
11140 pub common_non_visual_properties: Box<CTNonVisualDrawingProps>,
11141 #[serde(rename = "cNvGrpSpPr")]
11142 pub c_nv_grp_sp_pr: Box<CTNonVisualGroupDrawingShapeProps>,
11143 #[cfg(feature = "extra-children")]
11145 #[serde(skip)]
11146 #[cfg(feature = "extra-children")]
11147 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11148}
11149
11150#[derive(Debug, Clone, Serialize, Deserialize)]
11151pub struct CTGvmlGroupShape {
11152 #[serde(rename = "nvGrpSpPr")]
11153 pub nv_grp_sp_pr: Box<CTGvmlGroupShapeNonVisual>,
11154 #[serde(rename = "grpSpPr")]
11155 pub grp_sp_pr: Box<CTGroupShapeProperties>,
11156 #[serde(rename = "txSp")]
11157 #[serde(default, skip_serializing_if = "Vec::is_empty")]
11158 pub tx_sp: Vec<CTGvmlTextShape>,
11159 #[serde(rename = "sp")]
11160 #[serde(default, skip_serializing_if = "Vec::is_empty")]
11161 pub sp: Vec<CTGvmlShape>,
11162 #[serde(rename = "cxnSp")]
11163 #[serde(default, skip_serializing_if = "Vec::is_empty")]
11164 pub cxn_sp: Vec<CTGvmlConnector>,
11165 #[serde(rename = "pic")]
11166 #[serde(default, skip_serializing_if = "Vec::is_empty")]
11167 pub pic: Vec<CTGvmlPicture>,
11168 #[serde(rename = "graphicFrame")]
11169 #[serde(default, skip_serializing_if = "Vec::is_empty")]
11170 pub graphic_frame: Vec<CTGvmlGraphicalObjectFrame>,
11171 #[serde(rename = "grpSp")]
11172 #[serde(default, skip_serializing_if = "Vec::is_empty")]
11173 pub grp_sp: Vec<CTGvmlGroupShape>,
11174 #[serde(rename = "extLst")]
11175 #[serde(default, skip_serializing_if = "Option::is_none")]
11176 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
11177 #[cfg(feature = "extra-children")]
11179 #[serde(skip)]
11180 #[cfg(feature = "extra-children")]
11181 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11182}
11183
11184#[derive(Debug, Clone, Serialize, Deserialize)]
11185pub struct CTCamera {
11186 #[cfg(feature = "dml-3d")]
11187 #[serde(rename = "@prst")]
11188 pub preset: STPresetCameraType,
11189 #[cfg(feature = "dml-3d")]
11190 #[serde(rename = "@fov")]
11191 #[serde(default, skip_serializing_if = "Option::is_none")]
11192 pub fov: Option<STFOVAngle>,
11193 #[cfg(feature = "dml-3d")]
11194 #[serde(rename = "@zoom")]
11195 #[serde(default, skip_serializing_if = "Option::is_none")]
11196 pub zoom: Option<STPositivePercentage>,
11197 #[cfg(feature = "dml-3d")]
11198 #[serde(rename = "rot")]
11199 #[serde(default, skip_serializing_if = "Option::is_none")]
11200 pub rot: Option<Box<CTSphereCoords>>,
11201 #[cfg(feature = "extra-attrs")]
11203 #[serde(skip)]
11204 #[cfg(feature = "extra-attrs")]
11205 #[serde(default)]
11206 #[cfg(feature = "extra-attrs")]
11207 pub extra_attrs: std::collections::HashMap<String, String>,
11208 #[cfg(feature = "extra-children")]
11210 #[serde(skip)]
11211 #[cfg(feature = "extra-children")]
11212 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11213}
11214
11215#[derive(Debug, Clone, Serialize, Deserialize)]
11216pub struct CTLightRig {
11217 #[cfg(feature = "dml-3d")]
11218 #[serde(rename = "@rig")]
11219 pub rig: STLightRigType,
11220 #[cfg(feature = "dml-3d")]
11221 #[serde(rename = "@dir")]
11222 pub dir: STLightRigDirection,
11223 #[cfg(feature = "dml-3d")]
11224 #[serde(rename = "rot")]
11225 #[serde(default, skip_serializing_if = "Option::is_none")]
11226 pub rot: Option<Box<CTSphereCoords>>,
11227 #[cfg(feature = "extra-attrs")]
11229 #[serde(skip)]
11230 #[cfg(feature = "extra-attrs")]
11231 #[serde(default)]
11232 #[cfg(feature = "extra-attrs")]
11233 pub extra_attrs: std::collections::HashMap<String, String>,
11234 #[cfg(feature = "extra-children")]
11236 #[serde(skip)]
11237 #[cfg(feature = "extra-children")]
11238 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11239}
11240
11241#[derive(Debug, Clone, Serialize, Deserialize)]
11242pub struct CTScene3D {
11243 #[cfg(feature = "dml-3d")]
11244 #[serde(rename = "camera")]
11245 pub camera: Box<CTCamera>,
11246 #[cfg(feature = "dml-3d")]
11247 #[serde(rename = "lightRig")]
11248 pub light_rig: Box<CTLightRig>,
11249 #[cfg(feature = "dml-3d")]
11250 #[serde(rename = "backdrop")]
11251 #[serde(default, skip_serializing_if = "Option::is_none")]
11252 pub backdrop: Option<Box<CTBackdrop>>,
11253 #[cfg(feature = "dml-extensions")]
11254 #[serde(rename = "extLst")]
11255 #[serde(default, skip_serializing_if = "Option::is_none")]
11256 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
11257 #[cfg(feature = "extra-children")]
11259 #[serde(skip)]
11260 #[cfg(feature = "extra-children")]
11261 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11262}
11263
11264#[derive(Debug, Clone, Serialize, Deserialize)]
11265pub struct CTBackdrop {
11266 #[serde(rename = "anchor")]
11267 pub anchor: Box<CTPoint3D>,
11268 #[serde(rename = "norm")]
11269 pub norm: Box<CTVector3D>,
11270 #[serde(rename = "up")]
11271 pub up: Box<CTVector3D>,
11272 #[serde(rename = "extLst")]
11273 #[serde(default, skip_serializing_if = "Option::is_none")]
11274 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
11275 #[cfg(feature = "extra-children")]
11277 #[serde(skip)]
11278 #[cfg(feature = "extra-children")]
11279 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11280}
11281
11282#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11283pub struct CTBevel {
11284 #[cfg(feature = "dml-3d")]
11285 #[serde(rename = "@w")]
11286 #[serde(default, skip_serializing_if = "Option::is_none")]
11287 pub width: Option<STPositiveCoordinate>,
11288 #[cfg(feature = "dml-3d")]
11289 #[serde(rename = "@h")]
11290 #[serde(default, skip_serializing_if = "Option::is_none")]
11291 pub height: Option<STPositiveCoordinate>,
11292 #[cfg(feature = "dml-3d")]
11293 #[serde(rename = "@prst")]
11294 #[serde(default, skip_serializing_if = "Option::is_none")]
11295 pub preset: Option<STBevelPresetType>,
11296 #[cfg(feature = "extra-attrs")]
11298 #[serde(skip)]
11299 #[cfg(feature = "extra-attrs")]
11300 #[serde(default)]
11301 #[cfg(feature = "extra-attrs")]
11302 pub extra_attrs: std::collections::HashMap<String, String>,
11303}
11304
11305#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11306pub struct CTShape3D {
11307 #[cfg(feature = "dml-3d")]
11308 #[serde(rename = "@z")]
11309 #[serde(default, skip_serializing_if = "Option::is_none")]
11310 pub z: Option<STCoordinate>,
11311 #[cfg(feature = "dml-3d")]
11312 #[serde(rename = "@extrusionH")]
11313 #[serde(default, skip_serializing_if = "Option::is_none")]
11314 pub extrusion_h: Option<STPositiveCoordinate>,
11315 #[cfg(feature = "dml-3d")]
11316 #[serde(rename = "@contourW")]
11317 #[serde(default, skip_serializing_if = "Option::is_none")]
11318 pub contour_w: Option<STPositiveCoordinate>,
11319 #[cfg(feature = "dml-3d")]
11320 #[serde(rename = "@prstMaterial")]
11321 #[serde(default, skip_serializing_if = "Option::is_none")]
11322 pub prst_material: Option<STPresetMaterialType>,
11323 #[cfg(feature = "dml-3d")]
11324 #[serde(rename = "bevelT")]
11325 #[serde(default, skip_serializing_if = "Option::is_none")]
11326 pub bevel_t: Option<Box<CTBevel>>,
11327 #[cfg(feature = "dml-3d")]
11328 #[serde(rename = "bevelB")]
11329 #[serde(default, skip_serializing_if = "Option::is_none")]
11330 pub bevel_b: Option<Box<CTBevel>>,
11331 #[cfg(feature = "dml-3d")]
11332 #[serde(rename = "extrusionClr")]
11333 #[serde(default, skip_serializing_if = "Option::is_none")]
11334 pub extrusion_clr: Option<Box<CTColor>>,
11335 #[cfg(feature = "dml-3d")]
11336 #[serde(rename = "contourClr")]
11337 #[serde(default, skip_serializing_if = "Option::is_none")]
11338 pub contour_clr: Option<Box<CTColor>>,
11339 #[cfg(feature = "dml-extensions")]
11340 #[serde(rename = "extLst")]
11341 #[serde(default, skip_serializing_if = "Option::is_none")]
11342 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
11343 #[cfg(feature = "extra-attrs")]
11345 #[serde(skip)]
11346 #[cfg(feature = "extra-attrs")]
11347 #[serde(default)]
11348 #[cfg(feature = "extra-attrs")]
11349 pub extra_attrs: std::collections::HashMap<String, String>,
11350 #[cfg(feature = "extra-children")]
11352 #[serde(skip)]
11353 #[cfg(feature = "extra-children")]
11354 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11355}
11356
11357#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11358pub struct CTFlatText {
11359 #[serde(rename = "@z")]
11360 #[serde(default, skip_serializing_if = "Option::is_none")]
11361 pub z: Option<STCoordinate>,
11362 #[cfg(feature = "extra-attrs")]
11364 #[serde(skip)]
11365 #[cfg(feature = "extra-attrs")]
11366 #[serde(default)]
11367 #[cfg(feature = "extra-attrs")]
11368 pub extra_attrs: std::collections::HashMap<String, String>,
11369}
11370
11371#[derive(Debug, Clone, Serialize, Deserialize)]
11372pub struct CTAlphaBiLevelEffect {
11373 #[serde(rename = "@thresh")]
11374 pub thresh: STPositiveFixedPercentage,
11375 #[cfg(feature = "extra-attrs")]
11377 #[serde(skip)]
11378 #[cfg(feature = "extra-attrs")]
11379 #[serde(default)]
11380 #[cfg(feature = "extra-attrs")]
11381 pub extra_attrs: std::collections::HashMap<String, String>,
11382}
11383
11384#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11385pub struct CTAlphaCeilingEffect;
11386
11387#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11388pub struct CTAlphaFloorEffect;
11389
11390#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11391pub struct CTAlphaInverseEffect {
11392 #[serde(skip)]
11393 #[serde(default)]
11394 pub color_choice: Option<Box<EGColorChoice>>,
11395 #[cfg(feature = "extra-children")]
11397 #[serde(skip)]
11398 #[cfg(feature = "extra-children")]
11399 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11400}
11401
11402#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11403pub struct CTAlphaModulateFixedEffect {
11404 #[serde(rename = "@amt")]
11405 #[serde(default, skip_serializing_if = "Option::is_none")]
11406 pub amt: Option<STPositivePercentage>,
11407 #[cfg(feature = "extra-attrs")]
11409 #[serde(skip)]
11410 #[cfg(feature = "extra-attrs")]
11411 #[serde(default)]
11412 #[cfg(feature = "extra-attrs")]
11413 pub extra_attrs: std::collections::HashMap<String, String>,
11414}
11415
11416#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11417pub struct CTAlphaOutsetEffect {
11418 #[serde(rename = "@rad")]
11419 #[serde(default, skip_serializing_if = "Option::is_none")]
11420 pub rad: Option<STCoordinate>,
11421 #[cfg(feature = "extra-attrs")]
11423 #[serde(skip)]
11424 #[cfg(feature = "extra-attrs")]
11425 #[serde(default)]
11426 #[cfg(feature = "extra-attrs")]
11427 pub extra_attrs: std::collections::HashMap<String, String>,
11428}
11429
11430#[derive(Debug, Clone, Serialize, Deserialize)]
11431pub struct CTAlphaReplaceEffect {
11432 #[serde(rename = "@a")]
11433 pub anchor: STPositiveFixedPercentage,
11434 #[cfg(feature = "extra-attrs")]
11436 #[serde(skip)]
11437 #[cfg(feature = "extra-attrs")]
11438 #[serde(default)]
11439 #[cfg(feature = "extra-attrs")]
11440 pub extra_attrs: std::collections::HashMap<String, String>,
11441}
11442
11443#[derive(Debug, Clone, Serialize, Deserialize)]
11444pub struct CTBiLevelEffect {
11445 #[serde(rename = "@thresh")]
11446 pub thresh: STPositiveFixedPercentage,
11447 #[cfg(feature = "extra-attrs")]
11449 #[serde(skip)]
11450 #[cfg(feature = "extra-attrs")]
11451 #[serde(default)]
11452 #[cfg(feature = "extra-attrs")]
11453 pub extra_attrs: std::collections::HashMap<String, String>,
11454}
11455
11456#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11457pub struct CTBlurEffect {
11458 #[cfg(feature = "dml-effects")]
11459 #[serde(rename = "@rad")]
11460 #[serde(default, skip_serializing_if = "Option::is_none")]
11461 pub rad: Option<STPositiveCoordinate>,
11462 #[cfg(feature = "dml-effects")]
11463 #[serde(rename = "@grow")]
11464 #[serde(
11465 default,
11466 skip_serializing_if = "Option::is_none",
11467 with = "ooxml_xml::ooxml_bool"
11468 )]
11469 pub grow: Option<bool>,
11470 #[cfg(feature = "extra-attrs")]
11472 #[serde(skip)]
11473 #[cfg(feature = "extra-attrs")]
11474 #[serde(default)]
11475 #[cfg(feature = "extra-attrs")]
11476 pub extra_attrs: std::collections::HashMap<String, String>,
11477}
11478
11479#[derive(Debug, Clone, Serialize, Deserialize)]
11480pub struct CTColorChangeEffect {
11481 #[serde(rename = "@useA")]
11482 #[serde(
11483 default,
11484 skip_serializing_if = "Option::is_none",
11485 with = "ooxml_xml::ooxml_bool"
11486 )]
11487 pub use_a: Option<bool>,
11488 #[serde(rename = "clrFrom")]
11489 pub clr_from: Box<CTColor>,
11490 #[serde(rename = "clrTo")]
11491 pub clr_to: Box<CTColor>,
11492 #[cfg(feature = "extra-attrs")]
11494 #[serde(skip)]
11495 #[cfg(feature = "extra-attrs")]
11496 #[serde(default)]
11497 #[cfg(feature = "extra-attrs")]
11498 pub extra_attrs: std::collections::HashMap<String, String>,
11499 #[cfg(feature = "extra-children")]
11501 #[serde(skip)]
11502 #[cfg(feature = "extra-children")]
11503 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11504}
11505
11506#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11507pub struct CTColorReplaceEffect {
11508 #[serde(skip)]
11509 #[serde(default)]
11510 pub color_choice: Option<Box<EGColorChoice>>,
11511 #[cfg(feature = "extra-children")]
11513 #[serde(skip)]
11514 #[cfg(feature = "extra-children")]
11515 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11516}
11517
11518#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11519pub struct CTDuotoneEffect {
11520 #[serde(skip)]
11521 #[serde(default)]
11522 pub color_choice: Vec<EGColorChoice>,
11523 #[cfg(feature = "extra-children")]
11525 #[serde(skip)]
11526 #[cfg(feature = "extra-children")]
11527 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11528}
11529
11530#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11531pub struct CTGlowEffect {
11532 #[cfg(feature = "dml-effects")]
11533 #[serde(rename = "@rad")]
11534 #[serde(default, skip_serializing_if = "Option::is_none")]
11535 pub rad: Option<STPositiveCoordinate>,
11536 #[serde(skip)]
11537 #[serde(default)]
11538 pub color_choice: Option<Box<EGColorChoice>>,
11539 #[cfg(feature = "extra-attrs")]
11541 #[serde(skip)]
11542 #[cfg(feature = "extra-attrs")]
11543 #[serde(default)]
11544 #[cfg(feature = "extra-attrs")]
11545 pub extra_attrs: std::collections::HashMap<String, String>,
11546 #[cfg(feature = "extra-children")]
11548 #[serde(skip)]
11549 #[cfg(feature = "extra-children")]
11550 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11551}
11552
11553#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11554pub struct CTGrayscaleEffect;
11555
11556#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11557pub struct CTHSLEffect {
11558 #[serde(rename = "@hue")]
11559 #[serde(default, skip_serializing_if = "Option::is_none")]
11560 pub hue: Option<STPositiveFixedAngle>,
11561 #[serde(rename = "@sat")]
11562 #[serde(default, skip_serializing_if = "Option::is_none")]
11563 pub sat: Option<STFixedPercentage>,
11564 #[serde(rename = "@lum")]
11565 #[serde(default, skip_serializing_if = "Option::is_none")]
11566 pub lum: Option<STFixedPercentage>,
11567 #[cfg(feature = "extra-attrs")]
11569 #[serde(skip)]
11570 #[cfg(feature = "extra-attrs")]
11571 #[serde(default)]
11572 #[cfg(feature = "extra-attrs")]
11573 pub extra_attrs: std::collections::HashMap<String, String>,
11574}
11575
11576#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11577pub struct CTInnerShadowEffect {
11578 #[cfg(feature = "dml-effects")]
11579 #[serde(rename = "@blurRad")]
11580 #[serde(default, skip_serializing_if = "Option::is_none")]
11581 pub blur_rad: Option<STPositiveCoordinate>,
11582 #[cfg(feature = "dml-effects")]
11583 #[serde(rename = "@dist")]
11584 #[serde(default, skip_serializing_if = "Option::is_none")]
11585 pub dist: Option<STPositiveCoordinate>,
11586 #[cfg(feature = "dml-effects")]
11587 #[serde(rename = "@dir")]
11588 #[serde(default, skip_serializing_if = "Option::is_none")]
11589 pub dir: Option<STPositiveFixedAngle>,
11590 #[serde(skip)]
11591 #[serde(default)]
11592 pub color_choice: Option<Box<EGColorChoice>>,
11593 #[cfg(feature = "extra-attrs")]
11595 #[serde(skip)]
11596 #[cfg(feature = "extra-attrs")]
11597 #[serde(default)]
11598 #[cfg(feature = "extra-attrs")]
11599 pub extra_attrs: std::collections::HashMap<String, String>,
11600 #[cfg(feature = "extra-children")]
11602 #[serde(skip)]
11603 #[cfg(feature = "extra-children")]
11604 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11605}
11606
11607#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11608pub struct CTLuminanceEffect {
11609 #[serde(rename = "@bright")]
11610 #[serde(default, skip_serializing_if = "Option::is_none")]
11611 pub bright: Option<STFixedPercentage>,
11612 #[serde(rename = "@contrast")]
11613 #[serde(default, skip_serializing_if = "Option::is_none")]
11614 pub contrast: Option<STFixedPercentage>,
11615 #[cfg(feature = "extra-attrs")]
11617 #[serde(skip)]
11618 #[cfg(feature = "extra-attrs")]
11619 #[serde(default)]
11620 #[cfg(feature = "extra-attrs")]
11621 pub extra_attrs: std::collections::HashMap<String, String>,
11622}
11623
11624#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11625pub struct CTOuterShadowEffect {
11626 #[cfg(feature = "dml-effects")]
11627 #[serde(rename = "@blurRad")]
11628 #[serde(default, skip_serializing_if = "Option::is_none")]
11629 pub blur_rad: Option<STPositiveCoordinate>,
11630 #[cfg(feature = "dml-effects")]
11631 #[serde(rename = "@dist")]
11632 #[serde(default, skip_serializing_if = "Option::is_none")]
11633 pub dist: Option<STPositiveCoordinate>,
11634 #[cfg(feature = "dml-effects")]
11635 #[serde(rename = "@dir")]
11636 #[serde(default, skip_serializing_if = "Option::is_none")]
11637 pub dir: Option<STPositiveFixedAngle>,
11638 #[cfg(feature = "dml-effects")]
11639 #[serde(rename = "@sx")]
11640 #[serde(default, skip_serializing_if = "Option::is_none")]
11641 pub sx: Option<STPercentage>,
11642 #[cfg(feature = "dml-effects")]
11643 #[serde(rename = "@sy")]
11644 #[serde(default, skip_serializing_if = "Option::is_none")]
11645 pub sy: Option<STPercentage>,
11646 #[cfg(feature = "dml-effects")]
11647 #[serde(rename = "@kx")]
11648 #[serde(default, skip_serializing_if = "Option::is_none")]
11649 pub kx: Option<STFixedAngle>,
11650 #[cfg(feature = "dml-effects")]
11651 #[serde(rename = "@ky")]
11652 #[serde(default, skip_serializing_if = "Option::is_none")]
11653 pub ky: Option<STFixedAngle>,
11654 #[cfg(feature = "dml-effects")]
11655 #[serde(rename = "@algn")]
11656 #[serde(default, skip_serializing_if = "Option::is_none")]
11657 pub algn: Option<STRectAlignment>,
11658 #[cfg(feature = "dml-effects")]
11659 #[serde(rename = "@rotWithShape")]
11660 #[serde(
11661 default,
11662 skip_serializing_if = "Option::is_none",
11663 with = "ooxml_xml::ooxml_bool"
11664 )]
11665 pub rot_with_shape: Option<bool>,
11666 #[serde(skip)]
11667 #[serde(default)]
11668 pub color_choice: Option<Box<EGColorChoice>>,
11669 #[cfg(feature = "extra-attrs")]
11671 #[serde(skip)]
11672 #[cfg(feature = "extra-attrs")]
11673 #[serde(default)]
11674 #[cfg(feature = "extra-attrs")]
11675 pub extra_attrs: std::collections::HashMap<String, String>,
11676 #[cfg(feature = "extra-children")]
11678 #[serde(skip)]
11679 #[cfg(feature = "extra-children")]
11680 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11681}
11682
11683#[derive(Debug, Clone, Serialize, Deserialize)]
11684pub struct CTPresetShadowEffect {
11685 #[serde(rename = "@prst")]
11686 pub preset: STPresetShadowVal,
11687 #[serde(rename = "@dist")]
11688 #[serde(default, skip_serializing_if = "Option::is_none")]
11689 pub dist: Option<STPositiveCoordinate>,
11690 #[serde(rename = "@dir")]
11691 #[serde(default, skip_serializing_if = "Option::is_none")]
11692 pub dir: Option<STPositiveFixedAngle>,
11693 #[serde(skip)]
11694 #[serde(default)]
11695 pub color_choice: Option<Box<EGColorChoice>>,
11696 #[cfg(feature = "extra-attrs")]
11698 #[serde(skip)]
11699 #[cfg(feature = "extra-attrs")]
11700 #[serde(default)]
11701 #[cfg(feature = "extra-attrs")]
11702 pub extra_attrs: std::collections::HashMap<String, String>,
11703 #[cfg(feature = "extra-children")]
11705 #[serde(skip)]
11706 #[cfg(feature = "extra-children")]
11707 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11708}
11709
11710#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11711pub struct CTReflectionEffect {
11712 #[cfg(feature = "dml-effects")]
11713 #[serde(rename = "@blurRad")]
11714 #[serde(default, skip_serializing_if = "Option::is_none")]
11715 pub blur_rad: Option<STPositiveCoordinate>,
11716 #[cfg(feature = "dml-effects")]
11717 #[serde(rename = "@stA")]
11718 #[serde(default, skip_serializing_if = "Option::is_none")]
11719 pub st_a: Option<STPositiveFixedPercentage>,
11720 #[cfg(feature = "dml-effects")]
11721 #[serde(rename = "@stPos")]
11722 #[serde(default, skip_serializing_if = "Option::is_none")]
11723 pub st_pos: Option<STPositiveFixedPercentage>,
11724 #[cfg(feature = "dml-effects")]
11725 #[serde(rename = "@endA")]
11726 #[serde(default, skip_serializing_if = "Option::is_none")]
11727 pub end_a: Option<STPositiveFixedPercentage>,
11728 #[cfg(feature = "dml-effects")]
11729 #[serde(rename = "@endPos")]
11730 #[serde(default, skip_serializing_if = "Option::is_none")]
11731 pub end_pos: Option<STPositiveFixedPercentage>,
11732 #[cfg(feature = "dml-effects")]
11733 #[serde(rename = "@dist")]
11734 #[serde(default, skip_serializing_if = "Option::is_none")]
11735 pub dist: Option<STPositiveCoordinate>,
11736 #[cfg(feature = "dml-effects")]
11737 #[serde(rename = "@dir")]
11738 #[serde(default, skip_serializing_if = "Option::is_none")]
11739 pub dir: Option<STPositiveFixedAngle>,
11740 #[cfg(feature = "dml-effects")]
11741 #[serde(rename = "@fadeDir")]
11742 #[serde(default, skip_serializing_if = "Option::is_none")]
11743 pub fade_dir: Option<STPositiveFixedAngle>,
11744 #[cfg(feature = "dml-effects")]
11745 #[serde(rename = "@sx")]
11746 #[serde(default, skip_serializing_if = "Option::is_none")]
11747 pub sx: Option<STPercentage>,
11748 #[cfg(feature = "dml-effects")]
11749 #[serde(rename = "@sy")]
11750 #[serde(default, skip_serializing_if = "Option::is_none")]
11751 pub sy: Option<STPercentage>,
11752 #[cfg(feature = "dml-effects")]
11753 #[serde(rename = "@kx")]
11754 #[serde(default, skip_serializing_if = "Option::is_none")]
11755 pub kx: Option<STFixedAngle>,
11756 #[cfg(feature = "dml-effects")]
11757 #[serde(rename = "@ky")]
11758 #[serde(default, skip_serializing_if = "Option::is_none")]
11759 pub ky: Option<STFixedAngle>,
11760 #[cfg(feature = "dml-effects")]
11761 #[serde(rename = "@algn")]
11762 #[serde(default, skip_serializing_if = "Option::is_none")]
11763 pub algn: Option<STRectAlignment>,
11764 #[cfg(feature = "dml-effects")]
11765 #[serde(rename = "@rotWithShape")]
11766 #[serde(
11767 default,
11768 skip_serializing_if = "Option::is_none",
11769 with = "ooxml_xml::ooxml_bool"
11770 )]
11771 pub rot_with_shape: Option<bool>,
11772 #[cfg(feature = "extra-attrs")]
11774 #[serde(skip)]
11775 #[cfg(feature = "extra-attrs")]
11776 #[serde(default)]
11777 #[cfg(feature = "extra-attrs")]
11778 pub extra_attrs: std::collections::HashMap<String, String>,
11779}
11780
11781#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11782pub struct CTRelativeOffsetEffect {
11783 #[serde(rename = "@tx")]
11784 #[serde(default, skip_serializing_if = "Option::is_none")]
11785 pub tx: Option<STPercentage>,
11786 #[serde(rename = "@ty")]
11787 #[serde(default, skip_serializing_if = "Option::is_none")]
11788 pub ty: Option<STPercentage>,
11789 #[cfg(feature = "extra-attrs")]
11791 #[serde(skip)]
11792 #[cfg(feature = "extra-attrs")]
11793 #[serde(default)]
11794 #[cfg(feature = "extra-attrs")]
11795 pub extra_attrs: std::collections::HashMap<String, String>,
11796}
11797
11798#[derive(Debug, Clone, Serialize, Deserialize)]
11799pub struct CTSoftEdgesEffect {
11800 #[cfg(feature = "dml-effects")]
11801 #[serde(rename = "@rad")]
11802 pub rad: STPositiveCoordinate,
11803 #[cfg(feature = "extra-attrs")]
11805 #[serde(skip)]
11806 #[cfg(feature = "extra-attrs")]
11807 #[serde(default)]
11808 #[cfg(feature = "extra-attrs")]
11809 pub extra_attrs: std::collections::HashMap<String, String>,
11810}
11811
11812#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11813pub struct CTTintEffect {
11814 #[serde(rename = "@hue")]
11815 #[serde(default, skip_serializing_if = "Option::is_none")]
11816 pub hue: Option<STPositiveFixedAngle>,
11817 #[serde(rename = "@amt")]
11818 #[serde(default, skip_serializing_if = "Option::is_none")]
11819 pub amt: Option<STFixedPercentage>,
11820 #[cfg(feature = "extra-attrs")]
11822 #[serde(skip)]
11823 #[cfg(feature = "extra-attrs")]
11824 #[serde(default)]
11825 #[cfg(feature = "extra-attrs")]
11826 pub extra_attrs: std::collections::HashMap<String, String>,
11827}
11828
11829#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11830pub struct CTTransformEffect {
11831 #[serde(rename = "@sx")]
11832 #[serde(default, skip_serializing_if = "Option::is_none")]
11833 pub sx: Option<STPercentage>,
11834 #[serde(rename = "@sy")]
11835 #[serde(default, skip_serializing_if = "Option::is_none")]
11836 pub sy: Option<STPercentage>,
11837 #[serde(rename = "@kx")]
11838 #[serde(default, skip_serializing_if = "Option::is_none")]
11839 pub kx: Option<STFixedAngle>,
11840 #[serde(rename = "@ky")]
11841 #[serde(default, skip_serializing_if = "Option::is_none")]
11842 pub ky: Option<STFixedAngle>,
11843 #[serde(rename = "@tx")]
11844 #[serde(default, skip_serializing_if = "Option::is_none")]
11845 pub tx: Option<STCoordinate>,
11846 #[serde(rename = "@ty")]
11847 #[serde(default, skip_serializing_if = "Option::is_none")]
11848 pub ty: Option<STCoordinate>,
11849 #[cfg(feature = "extra-attrs")]
11851 #[serde(skip)]
11852 #[cfg(feature = "extra-attrs")]
11853 #[serde(default)]
11854 #[cfg(feature = "extra-attrs")]
11855 pub extra_attrs: std::collections::HashMap<String, String>,
11856}
11857
11858#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11859pub struct NoFill;
11860
11861#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11862pub struct SolidColorFill {
11863 #[serde(skip)]
11864 #[serde(default)]
11865 pub color_choice: Option<Box<EGColorChoice>>,
11866 #[cfg(feature = "extra-children")]
11868 #[serde(skip)]
11869 #[cfg(feature = "extra-children")]
11870 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11871}
11872
11873#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11874pub struct CTLinearShadeProperties {
11875 #[serde(rename = "@ang")]
11876 #[serde(default, skip_serializing_if = "Option::is_none")]
11877 pub ang: Option<STPositiveFixedAngle>,
11878 #[serde(rename = "@scaled")]
11879 #[serde(
11880 default,
11881 skip_serializing_if = "Option::is_none",
11882 with = "ooxml_xml::ooxml_bool"
11883 )]
11884 pub scaled: Option<bool>,
11885 #[cfg(feature = "extra-attrs")]
11887 #[serde(skip)]
11888 #[cfg(feature = "extra-attrs")]
11889 #[serde(default)]
11890 #[cfg(feature = "extra-attrs")]
11891 pub extra_attrs: std::collections::HashMap<String, String>,
11892}
11893
11894#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11895pub struct CTPathShadeProperties {
11896 #[serde(rename = "@path")]
11897 #[serde(default, skip_serializing_if = "Option::is_none")]
11898 pub path: Option<STPathShadeType>,
11899 #[serde(rename = "fillToRect")]
11900 #[serde(default, skip_serializing_if = "Option::is_none")]
11901 pub fill_to_rect: Option<Box<CTRelativeRect>>,
11902 #[cfg(feature = "extra-attrs")]
11904 #[serde(skip)]
11905 #[cfg(feature = "extra-attrs")]
11906 #[serde(default)]
11907 #[cfg(feature = "extra-attrs")]
11908 pub extra_attrs: std::collections::HashMap<String, String>,
11909 #[cfg(feature = "extra-children")]
11911 #[serde(skip)]
11912 #[cfg(feature = "extra-children")]
11913 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11914}
11915
11916#[derive(Debug, Clone, Serialize, Deserialize)]
11917pub struct CTGradientStop {
11918 #[serde(rename = "@pos")]
11919 pub pos: STPositiveFixedPercentage,
11920 #[serde(skip)]
11921 #[serde(default)]
11922 pub color_choice: Option<Box<EGColorChoice>>,
11923 #[cfg(feature = "extra-attrs")]
11925 #[serde(skip)]
11926 #[cfg(feature = "extra-attrs")]
11927 #[serde(default)]
11928 #[cfg(feature = "extra-attrs")]
11929 pub extra_attrs: std::collections::HashMap<String, String>,
11930 #[cfg(feature = "extra-children")]
11932 #[serde(skip)]
11933 #[cfg(feature = "extra-children")]
11934 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11935}
11936
11937#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11938pub struct CTGradientStopList {
11939 #[serde(rename = "gs")]
11940 #[serde(default, skip_serializing_if = "Vec::is_empty")]
11941 pub gs: Vec<CTGradientStop>,
11942 #[cfg(feature = "extra-children")]
11944 #[serde(skip)]
11945 #[cfg(feature = "extra-children")]
11946 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11947}
11948
11949#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11950pub struct GradientFill {
11951 #[cfg(feature = "dml-fills")]
11952 #[serde(rename = "@flip")]
11953 #[serde(default, skip_serializing_if = "Option::is_none")]
11954 pub flip: Option<STTileFlipMode>,
11955 #[cfg(feature = "dml-fills")]
11956 #[serde(rename = "@rotWithShape")]
11957 #[serde(
11958 default,
11959 skip_serializing_if = "Option::is_none",
11960 with = "ooxml_xml::ooxml_bool"
11961 )]
11962 pub rot_with_shape: Option<bool>,
11963 #[cfg(feature = "dml-fills")]
11964 #[serde(rename = "gsLst")]
11965 #[serde(default, skip_serializing_if = "Option::is_none")]
11966 pub gs_lst: Option<Box<CTGradientStopList>>,
11967 #[serde(skip)]
11968 #[serde(default)]
11969 pub shade_properties: Option<Box<EGShadeProperties>>,
11970 #[cfg(feature = "dml-fills")]
11971 #[serde(rename = "tileRect")]
11972 #[serde(default, skip_serializing_if = "Option::is_none")]
11973 pub tile_rect: Option<Box<CTRelativeRect>>,
11974 #[cfg(feature = "extra-attrs")]
11976 #[serde(skip)]
11977 #[cfg(feature = "extra-attrs")]
11978 #[serde(default)]
11979 #[cfg(feature = "extra-attrs")]
11980 pub extra_attrs: std::collections::HashMap<String, String>,
11981 #[cfg(feature = "extra-children")]
11983 #[serde(skip)]
11984 #[cfg(feature = "extra-children")]
11985 pub extra_children: Vec<ooxml_xml::PositionedNode>,
11986}
11987
11988#[derive(Debug, Clone, Default, Serialize, Deserialize)]
11989pub struct CTTileInfoProperties {
11990 #[serde(rename = "@tx")]
11991 #[serde(default, skip_serializing_if = "Option::is_none")]
11992 pub tx: Option<STCoordinate>,
11993 #[serde(rename = "@ty")]
11994 #[serde(default, skip_serializing_if = "Option::is_none")]
11995 pub ty: Option<STCoordinate>,
11996 #[serde(rename = "@sx")]
11997 #[serde(default, skip_serializing_if = "Option::is_none")]
11998 pub sx: Option<STPercentage>,
11999 #[serde(rename = "@sy")]
12000 #[serde(default, skip_serializing_if = "Option::is_none")]
12001 pub sy: Option<STPercentage>,
12002 #[serde(rename = "@flip")]
12003 #[serde(default, skip_serializing_if = "Option::is_none")]
12004 pub flip: Option<STTileFlipMode>,
12005 #[serde(rename = "@algn")]
12006 #[serde(default, skip_serializing_if = "Option::is_none")]
12007 pub algn: Option<STRectAlignment>,
12008 #[cfg(feature = "extra-attrs")]
12010 #[serde(skip)]
12011 #[cfg(feature = "extra-attrs")]
12012 #[serde(default)]
12013 #[cfg(feature = "extra-attrs")]
12014 pub extra_attrs: std::collections::HashMap<String, String>,
12015}
12016
12017#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12018pub struct CTStretchInfoProperties {
12019 #[serde(rename = "fillRect")]
12020 #[serde(default, skip_serializing_if = "Option::is_none")]
12021 pub fill_rect: Option<Box<CTRelativeRect>>,
12022 #[cfg(feature = "extra-children")]
12024 #[serde(skip)]
12025 #[cfg(feature = "extra-children")]
12026 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12027}
12028
12029#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12030pub struct Blip {
12031 #[cfg(feature = "dml-fills")]
12032 #[serde(rename = "@r:embed")]
12033 #[serde(default, skip_serializing_if = "Option::is_none")]
12034 pub embed: Option<STRelationshipId>,
12035 #[cfg(feature = "dml-fills")]
12036 #[serde(rename = "@r:link")]
12037 #[serde(default, skip_serializing_if = "Option::is_none")]
12038 pub link: Option<STRelationshipId>,
12039 #[cfg(feature = "dml-fills")]
12040 #[serde(rename = "@cstate")]
12041 #[serde(default, skip_serializing_if = "Option::is_none")]
12042 pub cstate: Option<STBlipCompression>,
12043 #[cfg(feature = "dml-fills")]
12044 #[serde(rename = "alphaBiLevel")]
12045 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12046 pub alpha_bi_level: Vec<CTAlphaBiLevelEffect>,
12047 #[cfg(feature = "dml-fills")]
12048 #[serde(rename = "alphaCeiling")]
12049 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12050 pub alpha_ceiling: Vec<CTAlphaCeilingEffect>,
12051 #[cfg(feature = "dml-fills")]
12052 #[serde(rename = "alphaFloor")]
12053 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12054 pub alpha_floor: Vec<CTAlphaFloorEffect>,
12055 #[cfg(feature = "dml-fills")]
12056 #[serde(rename = "alphaInv")]
12057 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12058 pub alpha_inv: Vec<CTAlphaInverseEffect>,
12059 #[cfg(feature = "dml-fills")]
12060 #[serde(rename = "alphaMod")]
12061 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12062 pub alpha_mod: Vec<AlphaModulateEffectElement>,
12063 #[cfg(feature = "dml-fills")]
12064 #[serde(rename = "alphaModFix")]
12065 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12066 pub alpha_mod_fix: Vec<CTAlphaModulateFixedEffect>,
12067 #[cfg(feature = "dml-fills")]
12068 #[serde(rename = "alphaRepl")]
12069 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12070 pub alpha_repl: Vec<CTAlphaReplaceEffect>,
12071 #[cfg(feature = "dml-fills")]
12072 #[serde(rename = "biLevel")]
12073 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12074 pub bi_level: Vec<CTBiLevelEffect>,
12075 #[cfg(feature = "dml-fills")]
12076 #[serde(rename = "blur")]
12077 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12078 pub blur: Vec<CTBlurEffect>,
12079 #[cfg(feature = "dml-fills")]
12080 #[serde(rename = "clrChange")]
12081 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12082 pub clr_change: Vec<CTColorChangeEffect>,
12083 #[cfg(feature = "dml-fills")]
12084 #[serde(rename = "clrRepl")]
12085 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12086 pub clr_repl: Vec<CTColorReplaceEffect>,
12087 #[cfg(feature = "dml-fills")]
12088 #[serde(rename = "duotone")]
12089 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12090 pub duotone: Vec<CTDuotoneEffect>,
12091 #[cfg(feature = "dml-fills")]
12092 #[serde(rename = "fillOverlay")]
12093 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12094 pub fill_overlay: Vec<CTFillOverlayEffect>,
12095 #[cfg(feature = "dml-fills")]
12096 #[serde(rename = "grayscl")]
12097 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12098 pub grayscl: Vec<CTGrayscaleEffect>,
12099 #[cfg(feature = "dml-fills")]
12100 #[serde(rename = "hsl")]
12101 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12102 pub hsl: Vec<CTHSLEffect>,
12103 #[cfg(feature = "dml-fills")]
12104 #[serde(rename = "lum")]
12105 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12106 pub lum: Vec<CTLuminanceEffect>,
12107 #[cfg(feature = "dml-fills")]
12108 #[serde(rename = "tint")]
12109 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12110 pub tint: Vec<CTTintEffect>,
12111 #[cfg(feature = "dml-extensions")]
12112 #[serde(rename = "extLst")]
12113 #[serde(default, skip_serializing_if = "Option::is_none")]
12114 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
12115 #[cfg(feature = "extra-attrs")]
12117 #[serde(skip)]
12118 #[cfg(feature = "extra-attrs")]
12119 #[serde(default)]
12120 #[cfg(feature = "extra-attrs")]
12121 pub extra_attrs: std::collections::HashMap<String, String>,
12122 #[cfg(feature = "extra-children")]
12124 #[serde(skip)]
12125 #[cfg(feature = "extra-children")]
12126 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12127}
12128
12129#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12130pub struct BlipFillProperties {
12131 #[cfg(feature = "dml-fills")]
12132 #[serde(rename = "@dpi")]
12133 #[serde(default, skip_serializing_if = "Option::is_none")]
12134 pub dpi: Option<u32>,
12135 #[cfg(feature = "dml-fills")]
12136 #[serde(rename = "@rotWithShape")]
12137 #[serde(
12138 default,
12139 skip_serializing_if = "Option::is_none",
12140 with = "ooxml_xml::ooxml_bool"
12141 )]
12142 pub rot_with_shape: Option<bool>,
12143 #[cfg(feature = "dml-fills")]
12144 #[serde(rename = "blip")]
12145 #[serde(default, skip_serializing_if = "Option::is_none")]
12146 pub blip: Option<Box<Blip>>,
12147 #[cfg(feature = "dml-fills")]
12148 #[serde(rename = "srcRect")]
12149 #[serde(default, skip_serializing_if = "Option::is_none")]
12150 pub src_rect: Option<Box<CTRelativeRect>>,
12151 #[serde(skip)]
12152 #[serde(default)]
12153 pub fill_mode_properties: Option<Box<EGFillModeProperties>>,
12154 #[cfg(feature = "extra-attrs")]
12156 #[serde(skip)]
12157 #[cfg(feature = "extra-attrs")]
12158 #[serde(default)]
12159 #[cfg(feature = "extra-attrs")]
12160 pub extra_attrs: std::collections::HashMap<String, String>,
12161 #[cfg(feature = "extra-children")]
12163 #[serde(skip)]
12164 #[cfg(feature = "extra-children")]
12165 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12166}
12167
12168#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12169pub struct PatternFill {
12170 #[cfg(feature = "dml-fills")]
12171 #[serde(rename = "@prst")]
12172 #[serde(default, skip_serializing_if = "Option::is_none")]
12173 pub preset: Option<STPresetPatternVal>,
12174 #[cfg(feature = "dml-fills")]
12175 #[serde(rename = "fgClr")]
12176 #[serde(default, skip_serializing_if = "Option::is_none")]
12177 pub fg_clr: Option<Box<CTColor>>,
12178 #[cfg(feature = "dml-fills")]
12179 #[serde(rename = "bgClr")]
12180 #[serde(default, skip_serializing_if = "Option::is_none")]
12181 pub bg_clr: Option<Box<CTColor>>,
12182 #[cfg(feature = "extra-attrs")]
12184 #[serde(skip)]
12185 #[cfg(feature = "extra-attrs")]
12186 #[serde(default)]
12187 #[cfg(feature = "extra-attrs")]
12188 pub extra_attrs: std::collections::HashMap<String, String>,
12189 #[cfg(feature = "extra-children")]
12191 #[serde(skip)]
12192 #[cfg(feature = "extra-children")]
12193 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12194}
12195
12196#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12197pub struct CTGroupFillProperties;
12198
12199#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12200pub struct CTFillProperties {
12201 #[serde(skip)]
12202 #[serde(default)]
12203 pub fill_properties: Option<Box<EGFillProperties>>,
12204 #[cfg(feature = "extra-children")]
12206 #[serde(skip)]
12207 #[cfg(feature = "extra-children")]
12208 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12209}
12210
12211#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12212pub struct CTFillEffect {
12213 #[serde(skip)]
12214 #[serde(default)]
12215 pub fill_properties: Option<Box<EGFillProperties>>,
12216 #[cfg(feature = "extra-children")]
12218 #[serde(skip)]
12219 #[cfg(feature = "extra-children")]
12220 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12221}
12222
12223#[derive(Debug, Clone, Serialize, Deserialize)]
12224pub struct CTFillOverlayEffect {
12225 #[serde(rename = "@blend")]
12226 pub blend: STBlendMode,
12227 #[serde(skip)]
12228 #[serde(default)]
12229 pub fill_properties: Option<Box<EGFillProperties>>,
12230 #[cfg(feature = "extra-attrs")]
12232 #[serde(skip)]
12233 #[cfg(feature = "extra-attrs")]
12234 #[serde(default)]
12235 #[cfg(feature = "extra-attrs")]
12236 pub extra_attrs: std::collections::HashMap<String, String>,
12237 #[cfg(feature = "extra-children")]
12239 #[serde(skip)]
12240 #[cfg(feature = "extra-children")]
12241 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12242}
12243
12244#[derive(Debug, Clone, Serialize, Deserialize)]
12245pub struct CTEffectReference {
12246 #[serde(rename = "@ref")]
12247 pub r#ref: String,
12248 #[cfg(feature = "extra-attrs")]
12250 #[serde(skip)]
12251 #[cfg(feature = "extra-attrs")]
12252 #[serde(default)]
12253 #[cfg(feature = "extra-attrs")]
12254 pub extra_attrs: std::collections::HashMap<String, String>,
12255}
12256
12257#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12258pub struct EffectContainer {
12259 #[serde(rename = "@type")]
12260 #[serde(default, skip_serializing_if = "Option::is_none")]
12261 pub r#type: Option<STEffectContainerType>,
12262 #[serde(rename = "@name")]
12263 #[serde(default, skip_serializing_if = "Option::is_none")]
12264 pub name: Option<String>,
12265 #[serde(skip)]
12266 #[serde(default)]
12267 pub effect: Vec<EGEffect>,
12268 #[cfg(feature = "extra-attrs")]
12270 #[serde(skip)]
12271 #[cfg(feature = "extra-attrs")]
12272 #[serde(default)]
12273 #[cfg(feature = "extra-attrs")]
12274 pub extra_attrs: std::collections::HashMap<String, String>,
12275 #[cfg(feature = "extra-children")]
12277 #[serde(skip)]
12278 #[cfg(feature = "extra-children")]
12279 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12280}
12281
12282pub type AlphaModulateEffectElement = Box<EffectContainer>;
12283
12284#[derive(Debug, Clone, Serialize, Deserialize)]
12285pub struct CTBlendEffect {
12286 #[serde(rename = "@blend")]
12287 pub blend: STBlendMode,
12288 #[serde(rename = "cont")]
12289 pub cont: Box<EffectContainer>,
12290 #[cfg(feature = "extra-attrs")]
12292 #[serde(skip)]
12293 #[cfg(feature = "extra-attrs")]
12294 #[serde(default)]
12295 #[cfg(feature = "extra-attrs")]
12296 pub extra_attrs: std::collections::HashMap<String, String>,
12297 #[cfg(feature = "extra-children")]
12299 #[serde(skip)]
12300 #[cfg(feature = "extra-children")]
12301 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12302}
12303
12304#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12305pub struct EffectList {
12306 #[cfg(feature = "dml-effects")]
12307 #[serde(rename = "blur")]
12308 #[serde(default, skip_serializing_if = "Option::is_none")]
12309 pub blur: Option<Box<CTBlurEffect>>,
12310 #[cfg(feature = "dml-effects")]
12311 #[serde(rename = "fillOverlay")]
12312 #[serde(default, skip_serializing_if = "Option::is_none")]
12313 pub fill_overlay: Option<Box<CTFillOverlayEffect>>,
12314 #[cfg(feature = "dml-effects")]
12315 #[serde(rename = "glow")]
12316 #[serde(default, skip_serializing_if = "Option::is_none")]
12317 pub glow: Option<Box<CTGlowEffect>>,
12318 #[cfg(feature = "dml-effects")]
12319 #[serde(rename = "innerShdw")]
12320 #[serde(default, skip_serializing_if = "Option::is_none")]
12321 pub inner_shdw: Option<Box<CTInnerShadowEffect>>,
12322 #[cfg(feature = "dml-effects")]
12323 #[serde(rename = "outerShdw")]
12324 #[serde(default, skip_serializing_if = "Option::is_none")]
12325 pub outer_shdw: Option<Box<CTOuterShadowEffect>>,
12326 #[cfg(feature = "dml-effects")]
12327 #[serde(rename = "prstShdw")]
12328 #[serde(default, skip_serializing_if = "Option::is_none")]
12329 pub prst_shdw: Option<Box<CTPresetShadowEffect>>,
12330 #[cfg(feature = "dml-effects")]
12331 #[serde(rename = "reflection")]
12332 #[serde(default, skip_serializing_if = "Option::is_none")]
12333 pub reflection: Option<Box<CTReflectionEffect>>,
12334 #[cfg(feature = "dml-effects")]
12335 #[serde(rename = "softEdge")]
12336 #[serde(default, skip_serializing_if = "Option::is_none")]
12337 pub soft_edge: Option<Box<CTSoftEdgesEffect>>,
12338 #[cfg(feature = "extra-children")]
12340 #[serde(skip)]
12341 #[cfg(feature = "extra-children")]
12342 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12343}
12344
12345#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12346pub struct CTEffectProperties {
12347 #[serde(skip)]
12348 #[serde(default)]
12349 pub effect_properties: Option<Box<EGEffectProperties>>,
12350 #[cfg(feature = "extra-children")]
12352 #[serde(skip)]
12353 #[cfg(feature = "extra-children")]
12354 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12355}
12356
12357pub type ABlip = Box<Blip>;
12358
12359#[derive(Debug, Clone, Serialize, Deserialize)]
12360pub struct CTGeomGuide {
12361 #[serde(rename = "@name")]
12362 pub name: STGeomGuideName,
12363 #[serde(rename = "@fmla")]
12364 pub fmla: STGeomGuideFormula,
12365 #[cfg(feature = "extra-attrs")]
12367 #[serde(skip)]
12368 #[cfg(feature = "extra-attrs")]
12369 #[serde(default)]
12370 #[cfg(feature = "extra-attrs")]
12371 pub extra_attrs: std::collections::HashMap<String, String>,
12372}
12373
12374#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12375pub struct CTGeomGuideList {
12376 #[serde(rename = "gd")]
12377 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12378 pub gd: Vec<CTGeomGuide>,
12379 #[cfg(feature = "extra-children")]
12381 #[serde(skip)]
12382 #[cfg(feature = "extra-children")]
12383 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12384}
12385
12386#[derive(Debug, Clone, Serialize, Deserialize)]
12387pub struct CTAdjPoint2D {
12388 #[serde(rename = "@x")]
12389 pub x: STAdjCoordinate,
12390 #[serde(rename = "@y")]
12391 pub y: STAdjCoordinate,
12392 #[cfg(feature = "extra-attrs")]
12394 #[serde(skip)]
12395 #[cfg(feature = "extra-attrs")]
12396 #[serde(default)]
12397 #[cfg(feature = "extra-attrs")]
12398 pub extra_attrs: std::collections::HashMap<String, String>,
12399}
12400
12401#[derive(Debug, Clone, Serialize, Deserialize)]
12402pub struct CTGeomRect {
12403 #[serde(rename = "@l")]
12404 pub l: STAdjCoordinate,
12405 #[serde(rename = "@t")]
12406 pub t: STAdjCoordinate,
12407 #[serde(rename = "@r")]
12408 pub relationship_id: STAdjCoordinate,
12409 #[serde(rename = "@b")]
12410 pub b: STAdjCoordinate,
12411 #[cfg(feature = "extra-attrs")]
12413 #[serde(skip)]
12414 #[cfg(feature = "extra-attrs")]
12415 #[serde(default)]
12416 #[cfg(feature = "extra-attrs")]
12417 pub extra_attrs: std::collections::HashMap<String, String>,
12418}
12419
12420#[derive(Debug, Clone, Serialize, Deserialize)]
12421pub struct CTXYAdjustHandle {
12422 #[serde(rename = "@gdRefX")]
12423 #[serde(default, skip_serializing_if = "Option::is_none")]
12424 pub gd_ref_x: Option<STGeomGuideName>,
12425 #[serde(rename = "@minX")]
12426 #[serde(default, skip_serializing_if = "Option::is_none")]
12427 pub min_x: Option<STAdjCoordinate>,
12428 #[serde(rename = "@maxX")]
12429 #[serde(default, skip_serializing_if = "Option::is_none")]
12430 pub max_x: Option<STAdjCoordinate>,
12431 #[serde(rename = "@gdRefY")]
12432 #[serde(default, skip_serializing_if = "Option::is_none")]
12433 pub gd_ref_y: Option<STGeomGuideName>,
12434 #[serde(rename = "@minY")]
12435 #[serde(default, skip_serializing_if = "Option::is_none")]
12436 pub min_y: Option<STAdjCoordinate>,
12437 #[serde(rename = "@maxY")]
12438 #[serde(default, skip_serializing_if = "Option::is_none")]
12439 pub max_y: Option<STAdjCoordinate>,
12440 #[serde(rename = "pos")]
12441 pub pos: Box<CTAdjPoint2D>,
12442 #[cfg(feature = "extra-attrs")]
12444 #[serde(skip)]
12445 #[cfg(feature = "extra-attrs")]
12446 #[serde(default)]
12447 #[cfg(feature = "extra-attrs")]
12448 pub extra_attrs: std::collections::HashMap<String, String>,
12449 #[cfg(feature = "extra-children")]
12451 #[serde(skip)]
12452 #[cfg(feature = "extra-children")]
12453 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12454}
12455
12456#[derive(Debug, Clone, Serialize, Deserialize)]
12457pub struct CTPolarAdjustHandle {
12458 #[serde(rename = "@gdRefR")]
12459 #[serde(default, skip_serializing_if = "Option::is_none")]
12460 pub gd_ref_r: Option<STGeomGuideName>,
12461 #[serde(rename = "@minR")]
12462 #[serde(default, skip_serializing_if = "Option::is_none")]
12463 pub min_r: Option<STAdjCoordinate>,
12464 #[serde(rename = "@maxR")]
12465 #[serde(default, skip_serializing_if = "Option::is_none")]
12466 pub max_r: Option<STAdjCoordinate>,
12467 #[serde(rename = "@gdRefAng")]
12468 #[serde(default, skip_serializing_if = "Option::is_none")]
12469 pub gd_ref_ang: Option<STGeomGuideName>,
12470 #[serde(rename = "@minAng")]
12471 #[serde(default, skip_serializing_if = "Option::is_none")]
12472 pub min_ang: Option<STAdjAngle>,
12473 #[serde(rename = "@maxAng")]
12474 #[serde(default, skip_serializing_if = "Option::is_none")]
12475 pub max_ang: Option<STAdjAngle>,
12476 #[serde(rename = "pos")]
12477 pub pos: Box<CTAdjPoint2D>,
12478 #[cfg(feature = "extra-attrs")]
12480 #[serde(skip)]
12481 #[cfg(feature = "extra-attrs")]
12482 #[serde(default)]
12483 #[cfg(feature = "extra-attrs")]
12484 pub extra_attrs: std::collections::HashMap<String, String>,
12485 #[cfg(feature = "extra-children")]
12487 #[serde(skip)]
12488 #[cfg(feature = "extra-children")]
12489 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12490}
12491
12492#[derive(Debug, Clone, Serialize, Deserialize)]
12493pub struct CTConnectionSite {
12494 #[serde(rename = "@ang")]
12495 pub ang: STAdjAngle,
12496 #[serde(rename = "pos")]
12497 pub pos: Box<CTAdjPoint2D>,
12498 #[cfg(feature = "extra-attrs")]
12500 #[serde(skip)]
12501 #[cfg(feature = "extra-attrs")]
12502 #[serde(default)]
12503 #[cfg(feature = "extra-attrs")]
12504 pub extra_attrs: std::collections::HashMap<String, String>,
12505 #[cfg(feature = "extra-children")]
12507 #[serde(skip)]
12508 #[cfg(feature = "extra-children")]
12509 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12510}
12511
12512#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12513pub struct CTAdjustHandleList {
12514 #[serde(rename = "ahXY")]
12515 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12516 pub ah_x_y: Vec<CTXYAdjustHandle>,
12517 #[serde(rename = "ahPolar")]
12518 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12519 pub ah_polar: Vec<CTPolarAdjustHandle>,
12520 #[cfg(feature = "extra-children")]
12522 #[serde(skip)]
12523 #[cfg(feature = "extra-children")]
12524 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12525}
12526
12527#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12528pub struct CTConnectionSiteList {
12529 #[serde(rename = "cxn")]
12530 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12531 pub cxn: Vec<CTConnectionSite>,
12532 #[cfg(feature = "extra-children")]
12534 #[serde(skip)]
12535 #[cfg(feature = "extra-children")]
12536 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12537}
12538
12539#[derive(Debug, Clone, Serialize, Deserialize)]
12540pub struct CTConnection {
12541 #[serde(rename = "@id")]
12542 pub id: STDrawingElementId,
12543 #[serde(rename = "@idx")]
12544 pub idx: u32,
12545 #[cfg(feature = "extra-attrs")]
12547 #[serde(skip)]
12548 #[cfg(feature = "extra-attrs")]
12549 #[serde(default)]
12550 #[cfg(feature = "extra-attrs")]
12551 pub extra_attrs: std::collections::HashMap<String, String>,
12552}
12553
12554pub type Path2DMoveToElement = Box<CTAdjPoint2D>;
12555
12556pub type Path2DLineToElement = Box<CTAdjPoint2D>;
12557
12558#[derive(Debug, Clone, Serialize, Deserialize)]
12559pub struct CTPath2DArcTo {
12560 #[serde(rename = "@wR")]
12561 pub w_r: STAdjCoordinate,
12562 #[serde(rename = "@hR")]
12563 pub h_r: STAdjCoordinate,
12564 #[serde(rename = "@stAng")]
12565 pub st_ang: STAdjAngle,
12566 #[serde(rename = "@swAng")]
12567 pub sw_ang: STAdjAngle,
12568 #[cfg(feature = "extra-attrs")]
12570 #[serde(skip)]
12571 #[cfg(feature = "extra-attrs")]
12572 #[serde(default)]
12573 #[cfg(feature = "extra-attrs")]
12574 pub extra_attrs: std::collections::HashMap<String, String>,
12575}
12576
12577#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12578pub struct CTPath2DQuadBezierTo {
12579 #[serde(rename = "pt")]
12580 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12581 pub pt: Vec<CTAdjPoint2D>,
12582 #[cfg(feature = "extra-children")]
12584 #[serde(skip)]
12585 #[cfg(feature = "extra-children")]
12586 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12587}
12588
12589#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12590pub struct CTPath2DCubicBezierTo {
12591 #[serde(rename = "pt")]
12592 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12593 pub pt: Vec<CTAdjPoint2D>,
12594 #[cfg(feature = "extra-children")]
12596 #[serde(skip)]
12597 #[cfg(feature = "extra-children")]
12598 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12599}
12600
12601#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12602pub struct CTPath2DClose;
12603
12604#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12605pub struct CTPath2D {
12606 #[serde(rename = "@w")]
12607 #[serde(default, skip_serializing_if = "Option::is_none")]
12608 pub width: Option<STPositiveCoordinate>,
12609 #[serde(rename = "@h")]
12610 #[serde(default, skip_serializing_if = "Option::is_none")]
12611 pub height: Option<STPositiveCoordinate>,
12612 #[serde(rename = "@fill")]
12613 #[serde(default, skip_serializing_if = "Option::is_none")]
12614 pub fill: Option<STPathFillMode>,
12615 #[serde(rename = "@stroke")]
12616 #[serde(
12617 default,
12618 skip_serializing_if = "Option::is_none",
12619 with = "ooxml_xml::ooxml_bool"
12620 )]
12621 pub stroke: Option<bool>,
12622 #[serde(rename = "@extrusionOk")]
12623 #[serde(
12624 default,
12625 skip_serializing_if = "Option::is_none",
12626 with = "ooxml_xml::ooxml_bool"
12627 )]
12628 pub extrusion_ok: Option<bool>,
12629 #[serde(rename = "close")]
12630 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12631 pub close: Vec<CTPath2DClose>,
12632 #[serde(rename = "moveTo")]
12633 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12634 pub move_to: Vec<Path2DMoveToElement>,
12635 #[serde(rename = "lnTo")]
12636 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12637 pub ln_to: Vec<Path2DLineToElement>,
12638 #[serde(rename = "arcTo")]
12639 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12640 pub arc_to: Vec<CTPath2DArcTo>,
12641 #[serde(rename = "quadBezTo")]
12642 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12643 pub quad_bez_to: Vec<CTPath2DQuadBezierTo>,
12644 #[serde(rename = "cubicBezTo")]
12645 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12646 pub cubic_bez_to: Vec<CTPath2DCubicBezierTo>,
12647 #[cfg(feature = "extra-attrs")]
12649 #[serde(skip)]
12650 #[cfg(feature = "extra-attrs")]
12651 #[serde(default)]
12652 #[cfg(feature = "extra-attrs")]
12653 pub extra_attrs: std::collections::HashMap<String, String>,
12654 #[cfg(feature = "extra-children")]
12656 #[serde(skip)]
12657 #[cfg(feature = "extra-children")]
12658 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12659}
12660
12661#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12662pub struct CTPath2DList {
12663 #[serde(rename = "path")]
12664 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12665 pub path: Vec<CTPath2D>,
12666 #[cfg(feature = "extra-children")]
12668 #[serde(skip)]
12669 #[cfg(feature = "extra-children")]
12670 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12671}
12672
12673#[derive(Debug, Clone, Serialize, Deserialize)]
12674pub struct CTPresetGeometry2D {
12675 #[serde(rename = "@prst")]
12676 pub preset: STShapeType,
12677 #[serde(rename = "avLst")]
12678 #[serde(default, skip_serializing_if = "Option::is_none")]
12679 pub av_lst: Option<Box<CTGeomGuideList>>,
12680 #[cfg(feature = "extra-attrs")]
12682 #[serde(skip)]
12683 #[cfg(feature = "extra-attrs")]
12684 #[serde(default)]
12685 #[cfg(feature = "extra-attrs")]
12686 pub extra_attrs: std::collections::HashMap<String, String>,
12687 #[cfg(feature = "extra-children")]
12689 #[serde(skip)]
12690 #[cfg(feature = "extra-children")]
12691 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12692}
12693
12694#[derive(Debug, Clone, Serialize, Deserialize)]
12695pub struct CTPresetTextShape {
12696 #[serde(rename = "@prst")]
12697 pub preset: STTextShapeType,
12698 #[serde(rename = "avLst")]
12699 #[serde(default, skip_serializing_if = "Option::is_none")]
12700 pub av_lst: Option<Box<CTGeomGuideList>>,
12701 #[cfg(feature = "extra-attrs")]
12703 #[serde(skip)]
12704 #[cfg(feature = "extra-attrs")]
12705 #[serde(default)]
12706 #[cfg(feature = "extra-attrs")]
12707 pub extra_attrs: std::collections::HashMap<String, String>,
12708 #[cfg(feature = "extra-children")]
12710 #[serde(skip)]
12711 #[cfg(feature = "extra-children")]
12712 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12713}
12714
12715#[derive(Debug, Clone, Serialize, Deserialize)]
12716pub struct CTCustomGeometry2D {
12717 #[serde(rename = "avLst")]
12718 #[serde(default, skip_serializing_if = "Option::is_none")]
12719 pub av_lst: Option<Box<CTGeomGuideList>>,
12720 #[serde(rename = "gdLst")]
12721 #[serde(default, skip_serializing_if = "Option::is_none")]
12722 pub gd_lst: Option<Box<CTGeomGuideList>>,
12723 #[serde(rename = "ahLst")]
12724 #[serde(default, skip_serializing_if = "Option::is_none")]
12725 pub ah_lst: Option<Box<CTAdjustHandleList>>,
12726 #[serde(rename = "cxnLst")]
12727 #[serde(default, skip_serializing_if = "Option::is_none")]
12728 pub cxn_lst: Option<Box<CTConnectionSiteList>>,
12729 #[serde(rename = "rect")]
12730 #[serde(default, skip_serializing_if = "Option::is_none")]
12731 pub rect: Option<Box<CTGeomRect>>,
12732 #[serde(rename = "pathLst")]
12733 pub path_lst: Box<CTPath2DList>,
12734 #[cfg(feature = "extra-children")]
12736 #[serde(skip)]
12737 #[cfg(feature = "extra-children")]
12738 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12739}
12740
12741#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12742pub struct CTLineEndProperties {
12743 #[cfg(feature = "dml-lines")]
12744 #[serde(rename = "@type")]
12745 #[serde(default, skip_serializing_if = "Option::is_none")]
12746 pub r#type: Option<STLineEndType>,
12747 #[cfg(feature = "dml-lines")]
12748 #[serde(rename = "@w")]
12749 #[serde(default, skip_serializing_if = "Option::is_none")]
12750 pub width: Option<STLineEndWidth>,
12751 #[cfg(feature = "dml-lines")]
12752 #[serde(rename = "@len")]
12753 #[serde(default, skip_serializing_if = "Option::is_none")]
12754 pub len: Option<STLineEndLength>,
12755 #[cfg(feature = "extra-attrs")]
12757 #[serde(skip)]
12758 #[cfg(feature = "extra-attrs")]
12759 #[serde(default)]
12760 #[cfg(feature = "extra-attrs")]
12761 pub extra_attrs: std::collections::HashMap<String, String>,
12762}
12763
12764#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12765pub struct CTLineJoinBevel;
12766
12767#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12768pub struct CTLineJoinRound;
12769
12770#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12771pub struct CTLineJoinMiterProperties {
12772 #[serde(rename = "@lim")]
12773 #[serde(default, skip_serializing_if = "Option::is_none")]
12774 pub lim: Option<STPositivePercentage>,
12775 #[cfg(feature = "extra-attrs")]
12777 #[serde(skip)]
12778 #[cfg(feature = "extra-attrs")]
12779 #[serde(default)]
12780 #[cfg(feature = "extra-attrs")]
12781 pub extra_attrs: std::collections::HashMap<String, String>,
12782}
12783
12784#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12785pub struct CTPresetLineDashProperties {
12786 #[cfg(feature = "dml-lines")]
12787 #[serde(rename = "@val")]
12788 #[serde(default, skip_serializing_if = "Option::is_none")]
12789 pub value: Option<STPresetLineDashVal>,
12790 #[cfg(feature = "extra-attrs")]
12792 #[serde(skip)]
12793 #[cfg(feature = "extra-attrs")]
12794 #[serde(default)]
12795 #[cfg(feature = "extra-attrs")]
12796 pub extra_attrs: std::collections::HashMap<String, String>,
12797}
12798
12799#[derive(Debug, Clone, Serialize, Deserialize)]
12800pub struct CTDashStop {
12801 #[cfg(feature = "dml-lines")]
12802 #[serde(rename = "@d")]
12803 pub d: STPositivePercentage,
12804 #[cfg(feature = "dml-lines")]
12805 #[serde(rename = "@sp")]
12806 pub sp: STPositivePercentage,
12807 #[cfg(feature = "extra-attrs")]
12809 #[serde(skip)]
12810 #[cfg(feature = "extra-attrs")]
12811 #[serde(default)]
12812 #[cfg(feature = "extra-attrs")]
12813 pub extra_attrs: std::collections::HashMap<String, String>,
12814}
12815
12816#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12817pub struct CTDashStopList {
12818 #[serde(rename = "ds")]
12819 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12820 pub ds: Vec<CTDashStop>,
12821 #[cfg(feature = "extra-children")]
12823 #[serde(skip)]
12824 #[cfg(feature = "extra-children")]
12825 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12826}
12827
12828#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12829pub struct LineProperties {
12830 #[cfg(feature = "dml-lines")]
12831 #[serde(rename = "@w")]
12832 #[serde(default, skip_serializing_if = "Option::is_none")]
12833 pub width: Option<STLineWidth>,
12834 #[cfg(feature = "dml-lines")]
12835 #[serde(rename = "@cap")]
12836 #[serde(default, skip_serializing_if = "Option::is_none")]
12837 pub cap: Option<STLineCap>,
12838 #[cfg(feature = "dml-lines")]
12839 #[serde(rename = "@cmpd")]
12840 #[serde(default, skip_serializing_if = "Option::is_none")]
12841 pub cmpd: Option<STCompoundLine>,
12842 #[cfg(feature = "dml-lines")]
12843 #[serde(rename = "@algn")]
12844 #[serde(default, skip_serializing_if = "Option::is_none")]
12845 pub algn: Option<STPenAlignment>,
12846 #[serde(skip)]
12847 #[serde(default)]
12848 pub line_fill_properties: Option<Box<EGLineFillProperties>>,
12849 #[serde(skip)]
12850 #[serde(default)]
12851 pub line_dash_properties: Option<Box<EGLineDashProperties>>,
12852 #[serde(skip)]
12853 #[serde(default)]
12854 pub line_join_properties: Option<Box<EGLineJoinProperties>>,
12855 #[cfg(feature = "dml-lines")]
12856 #[serde(rename = "headEnd")]
12857 #[serde(default, skip_serializing_if = "Option::is_none")]
12858 pub head_end: Option<Box<CTLineEndProperties>>,
12859 #[cfg(feature = "dml-lines")]
12860 #[serde(rename = "tailEnd")]
12861 #[serde(default, skip_serializing_if = "Option::is_none")]
12862 pub tail_end: Option<Box<CTLineEndProperties>>,
12863 #[cfg(feature = "dml-extensions")]
12864 #[serde(rename = "extLst")]
12865 #[serde(default, skip_serializing_if = "Option::is_none")]
12866 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
12867 #[cfg(feature = "extra-attrs")]
12869 #[serde(skip)]
12870 #[cfg(feature = "extra-attrs")]
12871 #[serde(default)]
12872 #[cfg(feature = "extra-attrs")]
12873 pub extra_attrs: std::collections::HashMap<String, String>,
12874 #[cfg(feature = "extra-children")]
12876 #[serde(skip)]
12877 #[cfg(feature = "extra-children")]
12878 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12879}
12880
12881#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12882pub struct CTShapeProperties {
12883 #[cfg(feature = "dml-shapes")]
12884 #[serde(rename = "@bwMode")]
12885 #[serde(default, skip_serializing_if = "Option::is_none")]
12886 pub bw_mode: Option<STBlackWhiteMode>,
12887 #[serde(rename = "xfrm")]
12888 #[serde(default, skip_serializing_if = "Option::is_none")]
12889 pub transform: Option<Box<Transform2D>>,
12890 #[serde(skip)]
12891 #[serde(default)]
12892 pub geometry: Option<Box<EGGeometry>>,
12893 #[serde(skip)]
12894 #[serde(default)]
12895 pub fill_properties: Option<Box<EGFillProperties>>,
12896 #[cfg(feature = "dml-lines")]
12897 #[serde(rename = "ln")]
12898 #[serde(default, skip_serializing_if = "Option::is_none")]
12899 pub line: Option<Box<LineProperties>>,
12900 #[serde(skip)]
12901 #[serde(default)]
12902 pub effect_properties: Option<Box<EGEffectProperties>>,
12903 #[cfg(feature = "dml-3d")]
12904 #[serde(rename = "scene3d")]
12905 #[serde(default, skip_serializing_if = "Option::is_none")]
12906 pub scene3d: Option<Box<CTScene3D>>,
12907 #[cfg(feature = "dml-3d")]
12908 #[serde(rename = "sp3d")]
12909 #[serde(default, skip_serializing_if = "Option::is_none")]
12910 pub sp3d: Option<Box<CTShape3D>>,
12911 #[cfg(feature = "dml-extensions")]
12912 #[serde(rename = "extLst")]
12913 #[serde(default, skip_serializing_if = "Option::is_none")]
12914 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
12915 #[cfg(feature = "extra-attrs")]
12917 #[serde(skip)]
12918 #[cfg(feature = "extra-attrs")]
12919 #[serde(default)]
12920 #[cfg(feature = "extra-attrs")]
12921 pub extra_attrs: std::collections::HashMap<String, String>,
12922 #[cfg(feature = "extra-children")]
12924 #[serde(skip)]
12925 #[cfg(feature = "extra-children")]
12926 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12927}
12928
12929#[derive(Debug, Clone, Default, Serialize, Deserialize)]
12930pub struct CTGroupShapeProperties {
12931 #[cfg(feature = "dml-shapes")]
12932 #[serde(rename = "@bwMode")]
12933 #[serde(default, skip_serializing_if = "Option::is_none")]
12934 pub bw_mode: Option<STBlackWhiteMode>,
12935 #[serde(rename = "xfrm")]
12936 #[serde(default, skip_serializing_if = "Option::is_none")]
12937 pub transform: Option<Box<CTGroupTransform2D>>,
12938 #[serde(skip)]
12939 #[serde(default)]
12940 pub fill_properties: Option<Box<EGFillProperties>>,
12941 #[serde(skip)]
12942 #[serde(default)]
12943 pub effect_properties: Option<Box<EGEffectProperties>>,
12944 #[cfg(feature = "dml-3d")]
12945 #[serde(rename = "scene3d")]
12946 #[serde(default, skip_serializing_if = "Option::is_none")]
12947 pub scene3d: Option<Box<CTScene3D>>,
12948 #[cfg(feature = "dml-extensions")]
12949 #[serde(rename = "extLst")]
12950 #[serde(default, skip_serializing_if = "Option::is_none")]
12951 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
12952 #[cfg(feature = "extra-attrs")]
12954 #[serde(skip)]
12955 #[cfg(feature = "extra-attrs")]
12956 #[serde(default)]
12957 #[cfg(feature = "extra-attrs")]
12958 pub extra_attrs: std::collections::HashMap<String, String>,
12959 #[cfg(feature = "extra-children")]
12961 #[serde(skip)]
12962 #[cfg(feature = "extra-children")]
12963 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12964}
12965
12966#[derive(Debug, Clone, Serialize, Deserialize)]
12967pub struct CTStyleMatrixReference {
12968 #[cfg(feature = "dml-themes")]
12969 #[serde(rename = "@idx")]
12970 pub idx: STStyleMatrixColumnIndex,
12971 #[serde(skip)]
12972 #[serde(default)]
12973 pub color_choice: Option<Box<EGColorChoice>>,
12974 #[cfg(feature = "extra-attrs")]
12976 #[serde(skip)]
12977 #[cfg(feature = "extra-attrs")]
12978 #[serde(default)]
12979 #[cfg(feature = "extra-attrs")]
12980 pub extra_attrs: std::collections::HashMap<String, String>,
12981 #[cfg(feature = "extra-children")]
12983 #[serde(skip)]
12984 #[cfg(feature = "extra-children")]
12985 pub extra_children: Vec<ooxml_xml::PositionedNode>,
12986}
12987
12988#[derive(Debug, Clone, Serialize, Deserialize)]
12989pub struct CTFontReference {
12990 #[cfg(feature = "dml-themes")]
12991 #[serde(rename = "@idx")]
12992 pub idx: STFontCollectionIndex,
12993 #[serde(skip)]
12994 #[serde(default)]
12995 pub color_choice: Option<Box<EGColorChoice>>,
12996 #[cfg(feature = "extra-attrs")]
12998 #[serde(skip)]
12999 #[cfg(feature = "extra-attrs")]
13000 #[serde(default)]
13001 #[cfg(feature = "extra-attrs")]
13002 pub extra_attrs: std::collections::HashMap<String, String>,
13003 #[cfg(feature = "extra-children")]
13005 #[serde(skip)]
13006 #[cfg(feature = "extra-children")]
13007 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13008}
13009
13010#[derive(Debug, Clone, Serialize, Deserialize)]
13011pub struct ShapeStyle {
13012 #[cfg(feature = "dml-shapes")]
13013 #[serde(rename = "lnRef")]
13014 pub ln_ref: Box<CTStyleMatrixReference>,
13015 #[cfg(feature = "dml-shapes")]
13016 #[serde(rename = "fillRef")]
13017 pub fill_ref: Box<CTStyleMatrixReference>,
13018 #[cfg(feature = "dml-shapes")]
13019 #[serde(rename = "effectRef")]
13020 pub effect_ref: Box<CTStyleMatrixReference>,
13021 #[cfg(feature = "dml-shapes")]
13022 #[serde(rename = "fontRef")]
13023 pub font_ref: Box<CTFontReference>,
13024 #[cfg(feature = "extra-children")]
13026 #[serde(skip)]
13027 #[cfg(feature = "extra-children")]
13028 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13029}
13030
13031#[derive(Debug, Clone, Serialize, Deserialize)]
13032pub struct CTDefaultShapeDefinition {
13033 #[serde(rename = "spPr")]
13034 pub sp_pr: Box<CTShapeProperties>,
13035 #[serde(rename = "bodyPr")]
13036 pub body_pr: Box<CTTextBodyProperties>,
13037 #[serde(rename = "lstStyle")]
13038 pub lst_style: Box<CTTextListStyle>,
13039 #[serde(rename = "style")]
13040 #[serde(default, skip_serializing_if = "Option::is_none")]
13041 pub style: Option<Box<ShapeStyle>>,
13042 #[serde(rename = "extLst")]
13043 #[serde(default, skip_serializing_if = "Option::is_none")]
13044 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
13045 #[cfg(feature = "extra-children")]
13047 #[serde(skip)]
13048 #[cfg(feature = "extra-children")]
13049 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13050}
13051
13052#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13053pub struct CTObjectStyleDefaults {
13054 #[serde(rename = "spDef")]
13055 #[serde(default, skip_serializing_if = "Option::is_none")]
13056 pub sp_def: Option<Box<CTDefaultShapeDefinition>>,
13057 #[serde(rename = "lnDef")]
13058 #[serde(default, skip_serializing_if = "Option::is_none")]
13059 pub ln_def: Option<Box<CTDefaultShapeDefinition>>,
13060 #[serde(rename = "txDef")]
13061 #[serde(default, skip_serializing_if = "Option::is_none")]
13062 pub tx_def: Option<Box<CTDefaultShapeDefinition>>,
13063 #[serde(rename = "extLst")]
13064 #[serde(default, skip_serializing_if = "Option::is_none")]
13065 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
13066 #[cfg(feature = "extra-children")]
13068 #[serde(skip)]
13069 #[cfg(feature = "extra-children")]
13070 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13071}
13072
13073#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13074pub struct CTEmptyElement;
13075
13076#[derive(Debug, Clone, Serialize, Deserialize)]
13077pub struct CTColorMapping {
13078 #[serde(rename = "@bg1")]
13079 pub bg1: STColorSchemeIndex,
13080 #[serde(rename = "@tx1")]
13081 pub tx1: STColorSchemeIndex,
13082 #[serde(rename = "@bg2")]
13083 pub bg2: STColorSchemeIndex,
13084 #[serde(rename = "@tx2")]
13085 pub tx2: STColorSchemeIndex,
13086 #[serde(rename = "@accent1")]
13087 pub accent1: STColorSchemeIndex,
13088 #[serde(rename = "@accent2")]
13089 pub accent2: STColorSchemeIndex,
13090 #[serde(rename = "@accent3")]
13091 pub accent3: STColorSchemeIndex,
13092 #[serde(rename = "@accent4")]
13093 pub accent4: STColorSchemeIndex,
13094 #[serde(rename = "@accent5")]
13095 pub accent5: STColorSchemeIndex,
13096 #[serde(rename = "@accent6")]
13097 pub accent6: STColorSchemeIndex,
13098 #[serde(rename = "@hlink")]
13099 pub hlink: STColorSchemeIndex,
13100 #[serde(rename = "@folHlink")]
13101 pub fol_hlink: STColorSchemeIndex,
13102 #[serde(rename = "extLst")]
13103 #[serde(default, skip_serializing_if = "Option::is_none")]
13104 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
13105 #[cfg(feature = "extra-attrs")]
13107 #[serde(skip)]
13108 #[cfg(feature = "extra-attrs")]
13109 #[serde(default)]
13110 #[cfg(feature = "extra-attrs")]
13111 pub extra_attrs: std::collections::HashMap<String, String>,
13112 #[cfg(feature = "extra-children")]
13114 #[serde(skip)]
13115 #[cfg(feature = "extra-children")]
13116 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13117}
13118
13119#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13120pub struct CTColorMappingOverride {
13121 #[cfg(feature = "dml-colors")]
13122 #[serde(rename = "masterClrMapping")]
13123 #[serde(default, skip_serializing_if = "Option::is_none")]
13124 pub master_clr_mapping: Option<Box<CTEmptyElement>>,
13125 #[cfg(feature = "dml-colors")]
13126 #[serde(rename = "overrideClrMapping")]
13127 #[serde(default, skip_serializing_if = "Option::is_none")]
13128 pub override_clr_mapping: Option<Box<CTColorMapping>>,
13129 #[cfg(feature = "extra-children")]
13131 #[serde(skip)]
13132 #[cfg(feature = "extra-children")]
13133 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13134}
13135
13136#[derive(Debug, Clone, Serialize, Deserialize)]
13137pub struct CTColorSchemeAndMapping {
13138 #[serde(rename = "clrScheme")]
13139 pub clr_scheme: Box<ColorScheme>,
13140 #[serde(rename = "clrMap")]
13141 #[serde(default, skip_serializing_if = "Option::is_none")]
13142 pub clr_map: Option<Box<CTColorMapping>>,
13143 #[cfg(feature = "extra-children")]
13145 #[serde(skip)]
13146 #[cfg(feature = "extra-children")]
13147 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13148}
13149
13150#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13151pub struct CTColorSchemeList {
13152 #[serde(rename = "extraClrScheme")]
13153 #[serde(default, skip_serializing_if = "Vec::is_empty")]
13154 pub extra_clr_scheme: Vec<CTColorSchemeAndMapping>,
13155 #[cfg(feature = "extra-children")]
13157 #[serde(skip)]
13158 #[cfg(feature = "extra-children")]
13159 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13160}
13161
13162#[derive(Debug, Clone, Serialize, Deserialize)]
13163pub struct CTOfficeStyleSheet {
13164 #[cfg(feature = "dml-themes")]
13165 #[serde(rename = "@name")]
13166 #[serde(default, skip_serializing_if = "Option::is_none")]
13167 pub name: Option<String>,
13168 #[cfg(feature = "dml-themes")]
13169 #[serde(rename = "themeElements")]
13170 pub theme_elements: Box<CTBaseStyles>,
13171 #[cfg(feature = "dml-themes")]
13172 #[serde(rename = "objectDefaults")]
13173 #[serde(default, skip_serializing_if = "Option::is_none")]
13174 pub object_defaults: Option<Box<CTObjectStyleDefaults>>,
13175 #[cfg(feature = "dml-themes")]
13176 #[serde(rename = "extraClrSchemeLst")]
13177 #[serde(default, skip_serializing_if = "Option::is_none")]
13178 pub extra_clr_scheme_lst: Option<Box<CTColorSchemeList>>,
13179 #[cfg(feature = "dml-themes")]
13180 #[serde(rename = "custClrLst")]
13181 #[serde(default, skip_serializing_if = "Option::is_none")]
13182 pub cust_clr_lst: Option<Box<CTCustomColorList>>,
13183 #[cfg(feature = "dml-extensions")]
13184 #[serde(rename = "extLst")]
13185 #[serde(default, skip_serializing_if = "Option::is_none")]
13186 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
13187 #[cfg(feature = "extra-attrs")]
13189 #[serde(skip)]
13190 #[cfg(feature = "extra-attrs")]
13191 #[serde(default)]
13192 #[cfg(feature = "extra-attrs")]
13193 pub extra_attrs: std::collections::HashMap<String, String>,
13194 #[cfg(feature = "extra-children")]
13196 #[serde(skip)]
13197 #[cfg(feature = "extra-children")]
13198 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13199}
13200
13201#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13202pub struct CTBaseStylesOverride {
13203 #[serde(rename = "clrScheme")]
13204 #[serde(default, skip_serializing_if = "Option::is_none")]
13205 pub clr_scheme: Option<Box<ColorScheme>>,
13206 #[serde(rename = "fontScheme")]
13207 #[serde(default, skip_serializing_if = "Option::is_none")]
13208 pub font_scheme: Option<Box<FontScheme>>,
13209 #[serde(rename = "fmtScheme")]
13210 #[serde(default, skip_serializing_if = "Option::is_none")]
13211 pub fmt_scheme: Option<Box<CTStyleMatrix>>,
13212 #[cfg(feature = "extra-children")]
13214 #[serde(skip)]
13215 #[cfg(feature = "extra-children")]
13216 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13217}
13218
13219#[derive(Debug, Clone, Serialize, Deserialize)]
13220pub struct CTClipboardStyleSheet {
13221 #[serde(rename = "themeElements")]
13222 pub theme_elements: Box<CTBaseStyles>,
13223 #[serde(rename = "clrMap")]
13224 pub clr_map: Box<CTColorMapping>,
13225 #[cfg(feature = "extra-children")]
13227 #[serde(skip)]
13228 #[cfg(feature = "extra-children")]
13229 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13230}
13231
13232pub type ATheme = Box<CTOfficeStyleSheet>;
13233
13234pub type AThemeOverride = Box<CTBaseStylesOverride>;
13235
13236pub type AThemeManager = Box<CTEmptyElement>;
13237
13238#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13239pub struct CTTableCellProperties {
13240 #[cfg(feature = "dml-tables")]
13241 #[serde(rename = "@marL")]
13242 #[serde(default, skip_serializing_if = "Option::is_none")]
13243 pub mar_l: Option<STCoordinate32>,
13244 #[cfg(feature = "dml-tables")]
13245 #[serde(rename = "@marR")]
13246 #[serde(default, skip_serializing_if = "Option::is_none")]
13247 pub mar_r: Option<STCoordinate32>,
13248 #[cfg(feature = "dml-tables")]
13249 #[serde(rename = "@marT")]
13250 #[serde(default, skip_serializing_if = "Option::is_none")]
13251 pub mar_t: Option<STCoordinate32>,
13252 #[cfg(feature = "dml-tables")]
13253 #[serde(rename = "@marB")]
13254 #[serde(default, skip_serializing_if = "Option::is_none")]
13255 pub mar_b: Option<STCoordinate32>,
13256 #[cfg(feature = "dml-tables")]
13257 #[serde(rename = "@vert")]
13258 #[serde(default, skip_serializing_if = "Option::is_none")]
13259 pub vert: Option<STTextVerticalType>,
13260 #[cfg(feature = "dml-tables")]
13261 #[serde(rename = "@anchor")]
13262 #[serde(default, skip_serializing_if = "Option::is_none")]
13263 pub anchor: Option<STTextAnchoringType>,
13264 #[cfg(feature = "dml-tables")]
13265 #[serde(rename = "@anchorCtr")]
13266 #[serde(
13267 default,
13268 skip_serializing_if = "Option::is_none",
13269 with = "ooxml_xml::ooxml_bool"
13270 )]
13271 pub anchor_ctr: Option<bool>,
13272 #[cfg(feature = "dml-tables")]
13273 #[serde(rename = "@horzOverflow")]
13274 #[serde(default, skip_serializing_if = "Option::is_none")]
13275 pub horz_overflow: Option<STTextHorzOverflowType>,
13276 #[cfg(feature = "dml-tables")]
13277 #[serde(rename = "lnL")]
13278 #[serde(default, skip_serializing_if = "Option::is_none")]
13279 pub ln_l: Option<Box<LineProperties>>,
13280 #[cfg(feature = "dml-tables")]
13281 #[serde(rename = "lnR")]
13282 #[serde(default, skip_serializing_if = "Option::is_none")]
13283 pub ln_r: Option<Box<LineProperties>>,
13284 #[cfg(feature = "dml-tables")]
13285 #[serde(rename = "lnT")]
13286 #[serde(default, skip_serializing_if = "Option::is_none")]
13287 pub ln_t: Option<Box<LineProperties>>,
13288 #[cfg(feature = "dml-tables")]
13289 #[serde(rename = "lnB")]
13290 #[serde(default, skip_serializing_if = "Option::is_none")]
13291 pub ln_b: Option<Box<LineProperties>>,
13292 #[cfg(feature = "dml-tables")]
13293 #[serde(rename = "lnTlToBr")]
13294 #[serde(default, skip_serializing_if = "Option::is_none")]
13295 pub ln_tl_to_br: Option<Box<LineProperties>>,
13296 #[cfg(feature = "dml-tables")]
13297 #[serde(rename = "lnBlToTr")]
13298 #[serde(default, skip_serializing_if = "Option::is_none")]
13299 pub ln_bl_to_tr: Option<Box<LineProperties>>,
13300 #[cfg(feature = "dml-tables")]
13301 #[serde(rename = "cell3D")]
13302 #[serde(default, skip_serializing_if = "Option::is_none")]
13303 pub cell3_d: Option<Box<CTCell3D>>,
13304 #[serde(skip)]
13305 #[serde(default)]
13306 pub fill_properties: Option<Box<EGFillProperties>>,
13307 #[serde(rename = "headers")]
13308 #[serde(default, skip_serializing_if = "Option::is_none")]
13309 pub headers: Option<Box<CTHeaders>>,
13310 #[cfg(feature = "dml-extensions")]
13311 #[serde(rename = "extLst")]
13312 #[serde(default, skip_serializing_if = "Option::is_none")]
13313 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
13314 #[cfg(feature = "extra-attrs")]
13316 #[serde(skip)]
13317 #[cfg(feature = "extra-attrs")]
13318 #[serde(default)]
13319 #[cfg(feature = "extra-attrs")]
13320 pub extra_attrs: std::collections::HashMap<String, String>,
13321 #[cfg(feature = "extra-children")]
13323 #[serde(skip)]
13324 #[cfg(feature = "extra-children")]
13325 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13326}
13327
13328#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13329pub struct CTHeaders {
13330 #[serde(rename = "header")]
13331 #[serde(default, skip_serializing_if = "Vec::is_empty")]
13332 pub header: Vec<String>,
13333 #[cfg(feature = "extra-children")]
13335 #[serde(skip)]
13336 #[cfg(feature = "extra-children")]
13337 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13338}
13339
13340#[derive(Debug, Clone, Serialize, Deserialize)]
13341pub struct CTTableCol {
13342 #[serde(rename = "@w")]
13343 pub width: STCoordinate,
13344 #[serde(rename = "extLst")]
13345 #[serde(default, skip_serializing_if = "Option::is_none")]
13346 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
13347 #[cfg(feature = "extra-attrs")]
13349 #[serde(skip)]
13350 #[cfg(feature = "extra-attrs")]
13351 #[serde(default)]
13352 #[cfg(feature = "extra-attrs")]
13353 pub extra_attrs: std::collections::HashMap<String, String>,
13354 #[cfg(feature = "extra-children")]
13356 #[serde(skip)]
13357 #[cfg(feature = "extra-children")]
13358 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13359}
13360
13361#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13362pub struct CTTableGrid {
13363 #[cfg(feature = "dml-tables")]
13364 #[serde(rename = "gridCol")]
13365 #[serde(default, skip_serializing_if = "Vec::is_empty")]
13366 pub grid_col: Vec<CTTableCol>,
13367 #[cfg(feature = "extra-children")]
13369 #[serde(skip)]
13370 #[cfg(feature = "extra-children")]
13371 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13372}
13373
13374#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13375pub struct CTTableCell {
13376 #[cfg(feature = "dml-tables")]
13377 #[serde(rename = "@rowSpan")]
13378 #[serde(default, skip_serializing_if = "Option::is_none")]
13379 pub row_span: Option<i32>,
13380 #[cfg(feature = "dml-tables")]
13381 #[serde(rename = "@gridSpan")]
13382 #[serde(default, skip_serializing_if = "Option::is_none")]
13383 pub grid_span: Option<i32>,
13384 #[cfg(feature = "dml-tables")]
13385 #[serde(rename = "@hMerge")]
13386 #[serde(
13387 default,
13388 skip_serializing_if = "Option::is_none",
13389 with = "ooxml_xml::ooxml_bool"
13390 )]
13391 pub h_merge: Option<bool>,
13392 #[cfg(feature = "dml-tables")]
13393 #[serde(rename = "@vMerge")]
13394 #[serde(
13395 default,
13396 skip_serializing_if = "Option::is_none",
13397 with = "ooxml_xml::ooxml_bool"
13398 )]
13399 pub v_merge: Option<bool>,
13400 #[serde(rename = "@id")]
13401 #[serde(default, skip_serializing_if = "Option::is_none")]
13402 pub id: Option<String>,
13403 #[cfg(feature = "dml-tables")]
13404 #[serde(rename = "txBody")]
13405 #[serde(default, skip_serializing_if = "Option::is_none")]
13406 pub tx_body: Option<Box<TextBody>>,
13407 #[cfg(feature = "dml-tables")]
13408 #[serde(rename = "tcPr")]
13409 #[serde(default, skip_serializing_if = "Option::is_none")]
13410 pub tc_pr: Option<Box<CTTableCellProperties>>,
13411 #[cfg(feature = "dml-extensions")]
13412 #[serde(rename = "extLst")]
13413 #[serde(default, skip_serializing_if = "Option::is_none")]
13414 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
13415 #[cfg(feature = "extra-attrs")]
13417 #[serde(skip)]
13418 #[cfg(feature = "extra-attrs")]
13419 #[serde(default)]
13420 #[cfg(feature = "extra-attrs")]
13421 pub extra_attrs: std::collections::HashMap<String, String>,
13422 #[cfg(feature = "extra-children")]
13424 #[serde(skip)]
13425 #[cfg(feature = "extra-children")]
13426 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13427}
13428
13429#[derive(Debug, Clone, Serialize, Deserialize)]
13430pub struct CTTableRow {
13431 #[cfg(feature = "dml-tables")]
13432 #[serde(rename = "@h")]
13433 pub height: STCoordinate,
13434 #[cfg(feature = "dml-tables")]
13435 #[serde(rename = "tc")]
13436 #[serde(default, skip_serializing_if = "Vec::is_empty")]
13437 pub tc: Vec<CTTableCell>,
13438 #[cfg(feature = "dml-extensions")]
13439 #[serde(rename = "extLst")]
13440 #[serde(default, skip_serializing_if = "Option::is_none")]
13441 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
13442 #[cfg(feature = "extra-attrs")]
13444 #[serde(skip)]
13445 #[cfg(feature = "extra-attrs")]
13446 #[serde(default)]
13447 #[cfg(feature = "extra-attrs")]
13448 pub extra_attrs: std::collections::HashMap<String, String>,
13449 #[cfg(feature = "extra-children")]
13451 #[serde(skip)]
13452 #[cfg(feature = "extra-children")]
13453 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13454}
13455
13456#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13457pub struct CTTableProperties {
13458 #[cfg(feature = "dml-tables")]
13459 #[serde(rename = "@rtl")]
13460 #[serde(
13461 default,
13462 skip_serializing_if = "Option::is_none",
13463 with = "ooxml_xml::ooxml_bool"
13464 )]
13465 pub rtl: Option<bool>,
13466 #[cfg(feature = "dml-tables")]
13467 #[serde(rename = "@firstRow")]
13468 #[serde(
13469 default,
13470 skip_serializing_if = "Option::is_none",
13471 with = "ooxml_xml::ooxml_bool"
13472 )]
13473 pub first_row: Option<bool>,
13474 #[cfg(feature = "dml-tables")]
13475 #[serde(rename = "@firstCol")]
13476 #[serde(
13477 default,
13478 skip_serializing_if = "Option::is_none",
13479 with = "ooxml_xml::ooxml_bool"
13480 )]
13481 pub first_col: Option<bool>,
13482 #[cfg(feature = "dml-tables")]
13483 #[serde(rename = "@lastRow")]
13484 #[serde(
13485 default,
13486 skip_serializing_if = "Option::is_none",
13487 with = "ooxml_xml::ooxml_bool"
13488 )]
13489 pub last_row: Option<bool>,
13490 #[cfg(feature = "dml-tables")]
13491 #[serde(rename = "@lastCol")]
13492 #[serde(
13493 default,
13494 skip_serializing_if = "Option::is_none",
13495 with = "ooxml_xml::ooxml_bool"
13496 )]
13497 pub last_col: Option<bool>,
13498 #[cfg(feature = "dml-tables")]
13499 #[serde(rename = "@bandRow")]
13500 #[serde(
13501 default,
13502 skip_serializing_if = "Option::is_none",
13503 with = "ooxml_xml::ooxml_bool"
13504 )]
13505 pub band_row: Option<bool>,
13506 #[cfg(feature = "dml-tables")]
13507 #[serde(rename = "@bandCol")]
13508 #[serde(
13509 default,
13510 skip_serializing_if = "Option::is_none",
13511 with = "ooxml_xml::ooxml_bool"
13512 )]
13513 pub band_col: Option<bool>,
13514 #[serde(skip)]
13515 #[serde(default)]
13516 pub fill_properties: Option<Box<EGFillProperties>>,
13517 #[serde(skip)]
13518 #[serde(default)]
13519 pub effect_properties: Option<Box<EGEffectProperties>>,
13520 #[serde(rename = "tableStyle")]
13521 #[serde(default, skip_serializing_if = "Option::is_none")]
13522 pub table_style: Option<Box<CTTableStyle>>,
13523 #[cfg(feature = "dml-tables")]
13524 #[serde(rename = "tableStyleId")]
13525 #[serde(default, skip_serializing_if = "Option::is_none")]
13526 pub table_style_id: Option<Guid>,
13527 #[cfg(feature = "dml-extensions")]
13528 #[serde(rename = "extLst")]
13529 #[serde(default, skip_serializing_if = "Option::is_none")]
13530 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
13531 #[cfg(feature = "extra-attrs")]
13533 #[serde(skip)]
13534 #[cfg(feature = "extra-attrs")]
13535 #[serde(default)]
13536 #[cfg(feature = "extra-attrs")]
13537 pub extra_attrs: std::collections::HashMap<String, String>,
13538 #[cfg(feature = "extra-children")]
13540 #[serde(skip)]
13541 #[cfg(feature = "extra-children")]
13542 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13543}
13544
13545#[derive(Debug, Clone, Serialize, Deserialize)]
13546pub struct CTTable {
13547 #[cfg(feature = "dml-tables")]
13548 #[serde(rename = "tblPr")]
13549 #[serde(default, skip_serializing_if = "Option::is_none")]
13550 pub tbl_pr: Option<Box<CTTableProperties>>,
13551 #[cfg(feature = "dml-tables")]
13552 #[serde(rename = "tblGrid")]
13553 pub tbl_grid: Box<CTTableGrid>,
13554 #[cfg(feature = "dml-tables")]
13555 #[serde(rename = "tr")]
13556 #[serde(default, skip_serializing_if = "Vec::is_empty")]
13557 pub tr: Vec<CTTableRow>,
13558 #[cfg(feature = "extra-children")]
13560 #[serde(skip)]
13561 #[cfg(feature = "extra-children")]
13562 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13563}
13564
13565pub type ATbl = Box<CTTable>;
13566
13567#[derive(Debug, Clone, Serialize, Deserialize)]
13568pub struct CTCell3D {
13569 #[serde(rename = "@prstMaterial")]
13570 #[serde(default, skip_serializing_if = "Option::is_none")]
13571 pub prst_material: Option<STPresetMaterialType>,
13572 #[serde(rename = "bevel")]
13573 pub bevel: Box<CTBevel>,
13574 #[serde(rename = "lightRig")]
13575 #[serde(default, skip_serializing_if = "Option::is_none")]
13576 pub light_rig: Option<Box<CTLightRig>>,
13577 #[serde(rename = "extLst")]
13578 #[serde(default, skip_serializing_if = "Option::is_none")]
13579 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
13580 #[cfg(feature = "extra-attrs")]
13582 #[serde(skip)]
13583 #[cfg(feature = "extra-attrs")]
13584 #[serde(default)]
13585 #[cfg(feature = "extra-attrs")]
13586 pub extra_attrs: std::collections::HashMap<String, String>,
13587 #[cfg(feature = "extra-children")]
13589 #[serde(skip)]
13590 #[cfg(feature = "extra-children")]
13591 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13592}
13593
13594#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13595pub struct CTThemeableLineStyle {
13596 #[serde(rename = "ln")]
13597 #[serde(default, skip_serializing_if = "Option::is_none")]
13598 pub line: Option<Box<LineProperties>>,
13599 #[serde(rename = "lnRef")]
13600 #[serde(default, skip_serializing_if = "Option::is_none")]
13601 pub ln_ref: Option<Box<CTStyleMatrixReference>>,
13602 #[cfg(feature = "extra-children")]
13604 #[serde(skip)]
13605 #[cfg(feature = "extra-children")]
13606 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13607}
13608
13609#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13610pub struct CTTableStyleTextStyle {
13611 #[serde(rename = "@b")]
13612 #[serde(default, skip_serializing_if = "Option::is_none")]
13613 pub b: Option<STOnOffStyleType>,
13614 #[serde(rename = "@i")]
13615 #[serde(default, skip_serializing_if = "Option::is_none")]
13616 pub i: Option<STOnOffStyleType>,
13617 #[serde(skip)]
13618 #[serde(default)]
13619 pub themeable_font_styles: Option<Box<EGThemeableFontStyles>>,
13620 #[serde(skip)]
13621 #[serde(default)]
13622 pub color_choice: Option<Box<EGColorChoice>>,
13623 #[serde(rename = "extLst")]
13624 #[serde(default, skip_serializing_if = "Option::is_none")]
13625 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
13626 #[cfg(feature = "extra-attrs")]
13628 #[serde(skip)]
13629 #[cfg(feature = "extra-attrs")]
13630 #[serde(default)]
13631 #[cfg(feature = "extra-attrs")]
13632 pub extra_attrs: std::collections::HashMap<String, String>,
13633 #[cfg(feature = "extra-children")]
13635 #[serde(skip)]
13636 #[cfg(feature = "extra-children")]
13637 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13638}
13639
13640#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13641pub struct CTTableCellBorderStyle {
13642 #[serde(rename = "left")]
13643 #[serde(default, skip_serializing_if = "Option::is_none")]
13644 pub left: Option<Box<CTThemeableLineStyle>>,
13645 #[serde(rename = "right")]
13646 #[serde(default, skip_serializing_if = "Option::is_none")]
13647 pub right: Option<Box<CTThemeableLineStyle>>,
13648 #[serde(rename = "top")]
13649 #[serde(default, skip_serializing_if = "Option::is_none")]
13650 pub top: Option<Box<CTThemeableLineStyle>>,
13651 #[serde(rename = "bottom")]
13652 #[serde(default, skip_serializing_if = "Option::is_none")]
13653 pub bottom: Option<Box<CTThemeableLineStyle>>,
13654 #[serde(rename = "insideH")]
13655 #[serde(default, skip_serializing_if = "Option::is_none")]
13656 pub inside_h: Option<Box<CTThemeableLineStyle>>,
13657 #[serde(rename = "insideV")]
13658 #[serde(default, skip_serializing_if = "Option::is_none")]
13659 pub inside_v: Option<Box<CTThemeableLineStyle>>,
13660 #[serde(rename = "tl2br")]
13661 #[serde(default, skip_serializing_if = "Option::is_none")]
13662 pub tl2br: Option<Box<CTThemeableLineStyle>>,
13663 #[serde(rename = "tr2bl")]
13664 #[serde(default, skip_serializing_if = "Option::is_none")]
13665 pub tr2bl: Option<Box<CTThemeableLineStyle>>,
13666 #[serde(rename = "extLst")]
13667 #[serde(default, skip_serializing_if = "Option::is_none")]
13668 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
13669 #[cfg(feature = "extra-children")]
13671 #[serde(skip)]
13672 #[cfg(feature = "extra-children")]
13673 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13674}
13675
13676#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13677pub struct CTTableBackgroundStyle {
13678 #[serde(skip)]
13679 #[serde(default)]
13680 pub themeable_fill_style: Option<Box<EGThemeableFillStyle>>,
13681 #[serde(skip)]
13682 #[serde(default)]
13683 pub themeable_effect_style: Option<Box<EGThemeableEffectStyle>>,
13684 #[cfg(feature = "extra-children")]
13686 #[serde(skip)]
13687 #[cfg(feature = "extra-children")]
13688 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13689}
13690
13691#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13692pub struct CTTableStyleCellStyle {
13693 #[serde(rename = "tcBdr")]
13694 #[serde(default, skip_serializing_if = "Option::is_none")]
13695 pub tc_bdr: Option<Box<CTTableCellBorderStyle>>,
13696 #[serde(skip)]
13697 #[serde(default)]
13698 pub themeable_fill_style: Option<Box<EGThemeableFillStyle>>,
13699 #[serde(rename = "cell3D")]
13700 #[serde(default, skip_serializing_if = "Option::is_none")]
13701 pub cell3_d: Option<Box<CTCell3D>>,
13702 #[cfg(feature = "extra-children")]
13704 #[serde(skip)]
13705 #[cfg(feature = "extra-children")]
13706 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13707}
13708
13709#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13710pub struct CTTablePartStyle {
13711 #[serde(rename = "tcTxStyle")]
13712 #[serde(default, skip_serializing_if = "Option::is_none")]
13713 pub tc_tx_style: Option<Box<CTTableStyleTextStyle>>,
13714 #[serde(rename = "tcStyle")]
13715 #[serde(default, skip_serializing_if = "Option::is_none")]
13716 pub tc_style: Option<Box<CTTableStyleCellStyle>>,
13717 #[cfg(feature = "extra-children")]
13719 #[serde(skip)]
13720 #[cfg(feature = "extra-children")]
13721 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13722}
13723
13724#[derive(Debug, Clone, Serialize, Deserialize)]
13725pub struct CTTableStyle {
13726 #[serde(rename = "@styleId")]
13727 pub style_id: Guid,
13728 #[serde(rename = "@styleName")]
13729 pub style_name: String,
13730 #[serde(rename = "tblBg")]
13731 #[serde(default, skip_serializing_if = "Option::is_none")]
13732 pub tbl_bg: Option<Box<CTTableBackgroundStyle>>,
13733 #[serde(rename = "wholeTbl")]
13734 #[serde(default, skip_serializing_if = "Option::is_none")]
13735 pub whole_tbl: Option<Box<CTTablePartStyle>>,
13736 #[serde(rename = "band1H")]
13737 #[serde(default, skip_serializing_if = "Option::is_none")]
13738 pub band1_h: Option<Box<CTTablePartStyle>>,
13739 #[serde(rename = "band2H")]
13740 #[serde(default, skip_serializing_if = "Option::is_none")]
13741 pub band2_h: Option<Box<CTTablePartStyle>>,
13742 #[serde(rename = "band1V")]
13743 #[serde(default, skip_serializing_if = "Option::is_none")]
13744 pub band1_v: Option<Box<CTTablePartStyle>>,
13745 #[serde(rename = "band2V")]
13746 #[serde(default, skip_serializing_if = "Option::is_none")]
13747 pub band2_v: Option<Box<CTTablePartStyle>>,
13748 #[serde(rename = "lastCol")]
13749 #[serde(default, skip_serializing_if = "Option::is_none")]
13750 pub last_col: Option<Box<CTTablePartStyle>>,
13751 #[serde(rename = "firstCol")]
13752 #[serde(default, skip_serializing_if = "Option::is_none")]
13753 pub first_col: Option<Box<CTTablePartStyle>>,
13754 #[serde(rename = "lastRow")]
13755 #[serde(default, skip_serializing_if = "Option::is_none")]
13756 pub last_row: Option<Box<CTTablePartStyle>>,
13757 #[serde(rename = "seCell")]
13758 #[serde(default, skip_serializing_if = "Option::is_none")]
13759 pub se_cell: Option<Box<CTTablePartStyle>>,
13760 #[serde(rename = "swCell")]
13761 #[serde(default, skip_serializing_if = "Option::is_none")]
13762 pub sw_cell: Option<Box<CTTablePartStyle>>,
13763 #[serde(rename = "firstRow")]
13764 #[serde(default, skip_serializing_if = "Option::is_none")]
13765 pub first_row: Option<Box<CTTablePartStyle>>,
13766 #[serde(rename = "neCell")]
13767 #[serde(default, skip_serializing_if = "Option::is_none")]
13768 pub ne_cell: Option<Box<CTTablePartStyle>>,
13769 #[serde(rename = "nwCell")]
13770 #[serde(default, skip_serializing_if = "Option::is_none")]
13771 pub nw_cell: Option<Box<CTTablePartStyle>>,
13772 #[serde(rename = "extLst")]
13773 #[serde(default, skip_serializing_if = "Option::is_none")]
13774 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
13775 #[cfg(feature = "extra-attrs")]
13777 #[serde(skip)]
13778 #[cfg(feature = "extra-attrs")]
13779 #[serde(default)]
13780 #[cfg(feature = "extra-attrs")]
13781 pub extra_attrs: std::collections::HashMap<String, String>,
13782 #[cfg(feature = "extra-children")]
13784 #[serde(skip)]
13785 #[cfg(feature = "extra-children")]
13786 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13787}
13788
13789#[derive(Debug, Clone, Serialize, Deserialize)]
13790pub struct CTTableStyleList {
13791 #[serde(rename = "@def")]
13792 pub def: Guid,
13793 #[serde(rename = "tblStyle")]
13794 #[serde(default, skip_serializing_if = "Vec::is_empty")]
13795 pub tbl_style: Vec<CTTableStyle>,
13796 #[cfg(feature = "extra-attrs")]
13798 #[serde(skip)]
13799 #[cfg(feature = "extra-attrs")]
13800 #[serde(default)]
13801 #[cfg(feature = "extra-attrs")]
13802 pub extra_attrs: std::collections::HashMap<String, String>,
13803 #[cfg(feature = "extra-children")]
13805 #[serde(skip)]
13806 #[cfg(feature = "extra-children")]
13807 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13808}
13809
13810pub type ATblStyleLst = Box<CTTableStyleList>;
13811
13812#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13813pub struct TextParagraph {
13814 #[cfg(feature = "dml-text")]
13815 #[serde(rename = "pPr")]
13816 #[serde(default, skip_serializing_if = "Option::is_none")]
13817 pub p_pr: Option<Box<TextParagraphProperties>>,
13818 #[serde(skip)]
13819 #[serde(default)]
13820 pub text_run: Vec<EGTextRun>,
13821 #[cfg(feature = "dml-text")]
13822 #[serde(rename = "endParaRPr")]
13823 #[serde(default, skip_serializing_if = "Option::is_none")]
13824 pub end_para_r_pr: Option<Box<TextCharacterProperties>>,
13825 #[cfg(feature = "extra-children")]
13827 #[serde(skip)]
13828 #[cfg(feature = "extra-children")]
13829 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13830}
13831
13832#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13833pub struct CTTextListStyle {
13834 #[serde(rename = "defPPr")]
13835 #[serde(default, skip_serializing_if = "Option::is_none")]
13836 pub def_p_pr: Option<Box<TextParagraphProperties>>,
13837 #[serde(rename = "lvl1pPr")]
13838 #[serde(default, skip_serializing_if = "Option::is_none")]
13839 pub lvl1p_pr: Option<Box<TextParagraphProperties>>,
13840 #[serde(rename = "lvl2pPr")]
13841 #[serde(default, skip_serializing_if = "Option::is_none")]
13842 pub lvl2p_pr: Option<Box<TextParagraphProperties>>,
13843 #[serde(rename = "lvl3pPr")]
13844 #[serde(default, skip_serializing_if = "Option::is_none")]
13845 pub lvl3p_pr: Option<Box<TextParagraphProperties>>,
13846 #[serde(rename = "lvl4pPr")]
13847 #[serde(default, skip_serializing_if = "Option::is_none")]
13848 pub lvl4p_pr: Option<Box<TextParagraphProperties>>,
13849 #[serde(rename = "lvl5pPr")]
13850 #[serde(default, skip_serializing_if = "Option::is_none")]
13851 pub lvl5p_pr: Option<Box<TextParagraphProperties>>,
13852 #[serde(rename = "lvl6pPr")]
13853 #[serde(default, skip_serializing_if = "Option::is_none")]
13854 pub lvl6p_pr: Option<Box<TextParagraphProperties>>,
13855 #[serde(rename = "lvl7pPr")]
13856 #[serde(default, skip_serializing_if = "Option::is_none")]
13857 pub lvl7p_pr: Option<Box<TextParagraphProperties>>,
13858 #[serde(rename = "lvl8pPr")]
13859 #[serde(default, skip_serializing_if = "Option::is_none")]
13860 pub lvl8p_pr: Option<Box<TextParagraphProperties>>,
13861 #[serde(rename = "lvl9pPr")]
13862 #[serde(default, skip_serializing_if = "Option::is_none")]
13863 pub lvl9p_pr: Option<Box<TextParagraphProperties>>,
13864 #[serde(rename = "extLst")]
13865 #[serde(default, skip_serializing_if = "Option::is_none")]
13866 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
13867 #[cfg(feature = "extra-children")]
13869 #[serde(skip)]
13870 #[cfg(feature = "extra-children")]
13871 pub extra_children: Vec<ooxml_xml::PositionedNode>,
13872}
13873
13874#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13875pub struct CTTextNormalAutofit {
13876 #[serde(rename = "@fontScale")]
13877 #[serde(default, skip_serializing_if = "Option::is_none")]
13878 pub font_scale: Option<STTextFontScalePercentOrPercentString>,
13879 #[serde(rename = "@lnSpcReduction")]
13880 #[serde(default, skip_serializing_if = "Option::is_none")]
13881 pub ln_spc_reduction: Option<STTextSpacingPercentOrPercentString>,
13882 #[cfg(feature = "extra-attrs")]
13884 #[serde(skip)]
13885 #[cfg(feature = "extra-attrs")]
13886 #[serde(default)]
13887 #[cfg(feature = "extra-attrs")]
13888 pub extra_attrs: std::collections::HashMap<String, String>,
13889}
13890
13891#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13892pub struct CTTextShapeAutofit;
13893
13894#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13895pub struct CTTextNoAutofit;
13896
13897#[derive(Debug, Clone, Default, Serialize, Deserialize)]
13898pub struct CTTextBodyProperties {
13899 #[cfg(feature = "dml-text")]
13900 #[serde(rename = "@rot")]
13901 #[serde(default, skip_serializing_if = "Option::is_none")]
13902 pub rot: Option<STAngle>,
13903 #[cfg(feature = "dml-text")]
13904 #[serde(rename = "@spcFirstLastPara")]
13905 #[serde(
13906 default,
13907 skip_serializing_if = "Option::is_none",
13908 with = "ooxml_xml::ooxml_bool"
13909 )]
13910 pub spc_first_last_para: Option<bool>,
13911 #[cfg(feature = "dml-text")]
13912 #[serde(rename = "@vertOverflow")]
13913 #[serde(default, skip_serializing_if = "Option::is_none")]
13914 pub vert_overflow: Option<STTextVertOverflowType>,
13915 #[cfg(feature = "dml-text")]
13916 #[serde(rename = "@horzOverflow")]
13917 #[serde(default, skip_serializing_if = "Option::is_none")]
13918 pub horz_overflow: Option<STTextHorzOverflowType>,
13919 #[cfg(feature = "dml-text")]
13920 #[serde(rename = "@vert")]
13921 #[serde(default, skip_serializing_if = "Option::is_none")]
13922 pub vert: Option<STTextVerticalType>,
13923 #[cfg(feature = "dml-text")]
13924 #[serde(rename = "@wrap")]
13925 #[serde(default, skip_serializing_if = "Option::is_none")]
13926 pub wrap: Option<STTextWrappingType>,
13927 #[cfg(feature = "dml-text")]
13928 #[serde(rename = "@lIns")]
13929 #[serde(default, skip_serializing_if = "Option::is_none")]
13930 pub l_ins: Option<STCoordinate32>,
13931 #[cfg(feature = "dml-text")]
13932 #[serde(rename = "@tIns")]
13933 #[serde(default, skip_serializing_if = "Option::is_none")]
13934 pub t_ins: Option<STCoordinate32>,
13935 #[cfg(feature = "dml-text")]
13936 #[serde(rename = "@rIns")]
13937 #[serde(default, skip_serializing_if = "Option::is_none")]
13938 pub r_ins: Option<STCoordinate32>,
13939 #[cfg(feature = "dml-text")]
13940 #[serde(rename = "@bIns")]
13941 #[serde(default, skip_serializing_if = "Option::is_none")]
13942 pub b_ins: Option<STCoordinate32>,
13943 #[cfg(feature = "dml-text")]
13944 #[serde(rename = "@numCol")]
13945 #[serde(default, skip_serializing_if = "Option::is_none")]
13946 pub num_col: Option<STTextColumnCount>,
13947 #[cfg(feature = "dml-text")]
13948 #[serde(rename = "@spcCol")]
13949 #[serde(default, skip_serializing_if = "Option::is_none")]
13950 pub spc_col: Option<STPositiveCoordinate32>,
13951 #[cfg(feature = "dml-text")]
13952 #[serde(rename = "@rtlCol")]
13953 #[serde(
13954 default,
13955 skip_serializing_if = "Option::is_none",
13956 with = "ooxml_xml::ooxml_bool"
13957 )]
13958 pub rtl_col: Option<bool>,
13959 #[cfg(feature = "dml-text")]
13960 #[serde(rename = "@fromWordArt")]
13961 #[serde(
13962 default,
13963 skip_serializing_if = "Option::is_none",
13964 with = "ooxml_xml::ooxml_bool"
13965 )]
13966 pub from_word_art: Option<bool>,
13967 #[cfg(feature = "dml-text")]
13968 #[serde(rename = "@anchor")]
13969 #[serde(default, skip_serializing_if = "Option::is_none")]
13970 pub anchor: Option<STTextAnchoringType>,
13971 #[cfg(feature = "dml-text")]
13972 #[serde(rename = "@anchorCtr")]
13973 #[serde(
13974 default,
13975 skip_serializing_if = "Option::is_none",
13976 with = "ooxml_xml::ooxml_bool"
13977 )]
13978 pub anchor_ctr: Option<bool>,
13979 #[cfg(feature = "dml-text")]
13980 #[serde(rename = "@forceAA")]
13981 #[serde(
13982 default,
13983 skip_serializing_if = "Option::is_none",
13984 with = "ooxml_xml::ooxml_bool"
13985 )]
13986 pub force_a_a: Option<bool>,
13987 #[cfg(feature = "dml-text")]
13988 #[serde(rename = "@upright")]
13989 #[serde(
13990 default,
13991 skip_serializing_if = "Option::is_none",
13992 with = "ooxml_xml::ooxml_bool"
13993 )]
13994 pub upright: Option<bool>,
13995 #[cfg(feature = "dml-text")]
13996 #[serde(rename = "@compatLnSpc")]
13997 #[serde(
13998 default,
13999 skip_serializing_if = "Option::is_none",
14000 with = "ooxml_xml::ooxml_bool"
14001 )]
14002 pub compat_ln_spc: Option<bool>,
14003 #[cfg(feature = "dml-text")]
14004 #[serde(rename = "prstTxWarp")]
14005 #[serde(default, skip_serializing_if = "Option::is_none")]
14006 pub prst_tx_warp: Option<Box<CTPresetTextShape>>,
14007 #[serde(skip)]
14008 #[serde(default)]
14009 pub text_autofit: Option<Box<EGTextAutofit>>,
14010 #[cfg(feature = "dml-3d")]
14011 #[serde(rename = "scene3d")]
14012 #[serde(default, skip_serializing_if = "Option::is_none")]
14013 pub scene3d: Option<Box<CTScene3D>>,
14014 #[serde(skip)]
14015 #[serde(default)]
14016 pub text3_d: Option<Box<EGText3D>>,
14017 #[cfg(feature = "dml-extensions")]
14018 #[serde(rename = "extLst")]
14019 #[serde(default, skip_serializing_if = "Option::is_none")]
14020 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
14021 #[cfg(feature = "extra-attrs")]
14023 #[serde(skip)]
14024 #[cfg(feature = "extra-attrs")]
14025 #[serde(default)]
14026 #[cfg(feature = "extra-attrs")]
14027 pub extra_attrs: std::collections::HashMap<String, String>,
14028 #[cfg(feature = "extra-children")]
14030 #[serde(skip)]
14031 #[cfg(feature = "extra-children")]
14032 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14033}
14034
14035#[derive(Debug, Clone, Serialize, Deserialize)]
14036pub struct TextBody {
14037 #[cfg(feature = "dml-text")]
14038 #[serde(rename = "bodyPr")]
14039 pub body_pr: Box<CTTextBodyProperties>,
14040 #[cfg(feature = "dml-text")]
14041 #[serde(rename = "lstStyle")]
14042 #[serde(default, skip_serializing_if = "Option::is_none")]
14043 pub lst_style: Option<Box<CTTextListStyle>>,
14044 #[cfg(feature = "dml-text")]
14045 #[serde(rename = "p")]
14046 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14047 pub p: Vec<TextParagraph>,
14048 #[cfg(feature = "extra-children")]
14050 #[serde(skip)]
14051 #[cfg(feature = "extra-children")]
14052 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14053}
14054
14055#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14056pub struct CTTextBulletColorFollowText;
14057
14058#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14059pub struct CTTextBulletSizeFollowText;
14060
14061#[derive(Debug, Clone, Serialize, Deserialize)]
14062pub struct TextBulletSizePercentElement {
14063 #[serde(rename = "@val")]
14064 pub value: STTextBulletSizePercent,
14065 #[cfg(feature = "extra-attrs")]
14067 #[serde(skip)]
14068 #[cfg(feature = "extra-attrs")]
14069 #[serde(default)]
14070 #[cfg(feature = "extra-attrs")]
14071 pub extra_attrs: std::collections::HashMap<String, String>,
14072}
14073
14074#[derive(Debug, Clone, Serialize, Deserialize)]
14075pub struct CTTextBulletSizePoint {
14076 #[serde(rename = "@val")]
14077 pub value: STTextFontSize,
14078 #[cfg(feature = "extra-attrs")]
14080 #[serde(skip)]
14081 #[cfg(feature = "extra-attrs")]
14082 #[serde(default)]
14083 #[cfg(feature = "extra-attrs")]
14084 pub extra_attrs: std::collections::HashMap<String, String>,
14085}
14086
14087#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14088pub struct CTTextBulletTypefaceFollowText;
14089
14090#[derive(Debug, Clone, Serialize, Deserialize)]
14091pub struct CTTextAutonumberBullet {
14092 #[serde(rename = "@type")]
14093 pub r#type: STTextAutonumberScheme,
14094 #[serde(rename = "@startAt")]
14095 #[serde(default, skip_serializing_if = "Option::is_none")]
14096 pub start_at: Option<STTextBulletStartAtNum>,
14097 #[cfg(feature = "extra-attrs")]
14099 #[serde(skip)]
14100 #[cfg(feature = "extra-attrs")]
14101 #[serde(default)]
14102 #[cfg(feature = "extra-attrs")]
14103 pub extra_attrs: std::collections::HashMap<String, String>,
14104}
14105
14106#[derive(Debug, Clone, Serialize, Deserialize)]
14107pub struct CTTextCharBullet {
14108 #[serde(rename = "@char")]
14109 pub char: String,
14110 #[cfg(feature = "extra-attrs")]
14112 #[serde(skip)]
14113 #[cfg(feature = "extra-attrs")]
14114 #[serde(default)]
14115 #[cfg(feature = "extra-attrs")]
14116 pub extra_attrs: std::collections::HashMap<String, String>,
14117}
14118
14119pub type TextBlipBulletElement = Box<Blip>;
14120
14121#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14122pub struct CTTextNoBullet;
14123
14124#[derive(Debug, Clone, Serialize, Deserialize)]
14125pub struct TextFont {
14126 #[cfg(feature = "dml-text")]
14127 #[serde(rename = "@typeface")]
14128 pub typeface: STTextTypeface,
14129 #[cfg(feature = "dml-text")]
14130 #[serde(rename = "@panose")]
14131 #[serde(default, skip_serializing_if = "Option::is_none")]
14132 pub panose: Option<Panose>,
14133 #[cfg(feature = "dml-text")]
14134 #[serde(rename = "@pitchFamily")]
14135 #[serde(default, skip_serializing_if = "Option::is_none")]
14136 pub pitch_family: Option<STPitchFamily>,
14137 #[cfg(feature = "dml-text")]
14138 #[serde(rename = "@charset")]
14139 #[serde(default, skip_serializing_if = "Option::is_none")]
14140 pub charset: Option<i8>,
14141 #[cfg(feature = "extra-attrs")]
14143 #[serde(skip)]
14144 #[cfg(feature = "extra-attrs")]
14145 #[serde(default)]
14146 #[cfg(feature = "extra-attrs")]
14147 pub extra_attrs: std::collections::HashMap<String, String>,
14148}
14149
14150#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14151pub struct CTTextUnderlineLineFollowText;
14152
14153#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14154pub struct CTTextUnderlineFillFollowText;
14155
14156#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14157pub struct CTTextUnderlineFillGroupWrapper {
14158 #[serde(skip)]
14159 #[serde(default)]
14160 pub fill_properties: Option<Box<EGFillProperties>>,
14161 #[cfg(feature = "extra-children")]
14163 #[serde(skip)]
14164 #[cfg(feature = "extra-children")]
14165 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14166}
14167
14168#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14169pub struct TextCharacterProperties {
14170 #[cfg(feature = "dml-text")]
14171 #[serde(rename = "@kumimoji")]
14172 #[serde(
14173 default,
14174 skip_serializing_if = "Option::is_none",
14175 with = "ooxml_xml::ooxml_bool"
14176 )]
14177 pub kumimoji: Option<bool>,
14178 #[cfg(feature = "dml-text")]
14179 #[serde(rename = "@lang")]
14180 #[serde(default, skip_serializing_if = "Option::is_none")]
14181 pub lang: Option<Language>,
14182 #[cfg(feature = "dml-text")]
14183 #[serde(rename = "@altLang")]
14184 #[serde(default, skip_serializing_if = "Option::is_none")]
14185 pub alt_lang: Option<Language>,
14186 #[cfg(feature = "dml-text")]
14187 #[serde(rename = "@sz")]
14188 #[serde(default, skip_serializing_if = "Option::is_none")]
14189 pub sz: Option<STTextFontSize>,
14190 #[cfg(feature = "dml-text")]
14191 #[serde(rename = "@b")]
14192 #[serde(
14193 default,
14194 skip_serializing_if = "Option::is_none",
14195 with = "ooxml_xml::ooxml_bool"
14196 )]
14197 pub b: Option<bool>,
14198 #[cfg(feature = "dml-text")]
14199 #[serde(rename = "@i")]
14200 #[serde(
14201 default,
14202 skip_serializing_if = "Option::is_none",
14203 with = "ooxml_xml::ooxml_bool"
14204 )]
14205 pub i: Option<bool>,
14206 #[cfg(feature = "dml-text")]
14207 #[serde(rename = "@u")]
14208 #[serde(default, skip_serializing_if = "Option::is_none")]
14209 pub u: Option<STTextUnderlineType>,
14210 #[cfg(feature = "dml-text")]
14211 #[serde(rename = "@strike")]
14212 #[serde(default, skip_serializing_if = "Option::is_none")]
14213 pub strike: Option<STTextStrikeType>,
14214 #[cfg(feature = "dml-text")]
14215 #[serde(rename = "@kern")]
14216 #[serde(default, skip_serializing_if = "Option::is_none")]
14217 pub kern: Option<STTextNonNegativePoint>,
14218 #[cfg(feature = "dml-text")]
14219 #[serde(rename = "@cap")]
14220 #[serde(default, skip_serializing_if = "Option::is_none")]
14221 pub cap: Option<STTextCapsType>,
14222 #[cfg(feature = "dml-text")]
14223 #[serde(rename = "@spc")]
14224 #[serde(default, skip_serializing_if = "Option::is_none")]
14225 pub spc: Option<STTextPoint>,
14226 #[cfg(feature = "dml-text")]
14227 #[serde(rename = "@normalizeH")]
14228 #[serde(
14229 default,
14230 skip_serializing_if = "Option::is_none",
14231 with = "ooxml_xml::ooxml_bool"
14232 )]
14233 pub normalize_h: Option<bool>,
14234 #[cfg(feature = "dml-text")]
14235 #[serde(rename = "@baseline")]
14236 #[serde(default, skip_serializing_if = "Option::is_none")]
14237 pub baseline: Option<STPercentage>,
14238 #[cfg(feature = "dml-text")]
14239 #[serde(rename = "@noProof")]
14240 #[serde(
14241 default,
14242 skip_serializing_if = "Option::is_none",
14243 with = "ooxml_xml::ooxml_bool"
14244 )]
14245 pub no_proof: Option<bool>,
14246 #[cfg(feature = "dml-text")]
14247 #[serde(rename = "@dirty")]
14248 #[serde(
14249 default,
14250 skip_serializing_if = "Option::is_none",
14251 with = "ooxml_xml::ooxml_bool"
14252 )]
14253 pub dirty: Option<bool>,
14254 #[cfg(feature = "dml-text")]
14255 #[serde(rename = "@err")]
14256 #[serde(
14257 default,
14258 skip_serializing_if = "Option::is_none",
14259 with = "ooxml_xml::ooxml_bool"
14260 )]
14261 pub err: Option<bool>,
14262 #[cfg(feature = "dml-text")]
14263 #[serde(rename = "@smtClean")]
14264 #[serde(
14265 default,
14266 skip_serializing_if = "Option::is_none",
14267 with = "ooxml_xml::ooxml_bool"
14268 )]
14269 pub smt_clean: Option<bool>,
14270 #[cfg(feature = "dml-text")]
14271 #[serde(rename = "@smtId")]
14272 #[serde(default, skip_serializing_if = "Option::is_none")]
14273 pub smt_id: Option<u32>,
14274 #[cfg(feature = "dml-text")]
14275 #[serde(rename = "@bmk")]
14276 #[serde(default, skip_serializing_if = "Option::is_none")]
14277 pub bmk: Option<String>,
14278 #[cfg(feature = "dml-text")]
14279 #[serde(rename = "ln")]
14280 #[serde(default, skip_serializing_if = "Option::is_none")]
14281 pub line: Option<Box<LineProperties>>,
14282 #[serde(skip)]
14283 #[serde(default)]
14284 pub fill_properties: Option<Box<EGFillProperties>>,
14285 #[serde(skip)]
14286 #[serde(default)]
14287 pub effect_properties: Option<Box<EGEffectProperties>>,
14288 #[cfg(feature = "dml-text")]
14289 #[serde(rename = "highlight")]
14290 #[serde(default, skip_serializing_if = "Option::is_none")]
14291 pub highlight: Option<Box<CTColor>>,
14292 #[serde(skip)]
14293 #[serde(default)]
14294 pub text_underline_line: Option<Box<EGTextUnderlineLine>>,
14295 #[serde(skip)]
14296 #[serde(default)]
14297 pub text_underline_fill: Option<Box<EGTextUnderlineFill>>,
14298 #[cfg(feature = "dml-text")]
14299 #[serde(rename = "latin")]
14300 #[serde(default, skip_serializing_if = "Option::is_none")]
14301 pub latin: Option<Box<TextFont>>,
14302 #[cfg(feature = "dml-text")]
14303 #[serde(rename = "ea")]
14304 #[serde(default, skip_serializing_if = "Option::is_none")]
14305 pub ea: Option<Box<TextFont>>,
14306 #[cfg(feature = "dml-text")]
14307 #[serde(rename = "cs")]
14308 #[serde(default, skip_serializing_if = "Option::is_none")]
14309 pub cs: Option<Box<TextFont>>,
14310 #[cfg(feature = "dml-text")]
14311 #[serde(rename = "sym")]
14312 #[serde(default, skip_serializing_if = "Option::is_none")]
14313 pub sym: Option<Box<TextFont>>,
14314 #[cfg(feature = "dml-text")]
14315 #[serde(rename = "hlinkClick")]
14316 #[serde(default, skip_serializing_if = "Option::is_none")]
14317 pub hlink_click: Option<Box<CTHyperlink>>,
14318 #[cfg(feature = "dml-text")]
14319 #[serde(rename = "hlinkMouseOver")]
14320 #[serde(default, skip_serializing_if = "Option::is_none")]
14321 pub hlink_mouse_over: Option<Box<CTHyperlink>>,
14322 #[cfg(feature = "dml-text")]
14323 #[serde(rename = "rtl")]
14324 #[serde(default, skip_serializing_if = "Option::is_none")]
14325 pub rtl: Option<Box<CTBoolean>>,
14326 #[cfg(feature = "dml-extensions")]
14327 #[serde(rename = "extLst")]
14328 #[serde(default, skip_serializing_if = "Option::is_none")]
14329 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
14330 #[cfg(feature = "extra-attrs")]
14332 #[serde(skip)]
14333 #[cfg(feature = "extra-attrs")]
14334 #[serde(default)]
14335 #[cfg(feature = "extra-attrs")]
14336 pub extra_attrs: std::collections::HashMap<String, String>,
14337 #[cfg(feature = "extra-children")]
14339 #[serde(skip)]
14340 #[cfg(feature = "extra-children")]
14341 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14342}
14343
14344#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14345pub struct CTBoolean {
14346 #[serde(rename = "@val")]
14347 #[serde(default, skip_serializing_if = "Option::is_none")]
14348 pub value: Option<OnOff>,
14349 #[cfg(feature = "extra-attrs")]
14351 #[serde(skip)]
14352 #[cfg(feature = "extra-attrs")]
14353 #[serde(default)]
14354 #[cfg(feature = "extra-attrs")]
14355 pub extra_attrs: std::collections::HashMap<String, String>,
14356}
14357
14358#[derive(Debug, Clone, Serialize, Deserialize)]
14359pub struct CTTextSpacingPercent {
14360 #[serde(rename = "@val")]
14361 pub value: STTextSpacingPercentOrPercentString,
14362 #[cfg(feature = "extra-attrs")]
14364 #[serde(skip)]
14365 #[cfg(feature = "extra-attrs")]
14366 #[serde(default)]
14367 #[cfg(feature = "extra-attrs")]
14368 pub extra_attrs: std::collections::HashMap<String, String>,
14369}
14370
14371#[derive(Debug, Clone, Serialize, Deserialize)]
14372pub struct CTTextSpacingPoint {
14373 #[serde(rename = "@val")]
14374 pub value: STTextSpacingPoint,
14375 #[cfg(feature = "extra-attrs")]
14377 #[serde(skip)]
14378 #[cfg(feature = "extra-attrs")]
14379 #[serde(default)]
14380 #[cfg(feature = "extra-attrs")]
14381 pub extra_attrs: std::collections::HashMap<String, String>,
14382}
14383
14384#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14385pub struct CTTextTabStop {
14386 #[serde(rename = "@pos")]
14387 #[serde(default, skip_serializing_if = "Option::is_none")]
14388 pub pos: Option<STCoordinate32>,
14389 #[serde(rename = "@algn")]
14390 #[serde(default, skip_serializing_if = "Option::is_none")]
14391 pub algn: Option<STTextTabAlignType>,
14392 #[cfg(feature = "extra-attrs")]
14394 #[serde(skip)]
14395 #[cfg(feature = "extra-attrs")]
14396 #[serde(default)]
14397 #[cfg(feature = "extra-attrs")]
14398 pub extra_attrs: std::collections::HashMap<String, String>,
14399}
14400
14401#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14402pub struct CTTextTabStopList {
14403 #[serde(rename = "tab")]
14404 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14405 pub tab: Vec<CTTextTabStop>,
14406 #[cfg(feature = "extra-children")]
14408 #[serde(skip)]
14409 #[cfg(feature = "extra-children")]
14410 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14411}
14412
14413#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14414pub struct CTTextLineBreak {
14415 #[serde(rename = "rPr")]
14416 #[serde(default, skip_serializing_if = "Option::is_none")]
14417 pub r_pr: Option<Box<TextCharacterProperties>>,
14418 #[cfg(feature = "extra-children")]
14420 #[serde(skip)]
14421 #[cfg(feature = "extra-children")]
14422 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14423}
14424
14425#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14426pub struct CTTextSpacing {
14427 #[serde(rename = "spcPct")]
14428 #[serde(default, skip_serializing_if = "Option::is_none")]
14429 pub spc_pct: Option<Box<CTTextSpacingPercent>>,
14430 #[serde(rename = "spcPts")]
14431 #[serde(default, skip_serializing_if = "Option::is_none")]
14432 pub spc_pts: Option<Box<CTTextSpacingPoint>>,
14433 #[cfg(feature = "extra-children")]
14435 #[serde(skip)]
14436 #[cfg(feature = "extra-children")]
14437 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14438}
14439
14440#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14441pub struct TextParagraphProperties {
14442 #[cfg(feature = "dml-text")]
14443 #[serde(rename = "@marL")]
14444 #[serde(default, skip_serializing_if = "Option::is_none")]
14445 pub mar_l: Option<STTextMargin>,
14446 #[cfg(feature = "dml-text")]
14447 #[serde(rename = "@marR")]
14448 #[serde(default, skip_serializing_if = "Option::is_none")]
14449 pub mar_r: Option<STTextMargin>,
14450 #[cfg(feature = "dml-text")]
14451 #[serde(rename = "@lvl")]
14452 #[serde(default, skip_serializing_if = "Option::is_none")]
14453 pub lvl: Option<STTextIndentLevelType>,
14454 #[cfg(feature = "dml-text")]
14455 #[serde(rename = "@indent")]
14456 #[serde(default, skip_serializing_if = "Option::is_none")]
14457 pub indent: Option<STTextIndent>,
14458 #[cfg(feature = "dml-text")]
14459 #[serde(rename = "@algn")]
14460 #[serde(default, skip_serializing_if = "Option::is_none")]
14461 pub algn: Option<STTextAlignType>,
14462 #[cfg(feature = "dml-text")]
14463 #[serde(rename = "@defTabSz")]
14464 #[serde(default, skip_serializing_if = "Option::is_none")]
14465 pub def_tab_sz: Option<STCoordinate32>,
14466 #[cfg(feature = "dml-text")]
14467 #[serde(rename = "@rtl")]
14468 #[serde(
14469 default,
14470 skip_serializing_if = "Option::is_none",
14471 with = "ooxml_xml::ooxml_bool"
14472 )]
14473 pub rtl: Option<bool>,
14474 #[cfg(feature = "dml-text")]
14475 #[serde(rename = "@eaLnBrk")]
14476 #[serde(
14477 default,
14478 skip_serializing_if = "Option::is_none",
14479 with = "ooxml_xml::ooxml_bool"
14480 )]
14481 pub ea_ln_brk: Option<bool>,
14482 #[cfg(feature = "dml-text")]
14483 #[serde(rename = "@fontAlgn")]
14484 #[serde(default, skip_serializing_if = "Option::is_none")]
14485 pub font_algn: Option<STTextFontAlignType>,
14486 #[cfg(feature = "dml-text")]
14487 #[serde(rename = "@latinLnBrk")]
14488 #[serde(
14489 default,
14490 skip_serializing_if = "Option::is_none",
14491 with = "ooxml_xml::ooxml_bool"
14492 )]
14493 pub latin_ln_brk: Option<bool>,
14494 #[cfg(feature = "dml-text")]
14495 #[serde(rename = "@hangingPunct")]
14496 #[serde(
14497 default,
14498 skip_serializing_if = "Option::is_none",
14499 with = "ooxml_xml::ooxml_bool"
14500 )]
14501 pub hanging_punct: Option<bool>,
14502 #[cfg(feature = "dml-text")]
14503 #[serde(rename = "lnSpc")]
14504 #[serde(default, skip_serializing_if = "Option::is_none")]
14505 pub ln_spc: Option<Box<CTTextSpacing>>,
14506 #[cfg(feature = "dml-text")]
14507 #[serde(rename = "spcBef")]
14508 #[serde(default, skip_serializing_if = "Option::is_none")]
14509 pub spc_bef: Option<Box<CTTextSpacing>>,
14510 #[cfg(feature = "dml-text")]
14511 #[serde(rename = "spcAft")]
14512 #[serde(default, skip_serializing_if = "Option::is_none")]
14513 pub spc_aft: Option<Box<CTTextSpacing>>,
14514 #[serde(skip)]
14515 #[serde(default)]
14516 pub text_bullet_color: Option<Box<EGTextBulletColor>>,
14517 #[serde(skip)]
14518 #[serde(default)]
14519 pub text_bullet_size: Option<Box<EGTextBulletSize>>,
14520 #[serde(skip)]
14521 #[serde(default)]
14522 pub text_bullet_typeface: Option<Box<EGTextBulletTypeface>>,
14523 #[serde(skip)]
14524 #[serde(default)]
14525 pub text_bullet: Option<Box<EGTextBullet>>,
14526 #[cfg(feature = "dml-text")]
14527 #[serde(rename = "tabLst")]
14528 #[serde(default, skip_serializing_if = "Option::is_none")]
14529 pub tab_lst: Option<Box<CTTextTabStopList>>,
14530 #[cfg(feature = "dml-text")]
14531 #[serde(rename = "defRPr")]
14532 #[serde(default, skip_serializing_if = "Option::is_none")]
14533 pub def_r_pr: Option<Box<TextCharacterProperties>>,
14534 #[cfg(feature = "dml-extensions")]
14535 #[serde(rename = "extLst")]
14536 #[serde(default, skip_serializing_if = "Option::is_none")]
14537 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
14538 #[cfg(feature = "extra-attrs")]
14540 #[serde(skip)]
14541 #[cfg(feature = "extra-attrs")]
14542 #[serde(default)]
14543 #[cfg(feature = "extra-attrs")]
14544 pub extra_attrs: std::collections::HashMap<String, String>,
14545 #[cfg(feature = "extra-children")]
14547 #[serde(skip)]
14548 #[cfg(feature = "extra-children")]
14549 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14550}
14551
14552#[derive(Debug, Clone, Serialize, Deserialize)]
14553pub struct CTTextField {
14554 #[serde(rename = "@id")]
14555 pub id: Guid,
14556 #[serde(rename = "@type")]
14557 #[serde(default, skip_serializing_if = "Option::is_none")]
14558 pub r#type: Option<String>,
14559 #[serde(rename = "rPr")]
14560 #[serde(default, skip_serializing_if = "Option::is_none")]
14561 pub r_pr: Option<Box<TextCharacterProperties>>,
14562 #[serde(rename = "pPr")]
14563 #[serde(default, skip_serializing_if = "Option::is_none")]
14564 pub p_pr: Option<Box<TextParagraphProperties>>,
14565 #[serde(rename = "t")]
14566 #[serde(default, skip_serializing_if = "Option::is_none")]
14567 pub t: Option<String>,
14568 #[cfg(feature = "extra-attrs")]
14570 #[serde(skip)]
14571 #[cfg(feature = "extra-attrs")]
14572 #[serde(default)]
14573 #[cfg(feature = "extra-attrs")]
14574 pub extra_attrs: std::collections::HashMap<String, String>,
14575 #[cfg(feature = "extra-children")]
14577 #[serde(skip)]
14578 #[cfg(feature = "extra-children")]
14579 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14580}
14581
14582#[derive(Debug, Clone, Serialize, Deserialize)]
14583pub struct TextRun {
14584 #[cfg(feature = "dml-text")]
14585 #[serde(rename = "rPr")]
14586 #[serde(default, skip_serializing_if = "Option::is_none")]
14587 pub r_pr: Option<Box<TextCharacterProperties>>,
14588 #[cfg(feature = "dml-text")]
14589 #[serde(rename = "t")]
14590 pub t: String,
14591 #[cfg(feature = "extra-children")]
14593 #[serde(skip)]
14594 #[cfg(feature = "extra-children")]
14595 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14596}
14597
14598#[derive(Debug, Clone, Serialize, Deserialize)]
14599pub struct CTDouble {
14600 #[serde(rename = "@val")]
14601 pub value: f64,
14602 #[cfg(feature = "extra-attrs")]
14604 #[serde(skip)]
14605 #[cfg(feature = "extra-attrs")]
14606 #[serde(default)]
14607 #[cfg(feature = "extra-attrs")]
14608 pub extra_attrs: std::collections::HashMap<String, String>,
14609}
14610
14611#[derive(Debug, Clone, Serialize, Deserialize)]
14612pub struct CTUnsignedInt {
14613 #[serde(rename = "@val")]
14614 pub value: u32,
14615 #[cfg(feature = "extra-attrs")]
14617 #[serde(skip)]
14618 #[cfg(feature = "extra-attrs")]
14619 #[serde(default)]
14620 #[cfg(feature = "extra-attrs")]
14621 pub extra_attrs: std::collections::HashMap<String, String>,
14622}
14623
14624#[derive(Debug, Clone, Serialize, Deserialize)]
14625pub struct ChartRelId {
14626 #[cfg(feature = "dml-charts")]
14627 #[serde(rename = "@r:id")]
14628 pub id: STRelationshipId,
14629 #[cfg(feature = "extra-attrs")]
14631 #[serde(skip)]
14632 #[cfg(feature = "extra-attrs")]
14633 #[serde(default)]
14634 #[cfg(feature = "extra-attrs")]
14635 pub extra_attrs: std::collections::HashMap<String, String>,
14636}
14637
14638#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14639pub struct ChartExtension {
14640 #[cfg(feature = "dml-charts")]
14641 #[serde(rename = "@uri")]
14642 #[serde(default, skip_serializing_if = "Option::is_none")]
14643 pub uri: Option<String>,
14644 #[cfg(feature = "extra-attrs")]
14646 #[serde(skip)]
14647 #[cfg(feature = "extra-attrs")]
14648 #[serde(default)]
14649 #[cfg(feature = "extra-attrs")]
14650 pub extra_attrs: std::collections::HashMap<String, String>,
14651}
14652
14653pub type CTExtensionAny = String;
14654
14655#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14656pub struct ChartExtensionList {
14657 #[cfg(feature = "dml-charts")]
14658 #[serde(rename = "ext")]
14659 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14660 pub extents: Vec<ChartExtension>,
14661 #[cfg(feature = "extra-children")]
14663 #[serde(skip)]
14664 #[cfg(feature = "extra-children")]
14665 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14666}
14667
14668#[derive(Debug, Clone, Serialize, Deserialize)]
14669pub struct NumericValue {
14670 #[cfg(feature = "dml-charts")]
14671 #[serde(rename = "@idx")]
14672 pub idx: u32,
14673 #[cfg(feature = "dml-charts")]
14674 #[serde(rename = "@formatCode")]
14675 #[serde(default, skip_serializing_if = "Option::is_none")]
14676 pub format_code: Option<XmlString>,
14677 #[cfg(feature = "dml-charts")]
14678 #[serde(rename = "v")]
14679 pub v: XmlString,
14680 #[cfg(feature = "extra-attrs")]
14682 #[serde(skip)]
14683 #[cfg(feature = "extra-attrs")]
14684 #[serde(default)]
14685 #[cfg(feature = "extra-attrs")]
14686 pub extra_attrs: std::collections::HashMap<String, String>,
14687 #[cfg(feature = "extra-children")]
14689 #[serde(skip)]
14690 #[cfg(feature = "extra-children")]
14691 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14692}
14693
14694#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14695pub struct NumericData {
14696 #[cfg(feature = "dml-charts")]
14697 #[serde(rename = "formatCode")]
14698 #[serde(default, skip_serializing_if = "Option::is_none")]
14699 pub format_code: Option<XmlString>,
14700 #[cfg(feature = "dml-charts")]
14701 #[serde(rename = "ptCount")]
14702 #[serde(default, skip_serializing_if = "Option::is_none")]
14703 pub pt_count: Option<Box<CTUnsignedInt>>,
14704 #[cfg(feature = "dml-charts")]
14705 #[serde(rename = "pt")]
14706 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14707 pub pt: Vec<NumericValue>,
14708 #[cfg(feature = "dml-charts")]
14709 #[serde(rename = "extLst")]
14710 #[serde(default, skip_serializing_if = "Option::is_none")]
14711 pub ext_lst: Option<Box<ChartExtensionList>>,
14712 #[cfg(feature = "extra-children")]
14714 #[serde(skip)]
14715 #[cfg(feature = "extra-children")]
14716 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14717}
14718
14719#[derive(Debug, Clone, Serialize, Deserialize)]
14720pub struct NumericReference {
14721 #[cfg(feature = "dml-charts")]
14722 #[serde(rename = "f")]
14723 pub f: String,
14724 #[cfg(feature = "dml-charts")]
14725 #[serde(rename = "numCache")]
14726 #[serde(default, skip_serializing_if = "Option::is_none")]
14727 pub num_cache: Option<Box<NumericData>>,
14728 #[cfg(feature = "dml-charts")]
14729 #[serde(rename = "extLst")]
14730 #[serde(default, skip_serializing_if = "Option::is_none")]
14731 pub ext_lst: Option<Box<ChartExtensionList>>,
14732 #[cfg(feature = "extra-children")]
14734 #[serde(skip)]
14735 #[cfg(feature = "extra-children")]
14736 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14737}
14738
14739#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14740pub struct NumericDataSource {
14741 #[cfg(feature = "dml-charts")]
14742 #[serde(rename = "numRef")]
14743 #[serde(default, skip_serializing_if = "Option::is_none")]
14744 pub num_ref: Option<Box<NumericReference>>,
14745 #[cfg(feature = "dml-charts")]
14746 #[serde(rename = "numLit")]
14747 #[serde(default, skip_serializing_if = "Option::is_none")]
14748 pub num_lit: Option<Box<NumericData>>,
14749 #[cfg(feature = "extra-children")]
14751 #[serde(skip)]
14752 #[cfg(feature = "extra-children")]
14753 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14754}
14755
14756#[derive(Debug, Clone, Serialize, Deserialize)]
14757pub struct StringValue {
14758 #[cfg(feature = "dml-charts")]
14759 #[serde(rename = "@idx")]
14760 pub idx: u32,
14761 #[cfg(feature = "dml-charts")]
14762 #[serde(rename = "v")]
14763 pub v: XmlString,
14764 #[cfg(feature = "extra-attrs")]
14766 #[serde(skip)]
14767 #[cfg(feature = "extra-attrs")]
14768 #[serde(default)]
14769 #[cfg(feature = "extra-attrs")]
14770 pub extra_attrs: std::collections::HashMap<String, String>,
14771 #[cfg(feature = "extra-children")]
14773 #[serde(skip)]
14774 #[cfg(feature = "extra-children")]
14775 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14776}
14777
14778#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14779pub struct StringData {
14780 #[cfg(feature = "dml-charts")]
14781 #[serde(rename = "ptCount")]
14782 #[serde(default, skip_serializing_if = "Option::is_none")]
14783 pub pt_count: Option<Box<CTUnsignedInt>>,
14784 #[cfg(feature = "dml-charts")]
14785 #[serde(rename = "pt")]
14786 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14787 pub pt: Vec<StringValue>,
14788 #[cfg(feature = "dml-charts")]
14789 #[serde(rename = "extLst")]
14790 #[serde(default, skip_serializing_if = "Option::is_none")]
14791 pub ext_lst: Option<Box<ChartExtensionList>>,
14792 #[cfg(feature = "extra-children")]
14794 #[serde(skip)]
14795 #[cfg(feature = "extra-children")]
14796 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14797}
14798
14799#[derive(Debug, Clone, Serialize, Deserialize)]
14800pub struct StringReference {
14801 #[cfg(feature = "dml-charts")]
14802 #[serde(rename = "f")]
14803 pub f: String,
14804 #[cfg(feature = "dml-charts")]
14805 #[serde(rename = "strCache")]
14806 #[serde(default, skip_serializing_if = "Option::is_none")]
14807 pub str_cache: Option<Box<StringData>>,
14808 #[cfg(feature = "dml-charts")]
14809 #[serde(rename = "extLst")]
14810 #[serde(default, skip_serializing_if = "Option::is_none")]
14811 pub ext_lst: Option<Box<ChartExtensionList>>,
14812 #[cfg(feature = "extra-children")]
14814 #[serde(skip)]
14815 #[cfg(feature = "extra-children")]
14816 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14817}
14818
14819#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14820pub struct ChartText {
14821 #[cfg(feature = "dml-charts")]
14822 #[serde(rename = "strRef")]
14823 #[serde(default, skip_serializing_if = "Option::is_none")]
14824 pub str_ref: Option<Box<StringReference>>,
14825 #[cfg(feature = "dml-charts")]
14826 #[serde(rename = "rich")]
14827 #[serde(default, skip_serializing_if = "Option::is_none")]
14828 pub rich: Option<Box<TextBody>>,
14829 #[cfg(feature = "extra-children")]
14831 #[serde(skip)]
14832 #[cfg(feature = "extra-children")]
14833 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14834}
14835
14836#[derive(Debug, Clone, Serialize, Deserialize)]
14837pub struct TextLanguageId {
14838 #[cfg(feature = "dml-charts")]
14839 #[serde(rename = "@val")]
14840 pub value: Language,
14841 #[cfg(feature = "extra-attrs")]
14843 #[serde(skip)]
14844 #[cfg(feature = "extra-attrs")]
14845 #[serde(default)]
14846 #[cfg(feature = "extra-attrs")]
14847 pub extra_attrs: std::collections::HashMap<String, String>,
14848}
14849
14850#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14851pub struct MultiLevelStrLevel {
14852 #[cfg(feature = "dml-charts")]
14853 #[serde(rename = "pt")]
14854 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14855 pub pt: Vec<StringValue>,
14856 #[cfg(feature = "extra-children")]
14858 #[serde(skip)]
14859 #[cfg(feature = "extra-children")]
14860 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14861}
14862
14863#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14864pub struct MultiLevelStrData {
14865 #[cfg(feature = "dml-charts")]
14866 #[serde(rename = "ptCount")]
14867 #[serde(default, skip_serializing_if = "Option::is_none")]
14868 pub pt_count: Option<Box<CTUnsignedInt>>,
14869 #[cfg(feature = "dml-charts")]
14870 #[serde(rename = "lvl")]
14871 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14872 pub lvl: Vec<MultiLevelStrLevel>,
14873 #[cfg(feature = "dml-charts")]
14874 #[serde(rename = "extLst")]
14875 #[serde(default, skip_serializing_if = "Option::is_none")]
14876 pub ext_lst: Option<Box<ChartExtensionList>>,
14877 #[cfg(feature = "extra-children")]
14879 #[serde(skip)]
14880 #[cfg(feature = "extra-children")]
14881 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14882}
14883
14884#[derive(Debug, Clone, Serialize, Deserialize)]
14885pub struct MultiLevelStrRef {
14886 #[cfg(feature = "dml-charts")]
14887 #[serde(rename = "f")]
14888 pub f: String,
14889 #[cfg(feature = "dml-charts")]
14890 #[serde(rename = "multiLvlStrCache")]
14891 #[serde(default, skip_serializing_if = "Option::is_none")]
14892 pub multi_lvl_str_cache: Option<Box<MultiLevelStrData>>,
14893 #[cfg(feature = "dml-charts")]
14894 #[serde(rename = "extLst")]
14895 #[serde(default, skip_serializing_if = "Option::is_none")]
14896 pub ext_lst: Option<Box<ChartExtensionList>>,
14897 #[cfg(feature = "extra-children")]
14899 #[serde(skip)]
14900 #[cfg(feature = "extra-children")]
14901 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14902}
14903
14904#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14905pub struct AxisDataSource {
14906 #[cfg(feature = "dml-charts")]
14907 #[serde(rename = "multiLvlStrRef")]
14908 #[serde(default, skip_serializing_if = "Option::is_none")]
14909 pub multi_lvl_str_ref: Option<Box<MultiLevelStrRef>>,
14910 #[cfg(feature = "dml-charts")]
14911 #[serde(rename = "numRef")]
14912 #[serde(default, skip_serializing_if = "Option::is_none")]
14913 pub num_ref: Option<Box<NumericReference>>,
14914 #[cfg(feature = "dml-charts")]
14915 #[serde(rename = "numLit")]
14916 #[serde(default, skip_serializing_if = "Option::is_none")]
14917 pub num_lit: Option<Box<NumericData>>,
14918 #[cfg(feature = "dml-charts")]
14919 #[serde(rename = "strRef")]
14920 #[serde(default, skip_serializing_if = "Option::is_none")]
14921 pub str_ref: Option<Box<StringReference>>,
14922 #[cfg(feature = "dml-charts")]
14923 #[serde(rename = "strLit")]
14924 #[serde(default, skip_serializing_if = "Option::is_none")]
14925 pub str_lit: Option<Box<StringData>>,
14926 #[cfg(feature = "extra-children")]
14928 #[serde(skip)]
14929 #[cfg(feature = "extra-children")]
14930 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14931}
14932
14933#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14934pub struct SeriesText {
14935 #[cfg(feature = "dml-charts")]
14936 #[serde(rename = "strRef")]
14937 #[serde(default, skip_serializing_if = "Option::is_none")]
14938 pub str_ref: Option<Box<StringReference>>,
14939 #[cfg(feature = "dml-charts")]
14940 #[serde(rename = "v")]
14941 #[serde(default, skip_serializing_if = "Option::is_none")]
14942 pub v: Option<XmlString>,
14943 #[cfg(feature = "extra-children")]
14945 #[serde(skip)]
14946 #[cfg(feature = "extra-children")]
14947 pub extra_children: Vec<ooxml_xml::PositionedNode>,
14948}
14949
14950#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14951pub struct LayoutTarget {
14952 #[cfg(feature = "dml-charts")]
14953 #[serde(rename = "@val")]
14954 #[serde(default, skip_serializing_if = "Option::is_none")]
14955 pub value: Option<LayoutTargetType>,
14956 #[cfg(feature = "extra-attrs")]
14958 #[serde(skip)]
14959 #[cfg(feature = "extra-attrs")]
14960 #[serde(default)]
14961 #[cfg(feature = "extra-attrs")]
14962 pub extra_attrs: std::collections::HashMap<String, String>,
14963}
14964
14965#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14966pub struct LayoutMode {
14967 #[cfg(feature = "dml-charts")]
14968 #[serde(rename = "@val")]
14969 #[serde(default, skip_serializing_if = "Option::is_none")]
14970 pub value: Option<LayoutModeType>,
14971 #[cfg(feature = "extra-attrs")]
14973 #[serde(skip)]
14974 #[cfg(feature = "extra-attrs")]
14975 #[serde(default)]
14976 #[cfg(feature = "extra-attrs")]
14977 pub extra_attrs: std::collections::HashMap<String, String>,
14978}
14979
14980#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14981pub struct ManualLayout {
14982 #[cfg(feature = "dml-charts")]
14983 #[serde(rename = "layoutTarget")]
14984 #[serde(default, skip_serializing_if = "Option::is_none")]
14985 pub layout_target: Option<Box<LayoutTarget>>,
14986 #[cfg(feature = "dml-charts")]
14987 #[serde(rename = "xMode")]
14988 #[serde(default, skip_serializing_if = "Option::is_none")]
14989 pub x_mode: Option<Box<LayoutMode>>,
14990 #[cfg(feature = "dml-charts")]
14991 #[serde(rename = "yMode")]
14992 #[serde(default, skip_serializing_if = "Option::is_none")]
14993 pub y_mode: Option<Box<LayoutMode>>,
14994 #[cfg(feature = "dml-charts")]
14995 #[serde(rename = "wMode")]
14996 #[serde(default, skip_serializing_if = "Option::is_none")]
14997 pub w_mode: Option<Box<LayoutMode>>,
14998 #[cfg(feature = "dml-charts")]
14999 #[serde(rename = "hMode")]
15000 #[serde(default, skip_serializing_if = "Option::is_none")]
15001 pub h_mode: Option<Box<LayoutMode>>,
15002 #[cfg(feature = "dml-charts")]
15003 #[serde(rename = "x")]
15004 #[serde(default, skip_serializing_if = "Option::is_none")]
15005 pub x: Option<Box<CTDouble>>,
15006 #[cfg(feature = "dml-charts")]
15007 #[serde(rename = "y")]
15008 #[serde(default, skip_serializing_if = "Option::is_none")]
15009 pub y: Option<Box<CTDouble>>,
15010 #[cfg(feature = "dml-charts")]
15011 #[serde(rename = "w")]
15012 #[serde(default, skip_serializing_if = "Option::is_none")]
15013 pub width: Option<Box<CTDouble>>,
15014 #[cfg(feature = "dml-charts")]
15015 #[serde(rename = "h")]
15016 #[serde(default, skip_serializing_if = "Option::is_none")]
15017 pub height: Option<Box<CTDouble>>,
15018 #[cfg(feature = "dml-charts")]
15019 #[serde(rename = "extLst")]
15020 #[serde(default, skip_serializing_if = "Option::is_none")]
15021 pub ext_lst: Option<Box<ChartExtensionList>>,
15022 #[cfg(feature = "extra-children")]
15024 #[serde(skip)]
15025 #[cfg(feature = "extra-children")]
15026 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15027}
15028
15029#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15030pub struct ChartLayout {
15031 #[cfg(feature = "dml-charts")]
15032 #[serde(rename = "manualLayout")]
15033 #[serde(default, skip_serializing_if = "Option::is_none")]
15034 pub manual_layout: Option<Box<ManualLayout>>,
15035 #[cfg(feature = "dml-charts")]
15036 #[serde(rename = "extLst")]
15037 #[serde(default, skip_serializing_if = "Option::is_none")]
15038 pub ext_lst: Option<Box<ChartExtensionList>>,
15039 #[cfg(feature = "extra-children")]
15041 #[serde(skip)]
15042 #[cfg(feature = "extra-children")]
15043 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15044}
15045
15046#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15047pub struct ChartTitle {
15048 #[cfg(feature = "dml-charts")]
15049 #[serde(rename = "tx")]
15050 #[serde(default, skip_serializing_if = "Option::is_none")]
15051 pub tx: Option<Box<ChartText>>,
15052 #[cfg(feature = "dml-charts")]
15053 #[serde(rename = "layout")]
15054 #[serde(default, skip_serializing_if = "Option::is_none")]
15055 pub layout: Option<Box<ChartLayout>>,
15056 #[cfg(feature = "dml-charts")]
15057 #[serde(rename = "overlay")]
15058 #[serde(default, skip_serializing_if = "Option::is_none")]
15059 pub overlay: Option<Box<CTBoolean>>,
15060 #[cfg(feature = "dml-charts")]
15061 #[serde(rename = "spPr")]
15062 #[serde(default, skip_serializing_if = "Option::is_none")]
15063 pub sp_pr: Option<Box<CTShapeProperties>>,
15064 #[cfg(feature = "dml-charts")]
15065 #[serde(rename = "txPr")]
15066 #[serde(default, skip_serializing_if = "Option::is_none")]
15067 pub tx_pr: Option<Box<TextBody>>,
15068 #[cfg(feature = "dml-charts")]
15069 #[serde(rename = "extLst")]
15070 #[serde(default, skip_serializing_if = "Option::is_none")]
15071 pub ext_lst: Option<Box<ChartExtensionList>>,
15072 #[cfg(feature = "extra-children")]
15074 #[serde(skip)]
15075 #[cfg(feature = "extra-children")]
15076 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15077}
15078
15079#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15080pub struct RotX {
15081 #[cfg(feature = "dml-charts")]
15082 #[serde(rename = "@val")]
15083 #[serde(default, skip_serializing_if = "Option::is_none")]
15084 pub value: Option<RotXValue>,
15085 #[cfg(feature = "extra-attrs")]
15087 #[serde(skip)]
15088 #[cfg(feature = "extra-attrs")]
15089 #[serde(default)]
15090 #[cfg(feature = "extra-attrs")]
15091 pub extra_attrs: std::collections::HashMap<String, String>,
15092}
15093
15094#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15095pub struct HPercent {
15096 #[cfg(feature = "dml-charts")]
15097 #[serde(rename = "@val")]
15098 #[serde(default, skip_serializing_if = "Option::is_none")]
15099 pub value: Option<HPercentValue>,
15100 #[cfg(feature = "extra-attrs")]
15102 #[serde(skip)]
15103 #[cfg(feature = "extra-attrs")]
15104 #[serde(default)]
15105 #[cfg(feature = "extra-attrs")]
15106 pub extra_attrs: std::collections::HashMap<String, String>,
15107}
15108
15109#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15110pub struct RotY {
15111 #[cfg(feature = "dml-charts")]
15112 #[serde(rename = "@val")]
15113 #[serde(default, skip_serializing_if = "Option::is_none")]
15114 pub value: Option<RotYValue>,
15115 #[cfg(feature = "extra-attrs")]
15117 #[serde(skip)]
15118 #[cfg(feature = "extra-attrs")]
15119 #[serde(default)]
15120 #[cfg(feature = "extra-attrs")]
15121 pub extra_attrs: std::collections::HashMap<String, String>,
15122}
15123
15124#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15125pub struct DepthPercent {
15126 #[cfg(feature = "dml-charts")]
15127 #[serde(rename = "@val")]
15128 #[serde(default, skip_serializing_if = "Option::is_none")]
15129 pub value: Option<DepthPercentValue>,
15130 #[cfg(feature = "extra-attrs")]
15132 #[serde(skip)]
15133 #[cfg(feature = "extra-attrs")]
15134 #[serde(default)]
15135 #[cfg(feature = "extra-attrs")]
15136 pub extra_attrs: std::collections::HashMap<String, String>,
15137}
15138
15139#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15140pub struct Perspective {
15141 #[cfg(feature = "dml-charts")]
15142 #[serde(rename = "@val")]
15143 #[serde(default, skip_serializing_if = "Option::is_none")]
15144 pub value: Option<PerspectiveValue>,
15145 #[cfg(feature = "extra-attrs")]
15147 #[serde(skip)]
15148 #[cfg(feature = "extra-attrs")]
15149 #[serde(default)]
15150 #[cfg(feature = "extra-attrs")]
15151 pub extra_attrs: std::collections::HashMap<String, String>,
15152}
15153
15154#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15155pub struct View3D {
15156 #[cfg(feature = "dml-charts")]
15157 #[serde(rename = "rotX")]
15158 #[serde(default, skip_serializing_if = "Option::is_none")]
15159 pub rot_x: Option<Box<RotX>>,
15160 #[cfg(feature = "dml-charts")]
15161 #[serde(rename = "hPercent")]
15162 #[serde(default, skip_serializing_if = "Option::is_none")]
15163 pub h_percent: Option<Box<HPercent>>,
15164 #[cfg(feature = "dml-charts")]
15165 #[serde(rename = "rotY")]
15166 #[serde(default, skip_serializing_if = "Option::is_none")]
15167 pub rot_y: Option<Box<RotY>>,
15168 #[cfg(feature = "dml-charts")]
15169 #[serde(rename = "depthPercent")]
15170 #[serde(default, skip_serializing_if = "Option::is_none")]
15171 pub depth_percent: Option<Box<DepthPercent>>,
15172 #[cfg(feature = "dml-charts")]
15173 #[serde(rename = "rAngAx")]
15174 #[serde(default, skip_serializing_if = "Option::is_none")]
15175 pub r_ang_ax: Option<Box<CTBoolean>>,
15176 #[cfg(feature = "dml-charts")]
15177 #[serde(rename = "perspective")]
15178 #[serde(default, skip_serializing_if = "Option::is_none")]
15179 pub perspective: Option<Box<Perspective>>,
15180 #[cfg(feature = "dml-charts")]
15181 #[serde(rename = "extLst")]
15182 #[serde(default, skip_serializing_if = "Option::is_none")]
15183 pub ext_lst: Option<Box<ChartExtensionList>>,
15184 #[cfg(feature = "extra-children")]
15186 #[serde(skip)]
15187 #[cfg(feature = "extra-children")]
15188 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15189}
15190
15191#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15192pub struct ChartSurface {
15193 #[cfg(feature = "dml-charts")]
15194 #[serde(rename = "thickness")]
15195 #[serde(default, skip_serializing_if = "Option::is_none")]
15196 pub thickness: Option<Box<ChartThickness>>,
15197 #[cfg(feature = "dml-charts")]
15198 #[serde(rename = "spPr")]
15199 #[serde(default, skip_serializing_if = "Option::is_none")]
15200 pub sp_pr: Option<Box<CTShapeProperties>>,
15201 #[cfg(feature = "dml-charts")]
15202 #[serde(rename = "pictureOptions")]
15203 #[serde(default, skip_serializing_if = "Option::is_none")]
15204 pub picture_options: Option<Box<PictureOptions>>,
15205 #[cfg(feature = "dml-charts")]
15206 #[serde(rename = "extLst")]
15207 #[serde(default, skip_serializing_if = "Option::is_none")]
15208 pub ext_lst: Option<Box<ChartExtensionList>>,
15209 #[cfg(feature = "extra-children")]
15211 #[serde(skip)]
15212 #[cfg(feature = "extra-children")]
15213 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15214}
15215
15216#[derive(Debug, Clone, Serialize, Deserialize)]
15217pub struct ChartThickness {
15218 #[cfg(feature = "dml-charts")]
15219 #[serde(rename = "@val")]
15220 pub value: ChartThicknessValue,
15221 #[cfg(feature = "extra-attrs")]
15223 #[serde(skip)]
15224 #[cfg(feature = "extra-attrs")]
15225 #[serde(default)]
15226 #[cfg(feature = "extra-attrs")]
15227 pub extra_attrs: std::collections::HashMap<String, String>,
15228}
15229
15230#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15231pub struct DataTable {
15232 #[cfg(feature = "dml-charts")]
15233 #[serde(rename = "showHorzBorder")]
15234 #[serde(default, skip_serializing_if = "Option::is_none")]
15235 pub show_horz_border: Option<Box<CTBoolean>>,
15236 #[cfg(feature = "dml-charts")]
15237 #[serde(rename = "showVertBorder")]
15238 #[serde(default, skip_serializing_if = "Option::is_none")]
15239 pub show_vert_border: Option<Box<CTBoolean>>,
15240 #[cfg(feature = "dml-charts")]
15241 #[serde(rename = "showOutline")]
15242 #[serde(default, skip_serializing_if = "Option::is_none")]
15243 pub show_outline: Option<Box<CTBoolean>>,
15244 #[cfg(feature = "dml-charts")]
15245 #[serde(rename = "showKeys")]
15246 #[serde(default, skip_serializing_if = "Option::is_none")]
15247 pub show_keys: Option<Box<CTBoolean>>,
15248 #[cfg(feature = "dml-charts")]
15249 #[serde(rename = "spPr")]
15250 #[serde(default, skip_serializing_if = "Option::is_none")]
15251 pub sp_pr: Option<Box<CTShapeProperties>>,
15252 #[cfg(feature = "dml-charts")]
15253 #[serde(rename = "txPr")]
15254 #[serde(default, skip_serializing_if = "Option::is_none")]
15255 pub tx_pr: Option<Box<TextBody>>,
15256 #[cfg(feature = "dml-charts")]
15257 #[serde(rename = "extLst")]
15258 #[serde(default, skip_serializing_if = "Option::is_none")]
15259 pub ext_lst: Option<Box<ChartExtensionList>>,
15260 #[cfg(feature = "extra-children")]
15262 #[serde(skip)]
15263 #[cfg(feature = "extra-children")]
15264 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15265}
15266
15267#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15268pub struct GapAmount {
15269 #[cfg(feature = "dml-charts")]
15270 #[serde(rename = "@val")]
15271 #[serde(default, skip_serializing_if = "Option::is_none")]
15272 pub value: Option<GapAmountValue>,
15273 #[cfg(feature = "extra-attrs")]
15275 #[serde(skip)]
15276 #[cfg(feature = "extra-attrs")]
15277 #[serde(default)]
15278 #[cfg(feature = "extra-attrs")]
15279 pub extra_attrs: std::collections::HashMap<String, String>,
15280}
15281
15282#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15283pub struct OverlapAmount {
15284 #[cfg(feature = "dml-charts")]
15285 #[serde(rename = "@val")]
15286 #[serde(default, skip_serializing_if = "Option::is_none")]
15287 pub value: Option<OverlapValue>,
15288 #[cfg(feature = "extra-attrs")]
15290 #[serde(skip)]
15291 #[cfg(feature = "extra-attrs")]
15292 #[serde(default)]
15293 #[cfg(feature = "extra-attrs")]
15294 pub extra_attrs: std::collections::HashMap<String, String>,
15295}
15296
15297#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15298pub struct BubbleScale {
15299 #[cfg(feature = "dml-charts")]
15300 #[serde(rename = "@val")]
15301 #[serde(default, skip_serializing_if = "Option::is_none")]
15302 pub value: Option<BubbleScaleValue>,
15303 #[cfg(feature = "extra-attrs")]
15305 #[serde(skip)]
15306 #[cfg(feature = "extra-attrs")]
15307 #[serde(default)]
15308 #[cfg(feature = "extra-attrs")]
15309 pub extra_attrs: std::collections::HashMap<String, String>,
15310}
15311
15312#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15313pub struct SizeRepresents {
15314 #[cfg(feature = "dml-charts")]
15315 #[serde(rename = "@val")]
15316 #[serde(default, skip_serializing_if = "Option::is_none")]
15317 pub value: Option<SizeRepresentsType>,
15318 #[cfg(feature = "extra-attrs")]
15320 #[serde(skip)]
15321 #[cfg(feature = "extra-attrs")]
15322 #[serde(default)]
15323 #[cfg(feature = "extra-attrs")]
15324 pub extra_attrs: std::collections::HashMap<String, String>,
15325}
15326
15327#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15328pub struct FirstSliceAngle {
15329 #[cfg(feature = "dml-charts")]
15330 #[serde(rename = "@val")]
15331 #[serde(default, skip_serializing_if = "Option::is_none")]
15332 pub value: Option<FirstSliceAngValue>,
15333 #[cfg(feature = "extra-attrs")]
15335 #[serde(skip)]
15336 #[cfg(feature = "extra-attrs")]
15337 #[serde(default)]
15338 #[cfg(feature = "extra-attrs")]
15339 pub extra_attrs: std::collections::HashMap<String, String>,
15340}
15341
15342#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15343pub struct HoleSize {
15344 #[cfg(feature = "dml-charts")]
15345 #[serde(rename = "@val")]
15346 #[serde(default, skip_serializing_if = "Option::is_none")]
15347 pub value: Option<HoleSizeValue>,
15348 #[cfg(feature = "extra-attrs")]
15350 #[serde(skip)]
15351 #[cfg(feature = "extra-attrs")]
15352 #[serde(default)]
15353 #[cfg(feature = "extra-attrs")]
15354 pub extra_attrs: std::collections::HashMap<String, String>,
15355}
15356
15357#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15358pub struct SplitType {
15359 #[cfg(feature = "dml-charts")]
15360 #[serde(rename = "@val")]
15361 #[serde(default, skip_serializing_if = "Option::is_none")]
15362 pub value: Option<SplitTypeValue>,
15363 #[cfg(feature = "extra-attrs")]
15365 #[serde(skip)]
15366 #[cfg(feature = "extra-attrs")]
15367 #[serde(default)]
15368 #[cfg(feature = "extra-attrs")]
15369 pub extra_attrs: std::collections::HashMap<String, String>,
15370}
15371
15372#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15373pub struct CustomSplit {
15374 #[cfg(feature = "dml-charts")]
15375 #[serde(rename = "secondPiePt")]
15376 #[serde(default, skip_serializing_if = "Vec::is_empty")]
15377 pub second_pie_pt: Vec<CTUnsignedInt>,
15378 #[cfg(feature = "extra-children")]
15380 #[serde(skip)]
15381 #[cfg(feature = "extra-children")]
15382 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15383}
15384
15385#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15386pub struct SecondPieSize {
15387 #[cfg(feature = "dml-charts")]
15388 #[serde(rename = "@val")]
15389 #[serde(default, skip_serializing_if = "Option::is_none")]
15390 pub value: Option<SecondPieSizeValue>,
15391 #[cfg(feature = "extra-attrs")]
15393 #[serde(skip)]
15394 #[cfg(feature = "extra-attrs")]
15395 #[serde(default)]
15396 #[cfg(feature = "extra-attrs")]
15397 pub extra_attrs: std::collections::HashMap<String, String>,
15398}
15399
15400#[derive(Debug, Clone, Serialize, Deserialize)]
15401pub struct ChartNumFmt {
15402 #[cfg(feature = "dml-charts")]
15403 #[serde(rename = "@formatCode")]
15404 pub format_code: XmlString,
15405 #[cfg(feature = "dml-charts")]
15406 #[serde(rename = "@sourceLinked")]
15407 #[serde(
15408 default,
15409 skip_serializing_if = "Option::is_none",
15410 with = "ooxml_xml::ooxml_bool"
15411 )]
15412 pub source_linked: Option<bool>,
15413 #[cfg(feature = "extra-attrs")]
15415 #[serde(skip)]
15416 #[cfg(feature = "extra-attrs")]
15417 #[serde(default)]
15418 #[cfg(feature = "extra-attrs")]
15419 pub extra_attrs: std::collections::HashMap<String, String>,
15420}
15421
15422#[derive(Debug, Clone, Serialize, Deserialize)]
15423pub struct LabelAlignment {
15424 #[cfg(feature = "dml-charts")]
15425 #[serde(rename = "@val")]
15426 pub value: LabelAlignType,
15427 #[cfg(feature = "extra-attrs")]
15429 #[serde(skip)]
15430 #[cfg(feature = "extra-attrs")]
15431 #[serde(default)]
15432 #[cfg(feature = "extra-attrs")]
15433 pub extra_attrs: std::collections::HashMap<String, String>,
15434}
15435
15436#[derive(Debug, Clone, Serialize, Deserialize)]
15437pub struct DataLabelPosition {
15438 #[cfg(feature = "dml-charts")]
15439 #[serde(rename = "@val")]
15440 pub value: DataLabelPositionType,
15441 #[cfg(feature = "extra-attrs")]
15443 #[serde(skip)]
15444 #[cfg(feature = "extra-attrs")]
15445 #[serde(default)]
15446 #[cfg(feature = "extra-attrs")]
15447 pub extra_attrs: std::collections::HashMap<String, String>,
15448}
15449
15450#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15451pub struct EGDLblShared {
15452 #[serde(rename = "numFmt")]
15453 #[serde(default, skip_serializing_if = "Option::is_none")]
15454 pub num_fmt: Option<Box<ChartNumFmt>>,
15455 #[serde(rename = "spPr")]
15456 #[serde(default, skip_serializing_if = "Option::is_none")]
15457 pub sp_pr: Option<Box<CTShapeProperties>>,
15458 #[serde(rename = "txPr")]
15459 #[serde(default, skip_serializing_if = "Option::is_none")]
15460 pub tx_pr: Option<Box<TextBody>>,
15461 #[serde(rename = "dLblPos")]
15462 #[serde(default, skip_serializing_if = "Option::is_none")]
15463 pub d_lbl_pos: Option<Box<DataLabelPosition>>,
15464 #[serde(rename = "showLegendKey")]
15465 #[serde(default, skip_serializing_if = "Option::is_none")]
15466 pub show_legend_key: Option<Box<CTBoolean>>,
15467 #[serde(rename = "showVal")]
15468 #[serde(default, skip_serializing_if = "Option::is_none")]
15469 pub show_val: Option<Box<CTBoolean>>,
15470 #[serde(rename = "showCatName")]
15471 #[serde(default, skip_serializing_if = "Option::is_none")]
15472 pub show_cat_name: Option<Box<CTBoolean>>,
15473 #[serde(rename = "showSerName")]
15474 #[serde(default, skip_serializing_if = "Option::is_none")]
15475 pub show_ser_name: Option<Box<CTBoolean>>,
15476 #[serde(rename = "showPercent")]
15477 #[serde(default, skip_serializing_if = "Option::is_none")]
15478 pub show_percent: Option<Box<CTBoolean>>,
15479 #[serde(rename = "showBubbleSize")]
15480 #[serde(default, skip_serializing_if = "Option::is_none")]
15481 pub show_bubble_size: Option<Box<CTBoolean>>,
15482 #[serde(rename = "separator")]
15483 #[serde(default, skip_serializing_if = "Option::is_none")]
15484 pub separator: Option<String>,
15485 #[cfg(feature = "extra-children")]
15487 #[serde(skip)]
15488 #[cfg(feature = "extra-children")]
15489 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15490}
15491
15492#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15493pub struct DchrtGroupDLbl {
15494 #[serde(rename = "layout")]
15495 #[serde(default, skip_serializing_if = "Option::is_none")]
15496 pub layout: Option<Box<ChartLayout>>,
15497 #[serde(rename = "tx")]
15498 #[serde(default, skip_serializing_if = "Option::is_none")]
15499 pub tx: Option<Box<ChartText>>,
15500 #[serde(rename = "numFmt")]
15501 #[serde(default, skip_serializing_if = "Option::is_none")]
15502 pub num_fmt: Option<Box<ChartNumFmt>>,
15503 #[serde(rename = "spPr")]
15504 #[serde(default, skip_serializing_if = "Option::is_none")]
15505 pub sp_pr: Option<Box<CTShapeProperties>>,
15506 #[serde(rename = "txPr")]
15507 #[serde(default, skip_serializing_if = "Option::is_none")]
15508 pub tx_pr: Option<Box<TextBody>>,
15509 #[serde(rename = "dLblPos")]
15510 #[serde(default, skip_serializing_if = "Option::is_none")]
15511 pub d_lbl_pos: Option<Box<DataLabelPosition>>,
15512 #[serde(rename = "showLegendKey")]
15513 #[serde(default, skip_serializing_if = "Option::is_none")]
15514 pub show_legend_key: Option<Box<CTBoolean>>,
15515 #[serde(rename = "showVal")]
15516 #[serde(default, skip_serializing_if = "Option::is_none")]
15517 pub show_val: Option<Box<CTBoolean>>,
15518 #[serde(rename = "showCatName")]
15519 #[serde(default, skip_serializing_if = "Option::is_none")]
15520 pub show_cat_name: Option<Box<CTBoolean>>,
15521 #[serde(rename = "showSerName")]
15522 #[serde(default, skip_serializing_if = "Option::is_none")]
15523 pub show_ser_name: Option<Box<CTBoolean>>,
15524 #[serde(rename = "showPercent")]
15525 #[serde(default, skip_serializing_if = "Option::is_none")]
15526 pub show_percent: Option<Box<CTBoolean>>,
15527 #[serde(rename = "showBubbleSize")]
15528 #[serde(default, skip_serializing_if = "Option::is_none")]
15529 pub show_bubble_size: Option<Box<CTBoolean>>,
15530 #[serde(rename = "separator")]
15531 #[serde(default, skip_serializing_if = "Option::is_none")]
15532 pub separator: Option<String>,
15533 #[cfg(feature = "extra-children")]
15535 #[serde(skip)]
15536 #[cfg(feature = "extra-children")]
15537 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15538}
15539
15540#[derive(Debug, Clone, Serialize, Deserialize)]
15541pub struct DataLabel {
15542 #[cfg(feature = "dml-charts")]
15543 #[serde(rename = "idx")]
15544 pub idx: Box<CTUnsignedInt>,
15545 #[cfg(feature = "dml-charts")]
15546 #[serde(rename = "delete")]
15547 #[serde(default, skip_serializing_if = "Option::is_none")]
15548 pub delete: Option<Box<CTBoolean>>,
15549 #[cfg(feature = "dml-charts")]
15550 #[serde(rename = "layout")]
15551 #[serde(default, skip_serializing_if = "Option::is_none")]
15552 pub layout: Option<Box<ChartLayout>>,
15553 #[cfg(feature = "dml-charts")]
15554 #[serde(rename = "tx")]
15555 #[serde(default, skip_serializing_if = "Option::is_none")]
15556 pub tx: Option<Box<ChartText>>,
15557 #[cfg(feature = "dml-charts")]
15558 #[serde(rename = "numFmt")]
15559 #[serde(default, skip_serializing_if = "Option::is_none")]
15560 pub num_fmt: Option<Box<ChartNumFmt>>,
15561 #[cfg(feature = "dml-charts")]
15562 #[serde(rename = "spPr")]
15563 #[serde(default, skip_serializing_if = "Option::is_none")]
15564 pub sp_pr: Option<Box<CTShapeProperties>>,
15565 #[cfg(feature = "dml-charts")]
15566 #[serde(rename = "txPr")]
15567 #[serde(default, skip_serializing_if = "Option::is_none")]
15568 pub tx_pr: Option<Box<TextBody>>,
15569 #[cfg(feature = "dml-charts")]
15570 #[serde(rename = "dLblPos")]
15571 #[serde(default, skip_serializing_if = "Option::is_none")]
15572 pub d_lbl_pos: Option<Box<DataLabelPosition>>,
15573 #[cfg(feature = "dml-charts")]
15574 #[serde(rename = "showLegendKey")]
15575 #[serde(default, skip_serializing_if = "Option::is_none")]
15576 pub show_legend_key: Option<Box<CTBoolean>>,
15577 #[cfg(feature = "dml-charts")]
15578 #[serde(rename = "showVal")]
15579 #[serde(default, skip_serializing_if = "Option::is_none")]
15580 pub show_val: Option<Box<CTBoolean>>,
15581 #[cfg(feature = "dml-charts")]
15582 #[serde(rename = "showCatName")]
15583 #[serde(default, skip_serializing_if = "Option::is_none")]
15584 pub show_cat_name: Option<Box<CTBoolean>>,
15585 #[cfg(feature = "dml-charts")]
15586 #[serde(rename = "showSerName")]
15587 #[serde(default, skip_serializing_if = "Option::is_none")]
15588 pub show_ser_name: Option<Box<CTBoolean>>,
15589 #[cfg(feature = "dml-charts")]
15590 #[serde(rename = "showPercent")]
15591 #[serde(default, skip_serializing_if = "Option::is_none")]
15592 pub show_percent: Option<Box<CTBoolean>>,
15593 #[cfg(feature = "dml-charts")]
15594 #[serde(rename = "showBubbleSize")]
15595 #[serde(default, skip_serializing_if = "Option::is_none")]
15596 pub show_bubble_size: Option<Box<CTBoolean>>,
15597 #[cfg(feature = "dml-charts")]
15598 #[serde(rename = "separator")]
15599 #[serde(default, skip_serializing_if = "Option::is_none")]
15600 pub separator: Option<String>,
15601 #[cfg(feature = "dml-charts")]
15602 #[serde(rename = "extLst")]
15603 #[serde(default, skip_serializing_if = "Option::is_none")]
15604 pub ext_lst: Option<Box<ChartExtensionList>>,
15605 #[cfg(feature = "extra-children")]
15607 #[serde(skip)]
15608 #[cfg(feature = "extra-children")]
15609 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15610}
15611
15612#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15613pub struct DchrtGroupDLbls {
15614 #[serde(rename = "numFmt")]
15615 #[serde(default, skip_serializing_if = "Option::is_none")]
15616 pub num_fmt: Option<Box<ChartNumFmt>>,
15617 #[serde(rename = "spPr")]
15618 #[serde(default, skip_serializing_if = "Option::is_none")]
15619 pub sp_pr: Option<Box<CTShapeProperties>>,
15620 #[serde(rename = "txPr")]
15621 #[serde(default, skip_serializing_if = "Option::is_none")]
15622 pub tx_pr: Option<Box<TextBody>>,
15623 #[serde(rename = "dLblPos")]
15624 #[serde(default, skip_serializing_if = "Option::is_none")]
15625 pub d_lbl_pos: Option<Box<DataLabelPosition>>,
15626 #[serde(rename = "showLegendKey")]
15627 #[serde(default, skip_serializing_if = "Option::is_none")]
15628 pub show_legend_key: Option<Box<CTBoolean>>,
15629 #[serde(rename = "showVal")]
15630 #[serde(default, skip_serializing_if = "Option::is_none")]
15631 pub show_val: Option<Box<CTBoolean>>,
15632 #[serde(rename = "showCatName")]
15633 #[serde(default, skip_serializing_if = "Option::is_none")]
15634 pub show_cat_name: Option<Box<CTBoolean>>,
15635 #[serde(rename = "showSerName")]
15636 #[serde(default, skip_serializing_if = "Option::is_none")]
15637 pub show_ser_name: Option<Box<CTBoolean>>,
15638 #[serde(rename = "showPercent")]
15639 #[serde(default, skip_serializing_if = "Option::is_none")]
15640 pub show_percent: Option<Box<CTBoolean>>,
15641 #[serde(rename = "showBubbleSize")]
15642 #[serde(default, skip_serializing_if = "Option::is_none")]
15643 pub show_bubble_size: Option<Box<CTBoolean>>,
15644 #[serde(rename = "separator")]
15645 #[serde(default, skip_serializing_if = "Option::is_none")]
15646 pub separator: Option<String>,
15647 #[serde(rename = "showLeaderLines")]
15648 #[serde(default, skip_serializing_if = "Option::is_none")]
15649 pub show_leader_lines: Option<Box<CTBoolean>>,
15650 #[serde(rename = "leaderLines")]
15651 #[serde(default, skip_serializing_if = "Option::is_none")]
15652 pub leader_lines: Option<Box<ChartLines>>,
15653 #[cfg(feature = "extra-children")]
15655 #[serde(skip)]
15656 #[cfg(feature = "extra-children")]
15657 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15658}
15659
15660#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15661pub struct DataLabels {
15662 #[cfg(feature = "dml-charts")]
15663 #[serde(rename = "dLbl")]
15664 #[serde(default, skip_serializing_if = "Vec::is_empty")]
15665 pub d_lbl: Vec<DataLabel>,
15666 #[cfg(feature = "dml-charts")]
15667 #[serde(rename = "delete")]
15668 #[serde(default, skip_serializing_if = "Option::is_none")]
15669 pub delete: Option<Box<CTBoolean>>,
15670 #[cfg(feature = "dml-charts")]
15671 #[serde(rename = "numFmt")]
15672 #[serde(default, skip_serializing_if = "Option::is_none")]
15673 pub num_fmt: Option<Box<ChartNumFmt>>,
15674 #[cfg(feature = "dml-charts")]
15675 #[serde(rename = "spPr")]
15676 #[serde(default, skip_serializing_if = "Option::is_none")]
15677 pub sp_pr: Option<Box<CTShapeProperties>>,
15678 #[cfg(feature = "dml-charts")]
15679 #[serde(rename = "txPr")]
15680 #[serde(default, skip_serializing_if = "Option::is_none")]
15681 pub tx_pr: Option<Box<TextBody>>,
15682 #[cfg(feature = "dml-charts")]
15683 #[serde(rename = "dLblPos")]
15684 #[serde(default, skip_serializing_if = "Option::is_none")]
15685 pub d_lbl_pos: Option<Box<DataLabelPosition>>,
15686 #[cfg(feature = "dml-charts")]
15687 #[serde(rename = "showLegendKey")]
15688 #[serde(default, skip_serializing_if = "Option::is_none")]
15689 pub show_legend_key: Option<Box<CTBoolean>>,
15690 #[cfg(feature = "dml-charts")]
15691 #[serde(rename = "showVal")]
15692 #[serde(default, skip_serializing_if = "Option::is_none")]
15693 pub show_val: Option<Box<CTBoolean>>,
15694 #[cfg(feature = "dml-charts")]
15695 #[serde(rename = "showCatName")]
15696 #[serde(default, skip_serializing_if = "Option::is_none")]
15697 pub show_cat_name: Option<Box<CTBoolean>>,
15698 #[cfg(feature = "dml-charts")]
15699 #[serde(rename = "showSerName")]
15700 #[serde(default, skip_serializing_if = "Option::is_none")]
15701 pub show_ser_name: Option<Box<CTBoolean>>,
15702 #[cfg(feature = "dml-charts")]
15703 #[serde(rename = "showPercent")]
15704 #[serde(default, skip_serializing_if = "Option::is_none")]
15705 pub show_percent: Option<Box<CTBoolean>>,
15706 #[cfg(feature = "dml-charts")]
15707 #[serde(rename = "showBubbleSize")]
15708 #[serde(default, skip_serializing_if = "Option::is_none")]
15709 pub show_bubble_size: Option<Box<CTBoolean>>,
15710 #[cfg(feature = "dml-charts")]
15711 #[serde(rename = "separator")]
15712 #[serde(default, skip_serializing_if = "Option::is_none")]
15713 pub separator: Option<String>,
15714 #[cfg(feature = "dml-charts")]
15715 #[serde(rename = "showLeaderLines")]
15716 #[serde(default, skip_serializing_if = "Option::is_none")]
15717 pub show_leader_lines: Option<Box<CTBoolean>>,
15718 #[cfg(feature = "dml-charts")]
15719 #[serde(rename = "leaderLines")]
15720 #[serde(default, skip_serializing_if = "Option::is_none")]
15721 pub leader_lines: Option<Box<ChartLines>>,
15722 #[cfg(feature = "dml-charts")]
15723 #[serde(rename = "extLst")]
15724 #[serde(default, skip_serializing_if = "Option::is_none")]
15725 pub ext_lst: Option<Box<ChartExtensionList>>,
15726 #[cfg(feature = "extra-children")]
15728 #[serde(skip)]
15729 #[cfg(feature = "extra-children")]
15730 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15731}
15732
15733#[derive(Debug, Clone, Serialize, Deserialize)]
15734pub struct ChartMarkerStyle {
15735 #[cfg(feature = "dml-charts")]
15736 #[serde(rename = "@val")]
15737 pub value: MarkerStyleType,
15738 #[cfg(feature = "extra-attrs")]
15740 #[serde(skip)]
15741 #[cfg(feature = "extra-attrs")]
15742 #[serde(default)]
15743 #[cfg(feature = "extra-attrs")]
15744 pub extra_attrs: std::collections::HashMap<String, String>,
15745}
15746
15747#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15748pub struct ChartMarkerSize {
15749 #[cfg(feature = "dml-charts")]
15750 #[serde(rename = "@val")]
15751 #[serde(default, skip_serializing_if = "Option::is_none")]
15752 pub value: Option<MarkerSizeValue>,
15753 #[cfg(feature = "extra-attrs")]
15755 #[serde(skip)]
15756 #[cfg(feature = "extra-attrs")]
15757 #[serde(default)]
15758 #[cfg(feature = "extra-attrs")]
15759 pub extra_attrs: std::collections::HashMap<String, String>,
15760}
15761
15762#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15763pub struct ChartMarker {
15764 #[cfg(feature = "dml-charts")]
15765 #[serde(rename = "symbol")]
15766 #[serde(default, skip_serializing_if = "Option::is_none")]
15767 pub symbol: Option<Box<ChartMarkerStyle>>,
15768 #[cfg(feature = "dml-charts")]
15769 #[serde(rename = "size")]
15770 #[serde(default, skip_serializing_if = "Option::is_none")]
15771 pub size: Option<Box<ChartMarkerSize>>,
15772 #[cfg(feature = "dml-charts")]
15773 #[serde(rename = "spPr")]
15774 #[serde(default, skip_serializing_if = "Option::is_none")]
15775 pub sp_pr: Option<Box<CTShapeProperties>>,
15776 #[cfg(feature = "dml-charts")]
15777 #[serde(rename = "extLst")]
15778 #[serde(default, skip_serializing_if = "Option::is_none")]
15779 pub ext_lst: Option<Box<ChartExtensionList>>,
15780 #[cfg(feature = "extra-children")]
15782 #[serde(skip)]
15783 #[cfg(feature = "extra-children")]
15784 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15785}
15786
15787#[derive(Debug, Clone, Serialize, Deserialize)]
15788pub struct DataPoint {
15789 #[cfg(feature = "dml-charts")]
15790 #[serde(rename = "idx")]
15791 pub idx: Box<CTUnsignedInt>,
15792 #[cfg(feature = "dml-charts")]
15793 #[serde(rename = "invertIfNegative")]
15794 #[serde(default, skip_serializing_if = "Option::is_none")]
15795 pub invert_if_negative: Option<Box<CTBoolean>>,
15796 #[cfg(feature = "dml-charts")]
15797 #[serde(rename = "marker")]
15798 #[serde(default, skip_serializing_if = "Option::is_none")]
15799 pub marker: Option<Box<ChartMarker>>,
15800 #[cfg(feature = "dml-charts")]
15801 #[serde(rename = "bubble3D")]
15802 #[serde(default, skip_serializing_if = "Option::is_none")]
15803 pub bubble3_d: Option<Box<CTBoolean>>,
15804 #[cfg(feature = "dml-charts")]
15805 #[serde(rename = "explosion")]
15806 #[serde(default, skip_serializing_if = "Option::is_none")]
15807 pub explosion: Option<Box<CTUnsignedInt>>,
15808 #[cfg(feature = "dml-charts")]
15809 #[serde(rename = "spPr")]
15810 #[serde(default, skip_serializing_if = "Option::is_none")]
15811 pub sp_pr: Option<Box<CTShapeProperties>>,
15812 #[cfg(feature = "dml-charts")]
15813 #[serde(rename = "pictureOptions")]
15814 #[serde(default, skip_serializing_if = "Option::is_none")]
15815 pub picture_options: Option<Box<PictureOptions>>,
15816 #[cfg(feature = "dml-charts")]
15817 #[serde(rename = "extLst")]
15818 #[serde(default, skip_serializing_if = "Option::is_none")]
15819 pub ext_lst: Option<Box<ChartExtensionList>>,
15820 #[cfg(feature = "extra-children")]
15822 #[serde(skip)]
15823 #[cfg(feature = "extra-children")]
15824 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15825}
15826
15827#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15828pub struct TrendlineType {
15829 #[cfg(feature = "dml-charts")]
15830 #[serde(rename = "@val")]
15831 #[serde(default, skip_serializing_if = "Option::is_none")]
15832 pub value: Option<TrendlineTypeValue>,
15833 #[cfg(feature = "extra-attrs")]
15835 #[serde(skip)]
15836 #[cfg(feature = "extra-attrs")]
15837 #[serde(default)]
15838 #[cfg(feature = "extra-attrs")]
15839 pub extra_attrs: std::collections::HashMap<String, String>,
15840}
15841
15842#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15843pub struct TrendlineOrder {
15844 #[cfg(feature = "dml-charts")]
15845 #[serde(rename = "@val")]
15846 #[serde(default, skip_serializing_if = "Option::is_none")]
15847 pub value: Option<TrendlineOrderValue>,
15848 #[cfg(feature = "extra-attrs")]
15850 #[serde(skip)]
15851 #[cfg(feature = "extra-attrs")]
15852 #[serde(default)]
15853 #[cfg(feature = "extra-attrs")]
15854 pub extra_attrs: std::collections::HashMap<String, String>,
15855}
15856
15857#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15858pub struct TrendlinePeriod {
15859 #[cfg(feature = "dml-charts")]
15860 #[serde(rename = "@val")]
15861 #[serde(default, skip_serializing_if = "Option::is_none")]
15862 pub value: Option<TrendlinePeriodValue>,
15863 #[cfg(feature = "extra-attrs")]
15865 #[serde(skip)]
15866 #[cfg(feature = "extra-attrs")]
15867 #[serde(default)]
15868 #[cfg(feature = "extra-attrs")]
15869 pub extra_attrs: std::collections::HashMap<String, String>,
15870}
15871
15872#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15873pub struct TrendlineLabel {
15874 #[cfg(feature = "dml-charts")]
15875 #[serde(rename = "layout")]
15876 #[serde(default, skip_serializing_if = "Option::is_none")]
15877 pub layout: Option<Box<ChartLayout>>,
15878 #[cfg(feature = "dml-charts")]
15879 #[serde(rename = "tx")]
15880 #[serde(default, skip_serializing_if = "Option::is_none")]
15881 pub tx: Option<Box<ChartText>>,
15882 #[cfg(feature = "dml-charts")]
15883 #[serde(rename = "numFmt")]
15884 #[serde(default, skip_serializing_if = "Option::is_none")]
15885 pub num_fmt: Option<Box<ChartNumFmt>>,
15886 #[cfg(feature = "dml-charts")]
15887 #[serde(rename = "spPr")]
15888 #[serde(default, skip_serializing_if = "Option::is_none")]
15889 pub sp_pr: Option<Box<CTShapeProperties>>,
15890 #[cfg(feature = "dml-charts")]
15891 #[serde(rename = "txPr")]
15892 #[serde(default, skip_serializing_if = "Option::is_none")]
15893 pub tx_pr: Option<Box<TextBody>>,
15894 #[cfg(feature = "dml-charts")]
15895 #[serde(rename = "extLst")]
15896 #[serde(default, skip_serializing_if = "Option::is_none")]
15897 pub ext_lst: Option<Box<ChartExtensionList>>,
15898 #[cfg(feature = "extra-children")]
15900 #[serde(skip)]
15901 #[cfg(feature = "extra-children")]
15902 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15903}
15904
15905#[derive(Debug, Clone, Serialize, Deserialize)]
15906pub struct Trendline {
15907 #[cfg(feature = "dml-charts")]
15908 #[serde(rename = "name")]
15909 #[serde(default, skip_serializing_if = "Option::is_none")]
15910 pub name: Option<String>,
15911 #[cfg(feature = "dml-charts")]
15912 #[serde(rename = "spPr")]
15913 #[serde(default, skip_serializing_if = "Option::is_none")]
15914 pub sp_pr: Option<Box<CTShapeProperties>>,
15915 #[cfg(feature = "dml-charts")]
15916 #[serde(rename = "trendlineType")]
15917 pub trendline_type: Box<TrendlineType>,
15918 #[cfg(feature = "dml-charts")]
15919 #[serde(rename = "order")]
15920 #[serde(default, skip_serializing_if = "Option::is_none")]
15921 pub order: Option<Box<TrendlineOrder>>,
15922 #[cfg(feature = "dml-charts")]
15923 #[serde(rename = "period")]
15924 #[serde(default, skip_serializing_if = "Option::is_none")]
15925 pub period: Option<Box<TrendlinePeriod>>,
15926 #[cfg(feature = "dml-charts")]
15927 #[serde(rename = "forward")]
15928 #[serde(default, skip_serializing_if = "Option::is_none")]
15929 pub forward: Option<Box<CTDouble>>,
15930 #[cfg(feature = "dml-charts")]
15931 #[serde(rename = "backward")]
15932 #[serde(default, skip_serializing_if = "Option::is_none")]
15933 pub backward: Option<Box<CTDouble>>,
15934 #[cfg(feature = "dml-charts")]
15935 #[serde(rename = "intercept")]
15936 #[serde(default, skip_serializing_if = "Option::is_none")]
15937 pub intercept: Option<Box<CTDouble>>,
15938 #[cfg(feature = "dml-charts")]
15939 #[serde(rename = "dispRSqr")]
15940 #[serde(default, skip_serializing_if = "Option::is_none")]
15941 pub disp_r_sqr: Option<Box<CTBoolean>>,
15942 #[cfg(feature = "dml-charts")]
15943 #[serde(rename = "dispEq")]
15944 #[serde(default, skip_serializing_if = "Option::is_none")]
15945 pub disp_eq: Option<Box<CTBoolean>>,
15946 #[cfg(feature = "dml-charts")]
15947 #[serde(rename = "trendlineLbl")]
15948 #[serde(default, skip_serializing_if = "Option::is_none")]
15949 pub trendline_lbl: Option<Box<TrendlineLabel>>,
15950 #[cfg(feature = "dml-charts")]
15951 #[serde(rename = "extLst")]
15952 #[serde(default, skip_serializing_if = "Option::is_none")]
15953 pub ext_lst: Option<Box<ChartExtensionList>>,
15954 #[cfg(feature = "extra-children")]
15956 #[serde(skip)]
15957 #[cfg(feature = "extra-children")]
15958 pub extra_children: Vec<ooxml_xml::PositionedNode>,
15959}
15960
15961#[derive(Debug, Clone, Serialize, Deserialize)]
15962pub struct ErrorDirection {
15963 #[cfg(feature = "dml-charts")]
15964 #[serde(rename = "@val")]
15965 pub value: ErrorDirectionType,
15966 #[cfg(feature = "extra-attrs")]
15968 #[serde(skip)]
15969 #[cfg(feature = "extra-attrs")]
15970 #[serde(default)]
15971 #[cfg(feature = "extra-attrs")]
15972 pub extra_attrs: std::collections::HashMap<String, String>,
15973}
15974
15975#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15976pub struct ErrorBarType {
15977 #[cfg(feature = "dml-charts")]
15978 #[serde(rename = "@val")]
15979 #[serde(default, skip_serializing_if = "Option::is_none")]
15980 pub value: Option<ErrorBarTypeValue>,
15981 #[cfg(feature = "extra-attrs")]
15983 #[serde(skip)]
15984 #[cfg(feature = "extra-attrs")]
15985 #[serde(default)]
15986 #[cfg(feature = "extra-attrs")]
15987 pub extra_attrs: std::collections::HashMap<String, String>,
15988}
15989
15990#[derive(Debug, Clone, Default, Serialize, Deserialize)]
15991pub struct ErrorValueType {
15992 #[cfg(feature = "dml-charts")]
15993 #[serde(rename = "@val")]
15994 #[serde(default, skip_serializing_if = "Option::is_none")]
15995 pub value: Option<ErrorValueTypeValue>,
15996 #[cfg(feature = "extra-attrs")]
15998 #[serde(skip)]
15999 #[cfg(feature = "extra-attrs")]
16000 #[serde(default)]
16001 #[cfg(feature = "extra-attrs")]
16002 pub extra_attrs: std::collections::HashMap<String, String>,
16003}
16004
16005#[derive(Debug, Clone, Serialize, Deserialize)]
16006pub struct ErrorBars {
16007 #[cfg(feature = "dml-charts")]
16008 #[serde(rename = "errDir")]
16009 #[serde(default, skip_serializing_if = "Option::is_none")]
16010 pub err_dir: Option<Box<ErrorDirection>>,
16011 #[cfg(feature = "dml-charts")]
16012 #[serde(rename = "errBarType")]
16013 pub err_bar_type: Box<ErrorBarType>,
16014 #[cfg(feature = "dml-charts")]
16015 #[serde(rename = "errValType")]
16016 pub err_val_type: Box<ErrorValueType>,
16017 #[cfg(feature = "dml-charts")]
16018 #[serde(rename = "noEndCap")]
16019 #[serde(default, skip_serializing_if = "Option::is_none")]
16020 pub no_end_cap: Option<Box<CTBoolean>>,
16021 #[cfg(feature = "dml-charts")]
16022 #[serde(rename = "plus")]
16023 #[serde(default, skip_serializing_if = "Option::is_none")]
16024 pub plus: Option<Box<NumericDataSource>>,
16025 #[cfg(feature = "dml-charts")]
16026 #[serde(rename = "minus")]
16027 #[serde(default, skip_serializing_if = "Option::is_none")]
16028 pub minus: Option<Box<NumericDataSource>>,
16029 #[cfg(feature = "dml-charts")]
16030 #[serde(rename = "val")]
16031 #[serde(default, skip_serializing_if = "Option::is_none")]
16032 pub value: Option<Box<CTDouble>>,
16033 #[cfg(feature = "dml-charts")]
16034 #[serde(rename = "spPr")]
16035 #[serde(default, skip_serializing_if = "Option::is_none")]
16036 pub sp_pr: Option<Box<CTShapeProperties>>,
16037 #[cfg(feature = "dml-charts")]
16038 #[serde(rename = "extLst")]
16039 #[serde(default, skip_serializing_if = "Option::is_none")]
16040 pub ext_lst: Option<Box<ChartExtensionList>>,
16041 #[cfg(feature = "extra-children")]
16043 #[serde(skip)]
16044 #[cfg(feature = "extra-children")]
16045 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16046}
16047
16048#[derive(Debug, Clone, Default, Serialize, Deserialize)]
16049pub struct UpDownBar {
16050 #[cfg(feature = "dml-charts")]
16051 #[serde(rename = "spPr")]
16052 #[serde(default, skip_serializing_if = "Option::is_none")]
16053 pub sp_pr: Option<Box<CTShapeProperties>>,
16054 #[cfg(feature = "extra-children")]
16056 #[serde(skip)]
16057 #[cfg(feature = "extra-children")]
16058 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16059}
16060
16061#[derive(Debug, Clone, Default, Serialize, Deserialize)]
16062pub struct UpDownBars {
16063 #[cfg(feature = "dml-charts")]
16064 #[serde(rename = "gapWidth")]
16065 #[serde(default, skip_serializing_if = "Option::is_none")]
16066 pub gap_width: Option<Box<GapAmount>>,
16067 #[cfg(feature = "dml-charts")]
16068 #[serde(rename = "upBars")]
16069 #[serde(default, skip_serializing_if = "Option::is_none")]
16070 pub up_bars: Option<Box<UpDownBar>>,
16071 #[cfg(feature = "dml-charts")]
16072 #[serde(rename = "downBars")]
16073 #[serde(default, skip_serializing_if = "Option::is_none")]
16074 pub down_bars: Option<Box<UpDownBar>>,
16075 #[cfg(feature = "dml-charts")]
16076 #[serde(rename = "extLst")]
16077 #[serde(default, skip_serializing_if = "Option::is_none")]
16078 pub ext_lst: Option<Box<ChartExtensionList>>,
16079 #[cfg(feature = "extra-children")]
16081 #[serde(skip)]
16082 #[cfg(feature = "extra-children")]
16083 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16084}
16085
16086#[derive(Debug, Clone, Serialize, Deserialize)]
16087pub struct EGSerShared {
16088 #[serde(rename = "idx")]
16089 pub idx: Box<CTUnsignedInt>,
16090 #[serde(rename = "order")]
16091 pub order: Box<CTUnsignedInt>,
16092 #[serde(rename = "tx")]
16093 #[serde(default, skip_serializing_if = "Option::is_none")]
16094 pub tx: Option<Box<SeriesText>>,
16095 #[serde(rename = "spPr")]
16096 #[serde(default, skip_serializing_if = "Option::is_none")]
16097 pub sp_pr: Option<Box<CTShapeProperties>>,
16098 #[cfg(feature = "extra-children")]
16100 #[serde(skip)]
16101 #[cfg(feature = "extra-children")]
16102 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16103}
16104
16105#[derive(Debug, Clone, Serialize, Deserialize)]
16106pub struct LineSeries {
16107 #[cfg(feature = "dml-charts")]
16108 #[serde(rename = "idx")]
16109 pub idx: Box<CTUnsignedInt>,
16110 #[cfg(feature = "dml-charts")]
16111 #[serde(rename = "order")]
16112 pub order: Box<CTUnsignedInt>,
16113 #[cfg(feature = "dml-charts")]
16114 #[serde(rename = "tx")]
16115 #[serde(default, skip_serializing_if = "Option::is_none")]
16116 pub tx: Option<Box<SeriesText>>,
16117 #[cfg(feature = "dml-charts")]
16118 #[serde(rename = "spPr")]
16119 #[serde(default, skip_serializing_if = "Option::is_none")]
16120 pub sp_pr: Option<Box<CTShapeProperties>>,
16121 #[cfg(feature = "dml-charts")]
16122 #[serde(rename = "marker")]
16123 #[serde(default, skip_serializing_if = "Option::is_none")]
16124 pub marker: Option<Box<ChartMarker>>,
16125 #[cfg(feature = "dml-charts")]
16126 #[serde(rename = "dPt")]
16127 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16128 pub d_pt: Vec<DataPoint>,
16129 #[cfg(feature = "dml-charts")]
16130 #[serde(rename = "dLbls")]
16131 #[serde(default, skip_serializing_if = "Option::is_none")]
16132 pub d_lbls: Option<Box<DataLabels>>,
16133 #[cfg(feature = "dml-charts")]
16134 #[serde(rename = "trendline")]
16135 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16136 pub trendline: Vec<Trendline>,
16137 #[cfg(feature = "dml-charts")]
16138 #[serde(rename = "errBars")]
16139 #[serde(default, skip_serializing_if = "Option::is_none")]
16140 pub err_bars: Option<Box<ErrorBars>>,
16141 #[cfg(feature = "dml-charts")]
16142 #[serde(rename = "cat")]
16143 #[serde(default, skip_serializing_if = "Option::is_none")]
16144 pub cat: Option<Box<AxisDataSource>>,
16145 #[cfg(feature = "dml-charts")]
16146 #[serde(rename = "val")]
16147 #[serde(default, skip_serializing_if = "Option::is_none")]
16148 pub value: Option<Box<NumericDataSource>>,
16149 #[cfg(feature = "dml-charts")]
16150 #[serde(rename = "smooth")]
16151 #[serde(default, skip_serializing_if = "Option::is_none")]
16152 pub smooth: Option<Box<CTBoolean>>,
16153 #[cfg(feature = "dml-charts")]
16154 #[serde(rename = "extLst")]
16155 #[serde(default, skip_serializing_if = "Option::is_none")]
16156 pub ext_lst: Option<Box<ChartExtensionList>>,
16157 #[cfg(feature = "extra-children")]
16159 #[serde(skip)]
16160 #[cfg(feature = "extra-children")]
16161 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16162}
16163
16164#[derive(Debug, Clone, Serialize, Deserialize)]
16165pub struct ScatterSeries {
16166 #[cfg(feature = "dml-charts")]
16167 #[serde(rename = "idx")]
16168 pub idx: Box<CTUnsignedInt>,
16169 #[cfg(feature = "dml-charts")]
16170 #[serde(rename = "order")]
16171 pub order: Box<CTUnsignedInt>,
16172 #[cfg(feature = "dml-charts")]
16173 #[serde(rename = "tx")]
16174 #[serde(default, skip_serializing_if = "Option::is_none")]
16175 pub tx: Option<Box<SeriesText>>,
16176 #[cfg(feature = "dml-charts")]
16177 #[serde(rename = "spPr")]
16178 #[serde(default, skip_serializing_if = "Option::is_none")]
16179 pub sp_pr: Option<Box<CTShapeProperties>>,
16180 #[cfg(feature = "dml-charts")]
16181 #[serde(rename = "marker")]
16182 #[serde(default, skip_serializing_if = "Option::is_none")]
16183 pub marker: Option<Box<ChartMarker>>,
16184 #[cfg(feature = "dml-charts")]
16185 #[serde(rename = "dPt")]
16186 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16187 pub d_pt: Vec<DataPoint>,
16188 #[cfg(feature = "dml-charts")]
16189 #[serde(rename = "dLbls")]
16190 #[serde(default, skip_serializing_if = "Option::is_none")]
16191 pub d_lbls: Option<Box<DataLabels>>,
16192 #[cfg(feature = "dml-charts")]
16193 #[serde(rename = "trendline")]
16194 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16195 pub trendline: Vec<Trendline>,
16196 #[cfg(feature = "dml-charts")]
16197 #[serde(rename = "errBars")]
16198 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16199 pub err_bars: Vec<ErrorBars>,
16200 #[cfg(feature = "dml-charts")]
16201 #[serde(rename = "xVal")]
16202 #[serde(default, skip_serializing_if = "Option::is_none")]
16203 pub x_val: Option<Box<AxisDataSource>>,
16204 #[cfg(feature = "dml-charts")]
16205 #[serde(rename = "yVal")]
16206 #[serde(default, skip_serializing_if = "Option::is_none")]
16207 pub y_val: Option<Box<NumericDataSource>>,
16208 #[cfg(feature = "dml-charts")]
16209 #[serde(rename = "smooth")]
16210 #[serde(default, skip_serializing_if = "Option::is_none")]
16211 pub smooth: Option<Box<CTBoolean>>,
16212 #[cfg(feature = "dml-charts")]
16213 #[serde(rename = "extLst")]
16214 #[serde(default, skip_serializing_if = "Option::is_none")]
16215 pub ext_lst: Option<Box<ChartExtensionList>>,
16216 #[cfg(feature = "extra-children")]
16218 #[serde(skip)]
16219 #[cfg(feature = "extra-children")]
16220 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16221}
16222
16223#[derive(Debug, Clone, Serialize, Deserialize)]
16224pub struct RadarSeries {
16225 #[cfg(feature = "dml-charts")]
16226 #[serde(rename = "idx")]
16227 pub idx: Box<CTUnsignedInt>,
16228 #[cfg(feature = "dml-charts")]
16229 #[serde(rename = "order")]
16230 pub order: Box<CTUnsignedInt>,
16231 #[cfg(feature = "dml-charts")]
16232 #[serde(rename = "tx")]
16233 #[serde(default, skip_serializing_if = "Option::is_none")]
16234 pub tx: Option<Box<SeriesText>>,
16235 #[cfg(feature = "dml-charts")]
16236 #[serde(rename = "spPr")]
16237 #[serde(default, skip_serializing_if = "Option::is_none")]
16238 pub sp_pr: Option<Box<CTShapeProperties>>,
16239 #[cfg(feature = "dml-charts")]
16240 #[serde(rename = "marker")]
16241 #[serde(default, skip_serializing_if = "Option::is_none")]
16242 pub marker: Option<Box<ChartMarker>>,
16243 #[cfg(feature = "dml-charts")]
16244 #[serde(rename = "dPt")]
16245 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16246 pub d_pt: Vec<DataPoint>,
16247 #[cfg(feature = "dml-charts")]
16248 #[serde(rename = "dLbls")]
16249 #[serde(default, skip_serializing_if = "Option::is_none")]
16250 pub d_lbls: Option<Box<DataLabels>>,
16251 #[cfg(feature = "dml-charts")]
16252 #[serde(rename = "cat")]
16253 #[serde(default, skip_serializing_if = "Option::is_none")]
16254 pub cat: Option<Box<AxisDataSource>>,
16255 #[cfg(feature = "dml-charts")]
16256 #[serde(rename = "val")]
16257 #[serde(default, skip_serializing_if = "Option::is_none")]
16258 pub value: Option<Box<NumericDataSource>>,
16259 #[cfg(feature = "dml-charts")]
16260 #[serde(rename = "extLst")]
16261 #[serde(default, skip_serializing_if = "Option::is_none")]
16262 pub ext_lst: Option<Box<ChartExtensionList>>,
16263 #[cfg(feature = "extra-children")]
16265 #[serde(skip)]
16266 #[cfg(feature = "extra-children")]
16267 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16268}
16269
16270#[derive(Debug, Clone, Serialize, Deserialize)]
16271pub struct BarSeries {
16272 #[cfg(feature = "dml-charts")]
16273 #[serde(rename = "idx")]
16274 pub idx: Box<CTUnsignedInt>,
16275 #[cfg(feature = "dml-charts")]
16276 #[serde(rename = "order")]
16277 pub order: Box<CTUnsignedInt>,
16278 #[cfg(feature = "dml-charts")]
16279 #[serde(rename = "tx")]
16280 #[serde(default, skip_serializing_if = "Option::is_none")]
16281 pub tx: Option<Box<SeriesText>>,
16282 #[cfg(feature = "dml-charts")]
16283 #[serde(rename = "spPr")]
16284 #[serde(default, skip_serializing_if = "Option::is_none")]
16285 pub sp_pr: Option<Box<CTShapeProperties>>,
16286 #[cfg(feature = "dml-charts")]
16287 #[serde(rename = "invertIfNegative")]
16288 #[serde(default, skip_serializing_if = "Option::is_none")]
16289 pub invert_if_negative: Option<Box<CTBoolean>>,
16290 #[cfg(feature = "dml-charts")]
16291 #[serde(rename = "pictureOptions")]
16292 #[serde(default, skip_serializing_if = "Option::is_none")]
16293 pub picture_options: Option<Box<PictureOptions>>,
16294 #[cfg(feature = "dml-charts")]
16295 #[serde(rename = "dPt")]
16296 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16297 pub d_pt: Vec<DataPoint>,
16298 #[cfg(feature = "dml-charts")]
16299 #[serde(rename = "dLbls")]
16300 #[serde(default, skip_serializing_if = "Option::is_none")]
16301 pub d_lbls: Option<Box<DataLabels>>,
16302 #[cfg(feature = "dml-charts")]
16303 #[serde(rename = "trendline")]
16304 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16305 pub trendline: Vec<Trendline>,
16306 #[cfg(feature = "dml-charts")]
16307 #[serde(rename = "errBars")]
16308 #[serde(default, skip_serializing_if = "Option::is_none")]
16309 pub err_bars: Option<Box<ErrorBars>>,
16310 #[cfg(feature = "dml-charts")]
16311 #[serde(rename = "cat")]
16312 #[serde(default, skip_serializing_if = "Option::is_none")]
16313 pub cat: Option<Box<AxisDataSource>>,
16314 #[cfg(feature = "dml-charts")]
16315 #[serde(rename = "val")]
16316 #[serde(default, skip_serializing_if = "Option::is_none")]
16317 pub value: Option<Box<NumericDataSource>>,
16318 #[cfg(feature = "dml-charts")]
16319 #[serde(rename = "shape")]
16320 #[serde(default, skip_serializing_if = "Option::is_none")]
16321 pub shape: Option<Box<DiagramShape>>,
16322 #[cfg(feature = "dml-charts")]
16323 #[serde(rename = "extLst")]
16324 #[serde(default, skip_serializing_if = "Option::is_none")]
16325 pub ext_lst: Option<Box<ChartExtensionList>>,
16326 #[cfg(feature = "extra-children")]
16328 #[serde(skip)]
16329 #[cfg(feature = "extra-children")]
16330 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16331}
16332
16333#[derive(Debug, Clone, Serialize, Deserialize)]
16334pub struct AreaSeries {
16335 #[cfg(feature = "dml-charts")]
16336 #[serde(rename = "idx")]
16337 pub idx: Box<CTUnsignedInt>,
16338 #[cfg(feature = "dml-charts")]
16339 #[serde(rename = "order")]
16340 pub order: Box<CTUnsignedInt>,
16341 #[cfg(feature = "dml-charts")]
16342 #[serde(rename = "tx")]
16343 #[serde(default, skip_serializing_if = "Option::is_none")]
16344 pub tx: Option<Box<SeriesText>>,
16345 #[cfg(feature = "dml-charts")]
16346 #[serde(rename = "spPr")]
16347 #[serde(default, skip_serializing_if = "Option::is_none")]
16348 pub sp_pr: Option<Box<CTShapeProperties>>,
16349 #[cfg(feature = "dml-charts")]
16350 #[serde(rename = "pictureOptions")]
16351 #[serde(default, skip_serializing_if = "Option::is_none")]
16352 pub picture_options: Option<Box<PictureOptions>>,
16353 #[cfg(feature = "dml-charts")]
16354 #[serde(rename = "dPt")]
16355 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16356 pub d_pt: Vec<DataPoint>,
16357 #[cfg(feature = "dml-charts")]
16358 #[serde(rename = "dLbls")]
16359 #[serde(default, skip_serializing_if = "Option::is_none")]
16360 pub d_lbls: Option<Box<DataLabels>>,
16361 #[cfg(feature = "dml-charts")]
16362 #[serde(rename = "trendline")]
16363 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16364 pub trendline: Vec<Trendline>,
16365 #[cfg(feature = "dml-charts")]
16366 #[serde(rename = "errBars")]
16367 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16368 pub err_bars: Vec<ErrorBars>,
16369 #[cfg(feature = "dml-charts")]
16370 #[serde(rename = "cat")]
16371 #[serde(default, skip_serializing_if = "Option::is_none")]
16372 pub cat: Option<Box<AxisDataSource>>,
16373 #[cfg(feature = "dml-charts")]
16374 #[serde(rename = "val")]
16375 #[serde(default, skip_serializing_if = "Option::is_none")]
16376 pub value: Option<Box<NumericDataSource>>,
16377 #[cfg(feature = "dml-charts")]
16378 #[serde(rename = "extLst")]
16379 #[serde(default, skip_serializing_if = "Option::is_none")]
16380 pub ext_lst: Option<Box<ChartExtensionList>>,
16381 #[cfg(feature = "extra-children")]
16383 #[serde(skip)]
16384 #[cfg(feature = "extra-children")]
16385 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16386}
16387
16388#[derive(Debug, Clone, Serialize, Deserialize)]
16389pub struct PieSeries {
16390 #[cfg(feature = "dml-charts")]
16391 #[serde(rename = "idx")]
16392 pub idx: Box<CTUnsignedInt>,
16393 #[cfg(feature = "dml-charts")]
16394 #[serde(rename = "order")]
16395 pub order: Box<CTUnsignedInt>,
16396 #[cfg(feature = "dml-charts")]
16397 #[serde(rename = "tx")]
16398 #[serde(default, skip_serializing_if = "Option::is_none")]
16399 pub tx: Option<Box<SeriesText>>,
16400 #[cfg(feature = "dml-charts")]
16401 #[serde(rename = "spPr")]
16402 #[serde(default, skip_serializing_if = "Option::is_none")]
16403 pub sp_pr: Option<Box<CTShapeProperties>>,
16404 #[cfg(feature = "dml-charts")]
16405 #[serde(rename = "explosion")]
16406 #[serde(default, skip_serializing_if = "Option::is_none")]
16407 pub explosion: Option<Box<CTUnsignedInt>>,
16408 #[cfg(feature = "dml-charts")]
16409 #[serde(rename = "dPt")]
16410 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16411 pub d_pt: Vec<DataPoint>,
16412 #[cfg(feature = "dml-charts")]
16413 #[serde(rename = "dLbls")]
16414 #[serde(default, skip_serializing_if = "Option::is_none")]
16415 pub d_lbls: Option<Box<DataLabels>>,
16416 #[cfg(feature = "dml-charts")]
16417 #[serde(rename = "cat")]
16418 #[serde(default, skip_serializing_if = "Option::is_none")]
16419 pub cat: Option<Box<AxisDataSource>>,
16420 #[cfg(feature = "dml-charts")]
16421 #[serde(rename = "val")]
16422 #[serde(default, skip_serializing_if = "Option::is_none")]
16423 pub value: Option<Box<NumericDataSource>>,
16424 #[cfg(feature = "dml-charts")]
16425 #[serde(rename = "extLst")]
16426 #[serde(default, skip_serializing_if = "Option::is_none")]
16427 pub ext_lst: Option<Box<ChartExtensionList>>,
16428 #[cfg(feature = "extra-children")]
16430 #[serde(skip)]
16431 #[cfg(feature = "extra-children")]
16432 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16433}
16434
16435#[derive(Debug, Clone, Serialize, Deserialize)]
16436pub struct BubbleSeries {
16437 #[cfg(feature = "dml-charts")]
16438 #[serde(rename = "idx")]
16439 pub idx: Box<CTUnsignedInt>,
16440 #[cfg(feature = "dml-charts")]
16441 #[serde(rename = "order")]
16442 pub order: Box<CTUnsignedInt>,
16443 #[cfg(feature = "dml-charts")]
16444 #[serde(rename = "tx")]
16445 #[serde(default, skip_serializing_if = "Option::is_none")]
16446 pub tx: Option<Box<SeriesText>>,
16447 #[cfg(feature = "dml-charts")]
16448 #[serde(rename = "spPr")]
16449 #[serde(default, skip_serializing_if = "Option::is_none")]
16450 pub sp_pr: Option<Box<CTShapeProperties>>,
16451 #[cfg(feature = "dml-charts")]
16452 #[serde(rename = "invertIfNegative")]
16453 #[serde(default, skip_serializing_if = "Option::is_none")]
16454 pub invert_if_negative: Option<Box<CTBoolean>>,
16455 #[cfg(feature = "dml-charts")]
16456 #[serde(rename = "dPt")]
16457 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16458 pub d_pt: Vec<DataPoint>,
16459 #[cfg(feature = "dml-charts")]
16460 #[serde(rename = "dLbls")]
16461 #[serde(default, skip_serializing_if = "Option::is_none")]
16462 pub d_lbls: Option<Box<DataLabels>>,
16463 #[cfg(feature = "dml-charts")]
16464 #[serde(rename = "trendline")]
16465 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16466 pub trendline: Vec<Trendline>,
16467 #[cfg(feature = "dml-charts")]
16468 #[serde(rename = "errBars")]
16469 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16470 pub err_bars: Vec<ErrorBars>,
16471 #[cfg(feature = "dml-charts")]
16472 #[serde(rename = "xVal")]
16473 #[serde(default, skip_serializing_if = "Option::is_none")]
16474 pub x_val: Option<Box<AxisDataSource>>,
16475 #[cfg(feature = "dml-charts")]
16476 #[serde(rename = "yVal")]
16477 #[serde(default, skip_serializing_if = "Option::is_none")]
16478 pub y_val: Option<Box<NumericDataSource>>,
16479 #[cfg(feature = "dml-charts")]
16480 #[serde(rename = "bubbleSize")]
16481 #[serde(default, skip_serializing_if = "Option::is_none")]
16482 pub bubble_size: Option<Box<NumericDataSource>>,
16483 #[cfg(feature = "dml-charts")]
16484 #[serde(rename = "bubble3D")]
16485 #[serde(default, skip_serializing_if = "Option::is_none")]
16486 pub bubble3_d: Option<Box<CTBoolean>>,
16487 #[cfg(feature = "dml-charts")]
16488 #[serde(rename = "extLst")]
16489 #[serde(default, skip_serializing_if = "Option::is_none")]
16490 pub ext_lst: Option<Box<ChartExtensionList>>,
16491 #[cfg(feature = "extra-children")]
16493 #[serde(skip)]
16494 #[cfg(feature = "extra-children")]
16495 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16496}
16497
16498#[derive(Debug, Clone, Serialize, Deserialize)]
16499pub struct SurfaceSeries {
16500 #[cfg(feature = "dml-charts")]
16501 #[serde(rename = "idx")]
16502 pub idx: Box<CTUnsignedInt>,
16503 #[cfg(feature = "dml-charts")]
16504 #[serde(rename = "order")]
16505 pub order: Box<CTUnsignedInt>,
16506 #[cfg(feature = "dml-charts")]
16507 #[serde(rename = "tx")]
16508 #[serde(default, skip_serializing_if = "Option::is_none")]
16509 pub tx: Option<Box<SeriesText>>,
16510 #[cfg(feature = "dml-charts")]
16511 #[serde(rename = "spPr")]
16512 #[serde(default, skip_serializing_if = "Option::is_none")]
16513 pub sp_pr: Option<Box<CTShapeProperties>>,
16514 #[cfg(feature = "dml-charts")]
16515 #[serde(rename = "cat")]
16516 #[serde(default, skip_serializing_if = "Option::is_none")]
16517 pub cat: Option<Box<AxisDataSource>>,
16518 #[cfg(feature = "dml-charts")]
16519 #[serde(rename = "val")]
16520 #[serde(default, skip_serializing_if = "Option::is_none")]
16521 pub value: Option<Box<NumericDataSource>>,
16522 #[cfg(feature = "dml-charts")]
16523 #[serde(rename = "extLst")]
16524 #[serde(default, skip_serializing_if = "Option::is_none")]
16525 pub ext_lst: Option<Box<ChartExtensionList>>,
16526 #[cfg(feature = "extra-children")]
16528 #[serde(skip)]
16529 #[cfg(feature = "extra-children")]
16530 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16531}
16532
16533#[derive(Debug, Clone, Default, Serialize, Deserialize)]
16534pub struct ChartGrouping {
16535 #[cfg(feature = "dml-charts")]
16536 #[serde(rename = "@val")]
16537 #[serde(default, skip_serializing_if = "Option::is_none")]
16538 pub value: Option<GroupingType>,
16539 #[cfg(feature = "extra-attrs")]
16541 #[serde(skip)]
16542 #[cfg(feature = "extra-attrs")]
16543 #[serde(default)]
16544 #[cfg(feature = "extra-attrs")]
16545 pub extra_attrs: std::collections::HashMap<String, String>,
16546}
16547
16548#[derive(Debug, Clone, Default, Serialize, Deserialize)]
16549pub struct ChartLines {
16550 #[cfg(feature = "dml-charts")]
16551 #[serde(rename = "spPr")]
16552 #[serde(default, skip_serializing_if = "Option::is_none")]
16553 pub sp_pr: Option<Box<CTShapeProperties>>,
16554 #[cfg(feature = "extra-children")]
16556 #[serde(skip)]
16557 #[cfg(feature = "extra-children")]
16558 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16559}
16560
16561#[derive(Debug, Clone, Serialize, Deserialize)]
16562pub struct EGLineChartShared {
16563 #[serde(rename = "grouping")]
16564 pub grouping: Box<ChartGrouping>,
16565 #[serde(rename = "varyColors")]
16566 #[serde(default, skip_serializing_if = "Option::is_none")]
16567 pub vary_colors: Option<Box<CTBoolean>>,
16568 #[serde(rename = "ser")]
16569 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16570 pub ser: Vec<LineSeries>,
16571 #[serde(rename = "dLbls")]
16572 #[serde(default, skip_serializing_if = "Option::is_none")]
16573 pub d_lbls: Option<Box<DataLabels>>,
16574 #[serde(rename = "dropLines")]
16575 #[serde(default, skip_serializing_if = "Option::is_none")]
16576 pub drop_lines: Option<Box<ChartLines>>,
16577 #[cfg(feature = "extra-children")]
16579 #[serde(skip)]
16580 #[cfg(feature = "extra-children")]
16581 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16582}
16583
16584#[derive(Debug, Clone, Serialize, Deserialize)]
16585pub struct LineChart {
16586 #[cfg(feature = "dml-charts")]
16587 #[serde(rename = "grouping")]
16588 pub grouping: Box<ChartGrouping>,
16589 #[cfg(feature = "dml-charts")]
16590 #[serde(rename = "varyColors")]
16591 #[serde(default, skip_serializing_if = "Option::is_none")]
16592 pub vary_colors: Option<Box<CTBoolean>>,
16593 #[cfg(feature = "dml-charts")]
16594 #[serde(rename = "ser")]
16595 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16596 pub ser: Vec<LineSeries>,
16597 #[cfg(feature = "dml-charts")]
16598 #[serde(rename = "dLbls")]
16599 #[serde(default, skip_serializing_if = "Option::is_none")]
16600 pub d_lbls: Option<Box<DataLabels>>,
16601 #[cfg(feature = "dml-charts")]
16602 #[serde(rename = "dropLines")]
16603 #[serde(default, skip_serializing_if = "Option::is_none")]
16604 pub drop_lines: Option<Box<ChartLines>>,
16605 #[cfg(feature = "dml-charts")]
16606 #[serde(rename = "hiLowLines")]
16607 #[serde(default, skip_serializing_if = "Option::is_none")]
16608 pub hi_low_lines: Option<Box<ChartLines>>,
16609 #[cfg(feature = "dml-charts")]
16610 #[serde(rename = "upDownBars")]
16611 #[serde(default, skip_serializing_if = "Option::is_none")]
16612 pub up_down_bars: Option<Box<UpDownBars>>,
16613 #[cfg(feature = "dml-charts")]
16614 #[serde(rename = "marker")]
16615 #[serde(default, skip_serializing_if = "Option::is_none")]
16616 pub marker: Option<Box<CTBoolean>>,
16617 #[cfg(feature = "dml-charts")]
16618 #[serde(rename = "smooth")]
16619 #[serde(default, skip_serializing_if = "Option::is_none")]
16620 pub smooth: Option<Box<CTBoolean>>,
16621 #[cfg(feature = "dml-charts")]
16622 #[serde(rename = "axId")]
16623 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16624 pub ax_id: Vec<CTUnsignedInt>,
16625 #[cfg(feature = "dml-charts")]
16626 #[serde(rename = "extLst")]
16627 #[serde(default, skip_serializing_if = "Option::is_none")]
16628 pub ext_lst: Option<Box<ChartExtensionList>>,
16629 #[cfg(feature = "extra-children")]
16631 #[serde(skip)]
16632 #[cfg(feature = "extra-children")]
16633 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16634}
16635
16636#[derive(Debug, Clone, Serialize, Deserialize)]
16637pub struct Line3DChart {
16638 #[cfg(feature = "dml-charts")]
16639 #[serde(rename = "grouping")]
16640 pub grouping: Box<ChartGrouping>,
16641 #[cfg(feature = "dml-charts")]
16642 #[serde(rename = "varyColors")]
16643 #[serde(default, skip_serializing_if = "Option::is_none")]
16644 pub vary_colors: Option<Box<CTBoolean>>,
16645 #[cfg(feature = "dml-charts")]
16646 #[serde(rename = "ser")]
16647 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16648 pub ser: Vec<LineSeries>,
16649 #[cfg(feature = "dml-charts")]
16650 #[serde(rename = "dLbls")]
16651 #[serde(default, skip_serializing_if = "Option::is_none")]
16652 pub d_lbls: Option<Box<DataLabels>>,
16653 #[cfg(feature = "dml-charts")]
16654 #[serde(rename = "dropLines")]
16655 #[serde(default, skip_serializing_if = "Option::is_none")]
16656 pub drop_lines: Option<Box<ChartLines>>,
16657 #[cfg(feature = "dml-charts")]
16658 #[serde(rename = "gapDepth")]
16659 #[serde(default, skip_serializing_if = "Option::is_none")]
16660 pub gap_depth: Option<Box<GapAmount>>,
16661 #[cfg(feature = "dml-charts")]
16662 #[serde(rename = "axId")]
16663 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16664 pub ax_id: Vec<CTUnsignedInt>,
16665 #[cfg(feature = "dml-charts")]
16666 #[serde(rename = "extLst")]
16667 #[serde(default, skip_serializing_if = "Option::is_none")]
16668 pub ext_lst: Option<Box<ChartExtensionList>>,
16669 #[cfg(feature = "extra-children")]
16671 #[serde(skip)]
16672 #[cfg(feature = "extra-children")]
16673 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16674}
16675
16676#[derive(Debug, Clone, Default, Serialize, Deserialize)]
16677pub struct StockChart {
16678 #[cfg(feature = "dml-charts")]
16679 #[serde(rename = "ser")]
16680 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16681 pub ser: Vec<LineSeries>,
16682 #[cfg(feature = "dml-charts")]
16683 #[serde(rename = "dLbls")]
16684 #[serde(default, skip_serializing_if = "Option::is_none")]
16685 pub d_lbls: Option<Box<DataLabels>>,
16686 #[cfg(feature = "dml-charts")]
16687 #[serde(rename = "dropLines")]
16688 #[serde(default, skip_serializing_if = "Option::is_none")]
16689 pub drop_lines: Option<Box<ChartLines>>,
16690 #[cfg(feature = "dml-charts")]
16691 #[serde(rename = "hiLowLines")]
16692 #[serde(default, skip_serializing_if = "Option::is_none")]
16693 pub hi_low_lines: Option<Box<ChartLines>>,
16694 #[cfg(feature = "dml-charts")]
16695 #[serde(rename = "upDownBars")]
16696 #[serde(default, skip_serializing_if = "Option::is_none")]
16697 pub up_down_bars: Option<Box<UpDownBars>>,
16698 #[cfg(feature = "dml-charts")]
16699 #[serde(rename = "axId")]
16700 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16701 pub ax_id: Vec<CTUnsignedInt>,
16702 #[cfg(feature = "dml-charts")]
16703 #[serde(rename = "extLst")]
16704 #[serde(default, skip_serializing_if = "Option::is_none")]
16705 pub ext_lst: Option<Box<ChartExtensionList>>,
16706 #[cfg(feature = "extra-children")]
16708 #[serde(skip)]
16709 #[cfg(feature = "extra-children")]
16710 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16711}
16712
16713#[derive(Debug, Clone, Default, Serialize, Deserialize)]
16714pub struct ScatterStyle {
16715 #[cfg(feature = "dml-charts")]
16716 #[serde(rename = "@val")]
16717 #[serde(default, skip_serializing_if = "Option::is_none")]
16718 pub value: Option<ScatterStyleType>,
16719 #[cfg(feature = "extra-attrs")]
16721 #[serde(skip)]
16722 #[cfg(feature = "extra-attrs")]
16723 #[serde(default)]
16724 #[cfg(feature = "extra-attrs")]
16725 pub extra_attrs: std::collections::HashMap<String, String>,
16726}
16727
16728#[derive(Debug, Clone, Serialize, Deserialize)]
16729pub struct ScatterChart {
16730 #[cfg(feature = "dml-charts")]
16731 #[serde(rename = "scatterStyle")]
16732 pub scatter_style: Box<ScatterStyle>,
16733 #[cfg(feature = "dml-charts")]
16734 #[serde(rename = "varyColors")]
16735 #[serde(default, skip_serializing_if = "Option::is_none")]
16736 pub vary_colors: Option<Box<CTBoolean>>,
16737 #[cfg(feature = "dml-charts")]
16738 #[serde(rename = "ser")]
16739 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16740 pub ser: Vec<ScatterSeries>,
16741 #[cfg(feature = "dml-charts")]
16742 #[serde(rename = "dLbls")]
16743 #[serde(default, skip_serializing_if = "Option::is_none")]
16744 pub d_lbls: Option<Box<DataLabels>>,
16745 #[cfg(feature = "dml-charts")]
16746 #[serde(rename = "axId")]
16747 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16748 pub ax_id: Vec<CTUnsignedInt>,
16749 #[cfg(feature = "dml-charts")]
16750 #[serde(rename = "extLst")]
16751 #[serde(default, skip_serializing_if = "Option::is_none")]
16752 pub ext_lst: Option<Box<ChartExtensionList>>,
16753 #[cfg(feature = "extra-children")]
16755 #[serde(skip)]
16756 #[cfg(feature = "extra-children")]
16757 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16758}
16759
16760#[derive(Debug, Clone, Default, Serialize, Deserialize)]
16761pub struct RadarStyle {
16762 #[cfg(feature = "dml-charts")]
16763 #[serde(rename = "@val")]
16764 #[serde(default, skip_serializing_if = "Option::is_none")]
16765 pub value: Option<RadarStyleType>,
16766 #[cfg(feature = "extra-attrs")]
16768 #[serde(skip)]
16769 #[cfg(feature = "extra-attrs")]
16770 #[serde(default)]
16771 #[cfg(feature = "extra-attrs")]
16772 pub extra_attrs: std::collections::HashMap<String, String>,
16773}
16774
16775#[derive(Debug, Clone, Serialize, Deserialize)]
16776pub struct RadarChart {
16777 #[cfg(feature = "dml-charts")]
16778 #[serde(rename = "radarStyle")]
16779 pub radar_style: Box<RadarStyle>,
16780 #[cfg(feature = "dml-charts")]
16781 #[serde(rename = "varyColors")]
16782 #[serde(default, skip_serializing_if = "Option::is_none")]
16783 pub vary_colors: Option<Box<CTBoolean>>,
16784 #[cfg(feature = "dml-charts")]
16785 #[serde(rename = "ser")]
16786 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16787 pub ser: Vec<RadarSeries>,
16788 #[cfg(feature = "dml-charts")]
16789 #[serde(rename = "dLbls")]
16790 #[serde(default, skip_serializing_if = "Option::is_none")]
16791 pub d_lbls: Option<Box<DataLabels>>,
16792 #[cfg(feature = "dml-charts")]
16793 #[serde(rename = "axId")]
16794 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16795 pub ax_id: Vec<CTUnsignedInt>,
16796 #[cfg(feature = "dml-charts")]
16797 #[serde(rename = "extLst")]
16798 #[serde(default, skip_serializing_if = "Option::is_none")]
16799 pub ext_lst: Option<Box<ChartExtensionList>>,
16800 #[cfg(feature = "extra-children")]
16802 #[serde(skip)]
16803 #[cfg(feature = "extra-children")]
16804 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16805}
16806
16807#[derive(Debug, Clone, Default, Serialize, Deserialize)]
16808pub struct BarGrouping {
16809 #[cfg(feature = "dml-charts")]
16810 #[serde(rename = "@val")]
16811 #[serde(default, skip_serializing_if = "Option::is_none")]
16812 pub value: Option<BarGroupingType>,
16813 #[cfg(feature = "extra-attrs")]
16815 #[serde(skip)]
16816 #[cfg(feature = "extra-attrs")]
16817 #[serde(default)]
16818 #[cfg(feature = "extra-attrs")]
16819 pub extra_attrs: std::collections::HashMap<String, String>,
16820}
16821
16822#[derive(Debug, Clone, Default, Serialize, Deserialize)]
16823pub struct BarDirection {
16824 #[cfg(feature = "dml-charts")]
16825 #[serde(rename = "@val")]
16826 #[serde(default, skip_serializing_if = "Option::is_none")]
16827 pub value: Option<BarDirectionType>,
16828 #[cfg(feature = "extra-attrs")]
16830 #[serde(skip)]
16831 #[cfg(feature = "extra-attrs")]
16832 #[serde(default)]
16833 #[cfg(feature = "extra-attrs")]
16834 pub extra_attrs: std::collections::HashMap<String, String>,
16835}
16836
16837#[derive(Debug, Clone, Default, Serialize, Deserialize)]
16838pub struct DiagramShape {
16839 #[cfg(feature = "dml-diagrams")]
16840 #[serde(rename = "@val")]
16841 #[serde(default, skip_serializing_if = "Option::is_none")]
16842 pub value: Option<BarShapeType>,
16843 #[cfg(feature = "extra-attrs")]
16845 #[serde(skip)]
16846 #[cfg(feature = "extra-attrs")]
16847 #[serde(default)]
16848 #[cfg(feature = "extra-attrs")]
16849 pub extra_attrs: std::collections::HashMap<String, String>,
16850}
16851
16852#[derive(Debug, Clone, Serialize, Deserialize)]
16853pub struct EGBarChartShared {
16854 #[serde(rename = "barDir")]
16855 pub bar_dir: Box<BarDirection>,
16856 #[serde(rename = "grouping")]
16857 #[serde(default, skip_serializing_if = "Option::is_none")]
16858 pub grouping: Option<Box<BarGrouping>>,
16859 #[serde(rename = "varyColors")]
16860 #[serde(default, skip_serializing_if = "Option::is_none")]
16861 pub vary_colors: Option<Box<CTBoolean>>,
16862 #[serde(rename = "ser")]
16863 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16864 pub ser: Vec<BarSeries>,
16865 #[serde(rename = "dLbls")]
16866 #[serde(default, skip_serializing_if = "Option::is_none")]
16867 pub d_lbls: Option<Box<DataLabels>>,
16868 #[cfg(feature = "extra-children")]
16870 #[serde(skip)]
16871 #[cfg(feature = "extra-children")]
16872 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16873}
16874
16875#[derive(Debug, Clone, Serialize, Deserialize)]
16876pub struct BarChart {
16877 #[cfg(feature = "dml-charts")]
16878 #[serde(rename = "barDir")]
16879 pub bar_dir: Box<BarDirection>,
16880 #[cfg(feature = "dml-charts")]
16881 #[serde(rename = "grouping")]
16882 #[serde(default, skip_serializing_if = "Option::is_none")]
16883 pub grouping: Option<Box<BarGrouping>>,
16884 #[cfg(feature = "dml-charts")]
16885 #[serde(rename = "varyColors")]
16886 #[serde(default, skip_serializing_if = "Option::is_none")]
16887 pub vary_colors: Option<Box<CTBoolean>>,
16888 #[cfg(feature = "dml-charts")]
16889 #[serde(rename = "ser")]
16890 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16891 pub ser: Vec<BarSeries>,
16892 #[cfg(feature = "dml-charts")]
16893 #[serde(rename = "dLbls")]
16894 #[serde(default, skip_serializing_if = "Option::is_none")]
16895 pub d_lbls: Option<Box<DataLabels>>,
16896 #[cfg(feature = "dml-charts")]
16897 #[serde(rename = "gapWidth")]
16898 #[serde(default, skip_serializing_if = "Option::is_none")]
16899 pub gap_width: Option<Box<GapAmount>>,
16900 #[cfg(feature = "dml-charts")]
16901 #[serde(rename = "overlap")]
16902 #[serde(default, skip_serializing_if = "Option::is_none")]
16903 pub overlap: Option<Box<OverlapAmount>>,
16904 #[cfg(feature = "dml-charts")]
16905 #[serde(rename = "serLines")]
16906 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16907 pub ser_lines: Vec<ChartLines>,
16908 #[cfg(feature = "dml-charts")]
16909 #[serde(rename = "axId")]
16910 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16911 pub ax_id: Vec<CTUnsignedInt>,
16912 #[cfg(feature = "dml-charts")]
16913 #[serde(rename = "extLst")]
16914 #[serde(default, skip_serializing_if = "Option::is_none")]
16915 pub ext_lst: Option<Box<ChartExtensionList>>,
16916 #[cfg(feature = "extra-children")]
16918 #[serde(skip)]
16919 #[cfg(feature = "extra-children")]
16920 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16921}
16922
16923#[derive(Debug, Clone, Serialize, Deserialize)]
16924pub struct Bar3DChart {
16925 #[cfg(feature = "dml-charts")]
16926 #[serde(rename = "barDir")]
16927 pub bar_dir: Box<BarDirection>,
16928 #[cfg(feature = "dml-charts")]
16929 #[serde(rename = "grouping")]
16930 #[serde(default, skip_serializing_if = "Option::is_none")]
16931 pub grouping: Option<Box<BarGrouping>>,
16932 #[cfg(feature = "dml-charts")]
16933 #[serde(rename = "varyColors")]
16934 #[serde(default, skip_serializing_if = "Option::is_none")]
16935 pub vary_colors: Option<Box<CTBoolean>>,
16936 #[cfg(feature = "dml-charts")]
16937 #[serde(rename = "ser")]
16938 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16939 pub ser: Vec<BarSeries>,
16940 #[cfg(feature = "dml-charts")]
16941 #[serde(rename = "dLbls")]
16942 #[serde(default, skip_serializing_if = "Option::is_none")]
16943 pub d_lbls: Option<Box<DataLabels>>,
16944 #[cfg(feature = "dml-charts")]
16945 #[serde(rename = "gapWidth")]
16946 #[serde(default, skip_serializing_if = "Option::is_none")]
16947 pub gap_width: Option<Box<GapAmount>>,
16948 #[cfg(feature = "dml-charts")]
16949 #[serde(rename = "gapDepth")]
16950 #[serde(default, skip_serializing_if = "Option::is_none")]
16951 pub gap_depth: Option<Box<GapAmount>>,
16952 #[cfg(feature = "dml-charts")]
16953 #[serde(rename = "shape")]
16954 #[serde(default, skip_serializing_if = "Option::is_none")]
16955 pub shape: Option<Box<DiagramShape>>,
16956 #[cfg(feature = "dml-charts")]
16957 #[serde(rename = "axId")]
16958 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16959 pub ax_id: Vec<CTUnsignedInt>,
16960 #[cfg(feature = "dml-charts")]
16961 #[serde(rename = "extLst")]
16962 #[serde(default, skip_serializing_if = "Option::is_none")]
16963 pub ext_lst: Option<Box<ChartExtensionList>>,
16964 #[cfg(feature = "extra-children")]
16966 #[serde(skip)]
16967 #[cfg(feature = "extra-children")]
16968 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16969}
16970
16971#[derive(Debug, Clone, Default, Serialize, Deserialize)]
16972pub struct EGAreaChartShared {
16973 #[serde(rename = "grouping")]
16974 #[serde(default, skip_serializing_if = "Option::is_none")]
16975 pub grouping: Option<Box<ChartGrouping>>,
16976 #[serde(rename = "varyColors")]
16977 #[serde(default, skip_serializing_if = "Option::is_none")]
16978 pub vary_colors: Option<Box<CTBoolean>>,
16979 #[serde(rename = "ser")]
16980 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16981 pub ser: Vec<AreaSeries>,
16982 #[serde(rename = "dLbls")]
16983 #[serde(default, skip_serializing_if = "Option::is_none")]
16984 pub d_lbls: Option<Box<DataLabels>>,
16985 #[serde(rename = "dropLines")]
16986 #[serde(default, skip_serializing_if = "Option::is_none")]
16987 pub drop_lines: Option<Box<ChartLines>>,
16988 #[cfg(feature = "extra-children")]
16990 #[serde(skip)]
16991 #[cfg(feature = "extra-children")]
16992 pub extra_children: Vec<ooxml_xml::PositionedNode>,
16993}
16994
16995#[derive(Debug, Clone, Default, Serialize, Deserialize)]
16996pub struct AreaChart {
16997 #[cfg(feature = "dml-charts")]
16998 #[serde(rename = "grouping")]
16999 #[serde(default, skip_serializing_if = "Option::is_none")]
17000 pub grouping: Option<Box<ChartGrouping>>,
17001 #[cfg(feature = "dml-charts")]
17002 #[serde(rename = "varyColors")]
17003 #[serde(default, skip_serializing_if = "Option::is_none")]
17004 pub vary_colors: Option<Box<CTBoolean>>,
17005 #[cfg(feature = "dml-charts")]
17006 #[serde(rename = "ser")]
17007 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17008 pub ser: Vec<AreaSeries>,
17009 #[cfg(feature = "dml-charts")]
17010 #[serde(rename = "dLbls")]
17011 #[serde(default, skip_serializing_if = "Option::is_none")]
17012 pub d_lbls: Option<Box<DataLabels>>,
17013 #[cfg(feature = "dml-charts")]
17014 #[serde(rename = "dropLines")]
17015 #[serde(default, skip_serializing_if = "Option::is_none")]
17016 pub drop_lines: Option<Box<ChartLines>>,
17017 #[cfg(feature = "dml-charts")]
17018 #[serde(rename = "axId")]
17019 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17020 pub ax_id: Vec<CTUnsignedInt>,
17021 #[cfg(feature = "dml-charts")]
17022 #[serde(rename = "extLst")]
17023 #[serde(default, skip_serializing_if = "Option::is_none")]
17024 pub ext_lst: Option<Box<ChartExtensionList>>,
17025 #[cfg(feature = "extra-children")]
17027 #[serde(skip)]
17028 #[cfg(feature = "extra-children")]
17029 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17030}
17031
17032#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17033pub struct Area3DChart {
17034 #[cfg(feature = "dml-charts")]
17035 #[serde(rename = "grouping")]
17036 #[serde(default, skip_serializing_if = "Option::is_none")]
17037 pub grouping: Option<Box<ChartGrouping>>,
17038 #[cfg(feature = "dml-charts")]
17039 #[serde(rename = "varyColors")]
17040 #[serde(default, skip_serializing_if = "Option::is_none")]
17041 pub vary_colors: Option<Box<CTBoolean>>,
17042 #[cfg(feature = "dml-charts")]
17043 #[serde(rename = "ser")]
17044 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17045 pub ser: Vec<AreaSeries>,
17046 #[cfg(feature = "dml-charts")]
17047 #[serde(rename = "dLbls")]
17048 #[serde(default, skip_serializing_if = "Option::is_none")]
17049 pub d_lbls: Option<Box<DataLabels>>,
17050 #[cfg(feature = "dml-charts")]
17051 #[serde(rename = "dropLines")]
17052 #[serde(default, skip_serializing_if = "Option::is_none")]
17053 pub drop_lines: Option<Box<ChartLines>>,
17054 #[cfg(feature = "dml-charts")]
17055 #[serde(rename = "gapDepth")]
17056 #[serde(default, skip_serializing_if = "Option::is_none")]
17057 pub gap_depth: Option<Box<GapAmount>>,
17058 #[cfg(feature = "dml-charts")]
17059 #[serde(rename = "axId")]
17060 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17061 pub ax_id: Vec<CTUnsignedInt>,
17062 #[cfg(feature = "dml-charts")]
17063 #[serde(rename = "extLst")]
17064 #[serde(default, skip_serializing_if = "Option::is_none")]
17065 pub ext_lst: Option<Box<ChartExtensionList>>,
17066 #[cfg(feature = "extra-children")]
17068 #[serde(skip)]
17069 #[cfg(feature = "extra-children")]
17070 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17071}
17072
17073#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17074pub struct EGPieChartShared {
17075 #[serde(rename = "varyColors")]
17076 #[serde(default, skip_serializing_if = "Option::is_none")]
17077 pub vary_colors: Option<Box<CTBoolean>>,
17078 #[serde(rename = "ser")]
17079 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17080 pub ser: Vec<PieSeries>,
17081 #[serde(rename = "dLbls")]
17082 #[serde(default, skip_serializing_if = "Option::is_none")]
17083 pub d_lbls: Option<Box<DataLabels>>,
17084 #[cfg(feature = "extra-children")]
17086 #[serde(skip)]
17087 #[cfg(feature = "extra-children")]
17088 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17089}
17090
17091#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17092pub struct PieChart {
17093 #[cfg(feature = "dml-charts")]
17094 #[serde(rename = "varyColors")]
17095 #[serde(default, skip_serializing_if = "Option::is_none")]
17096 pub vary_colors: Option<Box<CTBoolean>>,
17097 #[cfg(feature = "dml-charts")]
17098 #[serde(rename = "ser")]
17099 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17100 pub ser: Vec<PieSeries>,
17101 #[cfg(feature = "dml-charts")]
17102 #[serde(rename = "dLbls")]
17103 #[serde(default, skip_serializing_if = "Option::is_none")]
17104 pub d_lbls: Option<Box<DataLabels>>,
17105 #[cfg(feature = "dml-charts")]
17106 #[serde(rename = "firstSliceAng")]
17107 #[serde(default, skip_serializing_if = "Option::is_none")]
17108 pub first_slice_ang: Option<Box<FirstSliceAngle>>,
17109 #[cfg(feature = "dml-charts")]
17110 #[serde(rename = "extLst")]
17111 #[serde(default, skip_serializing_if = "Option::is_none")]
17112 pub ext_lst: Option<Box<ChartExtensionList>>,
17113 #[cfg(feature = "extra-children")]
17115 #[serde(skip)]
17116 #[cfg(feature = "extra-children")]
17117 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17118}
17119
17120#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17121pub struct Pie3DChart {
17122 #[cfg(feature = "dml-charts")]
17123 #[serde(rename = "varyColors")]
17124 #[serde(default, skip_serializing_if = "Option::is_none")]
17125 pub vary_colors: Option<Box<CTBoolean>>,
17126 #[cfg(feature = "dml-charts")]
17127 #[serde(rename = "ser")]
17128 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17129 pub ser: Vec<PieSeries>,
17130 #[cfg(feature = "dml-charts")]
17131 #[serde(rename = "dLbls")]
17132 #[serde(default, skip_serializing_if = "Option::is_none")]
17133 pub d_lbls: Option<Box<DataLabels>>,
17134 #[cfg(feature = "dml-charts")]
17135 #[serde(rename = "extLst")]
17136 #[serde(default, skip_serializing_if = "Option::is_none")]
17137 pub ext_lst: Option<Box<ChartExtensionList>>,
17138 #[cfg(feature = "extra-children")]
17140 #[serde(skip)]
17141 #[cfg(feature = "extra-children")]
17142 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17143}
17144
17145#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17146pub struct DoughnutChart {
17147 #[cfg(feature = "dml-charts")]
17148 #[serde(rename = "varyColors")]
17149 #[serde(default, skip_serializing_if = "Option::is_none")]
17150 pub vary_colors: Option<Box<CTBoolean>>,
17151 #[cfg(feature = "dml-charts")]
17152 #[serde(rename = "ser")]
17153 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17154 pub ser: Vec<PieSeries>,
17155 #[cfg(feature = "dml-charts")]
17156 #[serde(rename = "dLbls")]
17157 #[serde(default, skip_serializing_if = "Option::is_none")]
17158 pub d_lbls: Option<Box<DataLabels>>,
17159 #[cfg(feature = "dml-charts")]
17160 #[serde(rename = "firstSliceAng")]
17161 #[serde(default, skip_serializing_if = "Option::is_none")]
17162 pub first_slice_ang: Option<Box<FirstSliceAngle>>,
17163 #[cfg(feature = "dml-charts")]
17164 #[serde(rename = "holeSize")]
17165 #[serde(default, skip_serializing_if = "Option::is_none")]
17166 pub hole_size: Option<Box<HoleSize>>,
17167 #[cfg(feature = "dml-charts")]
17168 #[serde(rename = "extLst")]
17169 #[serde(default, skip_serializing_if = "Option::is_none")]
17170 pub ext_lst: Option<Box<ChartExtensionList>>,
17171 #[cfg(feature = "extra-children")]
17173 #[serde(skip)]
17174 #[cfg(feature = "extra-children")]
17175 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17176}
17177
17178#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17179pub struct OfPieType {
17180 #[cfg(feature = "dml-charts")]
17181 #[serde(rename = "@val")]
17182 #[serde(default, skip_serializing_if = "Option::is_none")]
17183 pub value: Option<OfPieTypeValue>,
17184 #[cfg(feature = "extra-attrs")]
17186 #[serde(skip)]
17187 #[cfg(feature = "extra-attrs")]
17188 #[serde(default)]
17189 #[cfg(feature = "extra-attrs")]
17190 pub extra_attrs: std::collections::HashMap<String, String>,
17191}
17192
17193#[derive(Debug, Clone, Serialize, Deserialize)]
17194pub struct OfPieChart {
17195 #[cfg(feature = "dml-charts")]
17196 #[serde(rename = "ofPieType")]
17197 pub of_pie_type: Box<OfPieType>,
17198 #[cfg(feature = "dml-charts")]
17199 #[serde(rename = "varyColors")]
17200 #[serde(default, skip_serializing_if = "Option::is_none")]
17201 pub vary_colors: Option<Box<CTBoolean>>,
17202 #[cfg(feature = "dml-charts")]
17203 #[serde(rename = "ser")]
17204 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17205 pub ser: Vec<PieSeries>,
17206 #[cfg(feature = "dml-charts")]
17207 #[serde(rename = "dLbls")]
17208 #[serde(default, skip_serializing_if = "Option::is_none")]
17209 pub d_lbls: Option<Box<DataLabels>>,
17210 #[cfg(feature = "dml-charts")]
17211 #[serde(rename = "gapWidth")]
17212 #[serde(default, skip_serializing_if = "Option::is_none")]
17213 pub gap_width: Option<Box<GapAmount>>,
17214 #[cfg(feature = "dml-charts")]
17215 #[serde(rename = "splitType")]
17216 #[serde(default, skip_serializing_if = "Option::is_none")]
17217 pub split_type: Option<Box<SplitType>>,
17218 #[cfg(feature = "dml-charts")]
17219 #[serde(rename = "splitPos")]
17220 #[serde(default, skip_serializing_if = "Option::is_none")]
17221 pub split_pos: Option<Box<CTDouble>>,
17222 #[cfg(feature = "dml-charts")]
17223 #[serde(rename = "custSplit")]
17224 #[serde(default, skip_serializing_if = "Option::is_none")]
17225 pub cust_split: Option<Box<CustomSplit>>,
17226 #[cfg(feature = "dml-charts")]
17227 #[serde(rename = "secondPieSize")]
17228 #[serde(default, skip_serializing_if = "Option::is_none")]
17229 pub second_pie_size: Option<Box<SecondPieSize>>,
17230 #[cfg(feature = "dml-charts")]
17231 #[serde(rename = "serLines")]
17232 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17233 pub ser_lines: Vec<ChartLines>,
17234 #[cfg(feature = "dml-charts")]
17235 #[serde(rename = "extLst")]
17236 #[serde(default, skip_serializing_if = "Option::is_none")]
17237 pub ext_lst: Option<Box<ChartExtensionList>>,
17238 #[cfg(feature = "extra-children")]
17240 #[serde(skip)]
17241 #[cfg(feature = "extra-children")]
17242 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17243}
17244
17245#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17246pub struct BubbleChart {
17247 #[cfg(feature = "dml-charts")]
17248 #[serde(rename = "varyColors")]
17249 #[serde(default, skip_serializing_if = "Option::is_none")]
17250 pub vary_colors: Option<Box<CTBoolean>>,
17251 #[cfg(feature = "dml-charts")]
17252 #[serde(rename = "ser")]
17253 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17254 pub ser: Vec<BubbleSeries>,
17255 #[cfg(feature = "dml-charts")]
17256 #[serde(rename = "dLbls")]
17257 #[serde(default, skip_serializing_if = "Option::is_none")]
17258 pub d_lbls: Option<Box<DataLabels>>,
17259 #[cfg(feature = "dml-charts")]
17260 #[serde(rename = "bubble3D")]
17261 #[serde(default, skip_serializing_if = "Option::is_none")]
17262 pub bubble3_d: Option<Box<CTBoolean>>,
17263 #[cfg(feature = "dml-charts")]
17264 #[serde(rename = "bubbleScale")]
17265 #[serde(default, skip_serializing_if = "Option::is_none")]
17266 pub bubble_scale: Option<Box<BubbleScale>>,
17267 #[cfg(feature = "dml-charts")]
17268 #[serde(rename = "showNegBubbles")]
17269 #[serde(default, skip_serializing_if = "Option::is_none")]
17270 pub show_neg_bubbles: Option<Box<CTBoolean>>,
17271 #[cfg(feature = "dml-charts")]
17272 #[serde(rename = "sizeRepresents")]
17273 #[serde(default, skip_serializing_if = "Option::is_none")]
17274 pub size_represents: Option<Box<SizeRepresents>>,
17275 #[cfg(feature = "dml-charts")]
17276 #[serde(rename = "axId")]
17277 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17278 pub ax_id: Vec<CTUnsignedInt>,
17279 #[cfg(feature = "dml-charts")]
17280 #[serde(rename = "extLst")]
17281 #[serde(default, skip_serializing_if = "Option::is_none")]
17282 pub ext_lst: Option<Box<ChartExtensionList>>,
17283 #[cfg(feature = "extra-children")]
17285 #[serde(skip)]
17286 #[cfg(feature = "extra-children")]
17287 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17288}
17289
17290#[derive(Debug, Clone, Serialize, Deserialize)]
17291pub struct BandFormat {
17292 #[cfg(feature = "dml-charts")]
17293 #[serde(rename = "idx")]
17294 pub idx: Box<CTUnsignedInt>,
17295 #[cfg(feature = "dml-charts")]
17296 #[serde(rename = "spPr")]
17297 #[serde(default, skip_serializing_if = "Option::is_none")]
17298 pub sp_pr: Option<Box<CTShapeProperties>>,
17299 #[cfg(feature = "extra-children")]
17301 #[serde(skip)]
17302 #[cfg(feature = "extra-children")]
17303 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17304}
17305
17306#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17307pub struct BandFormats {
17308 #[cfg(feature = "dml-charts")]
17309 #[serde(rename = "bandFmt")]
17310 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17311 pub band_fmt: Vec<BandFormat>,
17312 #[cfg(feature = "extra-children")]
17314 #[serde(skip)]
17315 #[cfg(feature = "extra-children")]
17316 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17317}
17318
17319#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17320pub struct EGSurfaceChartShared {
17321 #[serde(rename = "wireframe")]
17322 #[serde(default, skip_serializing_if = "Option::is_none")]
17323 pub wireframe: Option<Box<CTBoolean>>,
17324 #[serde(rename = "ser")]
17325 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17326 pub ser: Vec<SurfaceSeries>,
17327 #[serde(rename = "bandFmts")]
17328 #[serde(default, skip_serializing_if = "Option::is_none")]
17329 pub band_fmts: Option<Box<BandFormats>>,
17330 #[cfg(feature = "extra-children")]
17332 #[serde(skip)]
17333 #[cfg(feature = "extra-children")]
17334 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17335}
17336
17337#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17338pub struct SurfaceChart {
17339 #[cfg(feature = "dml-charts")]
17340 #[serde(rename = "wireframe")]
17341 #[serde(default, skip_serializing_if = "Option::is_none")]
17342 pub wireframe: Option<Box<CTBoolean>>,
17343 #[cfg(feature = "dml-charts")]
17344 #[serde(rename = "ser")]
17345 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17346 pub ser: Vec<SurfaceSeries>,
17347 #[cfg(feature = "dml-charts")]
17348 #[serde(rename = "bandFmts")]
17349 #[serde(default, skip_serializing_if = "Option::is_none")]
17350 pub band_fmts: Option<Box<BandFormats>>,
17351 #[cfg(feature = "dml-charts")]
17352 #[serde(rename = "axId")]
17353 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17354 pub ax_id: Vec<CTUnsignedInt>,
17355 #[cfg(feature = "dml-charts")]
17356 #[serde(rename = "extLst")]
17357 #[serde(default, skip_serializing_if = "Option::is_none")]
17358 pub ext_lst: Option<Box<ChartExtensionList>>,
17359 #[cfg(feature = "extra-children")]
17361 #[serde(skip)]
17362 #[cfg(feature = "extra-children")]
17363 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17364}
17365
17366#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17367pub struct Surface3DChart {
17368 #[cfg(feature = "dml-charts")]
17369 #[serde(rename = "wireframe")]
17370 #[serde(default, skip_serializing_if = "Option::is_none")]
17371 pub wireframe: Option<Box<CTBoolean>>,
17372 #[cfg(feature = "dml-charts")]
17373 #[serde(rename = "ser")]
17374 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17375 pub ser: Vec<SurfaceSeries>,
17376 #[cfg(feature = "dml-charts")]
17377 #[serde(rename = "bandFmts")]
17378 #[serde(default, skip_serializing_if = "Option::is_none")]
17379 pub band_fmts: Option<Box<BandFormats>>,
17380 #[cfg(feature = "dml-charts")]
17381 #[serde(rename = "axId")]
17382 #[serde(default, skip_serializing_if = "Vec::is_empty")]
17383 pub ax_id: Vec<CTUnsignedInt>,
17384 #[cfg(feature = "dml-charts")]
17385 #[serde(rename = "extLst")]
17386 #[serde(default, skip_serializing_if = "Option::is_none")]
17387 pub ext_lst: Option<Box<ChartExtensionList>>,
17388 #[cfg(feature = "extra-children")]
17390 #[serde(skip)]
17391 #[cfg(feature = "extra-children")]
17392 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17393}
17394
17395#[derive(Debug, Clone, Serialize, Deserialize)]
17396pub struct AxisPosition {
17397 #[cfg(feature = "dml-charts")]
17398 #[serde(rename = "@val")]
17399 pub value: AxisPositionType,
17400 #[cfg(feature = "extra-attrs")]
17402 #[serde(skip)]
17403 #[cfg(feature = "extra-attrs")]
17404 #[serde(default)]
17405 #[cfg(feature = "extra-attrs")]
17406 pub extra_attrs: std::collections::HashMap<String, String>,
17407}
17408
17409#[derive(Debug, Clone, Serialize, Deserialize)]
17410pub struct AxisCrosses {
17411 #[cfg(feature = "dml-charts")]
17412 #[serde(rename = "@val")]
17413 pub value: AxisCrossesType,
17414 #[cfg(feature = "extra-attrs")]
17416 #[serde(skip)]
17417 #[cfg(feature = "extra-attrs")]
17418 #[serde(default)]
17419 #[cfg(feature = "extra-attrs")]
17420 pub extra_attrs: std::collections::HashMap<String, String>,
17421}
17422
17423#[derive(Debug, Clone, Serialize, Deserialize)]
17424pub struct CrossBetween {
17425 #[cfg(feature = "dml-charts")]
17426 #[serde(rename = "@val")]
17427 pub value: CrossBetweenType,
17428 #[cfg(feature = "extra-attrs")]
17430 #[serde(skip)]
17431 #[cfg(feature = "extra-attrs")]
17432 #[serde(default)]
17433 #[cfg(feature = "extra-attrs")]
17434 pub extra_attrs: std::collections::HashMap<String, String>,
17435}
17436
17437#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17438pub struct TickMark {
17439 #[cfg(feature = "dml-charts")]
17440 #[serde(rename = "@val")]
17441 #[serde(default, skip_serializing_if = "Option::is_none")]
17442 pub value: Option<TickMarkType>,
17443 #[cfg(feature = "extra-attrs")]
17445 #[serde(skip)]
17446 #[cfg(feature = "extra-attrs")]
17447 #[serde(default)]
17448 #[cfg(feature = "extra-attrs")]
17449 pub extra_attrs: std::collections::HashMap<String, String>,
17450}
17451
17452#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17453pub struct TickLabelPosition {
17454 #[cfg(feature = "dml-charts")]
17455 #[serde(rename = "@val")]
17456 #[serde(default, skip_serializing_if = "Option::is_none")]
17457 pub value: Option<TickLabelPositionType>,
17458 #[cfg(feature = "extra-attrs")]
17460 #[serde(skip)]
17461 #[cfg(feature = "extra-attrs")]
17462 #[serde(default)]
17463 #[cfg(feature = "extra-attrs")]
17464 pub extra_attrs: std::collections::HashMap<String, String>,
17465}
17466
17467#[derive(Debug, Clone, Serialize, Deserialize)]
17468pub struct AxisSkip {
17469 #[cfg(feature = "dml-charts")]
17470 #[serde(rename = "@val")]
17471 pub value: AxisSkipValue,
17472 #[cfg(feature = "extra-attrs")]
17474 #[serde(skip)]
17475 #[cfg(feature = "extra-attrs")]
17476 #[serde(default)]
17477 #[cfg(feature = "extra-attrs")]
17478 pub extra_attrs: std::collections::HashMap<String, String>,
17479}
17480
17481#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17482pub struct TimeUnit {
17483 #[cfg(feature = "dml-charts")]
17484 #[serde(rename = "@val")]
17485 #[serde(default, skip_serializing_if = "Option::is_none")]
17486 pub value: Option<TimeUnitType>,
17487 #[cfg(feature = "extra-attrs")]
17489 #[serde(skip)]
17490 #[cfg(feature = "extra-attrs")]
17491 #[serde(default)]
17492 #[cfg(feature = "extra-attrs")]
17493 pub extra_attrs: std::collections::HashMap<String, String>,
17494}
17495
17496#[derive(Debug, Clone, Serialize, Deserialize)]
17497pub struct AxisUnit {
17498 #[cfg(feature = "dml-charts")]
17499 #[serde(rename = "@val")]
17500 pub value: AxisUnitValue,
17501 #[cfg(feature = "extra-attrs")]
17503 #[serde(skip)]
17504 #[cfg(feature = "extra-attrs")]
17505 #[serde(default)]
17506 #[cfg(feature = "extra-attrs")]
17507 pub extra_attrs: std::collections::HashMap<String, String>,
17508}
17509
17510#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17511pub struct BuiltInUnit {
17512 #[cfg(feature = "dml-charts")]
17513 #[serde(rename = "@val")]
17514 #[serde(default, skip_serializing_if = "Option::is_none")]
17515 pub value: Option<BuiltInUnitType>,
17516 #[cfg(feature = "extra-attrs")]
17518 #[serde(skip)]
17519 #[cfg(feature = "extra-attrs")]
17520 #[serde(default)]
17521 #[cfg(feature = "extra-attrs")]
17522 pub extra_attrs: std::collections::HashMap<String, String>,
17523}
17524
17525#[derive(Debug, Clone, Serialize, Deserialize)]
17526pub struct ChartPictureFormat {
17527 #[cfg(feature = "dml-charts")]
17528 #[serde(rename = "@val")]
17529 pub value: PictureFormatType,
17530 #[cfg(feature = "extra-attrs")]
17532 #[serde(skip)]
17533 #[cfg(feature = "extra-attrs")]
17534 #[serde(default)]
17535 #[cfg(feature = "extra-attrs")]
17536 pub extra_attrs: std::collections::HashMap<String, String>,
17537}
17538
17539#[derive(Debug, Clone, Serialize, Deserialize)]
17540pub struct PictureStackUnit {
17541 #[cfg(feature = "dml-charts")]
17542 #[serde(rename = "@val")]
17543 pub value: PictureStackUnitValue,
17544 #[cfg(feature = "extra-attrs")]
17546 #[serde(skip)]
17547 #[cfg(feature = "extra-attrs")]
17548 #[serde(default)]
17549 #[cfg(feature = "extra-attrs")]
17550 pub extra_attrs: std::collections::HashMap<String, String>,
17551}
17552
17553#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17554pub struct PictureOptions {
17555 #[cfg(feature = "dml-charts")]
17556 #[serde(rename = "applyToFront")]
17557 #[serde(default, skip_serializing_if = "Option::is_none")]
17558 pub apply_to_front: Option<Box<CTBoolean>>,
17559 #[cfg(feature = "dml-charts")]
17560 #[serde(rename = "applyToSides")]
17561 #[serde(default, skip_serializing_if = "Option::is_none")]
17562 pub apply_to_sides: Option<Box<CTBoolean>>,
17563 #[cfg(feature = "dml-charts")]
17564 #[serde(rename = "applyToEnd")]
17565 #[serde(default, skip_serializing_if = "Option::is_none")]
17566 pub apply_to_end: Option<Box<CTBoolean>>,
17567 #[cfg(feature = "dml-charts")]
17568 #[serde(rename = "pictureFormat")]
17569 #[serde(default, skip_serializing_if = "Option::is_none")]
17570 pub picture_format: Option<Box<ChartPictureFormat>>,
17571 #[cfg(feature = "dml-charts")]
17572 #[serde(rename = "pictureStackUnit")]
17573 #[serde(default, skip_serializing_if = "Option::is_none")]
17574 pub picture_stack_unit: Option<Box<PictureStackUnit>>,
17575 #[cfg(feature = "extra-children")]
17577 #[serde(skip)]
17578 #[cfg(feature = "extra-children")]
17579 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17580}
17581
17582#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17583pub struct DisplayUnitsLabel {
17584 #[cfg(feature = "dml-charts")]
17585 #[serde(rename = "layout")]
17586 #[serde(default, skip_serializing_if = "Option::is_none")]
17587 pub layout: Option<Box<ChartLayout>>,
17588 #[cfg(feature = "dml-charts")]
17589 #[serde(rename = "tx")]
17590 #[serde(default, skip_serializing_if = "Option::is_none")]
17591 pub tx: Option<Box<ChartText>>,
17592 #[cfg(feature = "dml-charts")]
17593 #[serde(rename = "spPr")]
17594 #[serde(default, skip_serializing_if = "Option::is_none")]
17595 pub sp_pr: Option<Box<CTShapeProperties>>,
17596 #[cfg(feature = "dml-charts")]
17597 #[serde(rename = "txPr")]
17598 #[serde(default, skip_serializing_if = "Option::is_none")]
17599 pub tx_pr: Option<Box<TextBody>>,
17600 #[cfg(feature = "extra-children")]
17602 #[serde(skip)]
17603 #[cfg(feature = "extra-children")]
17604 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17605}
17606
17607#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17608pub struct DisplayUnits {
17609 #[cfg(feature = "dml-charts")]
17610 #[serde(rename = "custUnit")]
17611 #[serde(default, skip_serializing_if = "Option::is_none")]
17612 pub cust_unit: Option<Box<CTDouble>>,
17613 #[cfg(feature = "dml-charts")]
17614 #[serde(rename = "builtInUnit")]
17615 #[serde(default, skip_serializing_if = "Option::is_none")]
17616 pub built_in_unit: Option<Box<BuiltInUnit>>,
17617 #[cfg(feature = "dml-charts")]
17618 #[serde(rename = "dispUnitsLbl")]
17619 #[serde(default, skip_serializing_if = "Option::is_none")]
17620 pub disp_units_lbl: Option<Box<DisplayUnitsLabel>>,
17621 #[cfg(feature = "dml-charts")]
17622 #[serde(rename = "extLst")]
17623 #[serde(default, skip_serializing_if = "Option::is_none")]
17624 pub ext_lst: Option<Box<ChartExtensionList>>,
17625 #[cfg(feature = "extra-children")]
17627 #[serde(skip)]
17628 #[cfg(feature = "extra-children")]
17629 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17630}
17631
17632#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17633pub struct AxisOrientation {
17634 #[cfg(feature = "dml-charts")]
17635 #[serde(rename = "@val")]
17636 #[serde(default, skip_serializing_if = "Option::is_none")]
17637 pub value: Option<AxisOrientationType>,
17638 #[cfg(feature = "extra-attrs")]
17640 #[serde(skip)]
17641 #[cfg(feature = "extra-attrs")]
17642 #[serde(default)]
17643 #[cfg(feature = "extra-attrs")]
17644 pub extra_attrs: std::collections::HashMap<String, String>,
17645}
17646
17647#[derive(Debug, Clone, Serialize, Deserialize)]
17648pub struct LogBase {
17649 #[cfg(feature = "dml-charts")]
17650 #[serde(rename = "@val")]
17651 pub value: LogBaseValue,
17652 #[cfg(feature = "extra-attrs")]
17654 #[serde(skip)]
17655 #[cfg(feature = "extra-attrs")]
17656 #[serde(default)]
17657 #[cfg(feature = "extra-attrs")]
17658 pub extra_attrs: std::collections::HashMap<String, String>,
17659}
17660
17661#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17662pub struct AxisScaling {
17663 #[cfg(feature = "dml-charts")]
17664 #[serde(rename = "logBase")]
17665 #[serde(default, skip_serializing_if = "Option::is_none")]
17666 pub log_base: Option<Box<LogBase>>,
17667 #[cfg(feature = "dml-charts")]
17668 #[serde(rename = "orientation")]
17669 #[serde(default, skip_serializing_if = "Option::is_none")]
17670 pub orientation: Option<Box<AxisOrientation>>,
17671 #[cfg(feature = "dml-charts")]
17672 #[serde(rename = "max")]
17673 #[serde(default, skip_serializing_if = "Option::is_none")]
17674 pub max: Option<Box<CTDouble>>,
17675 #[cfg(feature = "dml-charts")]
17676 #[serde(rename = "min")]
17677 #[serde(default, skip_serializing_if = "Option::is_none")]
17678 pub min: Option<Box<CTDouble>>,
17679 #[cfg(feature = "dml-charts")]
17680 #[serde(rename = "extLst")]
17681 #[serde(default, skip_serializing_if = "Option::is_none")]
17682 pub ext_lst: Option<Box<ChartExtensionList>>,
17683 #[cfg(feature = "extra-children")]
17685 #[serde(skip)]
17686 #[cfg(feature = "extra-children")]
17687 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17688}
17689
17690#[derive(Debug, Clone, Default, Serialize, Deserialize)]
17691pub struct LabelOffset {
17692 #[cfg(feature = "dml-charts")]
17693 #[serde(rename = "@val")]
17694 #[serde(default, skip_serializing_if = "Option::is_none")]
17695 pub value: Option<LabelOffsetValue>,
17696 #[cfg(feature = "extra-attrs")]
17698 #[serde(skip)]
17699 #[cfg(feature = "extra-attrs")]
17700 #[serde(default)]
17701 #[cfg(feature = "extra-attrs")]
17702 pub extra_attrs: std::collections::HashMap<String, String>,
17703}
17704
17705#[derive(Debug, Clone, Serialize, Deserialize)]
17706pub struct EGAxShared {
17707 #[serde(rename = "axId")]
17708 pub ax_id: Box<CTUnsignedInt>,
17709 #[serde(rename = "scaling")]
17710 pub scaling: Box<AxisScaling>,
17711 #[serde(rename = "delete")]
17712 #[serde(default, skip_serializing_if = "Option::is_none")]
17713 pub delete: Option<Box<CTBoolean>>,
17714 #[serde(rename = "axPos")]
17715 pub ax_pos: Box<AxisPosition>,
17716 #[serde(rename = "majorGridlines")]
17717 #[serde(default, skip_serializing_if = "Option::is_none")]
17718 pub major_gridlines: Option<Box<ChartLines>>,
17719 #[serde(rename = "minorGridlines")]
17720 #[serde(default, skip_serializing_if = "Option::is_none")]
17721 pub minor_gridlines: Option<Box<ChartLines>>,
17722 #[serde(rename = "title")]
17723 #[serde(default, skip_serializing_if = "Option::is_none")]
17724 pub title: Option<Box<ChartTitle>>,
17725 #[serde(rename = "numFmt")]
17726 #[serde(default, skip_serializing_if = "Option::is_none")]
17727 pub num_fmt: Option<Box<ChartNumFmt>>,
17728 #[serde(rename = "majorTickMark")]
17729 #[serde(default, skip_serializing_if = "Option::is_none")]
17730 pub major_tick_mark: Option<Box<TickMark>>,
17731 #[serde(rename = "minorTickMark")]
17732 #[serde(default, skip_serializing_if = "Option::is_none")]
17733 pub minor_tick_mark: Option<Box<TickMark>>,
17734 #[serde(rename = "tickLblPos")]
17735 #[serde(default, skip_serializing_if = "Option::is_none")]
17736 pub tick_lbl_pos: Option<Box<TickLabelPosition>>,
17737 #[serde(rename = "spPr")]
17738 #[serde(default, skip_serializing_if = "Option::is_none")]
17739 pub sp_pr: Option<Box<CTShapeProperties>>,
17740 #[serde(rename = "txPr")]
17741 #[serde(default, skip_serializing_if = "Option::is_none")]
17742 pub tx_pr: Option<Box<TextBody>>,
17743 #[serde(rename = "crossAx")]
17744 pub cross_ax: Box<CTUnsignedInt>,
17745 #[serde(rename = "crosses")]
17746 #[serde(default, skip_serializing_if = "Option::is_none")]
17747 pub crosses: Option<Box<AxisCrosses>>,
17748 #[serde(rename = "crossesAt")]
17749 #[serde(default, skip_serializing_if = "Option::is_none")]
17750 pub crosses_at: Option<Box<CTDouble>>,
17751 #[cfg(feature = "extra-children")]
17753 #[serde(skip)]
17754 #[cfg(feature = "extra-children")]
17755 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17756}
17757
17758#[derive(Debug, Clone, Serialize, Deserialize)]
17759pub struct CategoryAxis {
17760 #[cfg(feature = "dml-charts")]
17761 #[serde(rename = "axId")]
17762 pub ax_id: Box<CTUnsignedInt>,
17763 #[cfg(feature = "dml-charts")]
17764 #[serde(rename = "scaling")]
17765 pub scaling: Box<AxisScaling>,
17766 #[cfg(feature = "dml-charts")]
17767 #[serde(rename = "delete")]
17768 #[serde(default, skip_serializing_if = "Option::is_none")]
17769 pub delete: Option<Box<CTBoolean>>,
17770 #[cfg(feature = "dml-charts")]
17771 #[serde(rename = "axPos")]
17772 pub ax_pos: Box<AxisPosition>,
17773 #[cfg(feature = "dml-charts")]
17774 #[serde(rename = "majorGridlines")]
17775 #[serde(default, skip_serializing_if = "Option::is_none")]
17776 pub major_gridlines: Option<Box<ChartLines>>,
17777 #[cfg(feature = "dml-charts")]
17778 #[serde(rename = "minorGridlines")]
17779 #[serde(default, skip_serializing_if = "Option::is_none")]
17780 pub minor_gridlines: Option<Box<ChartLines>>,
17781 #[cfg(feature = "dml-charts")]
17782 #[serde(rename = "title")]
17783 #[serde(default, skip_serializing_if = "Option::is_none")]
17784 pub title: Option<Box<ChartTitle>>,
17785 #[cfg(feature = "dml-charts")]
17786 #[serde(rename = "numFmt")]
17787 #[serde(default, skip_serializing_if = "Option::is_none")]
17788 pub num_fmt: Option<Box<ChartNumFmt>>,
17789 #[cfg(feature = "dml-charts")]
17790 #[serde(rename = "majorTickMark")]
17791 #[serde(default, skip_serializing_if = "Option::is_none")]
17792 pub major_tick_mark: Option<Box<TickMark>>,
17793 #[cfg(feature = "dml-charts")]
17794 #[serde(rename = "minorTickMark")]
17795 #[serde(default, skip_serializing_if = "Option::is_none")]
17796 pub minor_tick_mark: Option<Box<TickMark>>,
17797 #[cfg(feature = "dml-charts")]
17798 #[serde(rename = "tickLblPos")]
17799 #[serde(default, skip_serializing_if = "Option::is_none")]
17800 pub tick_lbl_pos: Option<Box<TickLabelPosition>>,
17801 #[cfg(feature = "dml-charts")]
17802 #[serde(rename = "spPr")]
17803 #[serde(default, skip_serializing_if = "Option::is_none")]
17804 pub sp_pr: Option<Box<CTShapeProperties>>,
17805 #[cfg(feature = "dml-charts")]
17806 #[serde(rename = "txPr")]
17807 #[serde(default, skip_serializing_if = "Option::is_none")]
17808 pub tx_pr: Option<Box<TextBody>>,
17809 #[cfg(feature = "dml-charts")]
17810 #[serde(rename = "crossAx")]
17811 pub cross_ax: Box<CTUnsignedInt>,
17812 #[cfg(feature = "dml-charts")]
17813 #[serde(rename = "crosses")]
17814 #[serde(default, skip_serializing_if = "Option::is_none")]
17815 pub crosses: Option<Box<AxisCrosses>>,
17816 #[cfg(feature = "dml-charts")]
17817 #[serde(rename = "crossesAt")]
17818 #[serde(default, skip_serializing_if = "Option::is_none")]
17819 pub crosses_at: Option<Box<CTDouble>>,
17820 #[cfg(feature = "dml-charts")]
17821 #[serde(rename = "auto")]
17822 #[serde(default, skip_serializing_if = "Option::is_none")]
17823 pub auto: Option<Box<CTBoolean>>,
17824 #[cfg(feature = "dml-charts")]
17825 #[serde(rename = "lblAlgn")]
17826 #[serde(default, skip_serializing_if = "Option::is_none")]
17827 pub lbl_algn: Option<Box<LabelAlignment>>,
17828 #[cfg(feature = "dml-charts")]
17829 #[serde(rename = "lblOffset")]
17830 #[serde(default, skip_serializing_if = "Option::is_none")]
17831 pub lbl_offset: Option<Box<LabelOffset>>,
17832 #[cfg(feature = "dml-charts")]
17833 #[serde(rename = "tickLblSkip")]
17834 #[serde(default, skip_serializing_if = "Option::is_none")]
17835 pub tick_lbl_skip: Option<Box<AxisSkip>>,
17836 #[cfg(feature = "dml-charts")]
17837 #[serde(rename = "tickMarkSkip")]
17838 #[serde(default, skip_serializing_if = "Option::is_none")]
17839 pub tick_mark_skip: Option<Box<AxisSkip>>,
17840 #[cfg(feature = "dml-charts")]
17841 #[serde(rename = "noMultiLvlLbl")]
17842 #[serde(default, skip_serializing_if = "Option::is_none")]
17843 pub no_multi_lvl_lbl: Option<Box<CTBoolean>>,
17844 #[cfg(feature = "dml-charts")]
17845 #[serde(rename = "extLst")]
17846 #[serde(default, skip_serializing_if = "Option::is_none")]
17847 pub ext_lst: Option<Box<ChartExtensionList>>,
17848 #[cfg(feature = "extra-children")]
17850 #[serde(skip)]
17851 #[cfg(feature = "extra-children")]
17852 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17853}
17854
17855#[derive(Debug, Clone, Serialize, Deserialize)]
17856pub struct DateAxis {
17857 #[cfg(feature = "dml-charts")]
17858 #[serde(rename = "axId")]
17859 pub ax_id: Box<CTUnsignedInt>,
17860 #[cfg(feature = "dml-charts")]
17861 #[serde(rename = "scaling")]
17862 pub scaling: Box<AxisScaling>,
17863 #[cfg(feature = "dml-charts")]
17864 #[serde(rename = "delete")]
17865 #[serde(default, skip_serializing_if = "Option::is_none")]
17866 pub delete: Option<Box<CTBoolean>>,
17867 #[cfg(feature = "dml-charts")]
17868 #[serde(rename = "axPos")]
17869 pub ax_pos: Box<AxisPosition>,
17870 #[cfg(feature = "dml-charts")]
17871 #[serde(rename = "majorGridlines")]
17872 #[serde(default, skip_serializing_if = "Option::is_none")]
17873 pub major_gridlines: Option<Box<ChartLines>>,
17874 #[cfg(feature = "dml-charts")]
17875 #[serde(rename = "minorGridlines")]
17876 #[serde(default, skip_serializing_if = "Option::is_none")]
17877 pub minor_gridlines: Option<Box<ChartLines>>,
17878 #[cfg(feature = "dml-charts")]
17879 #[serde(rename = "title")]
17880 #[serde(default, skip_serializing_if = "Option::is_none")]
17881 pub title: Option<Box<ChartTitle>>,
17882 #[cfg(feature = "dml-charts")]
17883 #[serde(rename = "numFmt")]
17884 #[serde(default, skip_serializing_if = "Option::is_none")]
17885 pub num_fmt: Option<Box<ChartNumFmt>>,
17886 #[cfg(feature = "dml-charts")]
17887 #[serde(rename = "majorTickMark")]
17888 #[serde(default, skip_serializing_if = "Option::is_none")]
17889 pub major_tick_mark: Option<Box<TickMark>>,
17890 #[cfg(feature = "dml-charts")]
17891 #[serde(rename = "minorTickMark")]
17892 #[serde(default, skip_serializing_if = "Option::is_none")]
17893 pub minor_tick_mark: Option<Box<TickMark>>,
17894 #[cfg(feature = "dml-charts")]
17895 #[serde(rename = "tickLblPos")]
17896 #[serde(default, skip_serializing_if = "Option::is_none")]
17897 pub tick_lbl_pos: Option<Box<TickLabelPosition>>,
17898 #[cfg(feature = "dml-charts")]
17899 #[serde(rename = "spPr")]
17900 #[serde(default, skip_serializing_if = "Option::is_none")]
17901 pub sp_pr: Option<Box<CTShapeProperties>>,
17902 #[cfg(feature = "dml-charts")]
17903 #[serde(rename = "txPr")]
17904 #[serde(default, skip_serializing_if = "Option::is_none")]
17905 pub tx_pr: Option<Box<TextBody>>,
17906 #[cfg(feature = "dml-charts")]
17907 #[serde(rename = "crossAx")]
17908 pub cross_ax: Box<CTUnsignedInt>,
17909 #[cfg(feature = "dml-charts")]
17910 #[serde(rename = "crosses")]
17911 #[serde(default, skip_serializing_if = "Option::is_none")]
17912 pub crosses: Option<Box<AxisCrosses>>,
17913 #[cfg(feature = "dml-charts")]
17914 #[serde(rename = "crossesAt")]
17915 #[serde(default, skip_serializing_if = "Option::is_none")]
17916 pub crosses_at: Option<Box<CTDouble>>,
17917 #[cfg(feature = "dml-charts")]
17918 #[serde(rename = "auto")]
17919 #[serde(default, skip_serializing_if = "Option::is_none")]
17920 pub auto: Option<Box<CTBoolean>>,
17921 #[cfg(feature = "dml-charts")]
17922 #[serde(rename = "lblOffset")]
17923 #[serde(default, skip_serializing_if = "Option::is_none")]
17924 pub lbl_offset: Option<Box<LabelOffset>>,
17925 #[cfg(feature = "dml-charts")]
17926 #[serde(rename = "baseTimeUnit")]
17927 #[serde(default, skip_serializing_if = "Option::is_none")]
17928 pub base_time_unit: Option<Box<TimeUnit>>,
17929 #[cfg(feature = "dml-charts")]
17930 #[serde(rename = "majorUnit")]
17931 #[serde(default, skip_serializing_if = "Option::is_none")]
17932 pub major_unit: Option<Box<AxisUnit>>,
17933 #[cfg(feature = "dml-charts")]
17934 #[serde(rename = "majorTimeUnit")]
17935 #[serde(default, skip_serializing_if = "Option::is_none")]
17936 pub major_time_unit: Option<Box<TimeUnit>>,
17937 #[cfg(feature = "dml-charts")]
17938 #[serde(rename = "minorUnit")]
17939 #[serde(default, skip_serializing_if = "Option::is_none")]
17940 pub minor_unit: Option<Box<AxisUnit>>,
17941 #[cfg(feature = "dml-charts")]
17942 #[serde(rename = "minorTimeUnit")]
17943 #[serde(default, skip_serializing_if = "Option::is_none")]
17944 pub minor_time_unit: Option<Box<TimeUnit>>,
17945 #[cfg(feature = "dml-charts")]
17946 #[serde(rename = "extLst")]
17947 #[serde(default, skip_serializing_if = "Option::is_none")]
17948 pub ext_lst: Option<Box<ChartExtensionList>>,
17949 #[cfg(feature = "extra-children")]
17951 #[serde(skip)]
17952 #[cfg(feature = "extra-children")]
17953 pub extra_children: Vec<ooxml_xml::PositionedNode>,
17954}
17955
17956#[derive(Debug, Clone, Serialize, Deserialize)]
17957pub struct SeriesAxis {
17958 #[cfg(feature = "dml-charts")]
17959 #[serde(rename = "axId")]
17960 pub ax_id: Box<CTUnsignedInt>,
17961 #[cfg(feature = "dml-charts")]
17962 #[serde(rename = "scaling")]
17963 pub scaling: Box<AxisScaling>,
17964 #[cfg(feature = "dml-charts")]
17965 #[serde(rename = "delete")]
17966 #[serde(default, skip_serializing_if = "Option::is_none")]
17967 pub delete: Option<Box<CTBoolean>>,
17968 #[cfg(feature = "dml-charts")]
17969 #[serde(rename = "axPos")]
17970 pub ax_pos: Box<AxisPosition>,
17971 #[cfg(feature = "dml-charts")]
17972 #[serde(rename = "majorGridlines")]
17973 #[serde(default, skip_serializing_if = "Option::is_none")]
17974 pub major_gridlines: Option<Box<ChartLines>>,
17975 #[cfg(feature = "dml-charts")]
17976 #[serde(rename = "minorGridlines")]
17977 #[serde(default, skip_serializing_if = "Option::is_none")]
17978 pub minor_gridlines: Option<Box<ChartLines>>,
17979 #[cfg(feature = "dml-charts")]
17980 #[serde(rename = "title")]
17981 #[serde(default, skip_serializing_if = "Option::is_none")]
17982 pub title: Option<Box<ChartTitle>>,
17983 #[cfg(feature = "dml-charts")]
17984 #[serde(rename = "numFmt")]
17985 #[serde(default, skip_serializing_if = "Option::is_none")]
17986 pub num_fmt: Option<Box<ChartNumFmt>>,
17987 #[cfg(feature = "dml-charts")]
17988 #[serde(rename = "majorTickMark")]
17989 #[serde(default, skip_serializing_if = "Option::is_none")]
17990 pub major_tick_mark: Option<Box<TickMark>>,
17991 #[cfg(feature = "dml-charts")]
17992 #[serde(rename = "minorTickMark")]
17993 #[serde(default, skip_serializing_if = "Option::is_none")]
17994 pub minor_tick_mark: Option<Box<TickMark>>,
17995 #[cfg(feature = "dml-charts")]
17996 #[serde(rename = "tickLblPos")]
17997 #[serde(default, skip_serializing_if = "Option::is_none")]
17998 pub tick_lbl_pos: Option<Box<TickLabelPosition>>,
17999 #[cfg(feature = "dml-charts")]
18000 #[serde(rename = "spPr")]
18001 #[serde(default, skip_serializing_if = "Option::is_none")]
18002 pub sp_pr: Option<Box<CTShapeProperties>>,
18003 #[cfg(feature = "dml-charts")]
18004 #[serde(rename = "txPr")]
18005 #[serde(default, skip_serializing_if = "Option::is_none")]
18006 pub tx_pr: Option<Box<TextBody>>,
18007 #[cfg(feature = "dml-charts")]
18008 #[serde(rename = "crossAx")]
18009 pub cross_ax: Box<CTUnsignedInt>,
18010 #[cfg(feature = "dml-charts")]
18011 #[serde(rename = "crosses")]
18012 #[serde(default, skip_serializing_if = "Option::is_none")]
18013 pub crosses: Option<Box<AxisCrosses>>,
18014 #[cfg(feature = "dml-charts")]
18015 #[serde(rename = "crossesAt")]
18016 #[serde(default, skip_serializing_if = "Option::is_none")]
18017 pub crosses_at: Option<Box<CTDouble>>,
18018 #[cfg(feature = "dml-charts")]
18019 #[serde(rename = "tickLblSkip")]
18020 #[serde(default, skip_serializing_if = "Option::is_none")]
18021 pub tick_lbl_skip: Option<Box<AxisSkip>>,
18022 #[cfg(feature = "dml-charts")]
18023 #[serde(rename = "tickMarkSkip")]
18024 #[serde(default, skip_serializing_if = "Option::is_none")]
18025 pub tick_mark_skip: Option<Box<AxisSkip>>,
18026 #[cfg(feature = "dml-charts")]
18027 #[serde(rename = "extLst")]
18028 #[serde(default, skip_serializing_if = "Option::is_none")]
18029 pub ext_lst: Option<Box<ChartExtensionList>>,
18030 #[cfg(feature = "extra-children")]
18032 #[serde(skip)]
18033 #[cfg(feature = "extra-children")]
18034 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18035}
18036
18037#[derive(Debug, Clone, Serialize, Deserialize)]
18038pub struct ValueAxis {
18039 #[cfg(feature = "dml-charts")]
18040 #[serde(rename = "axId")]
18041 pub ax_id: Box<CTUnsignedInt>,
18042 #[cfg(feature = "dml-charts")]
18043 #[serde(rename = "scaling")]
18044 pub scaling: Box<AxisScaling>,
18045 #[cfg(feature = "dml-charts")]
18046 #[serde(rename = "delete")]
18047 #[serde(default, skip_serializing_if = "Option::is_none")]
18048 pub delete: Option<Box<CTBoolean>>,
18049 #[cfg(feature = "dml-charts")]
18050 #[serde(rename = "axPos")]
18051 pub ax_pos: Box<AxisPosition>,
18052 #[cfg(feature = "dml-charts")]
18053 #[serde(rename = "majorGridlines")]
18054 #[serde(default, skip_serializing_if = "Option::is_none")]
18055 pub major_gridlines: Option<Box<ChartLines>>,
18056 #[cfg(feature = "dml-charts")]
18057 #[serde(rename = "minorGridlines")]
18058 #[serde(default, skip_serializing_if = "Option::is_none")]
18059 pub minor_gridlines: Option<Box<ChartLines>>,
18060 #[cfg(feature = "dml-charts")]
18061 #[serde(rename = "title")]
18062 #[serde(default, skip_serializing_if = "Option::is_none")]
18063 pub title: Option<Box<ChartTitle>>,
18064 #[cfg(feature = "dml-charts")]
18065 #[serde(rename = "numFmt")]
18066 #[serde(default, skip_serializing_if = "Option::is_none")]
18067 pub num_fmt: Option<Box<ChartNumFmt>>,
18068 #[cfg(feature = "dml-charts")]
18069 #[serde(rename = "majorTickMark")]
18070 #[serde(default, skip_serializing_if = "Option::is_none")]
18071 pub major_tick_mark: Option<Box<TickMark>>,
18072 #[cfg(feature = "dml-charts")]
18073 #[serde(rename = "minorTickMark")]
18074 #[serde(default, skip_serializing_if = "Option::is_none")]
18075 pub minor_tick_mark: Option<Box<TickMark>>,
18076 #[cfg(feature = "dml-charts")]
18077 #[serde(rename = "tickLblPos")]
18078 #[serde(default, skip_serializing_if = "Option::is_none")]
18079 pub tick_lbl_pos: Option<Box<TickLabelPosition>>,
18080 #[cfg(feature = "dml-charts")]
18081 #[serde(rename = "spPr")]
18082 #[serde(default, skip_serializing_if = "Option::is_none")]
18083 pub sp_pr: Option<Box<CTShapeProperties>>,
18084 #[cfg(feature = "dml-charts")]
18085 #[serde(rename = "txPr")]
18086 #[serde(default, skip_serializing_if = "Option::is_none")]
18087 pub tx_pr: Option<Box<TextBody>>,
18088 #[cfg(feature = "dml-charts")]
18089 #[serde(rename = "crossAx")]
18090 pub cross_ax: Box<CTUnsignedInt>,
18091 #[cfg(feature = "dml-charts")]
18092 #[serde(rename = "crosses")]
18093 #[serde(default, skip_serializing_if = "Option::is_none")]
18094 pub crosses: Option<Box<AxisCrosses>>,
18095 #[cfg(feature = "dml-charts")]
18096 #[serde(rename = "crossesAt")]
18097 #[serde(default, skip_serializing_if = "Option::is_none")]
18098 pub crosses_at: Option<Box<CTDouble>>,
18099 #[cfg(feature = "dml-charts")]
18100 #[serde(rename = "crossBetween")]
18101 #[serde(default, skip_serializing_if = "Option::is_none")]
18102 pub cross_between: Option<Box<CrossBetween>>,
18103 #[cfg(feature = "dml-charts")]
18104 #[serde(rename = "majorUnit")]
18105 #[serde(default, skip_serializing_if = "Option::is_none")]
18106 pub major_unit: Option<Box<AxisUnit>>,
18107 #[cfg(feature = "dml-charts")]
18108 #[serde(rename = "minorUnit")]
18109 #[serde(default, skip_serializing_if = "Option::is_none")]
18110 pub minor_unit: Option<Box<AxisUnit>>,
18111 #[cfg(feature = "dml-charts")]
18112 #[serde(rename = "dispUnits")]
18113 #[serde(default, skip_serializing_if = "Option::is_none")]
18114 pub disp_units: Option<Box<DisplayUnits>>,
18115 #[cfg(feature = "dml-charts")]
18116 #[serde(rename = "extLst")]
18117 #[serde(default, skip_serializing_if = "Option::is_none")]
18118 pub ext_lst: Option<Box<ChartExtensionList>>,
18119 #[cfg(feature = "extra-children")]
18121 #[serde(skip)]
18122 #[cfg(feature = "extra-children")]
18123 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18124}
18125
18126#[derive(Debug, Clone, Default, Serialize, Deserialize)]
18127pub struct PlotArea {
18128 #[cfg(feature = "dml-charts")]
18129 #[serde(rename = "layout")]
18130 #[serde(default, skip_serializing_if = "Option::is_none")]
18131 pub layout: Option<Box<ChartLayout>>,
18132 #[cfg(feature = "dml-charts")]
18133 #[serde(rename = "areaChart")]
18134 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18135 pub area_chart: Vec<AreaChart>,
18136 #[cfg(feature = "dml-charts")]
18137 #[serde(rename = "area3DChart")]
18138 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18139 pub area3_d_chart: Vec<Area3DChart>,
18140 #[cfg(feature = "dml-charts")]
18141 #[serde(rename = "lineChart")]
18142 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18143 pub line_chart: Vec<LineChart>,
18144 #[cfg(feature = "dml-charts")]
18145 #[serde(rename = "line3DChart")]
18146 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18147 pub line3_d_chart: Vec<Line3DChart>,
18148 #[cfg(feature = "dml-charts")]
18149 #[serde(rename = "stockChart")]
18150 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18151 pub stock_chart: Vec<StockChart>,
18152 #[cfg(feature = "dml-charts")]
18153 #[serde(rename = "radarChart")]
18154 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18155 pub radar_chart: Vec<RadarChart>,
18156 #[cfg(feature = "dml-charts")]
18157 #[serde(rename = "scatterChart")]
18158 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18159 pub scatter_chart: Vec<ScatterChart>,
18160 #[cfg(feature = "dml-charts")]
18161 #[serde(rename = "pieChart")]
18162 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18163 pub pie_chart: Vec<PieChart>,
18164 #[cfg(feature = "dml-charts")]
18165 #[serde(rename = "pie3DChart")]
18166 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18167 pub pie3_d_chart: Vec<Pie3DChart>,
18168 #[cfg(feature = "dml-charts")]
18169 #[serde(rename = "doughnutChart")]
18170 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18171 pub doughnut_chart: Vec<DoughnutChart>,
18172 #[cfg(feature = "dml-charts")]
18173 #[serde(rename = "barChart")]
18174 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18175 pub bar_chart: Vec<BarChart>,
18176 #[cfg(feature = "dml-charts")]
18177 #[serde(rename = "bar3DChart")]
18178 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18179 pub bar3_d_chart: Vec<Bar3DChart>,
18180 #[cfg(feature = "dml-charts")]
18181 #[serde(rename = "ofPieChart")]
18182 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18183 pub of_pie_chart: Vec<OfPieChart>,
18184 #[cfg(feature = "dml-charts")]
18185 #[serde(rename = "surfaceChart")]
18186 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18187 pub surface_chart: Vec<SurfaceChart>,
18188 #[cfg(feature = "dml-charts")]
18189 #[serde(rename = "surface3DChart")]
18190 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18191 pub surface3_d_chart: Vec<Surface3DChart>,
18192 #[cfg(feature = "dml-charts")]
18193 #[serde(rename = "bubbleChart")]
18194 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18195 pub bubble_chart: Vec<BubbleChart>,
18196 #[cfg(feature = "dml-charts")]
18197 #[serde(rename = "valAx")]
18198 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18199 pub val_ax: Vec<ValueAxis>,
18200 #[cfg(feature = "dml-charts")]
18201 #[serde(rename = "catAx")]
18202 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18203 pub cat_ax: Vec<CategoryAxis>,
18204 #[cfg(feature = "dml-charts")]
18205 #[serde(rename = "dateAx")]
18206 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18207 pub date_ax: Vec<DateAxis>,
18208 #[cfg(feature = "dml-charts")]
18209 #[serde(rename = "serAx")]
18210 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18211 pub ser_ax: Vec<SeriesAxis>,
18212 #[cfg(feature = "dml-charts")]
18213 #[serde(rename = "dTable")]
18214 #[serde(default, skip_serializing_if = "Option::is_none")]
18215 pub d_table: Option<Box<DataTable>>,
18216 #[cfg(feature = "dml-charts")]
18217 #[serde(rename = "spPr")]
18218 #[serde(default, skip_serializing_if = "Option::is_none")]
18219 pub sp_pr: Option<Box<CTShapeProperties>>,
18220 #[cfg(feature = "dml-charts")]
18221 #[serde(rename = "extLst")]
18222 #[serde(default, skip_serializing_if = "Option::is_none")]
18223 pub ext_lst: Option<Box<ChartExtensionList>>,
18224 #[cfg(feature = "extra-children")]
18226 #[serde(skip)]
18227 #[cfg(feature = "extra-children")]
18228 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18229}
18230
18231#[derive(Debug, Clone, Serialize, Deserialize)]
18232pub struct PivotFormat {
18233 #[cfg(feature = "dml-charts")]
18234 #[serde(rename = "idx")]
18235 pub idx: Box<CTUnsignedInt>,
18236 #[cfg(feature = "dml-charts")]
18237 #[serde(rename = "spPr")]
18238 #[serde(default, skip_serializing_if = "Option::is_none")]
18239 pub sp_pr: Option<Box<CTShapeProperties>>,
18240 #[cfg(feature = "dml-charts")]
18241 #[serde(rename = "txPr")]
18242 #[serde(default, skip_serializing_if = "Option::is_none")]
18243 pub tx_pr: Option<Box<TextBody>>,
18244 #[cfg(feature = "dml-charts")]
18245 #[serde(rename = "marker")]
18246 #[serde(default, skip_serializing_if = "Option::is_none")]
18247 pub marker: Option<Box<ChartMarker>>,
18248 #[cfg(feature = "dml-charts")]
18249 #[serde(rename = "dLbl")]
18250 #[serde(default, skip_serializing_if = "Option::is_none")]
18251 pub d_lbl: Option<Box<DataLabel>>,
18252 #[cfg(feature = "dml-charts")]
18253 #[serde(rename = "extLst")]
18254 #[serde(default, skip_serializing_if = "Option::is_none")]
18255 pub ext_lst: Option<Box<ChartExtensionList>>,
18256 #[cfg(feature = "extra-children")]
18258 #[serde(skip)]
18259 #[cfg(feature = "extra-children")]
18260 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18261}
18262
18263#[derive(Debug, Clone, Default, Serialize, Deserialize)]
18264pub struct PivotFormats {
18265 #[cfg(feature = "dml-charts")]
18266 #[serde(rename = "pivotFmt")]
18267 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18268 pub pivot_fmt: Vec<PivotFormat>,
18269 #[cfg(feature = "extra-children")]
18271 #[serde(skip)]
18272 #[cfg(feature = "extra-children")]
18273 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18274}
18275
18276#[derive(Debug, Clone, Default, Serialize, Deserialize)]
18277pub struct LegendPosition {
18278 #[cfg(feature = "dml-charts")]
18279 #[serde(rename = "@val")]
18280 #[serde(default, skip_serializing_if = "Option::is_none")]
18281 pub value: Option<LegendPositionType>,
18282 #[cfg(feature = "extra-attrs")]
18284 #[serde(skip)]
18285 #[cfg(feature = "extra-attrs")]
18286 #[serde(default)]
18287 #[cfg(feature = "extra-attrs")]
18288 pub extra_attrs: std::collections::HashMap<String, String>,
18289}
18290
18291#[derive(Debug, Clone, Default, Serialize, Deserialize)]
18292pub struct EGLegendEntryData {
18293 #[serde(rename = "txPr")]
18294 #[serde(default, skip_serializing_if = "Option::is_none")]
18295 pub tx_pr: Option<Box<TextBody>>,
18296 #[cfg(feature = "extra-children")]
18298 #[serde(skip)]
18299 #[cfg(feature = "extra-children")]
18300 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18301}
18302
18303#[derive(Debug, Clone, Serialize, Deserialize)]
18304pub struct LegendEntry {
18305 #[cfg(feature = "dml-charts")]
18306 #[serde(rename = "idx")]
18307 pub idx: Box<CTUnsignedInt>,
18308 #[cfg(feature = "dml-charts")]
18309 #[serde(rename = "delete")]
18310 #[serde(default, skip_serializing_if = "Option::is_none")]
18311 pub delete: Option<Box<CTBoolean>>,
18312 #[cfg(feature = "dml-charts")]
18313 #[serde(rename = "txPr")]
18314 #[serde(default, skip_serializing_if = "Option::is_none")]
18315 pub tx_pr: Option<Box<TextBody>>,
18316 #[cfg(feature = "dml-charts")]
18317 #[serde(rename = "extLst")]
18318 #[serde(default, skip_serializing_if = "Option::is_none")]
18319 pub ext_lst: Option<Box<ChartExtensionList>>,
18320 #[cfg(feature = "extra-children")]
18322 #[serde(skip)]
18323 #[cfg(feature = "extra-children")]
18324 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18325}
18326
18327#[derive(Debug, Clone, Default, Serialize, Deserialize)]
18328pub struct Legend {
18329 #[cfg(feature = "dml-charts")]
18330 #[serde(rename = "legendPos")]
18331 #[serde(default, skip_serializing_if = "Option::is_none")]
18332 pub legend_pos: Option<Box<LegendPosition>>,
18333 #[cfg(feature = "dml-charts")]
18334 #[serde(rename = "legendEntry")]
18335 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18336 pub legend_entry: Vec<LegendEntry>,
18337 #[cfg(feature = "dml-charts")]
18338 #[serde(rename = "layout")]
18339 #[serde(default, skip_serializing_if = "Option::is_none")]
18340 pub layout: Option<Box<ChartLayout>>,
18341 #[cfg(feature = "dml-charts")]
18342 #[serde(rename = "overlay")]
18343 #[serde(default, skip_serializing_if = "Option::is_none")]
18344 pub overlay: Option<Box<CTBoolean>>,
18345 #[cfg(feature = "dml-charts")]
18346 #[serde(rename = "spPr")]
18347 #[serde(default, skip_serializing_if = "Option::is_none")]
18348 pub sp_pr: Option<Box<CTShapeProperties>>,
18349 #[cfg(feature = "dml-charts")]
18350 #[serde(rename = "txPr")]
18351 #[serde(default, skip_serializing_if = "Option::is_none")]
18352 pub tx_pr: Option<Box<TextBody>>,
18353 #[cfg(feature = "dml-charts")]
18354 #[serde(rename = "extLst")]
18355 #[serde(default, skip_serializing_if = "Option::is_none")]
18356 pub ext_lst: Option<Box<ChartExtensionList>>,
18357 #[cfg(feature = "extra-children")]
18359 #[serde(skip)]
18360 #[cfg(feature = "extra-children")]
18361 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18362}
18363
18364#[derive(Debug, Clone, Default, Serialize, Deserialize)]
18365pub struct DisplayBlanksAs {
18366 #[cfg(feature = "dml-charts")]
18367 #[serde(rename = "@val")]
18368 #[serde(default, skip_serializing_if = "Option::is_none")]
18369 pub value: Option<DisplayBlanksAsType>,
18370 #[cfg(feature = "extra-attrs")]
18372 #[serde(skip)]
18373 #[cfg(feature = "extra-attrs")]
18374 #[serde(default)]
18375 #[cfg(feature = "extra-attrs")]
18376 pub extra_attrs: std::collections::HashMap<String, String>,
18377}
18378
18379#[derive(Debug, Clone, Serialize, Deserialize)]
18380pub struct Chart {
18381 #[cfg(feature = "dml-charts")]
18382 #[serde(rename = "title")]
18383 #[serde(default, skip_serializing_if = "Option::is_none")]
18384 pub title: Option<Box<ChartTitle>>,
18385 #[cfg(feature = "dml-charts")]
18386 #[serde(rename = "autoTitleDeleted")]
18387 #[serde(default, skip_serializing_if = "Option::is_none")]
18388 pub auto_title_deleted: Option<Box<CTBoolean>>,
18389 #[cfg(feature = "dml-charts")]
18390 #[serde(rename = "pivotFmts")]
18391 #[serde(default, skip_serializing_if = "Option::is_none")]
18392 pub pivot_fmts: Option<Box<PivotFormats>>,
18393 #[cfg(feature = "dml-charts")]
18394 #[serde(rename = "view3D")]
18395 #[serde(default, skip_serializing_if = "Option::is_none")]
18396 pub view3_d: Option<Box<View3D>>,
18397 #[cfg(feature = "dml-charts")]
18398 #[serde(rename = "floor")]
18399 #[serde(default, skip_serializing_if = "Option::is_none")]
18400 pub floor: Option<Box<ChartSurface>>,
18401 #[cfg(feature = "dml-charts")]
18402 #[serde(rename = "sideWall")]
18403 #[serde(default, skip_serializing_if = "Option::is_none")]
18404 pub side_wall: Option<Box<ChartSurface>>,
18405 #[cfg(feature = "dml-charts")]
18406 #[serde(rename = "backWall")]
18407 #[serde(default, skip_serializing_if = "Option::is_none")]
18408 pub back_wall: Option<Box<ChartSurface>>,
18409 #[cfg(feature = "dml-charts")]
18410 #[serde(rename = "plotArea")]
18411 pub plot_area: Box<PlotArea>,
18412 #[cfg(feature = "dml-charts")]
18413 #[serde(rename = "legend")]
18414 #[serde(default, skip_serializing_if = "Option::is_none")]
18415 pub legend: Option<Box<Legend>>,
18416 #[cfg(feature = "dml-charts")]
18417 #[serde(rename = "plotVisOnly")]
18418 #[serde(default, skip_serializing_if = "Option::is_none")]
18419 pub plot_vis_only: Option<Box<CTBoolean>>,
18420 #[cfg(feature = "dml-charts")]
18421 #[serde(rename = "dispBlanksAs")]
18422 #[serde(default, skip_serializing_if = "Option::is_none")]
18423 pub disp_blanks_as: Option<Box<DisplayBlanksAs>>,
18424 #[cfg(feature = "dml-charts")]
18425 #[serde(rename = "showDLblsOverMax")]
18426 #[serde(default, skip_serializing_if = "Option::is_none")]
18427 pub show_d_lbls_over_max: Option<Box<CTBoolean>>,
18428 #[cfg(feature = "dml-charts")]
18429 #[serde(rename = "extLst")]
18430 #[serde(default, skip_serializing_if = "Option::is_none")]
18431 pub ext_lst: Option<Box<ChartExtensionList>>,
18432 #[cfg(feature = "extra-children")]
18434 #[serde(skip)]
18435 #[cfg(feature = "extra-children")]
18436 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18437}
18438
18439#[derive(Debug, Clone, Serialize, Deserialize)]
18440pub struct ChartStyle {
18441 #[cfg(feature = "dml-charts")]
18442 #[serde(rename = "@val")]
18443 pub value: ChartStyleValue,
18444 #[cfg(feature = "extra-attrs")]
18446 #[serde(skip)]
18447 #[cfg(feature = "extra-attrs")]
18448 #[serde(default)]
18449 #[cfg(feature = "extra-attrs")]
18450 pub extra_attrs: std::collections::HashMap<String, String>,
18451}
18452
18453#[derive(Debug, Clone, Serialize, Deserialize)]
18454pub struct PivotSource {
18455 #[cfg(feature = "dml-charts")]
18456 #[serde(rename = "name")]
18457 pub name: XmlString,
18458 #[cfg(feature = "dml-charts")]
18459 #[serde(rename = "fmtId")]
18460 pub fmt_id: Box<CTUnsignedInt>,
18461 #[cfg(feature = "dml-charts")]
18462 #[serde(rename = "extLst")]
18463 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18464 pub ext_lst: Vec<ChartExtensionList>,
18465 #[cfg(feature = "extra-children")]
18467 #[serde(skip)]
18468 #[cfg(feature = "extra-children")]
18469 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18470}
18471
18472#[derive(Debug, Clone, Default, Serialize, Deserialize)]
18473pub struct ChartProtection {
18474 #[cfg(feature = "dml-charts")]
18475 #[serde(rename = "chartObject")]
18476 #[serde(default, skip_serializing_if = "Option::is_none")]
18477 pub chart_object: Option<Box<CTBoolean>>,
18478 #[cfg(feature = "dml-charts")]
18479 #[serde(rename = "data")]
18480 #[serde(default, skip_serializing_if = "Option::is_none")]
18481 pub data: Option<Box<CTBoolean>>,
18482 #[cfg(feature = "dml-charts")]
18483 #[serde(rename = "formatting")]
18484 #[serde(default, skip_serializing_if = "Option::is_none")]
18485 pub formatting: Option<Box<CTBoolean>>,
18486 #[cfg(feature = "dml-charts")]
18487 #[serde(rename = "selection")]
18488 #[serde(default, skip_serializing_if = "Option::is_none")]
18489 pub selection: Option<Box<CTBoolean>>,
18490 #[cfg(feature = "dml-charts")]
18491 #[serde(rename = "userInterface")]
18492 #[serde(default, skip_serializing_if = "Option::is_none")]
18493 pub user_interface: Option<Box<CTBoolean>>,
18494 #[cfg(feature = "extra-children")]
18496 #[serde(skip)]
18497 #[cfg(feature = "extra-children")]
18498 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18499}
18500
18501#[derive(Debug, Clone, Default, Serialize, Deserialize)]
18502pub struct ChartHeaderFooter {
18503 #[cfg(feature = "dml-charts")]
18504 #[serde(rename = "@alignWithMargins")]
18505 #[serde(
18506 default,
18507 skip_serializing_if = "Option::is_none",
18508 with = "ooxml_xml::ooxml_bool"
18509 )]
18510 pub align_with_margins: Option<bool>,
18511 #[cfg(feature = "dml-charts")]
18512 #[serde(rename = "@differentOddEven")]
18513 #[serde(
18514 default,
18515 skip_serializing_if = "Option::is_none",
18516 with = "ooxml_xml::ooxml_bool"
18517 )]
18518 pub different_odd_even: Option<bool>,
18519 #[cfg(feature = "dml-charts")]
18520 #[serde(rename = "@differentFirst")]
18521 #[serde(
18522 default,
18523 skip_serializing_if = "Option::is_none",
18524 with = "ooxml_xml::ooxml_bool"
18525 )]
18526 pub different_first: Option<bool>,
18527 #[cfg(feature = "dml-charts")]
18528 #[serde(rename = "oddHeader")]
18529 #[serde(default, skip_serializing_if = "Option::is_none")]
18530 pub odd_header: Option<XmlString>,
18531 #[cfg(feature = "dml-charts")]
18532 #[serde(rename = "oddFooter")]
18533 #[serde(default, skip_serializing_if = "Option::is_none")]
18534 pub odd_footer: Option<XmlString>,
18535 #[cfg(feature = "dml-charts")]
18536 #[serde(rename = "evenHeader")]
18537 #[serde(default, skip_serializing_if = "Option::is_none")]
18538 pub even_header: Option<XmlString>,
18539 #[cfg(feature = "dml-charts")]
18540 #[serde(rename = "evenFooter")]
18541 #[serde(default, skip_serializing_if = "Option::is_none")]
18542 pub even_footer: Option<XmlString>,
18543 #[cfg(feature = "dml-charts")]
18544 #[serde(rename = "firstHeader")]
18545 #[serde(default, skip_serializing_if = "Option::is_none")]
18546 pub first_header: Option<XmlString>,
18547 #[cfg(feature = "dml-charts")]
18548 #[serde(rename = "firstFooter")]
18549 #[serde(default, skip_serializing_if = "Option::is_none")]
18550 pub first_footer: Option<XmlString>,
18551 #[cfg(feature = "extra-attrs")]
18553 #[serde(skip)]
18554 #[cfg(feature = "extra-attrs")]
18555 #[serde(default)]
18556 #[cfg(feature = "extra-attrs")]
18557 pub extra_attrs: std::collections::HashMap<String, String>,
18558 #[cfg(feature = "extra-children")]
18560 #[serde(skip)]
18561 #[cfg(feature = "extra-children")]
18562 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18563}
18564
18565#[derive(Debug, Clone, Serialize, Deserialize)]
18566pub struct ChartPageMargins {
18567 #[cfg(feature = "dml-charts")]
18568 #[serde(rename = "@l")]
18569 pub l: f64,
18570 #[cfg(feature = "dml-charts")]
18571 #[serde(rename = "@r")]
18572 pub relationship_id: f64,
18573 #[cfg(feature = "dml-charts")]
18574 #[serde(rename = "@t")]
18575 pub t: f64,
18576 #[cfg(feature = "dml-charts")]
18577 #[serde(rename = "@b")]
18578 pub b: f64,
18579 #[cfg(feature = "dml-charts")]
18580 #[serde(rename = "@header")]
18581 pub header: f64,
18582 #[cfg(feature = "dml-charts")]
18583 #[serde(rename = "@footer")]
18584 pub footer: f64,
18585 #[cfg(feature = "extra-attrs")]
18587 #[serde(skip)]
18588 #[cfg(feature = "extra-attrs")]
18589 #[serde(default)]
18590 #[cfg(feature = "extra-attrs")]
18591 pub extra_attrs: std::collections::HashMap<String, String>,
18592}
18593
18594#[derive(Debug, Clone, Serialize, Deserialize)]
18595pub struct ExternalData {
18596 #[cfg(feature = "dml-charts")]
18597 #[serde(rename = "@r:id")]
18598 pub id: STRelationshipId,
18599 #[cfg(feature = "dml-charts")]
18600 #[serde(rename = "autoUpdate")]
18601 #[serde(default, skip_serializing_if = "Option::is_none")]
18602 pub auto_update: Option<Box<CTBoolean>>,
18603 #[cfg(feature = "extra-attrs")]
18605 #[serde(skip)]
18606 #[cfg(feature = "extra-attrs")]
18607 #[serde(default)]
18608 #[cfg(feature = "extra-attrs")]
18609 pub extra_attrs: std::collections::HashMap<String, String>,
18610 #[cfg(feature = "extra-children")]
18612 #[serde(skip)]
18613 #[cfg(feature = "extra-children")]
18614 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18615}
18616
18617#[derive(Debug, Clone, Default, Serialize, Deserialize)]
18618pub struct ChartPageSetup {
18619 #[cfg(feature = "dml-charts")]
18620 #[serde(rename = "@paperSize")]
18621 #[serde(default, skip_serializing_if = "Option::is_none")]
18622 pub paper_size: Option<u32>,
18623 #[cfg(feature = "dml-charts")]
18624 #[serde(rename = "@paperHeight")]
18625 #[serde(default, skip_serializing_if = "Option::is_none")]
18626 pub paper_height: Option<STPositiveUniversalMeasure>,
18627 #[cfg(feature = "dml-charts")]
18628 #[serde(rename = "@paperWidth")]
18629 #[serde(default, skip_serializing_if = "Option::is_none")]
18630 pub paper_width: Option<STPositiveUniversalMeasure>,
18631 #[cfg(feature = "dml-charts")]
18632 #[serde(rename = "@firstPageNumber")]
18633 #[serde(default, skip_serializing_if = "Option::is_none")]
18634 pub first_page_number: Option<u32>,
18635 #[cfg(feature = "dml-charts")]
18636 #[serde(rename = "@orientation")]
18637 #[serde(default, skip_serializing_if = "Option::is_none")]
18638 pub orientation: Option<ChartPageOrientation>,
18639 #[cfg(feature = "dml-charts")]
18640 #[serde(rename = "@blackAndWhite")]
18641 #[serde(
18642 default,
18643 skip_serializing_if = "Option::is_none",
18644 with = "ooxml_xml::ooxml_bool"
18645 )]
18646 pub black_and_white: Option<bool>,
18647 #[cfg(feature = "dml-charts")]
18648 #[serde(rename = "@draft")]
18649 #[serde(
18650 default,
18651 skip_serializing_if = "Option::is_none",
18652 with = "ooxml_xml::ooxml_bool"
18653 )]
18654 pub draft: Option<bool>,
18655 #[cfg(feature = "dml-charts")]
18656 #[serde(rename = "@useFirstPageNumber")]
18657 #[serde(
18658 default,
18659 skip_serializing_if = "Option::is_none",
18660 with = "ooxml_xml::ooxml_bool"
18661 )]
18662 pub use_first_page_number: Option<bool>,
18663 #[cfg(feature = "dml-charts")]
18664 #[serde(rename = "@horizontalDpi")]
18665 #[serde(default, skip_serializing_if = "Option::is_none")]
18666 pub horizontal_dpi: Option<i32>,
18667 #[cfg(feature = "dml-charts")]
18668 #[serde(rename = "@verticalDpi")]
18669 #[serde(default, skip_serializing_if = "Option::is_none")]
18670 pub vertical_dpi: Option<i32>,
18671 #[cfg(feature = "dml-charts")]
18672 #[serde(rename = "@copies")]
18673 #[serde(default, skip_serializing_if = "Option::is_none")]
18674 pub copies: Option<u32>,
18675 #[cfg(feature = "extra-attrs")]
18677 #[serde(skip)]
18678 #[cfg(feature = "extra-attrs")]
18679 #[serde(default)]
18680 #[cfg(feature = "extra-attrs")]
18681 pub extra_attrs: std::collections::HashMap<String, String>,
18682}
18683
18684#[derive(Debug, Clone, Default, Serialize, Deserialize)]
18685pub struct PrintSettings {
18686 #[cfg(feature = "dml-charts")]
18687 #[serde(rename = "headerFooter")]
18688 #[serde(default, skip_serializing_if = "Option::is_none")]
18689 pub header_footer: Option<Box<ChartHeaderFooter>>,
18690 #[cfg(feature = "dml-charts")]
18691 #[serde(rename = "pageMargins")]
18692 #[serde(default, skip_serializing_if = "Option::is_none")]
18693 pub page_margins: Option<Box<ChartPageMargins>>,
18694 #[cfg(feature = "dml-charts")]
18695 #[serde(rename = "pageSetup")]
18696 #[serde(default, skip_serializing_if = "Option::is_none")]
18697 pub page_setup: Option<Box<ChartPageSetup>>,
18698 #[cfg(feature = "dml-charts")]
18699 #[serde(rename = "legacyDrawingHF")]
18700 #[serde(default, skip_serializing_if = "Option::is_none")]
18701 pub legacy_drawing_h_f: Option<Box<ChartRelId>>,
18702 #[cfg(feature = "extra-children")]
18704 #[serde(skip)]
18705 #[cfg(feature = "extra-children")]
18706 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18707}
18708
18709#[derive(Debug, Clone, Serialize, Deserialize)]
18710pub struct ChartSpace {
18711 #[cfg(feature = "dml-charts")]
18712 #[serde(rename = "date1904")]
18713 #[serde(default, skip_serializing_if = "Option::is_none")]
18714 pub date1904: Option<Box<CTBoolean>>,
18715 #[cfg(feature = "dml-charts")]
18716 #[serde(rename = "lang")]
18717 #[serde(default, skip_serializing_if = "Option::is_none")]
18718 pub lang: Option<Box<TextLanguageId>>,
18719 #[cfg(feature = "dml-charts")]
18720 #[serde(rename = "roundedCorners")]
18721 #[serde(default, skip_serializing_if = "Option::is_none")]
18722 pub rounded_corners: Option<Box<CTBoolean>>,
18723 #[cfg(feature = "dml-charts")]
18724 #[serde(rename = "style")]
18725 #[serde(default, skip_serializing_if = "Option::is_none")]
18726 pub style: Option<Box<ChartStyle>>,
18727 #[cfg(feature = "dml-charts")]
18728 #[serde(rename = "clrMapOvr")]
18729 #[serde(default, skip_serializing_if = "Option::is_none")]
18730 pub clr_map_ovr: Option<Box<CTColorMapping>>,
18731 #[cfg(feature = "dml-charts")]
18732 #[serde(rename = "pivotSource")]
18733 #[serde(default, skip_serializing_if = "Option::is_none")]
18734 pub pivot_source: Option<Box<PivotSource>>,
18735 #[cfg(feature = "dml-charts")]
18736 #[serde(rename = "protection")]
18737 #[serde(default, skip_serializing_if = "Option::is_none")]
18738 pub protection: Option<Box<ChartProtection>>,
18739 #[cfg(feature = "dml-charts")]
18740 #[serde(rename = "chart")]
18741 pub chart: Box<Chart>,
18742 #[cfg(feature = "dml-charts")]
18743 #[serde(rename = "spPr")]
18744 #[serde(default, skip_serializing_if = "Option::is_none")]
18745 pub sp_pr: Option<Box<CTShapeProperties>>,
18746 #[cfg(feature = "dml-charts")]
18747 #[serde(rename = "txPr")]
18748 #[serde(default, skip_serializing_if = "Option::is_none")]
18749 pub tx_pr: Option<Box<TextBody>>,
18750 #[cfg(feature = "dml-charts")]
18751 #[serde(rename = "externalData")]
18752 #[serde(default, skip_serializing_if = "Option::is_none")]
18753 pub external_data: Option<Box<ExternalData>>,
18754 #[cfg(feature = "dml-charts")]
18755 #[serde(rename = "printSettings")]
18756 #[serde(default, skip_serializing_if = "Option::is_none")]
18757 pub print_settings: Option<Box<PrintSettings>>,
18758 #[cfg(feature = "dml-charts")]
18759 #[serde(rename = "userShapes")]
18760 #[serde(default, skip_serializing_if = "Option::is_none")]
18761 pub user_shapes: Option<Box<ChartRelId>>,
18762 #[cfg(feature = "dml-charts")]
18763 #[serde(rename = "extLst")]
18764 #[serde(default, skip_serializing_if = "Option::is_none")]
18765 pub ext_lst: Option<Box<ChartExtensionList>>,
18766 #[cfg(feature = "extra-children")]
18768 #[serde(skip)]
18769 #[cfg(feature = "extra-children")]
18770 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18771}
18772
18773pub type DchrtChartSpace = Box<ChartSpace>;
18774
18775pub type DchrtUserShapes = String;
18776
18777pub type DchrtChart = Box<ChartRelId>;
18778
18779#[derive(Debug, Clone, Serialize, Deserialize)]
18780pub struct ColorTransformName {
18781 #[cfg(feature = "dml-diagrams")]
18782 #[serde(rename = "@lang")]
18783 #[serde(default, skip_serializing_if = "Option::is_none")]
18784 pub lang: Option<String>,
18785 #[cfg(feature = "dml-diagrams")]
18786 #[serde(rename = "@val")]
18787 pub value: String,
18788 #[cfg(feature = "extra-attrs")]
18790 #[serde(skip)]
18791 #[cfg(feature = "extra-attrs")]
18792 #[serde(default)]
18793 #[cfg(feature = "extra-attrs")]
18794 pub extra_attrs: std::collections::HashMap<String, String>,
18795}
18796
18797#[derive(Debug, Clone, Serialize, Deserialize)]
18798pub struct ColorTransformDescription {
18799 #[cfg(feature = "dml-diagrams")]
18800 #[serde(rename = "@lang")]
18801 #[serde(default, skip_serializing_if = "Option::is_none")]
18802 pub lang: Option<String>,
18803 #[cfg(feature = "dml-diagrams")]
18804 #[serde(rename = "@val")]
18805 pub value: String,
18806 #[cfg(feature = "extra-attrs")]
18808 #[serde(skip)]
18809 #[cfg(feature = "extra-attrs")]
18810 #[serde(default)]
18811 #[cfg(feature = "extra-attrs")]
18812 pub extra_attrs: std::collections::HashMap<String, String>,
18813}
18814
18815#[derive(Debug, Clone, Serialize, Deserialize)]
18816pub struct DiagramColorCategory {
18817 #[cfg(feature = "dml-diagrams")]
18818 #[serde(rename = "@type")]
18819 pub r#type: String,
18820 #[cfg(feature = "dml-diagrams")]
18821 #[serde(rename = "@pri")]
18822 pub pri: u32,
18823 #[cfg(feature = "extra-attrs")]
18825 #[serde(skip)]
18826 #[cfg(feature = "extra-attrs")]
18827 #[serde(default)]
18828 #[cfg(feature = "extra-attrs")]
18829 pub extra_attrs: std::collections::HashMap<String, String>,
18830}
18831
18832#[derive(Debug, Clone, Default, Serialize, Deserialize)]
18833pub struct DiagramColorCategories {
18834 #[cfg(feature = "dml-diagrams")]
18835 #[serde(rename = "cat")]
18836 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18837 pub cat: Vec<DiagramColorCategory>,
18838 #[cfg(feature = "extra-children")]
18840 #[serde(skip)]
18841 #[cfg(feature = "extra-children")]
18842 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18843}
18844
18845#[derive(Debug, Clone, Default, Serialize, Deserialize)]
18846pub struct DiagramColors {
18847 #[cfg(feature = "dml-diagrams")]
18848 #[serde(rename = "@meth")]
18849 #[serde(default, skip_serializing_if = "Option::is_none")]
18850 pub meth: Option<STClrAppMethod>,
18851 #[cfg(feature = "dml-diagrams")]
18852 #[serde(rename = "@hueDir")]
18853 #[serde(default, skip_serializing_if = "Option::is_none")]
18854 pub hue_dir: Option<STHueDir>,
18855 #[cfg(feature = "dml-diagrams")]
18856 #[serde(skip)]
18857 #[serde(default)]
18858 pub color_choice: Vec<EGColorChoice>,
18859 #[cfg(feature = "extra-attrs")]
18861 #[serde(skip)]
18862 #[cfg(feature = "extra-attrs")]
18863 #[serde(default)]
18864 #[cfg(feature = "extra-attrs")]
18865 pub extra_attrs: std::collections::HashMap<String, String>,
18866 #[cfg(feature = "extra-children")]
18868 #[serde(skip)]
18869 #[cfg(feature = "extra-children")]
18870 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18871}
18872
18873#[derive(Debug, Clone, Serialize, Deserialize)]
18874pub struct DiagramColorStyleLabel {
18875 #[cfg(feature = "dml-diagrams")]
18876 #[serde(rename = "@name")]
18877 pub name: String,
18878 #[cfg(feature = "dml-diagrams")]
18879 #[serde(rename = "fillClrLst")]
18880 #[serde(default, skip_serializing_if = "Option::is_none")]
18881 pub fill_clr_lst: Option<Box<DiagramColors>>,
18882 #[cfg(feature = "dml-diagrams")]
18883 #[serde(rename = "linClrLst")]
18884 #[serde(default, skip_serializing_if = "Option::is_none")]
18885 pub lin_clr_lst: Option<Box<DiagramColors>>,
18886 #[cfg(feature = "dml-diagrams")]
18887 #[serde(rename = "effectClrLst")]
18888 #[serde(default, skip_serializing_if = "Option::is_none")]
18889 pub effect_clr_lst: Option<Box<DiagramColors>>,
18890 #[cfg(feature = "dml-diagrams")]
18891 #[serde(rename = "txLinClrLst")]
18892 #[serde(default, skip_serializing_if = "Option::is_none")]
18893 pub tx_lin_clr_lst: Option<Box<DiagramColors>>,
18894 #[cfg(feature = "dml-diagrams")]
18895 #[serde(rename = "txFillClrLst")]
18896 #[serde(default, skip_serializing_if = "Option::is_none")]
18897 pub tx_fill_clr_lst: Option<Box<DiagramColors>>,
18898 #[cfg(feature = "dml-diagrams")]
18899 #[serde(rename = "txEffectClrLst")]
18900 #[serde(default, skip_serializing_if = "Option::is_none")]
18901 pub tx_effect_clr_lst: Option<Box<DiagramColors>>,
18902 #[cfg(feature = "dml-diagrams")]
18903 #[serde(rename = "extLst")]
18904 #[serde(default, skip_serializing_if = "Option::is_none")]
18905 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
18906 #[cfg(feature = "extra-attrs")]
18908 #[serde(skip)]
18909 #[cfg(feature = "extra-attrs")]
18910 #[serde(default)]
18911 #[cfg(feature = "extra-attrs")]
18912 pub extra_attrs: std::collections::HashMap<String, String>,
18913 #[cfg(feature = "extra-children")]
18915 #[serde(skip)]
18916 #[cfg(feature = "extra-children")]
18917 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18918}
18919
18920#[derive(Debug, Clone, Default, Serialize, Deserialize)]
18921pub struct DiagramColorTransform {
18922 #[cfg(feature = "dml-diagrams")]
18923 #[serde(rename = "@uniqueId")]
18924 #[serde(default, skip_serializing_if = "Option::is_none")]
18925 pub unique_id: Option<String>,
18926 #[cfg(feature = "dml-diagrams")]
18927 #[serde(rename = "@minVer")]
18928 #[serde(default, skip_serializing_if = "Option::is_none")]
18929 pub min_ver: Option<String>,
18930 #[cfg(feature = "dml-diagrams")]
18931 #[serde(rename = "title")]
18932 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18933 pub title: Vec<ColorTransformName>,
18934 #[cfg(feature = "dml-diagrams")]
18935 #[serde(rename = "desc")]
18936 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18937 pub desc: Vec<ColorTransformDescription>,
18938 #[cfg(feature = "dml-diagrams")]
18939 #[serde(rename = "catLst")]
18940 #[serde(default, skip_serializing_if = "Option::is_none")]
18941 pub cat_lst: Option<Box<DiagramColorCategories>>,
18942 #[cfg(feature = "dml-diagrams")]
18943 #[serde(rename = "styleLbl")]
18944 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18945 pub style_lbl: Vec<DiagramColorStyleLabel>,
18946 #[cfg(feature = "dml-diagrams")]
18947 #[serde(rename = "extLst")]
18948 #[serde(default, skip_serializing_if = "Option::is_none")]
18949 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
18950 #[cfg(feature = "extra-attrs")]
18952 #[serde(skip)]
18953 #[cfg(feature = "extra-attrs")]
18954 #[serde(default)]
18955 #[cfg(feature = "extra-attrs")]
18956 pub extra_attrs: std::collections::HashMap<String, String>,
18957 #[cfg(feature = "extra-children")]
18959 #[serde(skip)]
18960 #[cfg(feature = "extra-children")]
18961 pub extra_children: Vec<ooxml_xml::PositionedNode>,
18962}
18963
18964pub type DdgrmColorsDef = Box<DiagramColorTransform>;
18965
18966#[derive(Debug, Clone, Serialize, Deserialize)]
18967pub struct DiagramColorTransformHeader {
18968 #[cfg(feature = "dml-diagrams")]
18969 #[serde(rename = "@uniqueId")]
18970 pub unique_id: String,
18971 #[cfg(feature = "dml-diagrams")]
18972 #[serde(rename = "@minVer")]
18973 #[serde(default, skip_serializing_if = "Option::is_none")]
18974 pub min_ver: Option<String>,
18975 #[cfg(feature = "dml-diagrams")]
18976 #[serde(rename = "@resId")]
18977 #[serde(default, skip_serializing_if = "Option::is_none")]
18978 pub res_id: Option<i32>,
18979 #[cfg(feature = "dml-diagrams")]
18980 #[serde(rename = "title")]
18981 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18982 pub title: Vec<ColorTransformName>,
18983 #[cfg(feature = "dml-diagrams")]
18984 #[serde(rename = "desc")]
18985 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18986 pub desc: Vec<ColorTransformDescription>,
18987 #[cfg(feature = "dml-diagrams")]
18988 #[serde(rename = "catLst")]
18989 #[serde(default, skip_serializing_if = "Option::is_none")]
18990 pub cat_lst: Option<Box<DiagramColorCategories>>,
18991 #[cfg(feature = "dml-diagrams")]
18992 #[serde(rename = "extLst")]
18993 #[serde(default, skip_serializing_if = "Option::is_none")]
18994 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
18995 #[cfg(feature = "extra-attrs")]
18997 #[serde(skip)]
18998 #[cfg(feature = "extra-attrs")]
18999 #[serde(default)]
19000 #[cfg(feature = "extra-attrs")]
19001 pub extra_attrs: std::collections::HashMap<String, String>,
19002 #[cfg(feature = "extra-children")]
19004 #[serde(skip)]
19005 #[cfg(feature = "extra-children")]
19006 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19007}
19008
19009pub type DdgrmColorsDefHdr = Box<DiagramColorTransformHeader>;
19010
19011#[derive(Debug, Clone, Default, Serialize, Deserialize)]
19012pub struct DiagramColorTransformHeaderList {
19013 #[cfg(feature = "dml-diagrams")]
19014 #[serde(rename = "colorsDefHdr")]
19015 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19016 pub colors_def_hdr: Vec<DiagramColorTransformHeader>,
19017 #[cfg(feature = "extra-children")]
19019 #[serde(skip)]
19020 #[cfg(feature = "extra-children")]
19021 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19022}
19023
19024pub type DdgrmColorsDefHdrLst = Box<DiagramColorTransformHeaderList>;
19025
19026#[derive(Debug, Clone, Serialize, Deserialize)]
19027pub struct DiagramPoint {
19028 #[cfg(feature = "dml-diagrams")]
19029 #[serde(rename = "@modelId")]
19030 pub model_id: STModelId,
19031 #[cfg(feature = "dml-diagrams")]
19032 #[serde(rename = "@type")]
19033 #[serde(default, skip_serializing_if = "Option::is_none")]
19034 pub r#type: Option<STPtType>,
19035 #[cfg(feature = "dml-diagrams")]
19036 #[serde(rename = "@cxnId")]
19037 #[serde(default, skip_serializing_if = "Option::is_none")]
19038 pub cxn_id: Option<STModelId>,
19039 #[cfg(feature = "dml-diagrams")]
19040 #[serde(rename = "prSet")]
19041 #[serde(default, skip_serializing_if = "Option::is_none")]
19042 pub pr_set: Option<Box<DiagramElementProperties>>,
19043 #[cfg(feature = "dml-diagrams")]
19044 #[serde(rename = "spPr")]
19045 #[serde(default, skip_serializing_if = "Option::is_none")]
19046 pub sp_pr: Option<Box<CTShapeProperties>>,
19047 #[cfg(feature = "dml-diagrams")]
19048 #[serde(rename = "t")]
19049 #[serde(default, skip_serializing_if = "Option::is_none")]
19050 pub t: Option<Box<TextBody>>,
19051 #[cfg(feature = "dml-diagrams")]
19052 #[serde(rename = "extLst")]
19053 #[serde(default, skip_serializing_if = "Option::is_none")]
19054 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
19055 #[cfg(feature = "extra-attrs")]
19057 #[serde(skip)]
19058 #[cfg(feature = "extra-attrs")]
19059 #[serde(default)]
19060 #[cfg(feature = "extra-attrs")]
19061 pub extra_attrs: std::collections::HashMap<String, String>,
19062 #[cfg(feature = "extra-children")]
19064 #[serde(skip)]
19065 #[cfg(feature = "extra-children")]
19066 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19067}
19068
19069#[derive(Debug, Clone, Default, Serialize, Deserialize)]
19070pub struct DiagramPointList {
19071 #[cfg(feature = "dml-diagrams")]
19072 #[serde(rename = "pt")]
19073 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19074 pub pt: Vec<DiagramPoint>,
19075 #[cfg(feature = "extra-children")]
19077 #[serde(skip)]
19078 #[cfg(feature = "extra-children")]
19079 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19080}
19081
19082#[derive(Debug, Clone, Serialize, Deserialize)]
19083pub struct DiagramConnection {
19084 #[cfg(feature = "dml-diagrams")]
19085 #[serde(rename = "@modelId")]
19086 pub model_id: STModelId,
19087 #[cfg(feature = "dml-diagrams")]
19088 #[serde(rename = "@type")]
19089 #[serde(default, skip_serializing_if = "Option::is_none")]
19090 pub r#type: Option<STCxnType>,
19091 #[cfg(feature = "dml-diagrams")]
19092 #[serde(rename = "@srcId")]
19093 pub src_id: STModelId,
19094 #[cfg(feature = "dml-diagrams")]
19095 #[serde(rename = "@destId")]
19096 pub dest_id: STModelId,
19097 #[cfg(feature = "dml-diagrams")]
19098 #[serde(rename = "@srcOrd")]
19099 pub src_ord: u32,
19100 #[cfg(feature = "dml-diagrams")]
19101 #[serde(rename = "@destOrd")]
19102 pub dest_ord: u32,
19103 #[cfg(feature = "dml-diagrams")]
19104 #[serde(rename = "@parTransId")]
19105 #[serde(default, skip_serializing_if = "Option::is_none")]
19106 pub par_trans_id: Option<STModelId>,
19107 #[cfg(feature = "dml-diagrams")]
19108 #[serde(rename = "@sibTransId")]
19109 #[serde(default, skip_serializing_if = "Option::is_none")]
19110 pub sib_trans_id: Option<STModelId>,
19111 #[cfg(feature = "dml-diagrams")]
19112 #[serde(rename = "@presId")]
19113 #[serde(default, skip_serializing_if = "Option::is_none")]
19114 pub pres_id: Option<String>,
19115 #[cfg(feature = "dml-diagrams")]
19116 #[serde(rename = "extLst")]
19117 #[serde(default, skip_serializing_if = "Option::is_none")]
19118 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
19119 #[cfg(feature = "extra-attrs")]
19121 #[serde(skip)]
19122 #[cfg(feature = "extra-attrs")]
19123 #[serde(default)]
19124 #[cfg(feature = "extra-attrs")]
19125 pub extra_attrs: std::collections::HashMap<String, String>,
19126 #[cfg(feature = "extra-children")]
19128 #[serde(skip)]
19129 #[cfg(feature = "extra-children")]
19130 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19131}
19132
19133#[derive(Debug, Clone, Default, Serialize, Deserialize)]
19134pub struct DiagramConnectionList {
19135 #[cfg(feature = "dml-diagrams")]
19136 #[serde(rename = "cxn")]
19137 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19138 pub cxn: Vec<DiagramConnection>,
19139 #[cfg(feature = "extra-children")]
19141 #[serde(skip)]
19142 #[cfg(feature = "extra-children")]
19143 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19144}
19145
19146#[derive(Debug, Clone, Serialize, Deserialize)]
19147pub struct DataModel {
19148 #[cfg(feature = "dml-diagrams")]
19149 #[serde(rename = "ptLst")]
19150 pub pt_lst: Box<DiagramPointList>,
19151 #[cfg(feature = "dml-diagrams")]
19152 #[serde(rename = "cxnLst")]
19153 #[serde(default, skip_serializing_if = "Option::is_none")]
19154 pub cxn_lst: Option<Box<DiagramConnectionList>>,
19155 #[cfg(feature = "dml-diagrams")]
19156 #[serde(rename = "bg")]
19157 #[serde(default, skip_serializing_if = "Option::is_none")]
19158 pub bg: Option<Box<CTBackgroundFormatting>>,
19159 #[cfg(feature = "dml-diagrams")]
19160 #[serde(rename = "whole")]
19161 #[serde(default, skip_serializing_if = "Option::is_none")]
19162 pub whole: Option<Box<CTWholeE2oFormatting>>,
19163 #[cfg(feature = "dml-diagrams")]
19164 #[serde(rename = "extLst")]
19165 #[serde(default, skip_serializing_if = "Option::is_none")]
19166 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
19167 #[cfg(feature = "extra-children")]
19169 #[serde(skip)]
19170 #[cfg(feature = "extra-children")]
19171 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19172}
19173
19174pub type DdgrmDataModel = Box<DataModel>;
19175
19176#[derive(Debug, Clone, Default, Serialize, Deserialize)]
19177pub struct DdgrmAGIteratorAttributes {
19178 #[serde(rename = "@axis")]
19179 #[serde(default, skip_serializing_if = "Option::is_none")]
19180 pub axis: Option<STAxisTypes>,
19181 #[serde(rename = "@ptType")]
19182 #[serde(default, skip_serializing_if = "Option::is_none")]
19183 pub pt_type: Option<STElementTypes>,
19184 #[serde(rename = "@hideLastTrans")]
19185 #[serde(default, skip_serializing_if = "Option::is_none")]
19186 pub hide_last_trans: Option<STBooleans>,
19187 #[serde(rename = "@st")]
19188 #[serde(default, skip_serializing_if = "Option::is_none")]
19189 pub st: Option<STInts>,
19190 #[serde(rename = "@cnt")]
19191 #[serde(default, skip_serializing_if = "Option::is_none")]
19192 pub cnt: Option<STUnsignedInts>,
19193 #[serde(rename = "@step")]
19194 #[serde(default, skip_serializing_if = "Option::is_none")]
19195 pub step: Option<STInts>,
19196 #[cfg(feature = "extra-attrs")]
19198 #[serde(skip)]
19199 #[cfg(feature = "extra-attrs")]
19200 #[serde(default)]
19201 #[cfg(feature = "extra-attrs")]
19202 pub extra_attrs: std::collections::HashMap<String, String>,
19203}
19204
19205#[derive(Debug, Clone, Serialize, Deserialize)]
19206pub struct DdgrmAGConstraintAttributes {
19207 #[serde(rename = "@type")]
19208 pub r#type: STConstraintType,
19209 #[serde(rename = "@for")]
19210 #[serde(default, skip_serializing_if = "Option::is_none")]
19211 pub r#for: Option<STConstraintRelationship>,
19212 #[serde(rename = "@forName")]
19213 #[serde(default, skip_serializing_if = "Option::is_none")]
19214 pub for_name: Option<String>,
19215 #[serde(rename = "@ptType")]
19216 #[serde(default, skip_serializing_if = "Option::is_none")]
19217 pub pt_type: Option<STElementType>,
19218 #[cfg(feature = "extra-attrs")]
19220 #[serde(skip)]
19221 #[cfg(feature = "extra-attrs")]
19222 #[serde(default)]
19223 #[cfg(feature = "extra-attrs")]
19224 pub extra_attrs: std::collections::HashMap<String, String>,
19225}
19226
19227#[derive(Debug, Clone, Default, Serialize, Deserialize)]
19228pub struct DdgrmAGConstraintRefAttributes {
19229 #[serde(rename = "@refType")]
19230 #[serde(default, skip_serializing_if = "Option::is_none")]
19231 pub ref_type: Option<STConstraintType>,
19232 #[serde(rename = "@refFor")]
19233 #[serde(default, skip_serializing_if = "Option::is_none")]
19234 pub ref_for: Option<STConstraintRelationship>,
19235 #[serde(rename = "@refForName")]
19236 #[serde(default, skip_serializing_if = "Option::is_none")]
19237 pub ref_for_name: Option<String>,
19238 #[serde(rename = "@refPtType")]
19239 #[serde(default, skip_serializing_if = "Option::is_none")]
19240 pub ref_pt_type: Option<STElementType>,
19241 #[cfg(feature = "extra-attrs")]
19243 #[serde(skip)]
19244 #[cfg(feature = "extra-attrs")]
19245 #[serde(default)]
19246 #[cfg(feature = "extra-attrs")]
19247 pub extra_attrs: std::collections::HashMap<String, String>,
19248}
19249
19250#[derive(Debug, Clone, Serialize, Deserialize)]
19251pub struct LayoutConstraint {
19252 #[cfg(feature = "dml-diagrams")]
19253 #[serde(rename = "@type")]
19254 pub r#type: STConstraintType,
19255 #[cfg(feature = "dml-diagrams")]
19256 #[serde(rename = "@for")]
19257 #[serde(default, skip_serializing_if = "Option::is_none")]
19258 pub r#for: Option<STConstraintRelationship>,
19259 #[cfg(feature = "dml-diagrams")]
19260 #[serde(rename = "@forName")]
19261 #[serde(default, skip_serializing_if = "Option::is_none")]
19262 pub for_name: Option<String>,
19263 #[cfg(feature = "dml-diagrams")]
19264 #[serde(rename = "@ptType")]
19265 #[serde(default, skip_serializing_if = "Option::is_none")]
19266 pub pt_type: Option<STElementType>,
19267 #[cfg(feature = "dml-diagrams")]
19268 #[serde(rename = "@refType")]
19269 #[serde(default, skip_serializing_if = "Option::is_none")]
19270 pub ref_type: Option<STConstraintType>,
19271 #[cfg(feature = "dml-diagrams")]
19272 #[serde(rename = "@refFor")]
19273 #[serde(default, skip_serializing_if = "Option::is_none")]
19274 pub ref_for: Option<STConstraintRelationship>,
19275 #[cfg(feature = "dml-diagrams")]
19276 #[serde(rename = "@refForName")]
19277 #[serde(default, skip_serializing_if = "Option::is_none")]
19278 pub ref_for_name: Option<String>,
19279 #[cfg(feature = "dml-diagrams")]
19280 #[serde(rename = "@refPtType")]
19281 #[serde(default, skip_serializing_if = "Option::is_none")]
19282 pub ref_pt_type: Option<STElementType>,
19283 #[cfg(feature = "dml-diagrams")]
19284 #[serde(rename = "@op")]
19285 #[serde(default, skip_serializing_if = "Option::is_none")]
19286 pub op: Option<STBoolOperator>,
19287 #[cfg(feature = "dml-diagrams")]
19288 #[serde(rename = "@val")]
19289 #[serde(default, skip_serializing_if = "Option::is_none")]
19290 pub value: Option<f64>,
19291 #[cfg(feature = "dml-diagrams")]
19292 #[serde(rename = "@fact")]
19293 #[serde(default, skip_serializing_if = "Option::is_none")]
19294 pub fact: Option<f64>,
19295 #[cfg(feature = "dml-diagrams")]
19296 #[serde(rename = "extLst")]
19297 #[serde(default, skip_serializing_if = "Option::is_none")]
19298 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
19299 #[cfg(feature = "extra-attrs")]
19301 #[serde(skip)]
19302 #[cfg(feature = "extra-attrs")]
19303 #[serde(default)]
19304 #[cfg(feature = "extra-attrs")]
19305 pub extra_attrs: std::collections::HashMap<String, String>,
19306 #[cfg(feature = "extra-children")]
19308 #[serde(skip)]
19309 #[cfg(feature = "extra-children")]
19310 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19311}
19312
19313#[derive(Debug, Clone, Default, Serialize, Deserialize)]
19314pub struct LayoutConstraints {
19315 #[cfg(feature = "dml-diagrams")]
19316 #[serde(rename = "constr")]
19317 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19318 pub constr: Vec<LayoutConstraint>,
19319 #[cfg(feature = "extra-children")]
19321 #[serde(skip)]
19322 #[cfg(feature = "extra-children")]
19323 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19324}
19325
19326#[derive(Debug, Clone, Serialize, Deserialize)]
19327pub struct NumericRule {
19328 #[cfg(feature = "dml-diagrams")]
19329 #[serde(rename = "@type")]
19330 pub r#type: STConstraintType,
19331 #[cfg(feature = "dml-diagrams")]
19332 #[serde(rename = "@for")]
19333 #[serde(default, skip_serializing_if = "Option::is_none")]
19334 pub r#for: Option<STConstraintRelationship>,
19335 #[cfg(feature = "dml-diagrams")]
19336 #[serde(rename = "@forName")]
19337 #[serde(default, skip_serializing_if = "Option::is_none")]
19338 pub for_name: Option<String>,
19339 #[cfg(feature = "dml-diagrams")]
19340 #[serde(rename = "@ptType")]
19341 #[serde(default, skip_serializing_if = "Option::is_none")]
19342 pub pt_type: Option<STElementType>,
19343 #[cfg(feature = "dml-diagrams")]
19344 #[serde(rename = "@val")]
19345 #[serde(default, skip_serializing_if = "Option::is_none")]
19346 pub value: Option<f64>,
19347 #[cfg(feature = "dml-diagrams")]
19348 #[serde(rename = "@fact")]
19349 #[serde(default, skip_serializing_if = "Option::is_none")]
19350 pub fact: Option<f64>,
19351 #[cfg(feature = "dml-diagrams")]
19352 #[serde(rename = "@max")]
19353 #[serde(default, skip_serializing_if = "Option::is_none")]
19354 pub max: Option<f64>,
19355 #[cfg(feature = "dml-diagrams")]
19356 #[serde(rename = "extLst")]
19357 #[serde(default, skip_serializing_if = "Option::is_none")]
19358 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
19359 #[cfg(feature = "extra-attrs")]
19361 #[serde(skip)]
19362 #[cfg(feature = "extra-attrs")]
19363 #[serde(default)]
19364 #[cfg(feature = "extra-attrs")]
19365 pub extra_attrs: std::collections::HashMap<String, String>,
19366 #[cfg(feature = "extra-children")]
19368 #[serde(skip)]
19369 #[cfg(feature = "extra-children")]
19370 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19371}
19372
19373#[derive(Debug, Clone, Default, Serialize, Deserialize)]
19374pub struct LayoutRules {
19375 #[cfg(feature = "dml-diagrams")]
19376 #[serde(rename = "rule")]
19377 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19378 pub rule: Vec<NumericRule>,
19379 #[cfg(feature = "extra-children")]
19381 #[serde(skip)]
19382 #[cfg(feature = "extra-children")]
19383 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19384}
19385
19386#[derive(Debug, Clone, Default, Serialize, Deserialize)]
19387pub struct PresentationOf {
19388 #[cfg(feature = "dml-diagrams")]
19389 #[serde(rename = "@axis")]
19390 #[serde(default, skip_serializing_if = "Option::is_none")]
19391 pub axis: Option<STAxisTypes>,
19392 #[cfg(feature = "dml-diagrams")]
19393 #[serde(rename = "@ptType")]
19394 #[serde(default, skip_serializing_if = "Option::is_none")]
19395 pub pt_type: Option<STElementTypes>,
19396 #[cfg(feature = "dml-diagrams")]
19397 #[serde(rename = "@hideLastTrans")]
19398 #[serde(default, skip_serializing_if = "Option::is_none")]
19399 pub hide_last_trans: Option<STBooleans>,
19400 #[cfg(feature = "dml-diagrams")]
19401 #[serde(rename = "@st")]
19402 #[serde(default, skip_serializing_if = "Option::is_none")]
19403 pub st: Option<STInts>,
19404 #[cfg(feature = "dml-diagrams")]
19405 #[serde(rename = "@cnt")]
19406 #[serde(default, skip_serializing_if = "Option::is_none")]
19407 pub cnt: Option<STUnsignedInts>,
19408 #[cfg(feature = "dml-diagrams")]
19409 #[serde(rename = "@step")]
19410 #[serde(default, skip_serializing_if = "Option::is_none")]
19411 pub step: Option<STInts>,
19412 #[cfg(feature = "dml-diagrams")]
19413 #[serde(rename = "extLst")]
19414 #[serde(default, skip_serializing_if = "Option::is_none")]
19415 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
19416 #[cfg(feature = "extra-attrs")]
19418 #[serde(skip)]
19419 #[cfg(feature = "extra-attrs")]
19420 #[serde(default)]
19421 #[cfg(feature = "extra-attrs")]
19422 pub extra_attrs: std::collections::HashMap<String, String>,
19423 #[cfg(feature = "extra-children")]
19425 #[serde(skip)]
19426 #[cfg(feature = "extra-children")]
19427 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19428}
19429
19430#[derive(Debug, Clone, Serialize, Deserialize)]
19431pub struct LayoutAdjustment {
19432 #[cfg(feature = "dml-diagrams")]
19433 #[serde(rename = "@idx")]
19434 pub idx: STIndex1,
19435 #[cfg(feature = "dml-diagrams")]
19436 #[serde(rename = "@val")]
19437 pub value: f64,
19438 #[cfg(feature = "extra-attrs")]
19440 #[serde(skip)]
19441 #[cfg(feature = "extra-attrs")]
19442 #[serde(default)]
19443 #[cfg(feature = "extra-attrs")]
19444 pub extra_attrs: std::collections::HashMap<String, String>,
19445}
19446
19447#[derive(Debug, Clone, Default, Serialize, Deserialize)]
19448pub struct LayoutAdjustmentList {
19449 #[cfg(feature = "dml-diagrams")]
19450 #[serde(rename = "adj")]
19451 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19452 pub adj: Vec<LayoutAdjustment>,
19453 #[cfg(feature = "extra-children")]
19455 #[serde(skip)]
19456 #[cfg(feature = "extra-children")]
19457 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19458}
19459
19460#[derive(Debug, Clone, Serialize, Deserialize)]
19461pub struct AlgorithmParameter {
19462 #[cfg(feature = "dml-diagrams")]
19463 #[serde(rename = "@type")]
19464 pub r#type: STParameterId,
19465 #[cfg(feature = "dml-diagrams")]
19466 #[serde(rename = "@val")]
19467 pub value: STParameterVal,
19468 #[cfg(feature = "extra-attrs")]
19470 #[serde(skip)]
19471 #[cfg(feature = "extra-attrs")]
19472 #[serde(default)]
19473 #[cfg(feature = "extra-attrs")]
19474 pub extra_attrs: std::collections::HashMap<String, String>,
19475}
19476
19477#[derive(Debug, Clone, Serialize, Deserialize)]
19478pub struct LayoutAlgorithm {
19479 #[cfg(feature = "dml-diagrams")]
19480 #[serde(rename = "@type")]
19481 pub r#type: STAlgorithmType,
19482 #[cfg(feature = "dml-diagrams")]
19483 #[serde(rename = "@rev")]
19484 #[serde(default, skip_serializing_if = "Option::is_none")]
19485 pub rev: Option<u32>,
19486 #[cfg(feature = "dml-diagrams")]
19487 #[serde(rename = "param")]
19488 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19489 pub param: Vec<AlgorithmParameter>,
19490 #[cfg(feature = "dml-diagrams")]
19491 #[serde(rename = "extLst")]
19492 #[serde(default, skip_serializing_if = "Option::is_none")]
19493 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
19494 #[cfg(feature = "extra-attrs")]
19496 #[serde(skip)]
19497 #[cfg(feature = "extra-attrs")]
19498 #[serde(default)]
19499 #[cfg(feature = "extra-attrs")]
19500 pub extra_attrs: std::collections::HashMap<String, String>,
19501 #[cfg(feature = "extra-children")]
19503 #[serde(skip)]
19504 #[cfg(feature = "extra-children")]
19505 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19506}
19507
19508#[derive(Debug, Clone, Default, Serialize, Deserialize)]
19509pub struct LayoutNode {
19510 #[cfg(feature = "dml-diagrams")]
19511 #[serde(rename = "@name")]
19512 #[serde(default, skip_serializing_if = "Option::is_none")]
19513 pub name: Option<String>,
19514 #[cfg(feature = "dml-diagrams")]
19515 #[serde(rename = "@styleLbl")]
19516 #[serde(default, skip_serializing_if = "Option::is_none")]
19517 pub style_lbl: Option<String>,
19518 #[cfg(feature = "dml-diagrams")]
19519 #[serde(rename = "@chOrder")]
19520 #[serde(default, skip_serializing_if = "Option::is_none")]
19521 pub ch_order: Option<STChildOrderType>,
19522 #[cfg(feature = "dml-diagrams")]
19523 #[serde(rename = "@moveWith")]
19524 #[serde(default, skip_serializing_if = "Option::is_none")]
19525 pub move_with: Option<String>,
19526 #[cfg(feature = "dml-diagrams")]
19527 #[serde(rename = "alg")]
19528 #[serde(default, skip_serializing_if = "Option::is_none")]
19529 pub alg: Option<Box<LayoutAlgorithm>>,
19530 #[cfg(feature = "dml-diagrams")]
19531 #[serde(rename = "shape")]
19532 #[serde(default, skip_serializing_if = "Option::is_none")]
19533 pub shape: Option<Box<DiagramShape>>,
19534 #[cfg(feature = "dml-diagrams")]
19535 #[serde(rename = "presOf")]
19536 #[serde(default, skip_serializing_if = "Option::is_none")]
19537 pub pres_of: Option<Box<PresentationOf>>,
19538 #[cfg(feature = "dml-diagrams")]
19539 #[serde(rename = "constrLst")]
19540 #[serde(default, skip_serializing_if = "Option::is_none")]
19541 pub constr_lst: Option<Box<LayoutConstraints>>,
19542 #[cfg(feature = "dml-diagrams")]
19543 #[serde(rename = "ruleLst")]
19544 #[serde(default, skip_serializing_if = "Option::is_none")]
19545 pub rule_lst: Option<Box<LayoutRules>>,
19546 #[cfg(feature = "dml-diagrams")]
19547 #[serde(rename = "varLst")]
19548 #[serde(default, skip_serializing_if = "Option::is_none")]
19549 pub var_lst: Option<Box<LayoutVariableProperties>>,
19550 #[cfg(feature = "dml-diagrams")]
19551 #[serde(rename = "forEach")]
19552 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19553 pub for_each: Vec<LayoutForEach>,
19554 #[cfg(feature = "dml-diagrams")]
19555 #[serde(rename = "layoutNode")]
19556 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19557 pub layout_node: Vec<LayoutNode>,
19558 #[cfg(feature = "dml-diagrams")]
19559 #[serde(rename = "choose")]
19560 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19561 pub choose: Vec<LayoutChoose>,
19562 #[cfg(feature = "dml-diagrams")]
19563 #[serde(rename = "extLst")]
19564 #[serde(default, skip_serializing_if = "Option::is_none")]
19565 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
19566 #[cfg(feature = "extra-attrs")]
19568 #[serde(skip)]
19569 #[cfg(feature = "extra-attrs")]
19570 #[serde(default)]
19571 #[cfg(feature = "extra-attrs")]
19572 pub extra_attrs: std::collections::HashMap<String, String>,
19573 #[cfg(feature = "extra-children")]
19575 #[serde(skip)]
19576 #[cfg(feature = "extra-children")]
19577 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19578}
19579
19580#[derive(Debug, Clone, Default, Serialize, Deserialize)]
19581pub struct LayoutForEach {
19582 #[cfg(feature = "dml-diagrams")]
19583 #[serde(rename = "@name")]
19584 #[serde(default, skip_serializing_if = "Option::is_none")]
19585 pub name: Option<String>,
19586 #[cfg(feature = "dml-diagrams")]
19587 #[serde(rename = "@ref")]
19588 #[serde(default, skip_serializing_if = "Option::is_none")]
19589 pub r#ref: Option<String>,
19590 #[cfg(feature = "dml-diagrams")]
19591 #[serde(rename = "@axis")]
19592 #[serde(default, skip_serializing_if = "Option::is_none")]
19593 pub axis: Option<STAxisTypes>,
19594 #[cfg(feature = "dml-diagrams")]
19595 #[serde(rename = "@ptType")]
19596 #[serde(default, skip_serializing_if = "Option::is_none")]
19597 pub pt_type: Option<STElementTypes>,
19598 #[cfg(feature = "dml-diagrams")]
19599 #[serde(rename = "@hideLastTrans")]
19600 #[serde(default, skip_serializing_if = "Option::is_none")]
19601 pub hide_last_trans: Option<STBooleans>,
19602 #[cfg(feature = "dml-diagrams")]
19603 #[serde(rename = "@st")]
19604 #[serde(default, skip_serializing_if = "Option::is_none")]
19605 pub st: Option<STInts>,
19606 #[cfg(feature = "dml-diagrams")]
19607 #[serde(rename = "@cnt")]
19608 #[serde(default, skip_serializing_if = "Option::is_none")]
19609 pub cnt: Option<STUnsignedInts>,
19610 #[cfg(feature = "dml-diagrams")]
19611 #[serde(rename = "@step")]
19612 #[serde(default, skip_serializing_if = "Option::is_none")]
19613 pub step: Option<STInts>,
19614 #[cfg(feature = "dml-diagrams")]
19615 #[serde(rename = "alg")]
19616 #[serde(default, skip_serializing_if = "Option::is_none")]
19617 pub alg: Option<Box<LayoutAlgorithm>>,
19618 #[cfg(feature = "dml-diagrams")]
19619 #[serde(rename = "shape")]
19620 #[serde(default, skip_serializing_if = "Option::is_none")]
19621 pub shape: Option<Box<DiagramShape>>,
19622 #[cfg(feature = "dml-diagrams")]
19623 #[serde(rename = "presOf")]
19624 #[serde(default, skip_serializing_if = "Option::is_none")]
19625 pub pres_of: Option<Box<PresentationOf>>,
19626 #[cfg(feature = "dml-diagrams")]
19627 #[serde(rename = "constrLst")]
19628 #[serde(default, skip_serializing_if = "Option::is_none")]
19629 pub constr_lst: Option<Box<LayoutConstraints>>,
19630 #[cfg(feature = "dml-diagrams")]
19631 #[serde(rename = "ruleLst")]
19632 #[serde(default, skip_serializing_if = "Option::is_none")]
19633 pub rule_lst: Option<Box<LayoutRules>>,
19634 #[cfg(feature = "dml-diagrams")]
19635 #[serde(rename = "forEach")]
19636 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19637 pub for_each: Vec<LayoutForEach>,
19638 #[cfg(feature = "dml-diagrams")]
19639 #[serde(rename = "layoutNode")]
19640 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19641 pub layout_node: Vec<LayoutNode>,
19642 #[cfg(feature = "dml-diagrams")]
19643 #[serde(rename = "choose")]
19644 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19645 pub choose: Vec<LayoutChoose>,
19646 #[cfg(feature = "dml-diagrams")]
19647 #[serde(rename = "extLst")]
19648 #[serde(default, skip_serializing_if = "Option::is_none")]
19649 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
19650 #[cfg(feature = "extra-attrs")]
19652 #[serde(skip)]
19653 #[cfg(feature = "extra-attrs")]
19654 #[serde(default)]
19655 #[cfg(feature = "extra-attrs")]
19656 pub extra_attrs: std::collections::HashMap<String, String>,
19657 #[cfg(feature = "extra-children")]
19659 #[serde(skip)]
19660 #[cfg(feature = "extra-children")]
19661 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19662}
19663
19664#[derive(Debug, Clone, Serialize, Deserialize)]
19665pub struct LayoutWhen {
19666 #[cfg(feature = "dml-diagrams")]
19667 #[serde(rename = "@name")]
19668 #[serde(default, skip_serializing_if = "Option::is_none")]
19669 pub name: Option<String>,
19670 #[cfg(feature = "dml-diagrams")]
19671 #[serde(rename = "@axis")]
19672 #[serde(default, skip_serializing_if = "Option::is_none")]
19673 pub axis: Option<STAxisTypes>,
19674 #[cfg(feature = "dml-diagrams")]
19675 #[serde(rename = "@ptType")]
19676 #[serde(default, skip_serializing_if = "Option::is_none")]
19677 pub pt_type: Option<STElementTypes>,
19678 #[cfg(feature = "dml-diagrams")]
19679 #[serde(rename = "@hideLastTrans")]
19680 #[serde(default, skip_serializing_if = "Option::is_none")]
19681 pub hide_last_trans: Option<STBooleans>,
19682 #[cfg(feature = "dml-diagrams")]
19683 #[serde(rename = "@st")]
19684 #[serde(default, skip_serializing_if = "Option::is_none")]
19685 pub st: Option<STInts>,
19686 #[cfg(feature = "dml-diagrams")]
19687 #[serde(rename = "@cnt")]
19688 #[serde(default, skip_serializing_if = "Option::is_none")]
19689 pub cnt: Option<STUnsignedInts>,
19690 #[cfg(feature = "dml-diagrams")]
19691 #[serde(rename = "@step")]
19692 #[serde(default, skip_serializing_if = "Option::is_none")]
19693 pub step: Option<STInts>,
19694 #[cfg(feature = "dml-diagrams")]
19695 #[serde(rename = "@func")]
19696 pub func: STFunctionType,
19697 #[cfg(feature = "dml-diagrams")]
19698 #[serde(rename = "@arg")]
19699 #[serde(default, skip_serializing_if = "Option::is_none")]
19700 pub arg: Option<STFunctionArgument>,
19701 #[cfg(feature = "dml-diagrams")]
19702 #[serde(rename = "@op")]
19703 pub op: STFunctionOperator,
19704 #[cfg(feature = "dml-diagrams")]
19705 #[serde(rename = "@val")]
19706 pub value: STFunctionValue,
19707 #[cfg(feature = "dml-diagrams")]
19708 #[serde(rename = "alg")]
19709 #[serde(default, skip_serializing_if = "Option::is_none")]
19710 pub alg: Option<Box<LayoutAlgorithm>>,
19711 #[cfg(feature = "dml-diagrams")]
19712 #[serde(rename = "shape")]
19713 #[serde(default, skip_serializing_if = "Option::is_none")]
19714 pub shape: Option<Box<DiagramShape>>,
19715 #[cfg(feature = "dml-diagrams")]
19716 #[serde(rename = "presOf")]
19717 #[serde(default, skip_serializing_if = "Option::is_none")]
19718 pub pres_of: Option<Box<PresentationOf>>,
19719 #[cfg(feature = "dml-diagrams")]
19720 #[serde(rename = "constrLst")]
19721 #[serde(default, skip_serializing_if = "Option::is_none")]
19722 pub constr_lst: Option<Box<LayoutConstraints>>,
19723 #[cfg(feature = "dml-diagrams")]
19724 #[serde(rename = "ruleLst")]
19725 #[serde(default, skip_serializing_if = "Option::is_none")]
19726 pub rule_lst: Option<Box<LayoutRules>>,
19727 #[cfg(feature = "dml-diagrams")]
19728 #[serde(rename = "forEach")]
19729 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19730 pub for_each: Vec<LayoutForEach>,
19731 #[cfg(feature = "dml-diagrams")]
19732 #[serde(rename = "layoutNode")]
19733 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19734 pub layout_node: Vec<LayoutNode>,
19735 #[cfg(feature = "dml-diagrams")]
19736 #[serde(rename = "choose")]
19737 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19738 pub choose: Vec<LayoutChoose>,
19739 #[cfg(feature = "dml-diagrams")]
19740 #[serde(rename = "extLst")]
19741 #[serde(default, skip_serializing_if = "Option::is_none")]
19742 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
19743 #[cfg(feature = "extra-attrs")]
19745 #[serde(skip)]
19746 #[cfg(feature = "extra-attrs")]
19747 #[serde(default)]
19748 #[cfg(feature = "extra-attrs")]
19749 pub extra_attrs: std::collections::HashMap<String, String>,
19750 #[cfg(feature = "extra-children")]
19752 #[serde(skip)]
19753 #[cfg(feature = "extra-children")]
19754 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19755}
19756
19757#[derive(Debug, Clone, Default, Serialize, Deserialize)]
19758pub struct LayoutOtherwise {
19759 #[cfg(feature = "dml-diagrams")]
19760 #[serde(rename = "@name")]
19761 #[serde(default, skip_serializing_if = "Option::is_none")]
19762 pub name: Option<String>,
19763 #[cfg(feature = "dml-diagrams")]
19764 #[serde(rename = "alg")]
19765 #[serde(default, skip_serializing_if = "Option::is_none")]
19766 pub alg: Option<Box<LayoutAlgorithm>>,
19767 #[cfg(feature = "dml-diagrams")]
19768 #[serde(rename = "shape")]
19769 #[serde(default, skip_serializing_if = "Option::is_none")]
19770 pub shape: Option<Box<DiagramShape>>,
19771 #[cfg(feature = "dml-diagrams")]
19772 #[serde(rename = "presOf")]
19773 #[serde(default, skip_serializing_if = "Option::is_none")]
19774 pub pres_of: Option<Box<PresentationOf>>,
19775 #[cfg(feature = "dml-diagrams")]
19776 #[serde(rename = "constrLst")]
19777 #[serde(default, skip_serializing_if = "Option::is_none")]
19778 pub constr_lst: Option<Box<LayoutConstraints>>,
19779 #[cfg(feature = "dml-diagrams")]
19780 #[serde(rename = "ruleLst")]
19781 #[serde(default, skip_serializing_if = "Option::is_none")]
19782 pub rule_lst: Option<Box<LayoutRules>>,
19783 #[cfg(feature = "dml-diagrams")]
19784 #[serde(rename = "forEach")]
19785 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19786 pub for_each: Vec<LayoutForEach>,
19787 #[cfg(feature = "dml-diagrams")]
19788 #[serde(rename = "layoutNode")]
19789 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19790 pub layout_node: Vec<LayoutNode>,
19791 #[cfg(feature = "dml-diagrams")]
19792 #[serde(rename = "choose")]
19793 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19794 pub choose: Vec<LayoutChoose>,
19795 #[cfg(feature = "dml-diagrams")]
19796 #[serde(rename = "extLst")]
19797 #[serde(default, skip_serializing_if = "Option::is_none")]
19798 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
19799 #[cfg(feature = "extra-attrs")]
19801 #[serde(skip)]
19802 #[cfg(feature = "extra-attrs")]
19803 #[serde(default)]
19804 #[cfg(feature = "extra-attrs")]
19805 pub extra_attrs: std::collections::HashMap<String, String>,
19806 #[cfg(feature = "extra-children")]
19808 #[serde(skip)]
19809 #[cfg(feature = "extra-children")]
19810 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19811}
19812
19813#[derive(Debug, Clone, Default, Serialize, Deserialize)]
19814pub struct LayoutChoose {
19815 #[cfg(feature = "dml-diagrams")]
19816 #[serde(rename = "@name")]
19817 #[serde(default, skip_serializing_if = "Option::is_none")]
19818 pub name: Option<String>,
19819 #[cfg(feature = "dml-diagrams")]
19820 #[serde(rename = "if")]
19821 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19822 pub r#if: Vec<LayoutWhen>,
19823 #[cfg(feature = "dml-diagrams")]
19824 #[serde(rename = "else")]
19825 #[serde(default, skip_serializing_if = "Option::is_none")]
19826 pub r#else: Option<Box<LayoutOtherwise>>,
19827 #[cfg(feature = "extra-attrs")]
19829 #[serde(skip)]
19830 #[cfg(feature = "extra-attrs")]
19831 #[serde(default)]
19832 #[cfg(feature = "extra-attrs")]
19833 pub extra_attrs: std::collections::HashMap<String, String>,
19834 #[cfg(feature = "extra-children")]
19836 #[serde(skip)]
19837 #[cfg(feature = "extra-children")]
19838 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19839}
19840
19841#[derive(Debug, Clone, Default, Serialize, Deserialize)]
19842pub struct DiagramSampleData {
19843 #[cfg(feature = "dml-diagrams")]
19844 #[serde(rename = "@useDef")]
19845 #[serde(
19846 default,
19847 skip_serializing_if = "Option::is_none",
19848 with = "ooxml_xml::ooxml_bool"
19849 )]
19850 pub use_def: Option<bool>,
19851 #[cfg(feature = "dml-diagrams")]
19852 #[serde(rename = "dataModel")]
19853 #[serde(default, skip_serializing_if = "Option::is_none")]
19854 pub data_model: Option<Box<DataModel>>,
19855 #[cfg(feature = "extra-attrs")]
19857 #[serde(skip)]
19858 #[cfg(feature = "extra-attrs")]
19859 #[serde(default)]
19860 #[cfg(feature = "extra-attrs")]
19861 pub extra_attrs: std::collections::HashMap<String, String>,
19862 #[cfg(feature = "extra-children")]
19864 #[serde(skip)]
19865 #[cfg(feature = "extra-children")]
19866 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19867}
19868
19869#[derive(Debug, Clone, Serialize, Deserialize)]
19870pub struct DiagramCategory {
19871 #[cfg(feature = "dml-diagrams")]
19872 #[serde(rename = "@type")]
19873 pub r#type: String,
19874 #[cfg(feature = "dml-diagrams")]
19875 #[serde(rename = "@pri")]
19876 pub pri: u32,
19877 #[cfg(feature = "extra-attrs")]
19879 #[serde(skip)]
19880 #[cfg(feature = "extra-attrs")]
19881 #[serde(default)]
19882 #[cfg(feature = "extra-attrs")]
19883 pub extra_attrs: std::collections::HashMap<String, String>,
19884}
19885
19886#[derive(Debug, Clone, Default, Serialize, Deserialize)]
19887pub struct DiagramCategories {
19888 #[cfg(feature = "dml-diagrams")]
19889 #[serde(rename = "cat")]
19890 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19891 pub cat: Vec<DiagramCategory>,
19892 #[cfg(feature = "extra-children")]
19894 #[serde(skip)]
19895 #[cfg(feature = "extra-children")]
19896 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19897}
19898
19899#[derive(Debug, Clone, Serialize, Deserialize)]
19900pub struct DiagramName {
19901 #[cfg(feature = "dml-diagrams")]
19902 #[serde(rename = "@lang")]
19903 #[serde(default, skip_serializing_if = "Option::is_none")]
19904 pub lang: Option<String>,
19905 #[cfg(feature = "dml-diagrams")]
19906 #[serde(rename = "@val")]
19907 pub value: String,
19908 #[cfg(feature = "extra-attrs")]
19910 #[serde(skip)]
19911 #[cfg(feature = "extra-attrs")]
19912 #[serde(default)]
19913 #[cfg(feature = "extra-attrs")]
19914 pub extra_attrs: std::collections::HashMap<String, String>,
19915}
19916
19917#[derive(Debug, Clone, Serialize, Deserialize)]
19918pub struct DiagramDescription {
19919 #[cfg(feature = "dml-diagrams")]
19920 #[serde(rename = "@lang")]
19921 #[serde(default, skip_serializing_if = "Option::is_none")]
19922 pub lang: Option<String>,
19923 #[cfg(feature = "dml-diagrams")]
19924 #[serde(rename = "@val")]
19925 pub value: String,
19926 #[cfg(feature = "extra-attrs")]
19928 #[serde(skip)]
19929 #[cfg(feature = "extra-attrs")]
19930 #[serde(default)]
19931 #[cfg(feature = "extra-attrs")]
19932 pub extra_attrs: std::collections::HashMap<String, String>,
19933}
19934
19935#[derive(Debug, Clone, Serialize, Deserialize)]
19936pub struct DiagramDefinition {
19937 #[cfg(feature = "dml-diagrams")]
19938 #[serde(rename = "@uniqueId")]
19939 #[serde(default, skip_serializing_if = "Option::is_none")]
19940 pub unique_id: Option<String>,
19941 #[cfg(feature = "dml-diagrams")]
19942 #[serde(rename = "@minVer")]
19943 #[serde(default, skip_serializing_if = "Option::is_none")]
19944 pub min_ver: Option<String>,
19945 #[cfg(feature = "dml-diagrams")]
19946 #[serde(rename = "@defStyle")]
19947 #[serde(default, skip_serializing_if = "Option::is_none")]
19948 pub def_style: Option<String>,
19949 #[cfg(feature = "dml-diagrams")]
19950 #[serde(rename = "title")]
19951 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19952 pub title: Vec<DiagramName>,
19953 #[cfg(feature = "dml-diagrams")]
19954 #[serde(rename = "desc")]
19955 #[serde(default, skip_serializing_if = "Vec::is_empty")]
19956 pub desc: Vec<DiagramDescription>,
19957 #[cfg(feature = "dml-diagrams")]
19958 #[serde(rename = "catLst")]
19959 #[serde(default, skip_serializing_if = "Option::is_none")]
19960 pub cat_lst: Option<Box<DiagramCategories>>,
19961 #[cfg(feature = "dml-diagrams")]
19962 #[serde(rename = "sampData")]
19963 #[serde(default, skip_serializing_if = "Option::is_none")]
19964 pub samp_data: Option<Box<DiagramSampleData>>,
19965 #[cfg(feature = "dml-diagrams")]
19966 #[serde(rename = "styleData")]
19967 #[serde(default, skip_serializing_if = "Option::is_none")]
19968 pub style_data: Option<Box<DiagramSampleData>>,
19969 #[cfg(feature = "dml-diagrams")]
19970 #[serde(rename = "clrData")]
19971 #[serde(default, skip_serializing_if = "Option::is_none")]
19972 pub clr_data: Option<Box<DiagramSampleData>>,
19973 #[cfg(feature = "dml-diagrams")]
19974 #[serde(rename = "layoutNode")]
19975 pub layout_node: Box<LayoutNode>,
19976 #[cfg(feature = "dml-diagrams")]
19977 #[serde(rename = "extLst")]
19978 #[serde(default, skip_serializing_if = "Option::is_none")]
19979 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
19980 #[cfg(feature = "extra-attrs")]
19982 #[serde(skip)]
19983 #[cfg(feature = "extra-attrs")]
19984 #[serde(default)]
19985 #[cfg(feature = "extra-attrs")]
19986 pub extra_attrs: std::collections::HashMap<String, String>,
19987 #[cfg(feature = "extra-children")]
19989 #[serde(skip)]
19990 #[cfg(feature = "extra-children")]
19991 pub extra_children: Vec<ooxml_xml::PositionedNode>,
19992}
19993
19994pub type DdgrmLayoutDef = Box<DiagramDefinition>;
19995
19996#[derive(Debug, Clone, Serialize, Deserialize)]
19997pub struct DiagramDefinitionHeader {
19998 #[cfg(feature = "dml-diagrams")]
19999 #[serde(rename = "@uniqueId")]
20000 pub unique_id: String,
20001 #[cfg(feature = "dml-diagrams")]
20002 #[serde(rename = "@minVer")]
20003 #[serde(default, skip_serializing_if = "Option::is_none")]
20004 pub min_ver: Option<String>,
20005 #[cfg(feature = "dml-diagrams")]
20006 #[serde(rename = "@defStyle")]
20007 #[serde(default, skip_serializing_if = "Option::is_none")]
20008 pub def_style: Option<String>,
20009 #[cfg(feature = "dml-diagrams")]
20010 #[serde(rename = "@resId")]
20011 #[serde(default, skip_serializing_if = "Option::is_none")]
20012 pub res_id: Option<i32>,
20013 #[cfg(feature = "dml-diagrams")]
20014 #[serde(rename = "title")]
20015 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20016 pub title: Vec<DiagramName>,
20017 #[cfg(feature = "dml-diagrams")]
20018 #[serde(rename = "desc")]
20019 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20020 pub desc: Vec<DiagramDescription>,
20021 #[cfg(feature = "dml-diagrams")]
20022 #[serde(rename = "catLst")]
20023 #[serde(default, skip_serializing_if = "Option::is_none")]
20024 pub cat_lst: Option<Box<DiagramCategories>>,
20025 #[cfg(feature = "dml-diagrams")]
20026 #[serde(rename = "extLst")]
20027 #[serde(default, skip_serializing_if = "Option::is_none")]
20028 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
20029 #[cfg(feature = "extra-attrs")]
20031 #[serde(skip)]
20032 #[cfg(feature = "extra-attrs")]
20033 #[serde(default)]
20034 #[cfg(feature = "extra-attrs")]
20035 pub extra_attrs: std::collections::HashMap<String, String>,
20036 #[cfg(feature = "extra-children")]
20038 #[serde(skip)]
20039 #[cfg(feature = "extra-children")]
20040 pub extra_children: Vec<ooxml_xml::PositionedNode>,
20041}
20042
20043pub type DdgrmLayoutDefHdr = Box<DiagramDefinitionHeader>;
20044
20045#[derive(Debug, Clone, Default, Serialize, Deserialize)]
20046pub struct DiagramDefinitionHeaderList {
20047 #[cfg(feature = "dml-diagrams")]
20048 #[serde(rename = "layoutDefHdr")]
20049 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20050 pub layout_def_hdr: Vec<DiagramDefinitionHeader>,
20051 #[cfg(feature = "extra-children")]
20053 #[serde(skip)]
20054 #[cfg(feature = "extra-children")]
20055 pub extra_children: Vec<ooxml_xml::PositionedNode>,
20056}
20057
20058pub type DdgrmLayoutDefHdrLst = Box<DiagramDefinitionHeaderList>;
20059
20060#[derive(Debug, Clone, Serialize, Deserialize)]
20061pub struct DiagramRelationshipIds {
20062 #[cfg(feature = "dml-diagrams")]
20063 #[serde(rename = "@r:dm")]
20064 pub dm: STRelationshipId,
20065 #[cfg(feature = "dml-diagrams")]
20066 #[serde(rename = "@r:lo")]
20067 pub lo: STRelationshipId,
20068 #[cfg(feature = "dml-diagrams")]
20069 #[serde(rename = "@r:qs")]
20070 pub qs: STRelationshipId,
20071 #[cfg(feature = "dml-diagrams")]
20072 #[serde(rename = "@r:cs")]
20073 pub cs: STRelationshipId,
20074 #[cfg(feature = "extra-attrs")]
20076 #[serde(skip)]
20077 #[cfg(feature = "extra-attrs")]
20078 #[serde(default)]
20079 #[cfg(feature = "extra-attrs")]
20080 pub extra_attrs: std::collections::HashMap<String, String>,
20081}
20082
20083pub type DdgrmRelIds = Box<DiagramRelationshipIds>;
20084
20085#[derive(Debug, Clone, Default, Serialize, Deserialize)]
20086pub struct DiagramElementProperties {
20087 #[cfg(feature = "dml-diagrams")]
20088 #[serde(rename = "@presAssocID")]
20089 #[serde(default, skip_serializing_if = "Option::is_none")]
20090 pub pres_assoc_i_d: Option<STModelId>,
20091 #[cfg(feature = "dml-diagrams")]
20092 #[serde(rename = "@presName")]
20093 #[serde(default, skip_serializing_if = "Option::is_none")]
20094 pub pres_name: Option<String>,
20095 #[cfg(feature = "dml-diagrams")]
20096 #[serde(rename = "@presStyleLbl")]
20097 #[serde(default, skip_serializing_if = "Option::is_none")]
20098 pub pres_style_lbl: Option<String>,
20099 #[cfg(feature = "dml-diagrams")]
20100 #[serde(rename = "@presStyleIdx")]
20101 #[serde(default, skip_serializing_if = "Option::is_none")]
20102 pub pres_style_idx: Option<i32>,
20103 #[cfg(feature = "dml-diagrams")]
20104 #[serde(rename = "@presStyleCnt")]
20105 #[serde(default, skip_serializing_if = "Option::is_none")]
20106 pub pres_style_cnt: Option<i32>,
20107 #[cfg(feature = "dml-diagrams")]
20108 #[serde(rename = "@loTypeId")]
20109 #[serde(default, skip_serializing_if = "Option::is_none")]
20110 pub lo_type_id: Option<String>,
20111 #[cfg(feature = "dml-diagrams")]
20112 #[serde(rename = "@loCatId")]
20113 #[serde(default, skip_serializing_if = "Option::is_none")]
20114 pub lo_cat_id: Option<String>,
20115 #[cfg(feature = "dml-diagrams")]
20116 #[serde(rename = "@qsTypeId")]
20117 #[serde(default, skip_serializing_if = "Option::is_none")]
20118 pub qs_type_id: Option<String>,
20119 #[cfg(feature = "dml-diagrams")]
20120 #[serde(rename = "@qsCatId")]
20121 #[serde(default, skip_serializing_if = "Option::is_none")]
20122 pub qs_cat_id: Option<String>,
20123 #[cfg(feature = "dml-diagrams")]
20124 #[serde(rename = "@csTypeId")]
20125 #[serde(default, skip_serializing_if = "Option::is_none")]
20126 pub cs_type_id: Option<String>,
20127 #[cfg(feature = "dml-diagrams")]
20128 #[serde(rename = "@csCatId")]
20129 #[serde(default, skip_serializing_if = "Option::is_none")]
20130 pub cs_cat_id: Option<String>,
20131 #[cfg(feature = "dml-diagrams")]
20132 #[serde(rename = "@coherent3DOff")]
20133 #[serde(
20134 default,
20135 skip_serializing_if = "Option::is_none",
20136 with = "ooxml_xml::ooxml_bool"
20137 )]
20138 pub coherent3_d_off: Option<bool>,
20139 #[cfg(feature = "dml-diagrams")]
20140 #[serde(rename = "@phldrT")]
20141 #[serde(default, skip_serializing_if = "Option::is_none")]
20142 pub phldr_t: Option<String>,
20143 #[cfg(feature = "dml-diagrams")]
20144 #[serde(rename = "@phldr")]
20145 #[serde(
20146 default,
20147 skip_serializing_if = "Option::is_none",
20148 with = "ooxml_xml::ooxml_bool"
20149 )]
20150 pub phldr: Option<bool>,
20151 #[cfg(feature = "dml-diagrams")]
20152 #[serde(rename = "@custAng")]
20153 #[serde(default, skip_serializing_if = "Option::is_none")]
20154 pub cust_ang: Option<i32>,
20155 #[cfg(feature = "dml-diagrams")]
20156 #[serde(rename = "@custFlipVert")]
20157 #[serde(
20158 default,
20159 skip_serializing_if = "Option::is_none",
20160 with = "ooxml_xml::ooxml_bool"
20161 )]
20162 pub cust_flip_vert: Option<bool>,
20163 #[cfg(feature = "dml-diagrams")]
20164 #[serde(rename = "@custFlipHor")]
20165 #[serde(
20166 default,
20167 skip_serializing_if = "Option::is_none",
20168 with = "ooxml_xml::ooxml_bool"
20169 )]
20170 pub cust_flip_hor: Option<bool>,
20171 #[cfg(feature = "dml-diagrams")]
20172 #[serde(rename = "@custSzX")]
20173 #[serde(default, skip_serializing_if = "Option::is_none")]
20174 pub cust_sz_x: Option<i32>,
20175 #[cfg(feature = "dml-diagrams")]
20176 #[serde(rename = "@custSzY")]
20177 #[serde(default, skip_serializing_if = "Option::is_none")]
20178 pub cust_sz_y: Option<i32>,
20179 #[cfg(feature = "dml-diagrams")]
20180 #[serde(rename = "@custScaleX")]
20181 #[serde(default, skip_serializing_if = "Option::is_none")]
20182 pub cust_scale_x: Option<STPrSetCustVal>,
20183 #[cfg(feature = "dml-diagrams")]
20184 #[serde(rename = "@custScaleY")]
20185 #[serde(default, skip_serializing_if = "Option::is_none")]
20186 pub cust_scale_y: Option<STPrSetCustVal>,
20187 #[cfg(feature = "dml-diagrams")]
20188 #[serde(rename = "@custT")]
20189 #[serde(
20190 default,
20191 skip_serializing_if = "Option::is_none",
20192 with = "ooxml_xml::ooxml_bool"
20193 )]
20194 pub cust_t: Option<bool>,
20195 #[cfg(feature = "dml-diagrams")]
20196 #[serde(rename = "@custLinFactX")]
20197 #[serde(default, skip_serializing_if = "Option::is_none")]
20198 pub cust_lin_fact_x: Option<STPrSetCustVal>,
20199 #[cfg(feature = "dml-diagrams")]
20200 #[serde(rename = "@custLinFactY")]
20201 #[serde(default, skip_serializing_if = "Option::is_none")]
20202 pub cust_lin_fact_y: Option<STPrSetCustVal>,
20203 #[cfg(feature = "dml-diagrams")]
20204 #[serde(rename = "@custLinFactNeighborX")]
20205 #[serde(default, skip_serializing_if = "Option::is_none")]
20206 pub cust_lin_fact_neighbor_x: Option<STPrSetCustVal>,
20207 #[cfg(feature = "dml-diagrams")]
20208 #[serde(rename = "@custLinFactNeighborY")]
20209 #[serde(default, skip_serializing_if = "Option::is_none")]
20210 pub cust_lin_fact_neighbor_y: Option<STPrSetCustVal>,
20211 #[cfg(feature = "dml-diagrams")]
20212 #[serde(rename = "@custRadScaleRad")]
20213 #[serde(default, skip_serializing_if = "Option::is_none")]
20214 pub cust_rad_scale_rad: Option<STPrSetCustVal>,
20215 #[cfg(feature = "dml-diagrams")]
20216 #[serde(rename = "@custRadScaleInc")]
20217 #[serde(default, skip_serializing_if = "Option::is_none")]
20218 pub cust_rad_scale_inc: Option<STPrSetCustVal>,
20219 #[cfg(feature = "dml-diagrams")]
20220 #[serde(rename = "presLayoutVars")]
20221 #[serde(default, skip_serializing_if = "Option::is_none")]
20222 pub pres_layout_vars: Option<Box<LayoutVariableProperties>>,
20223 #[cfg(feature = "dml-diagrams")]
20224 #[serde(rename = "style")]
20225 #[serde(default, skip_serializing_if = "Option::is_none")]
20226 pub style: Option<Box<ShapeStyle>>,
20227 #[cfg(feature = "extra-attrs")]
20229 #[serde(skip)]
20230 #[cfg(feature = "extra-attrs")]
20231 #[serde(default)]
20232 #[cfg(feature = "extra-attrs")]
20233 pub extra_attrs: std::collections::HashMap<String, String>,
20234 #[cfg(feature = "extra-children")]
20236 #[serde(skip)]
20237 #[cfg(feature = "extra-children")]
20238 pub extra_children: Vec<ooxml_xml::PositionedNode>,
20239}
20240
20241#[derive(Debug, Clone, Default, Serialize, Deserialize)]
20242pub struct OrgChartProperties {
20243 #[cfg(feature = "dml-diagrams")]
20244 #[serde(rename = "@val")]
20245 #[serde(
20246 default,
20247 skip_serializing_if = "Option::is_none",
20248 with = "ooxml_xml::ooxml_bool"
20249 )]
20250 pub value: Option<bool>,
20251 #[cfg(feature = "extra-attrs")]
20253 #[serde(skip)]
20254 #[cfg(feature = "extra-attrs")]
20255 #[serde(default)]
20256 #[cfg(feature = "extra-attrs")]
20257 pub extra_attrs: std::collections::HashMap<String, String>,
20258}
20259
20260#[derive(Debug, Clone, Default, Serialize, Deserialize)]
20261pub struct ChildMaximum {
20262 #[cfg(feature = "dml-diagrams")]
20263 #[serde(rename = "@val")]
20264 #[serde(default, skip_serializing_if = "Option::is_none")]
20265 pub value: Option<STNodeCount>,
20266 #[cfg(feature = "extra-attrs")]
20268 #[serde(skip)]
20269 #[cfg(feature = "extra-attrs")]
20270 #[serde(default)]
20271 #[cfg(feature = "extra-attrs")]
20272 pub extra_attrs: std::collections::HashMap<String, String>,
20273}
20274
20275#[derive(Debug, Clone, Default, Serialize, Deserialize)]
20276pub struct ChildPreference {
20277 #[cfg(feature = "dml-diagrams")]
20278 #[serde(rename = "@val")]
20279 #[serde(default, skip_serializing_if = "Option::is_none")]
20280 pub value: Option<STNodeCount>,
20281 #[cfg(feature = "extra-attrs")]
20283 #[serde(skip)]
20284 #[cfg(feature = "extra-attrs")]
20285 #[serde(default)]
20286 #[cfg(feature = "extra-attrs")]
20287 pub extra_attrs: std::collections::HashMap<String, String>,
20288}
20289
20290#[derive(Debug, Clone, Default, Serialize, Deserialize)]
20291pub struct BulletEnabled {
20292 #[cfg(feature = "dml-diagrams")]
20293 #[serde(rename = "@val")]
20294 #[serde(
20295 default,
20296 skip_serializing_if = "Option::is_none",
20297 with = "ooxml_xml::ooxml_bool"
20298 )]
20299 pub value: Option<bool>,
20300 #[cfg(feature = "extra-attrs")]
20302 #[serde(skip)]
20303 #[cfg(feature = "extra-attrs")]
20304 #[serde(default)]
20305 #[cfg(feature = "extra-attrs")]
20306 pub extra_attrs: std::collections::HashMap<String, String>,
20307}
20308
20309#[derive(Debug, Clone, Default, Serialize, Deserialize)]
20310pub struct LayoutDirection {
20311 #[cfg(feature = "dml-diagrams")]
20312 #[serde(rename = "@val")]
20313 #[serde(default, skip_serializing_if = "Option::is_none")]
20314 pub value: Option<STDirection>,
20315 #[cfg(feature = "extra-attrs")]
20317 #[serde(skip)]
20318 #[cfg(feature = "extra-attrs")]
20319 #[serde(default)]
20320 #[cfg(feature = "extra-attrs")]
20321 pub extra_attrs: std::collections::HashMap<String, String>,
20322}
20323
20324#[derive(Debug, Clone, Default, Serialize, Deserialize)]
20325pub struct HierarchyBranchStyle {
20326 #[cfg(feature = "dml-diagrams")]
20327 #[serde(rename = "@val")]
20328 #[serde(default, skip_serializing_if = "Option::is_none")]
20329 pub value: Option<STHierBranchStyle>,
20330 #[cfg(feature = "extra-attrs")]
20332 #[serde(skip)]
20333 #[cfg(feature = "extra-attrs")]
20334 #[serde(default)]
20335 #[cfg(feature = "extra-attrs")]
20336 pub extra_attrs: std::collections::HashMap<String, String>,
20337}
20338
20339#[derive(Debug, Clone, Default, Serialize, Deserialize)]
20340pub struct AnimateOneByOne {
20341 #[cfg(feature = "dml-diagrams")]
20342 #[serde(rename = "@val")]
20343 #[serde(default, skip_serializing_if = "Option::is_none")]
20344 pub value: Option<STAnimOneStr>,
20345 #[cfg(feature = "extra-attrs")]
20347 #[serde(skip)]
20348 #[cfg(feature = "extra-attrs")]
20349 #[serde(default)]
20350 #[cfg(feature = "extra-attrs")]
20351 pub extra_attrs: std::collections::HashMap<String, String>,
20352}
20353
20354#[derive(Debug, Clone, Default, Serialize, Deserialize)]
20355pub struct AnimateLevel {
20356 #[cfg(feature = "dml-diagrams")]
20357 #[serde(rename = "@val")]
20358 #[serde(default, skip_serializing_if = "Option::is_none")]
20359 pub value: Option<STAnimLvlStr>,
20360 #[cfg(feature = "extra-attrs")]
20362 #[serde(skip)]
20363 #[cfg(feature = "extra-attrs")]
20364 #[serde(default)]
20365 #[cfg(feature = "extra-attrs")]
20366 pub extra_attrs: std::collections::HashMap<String, String>,
20367}
20368
20369#[derive(Debug, Clone, Default, Serialize, Deserialize)]
20370pub struct ResizeHandles {
20371 #[cfg(feature = "dml-diagrams")]
20372 #[serde(rename = "@val")]
20373 #[serde(default, skip_serializing_if = "Option::is_none")]
20374 pub value: Option<STResizeHandlesStr>,
20375 #[cfg(feature = "extra-attrs")]
20377 #[serde(skip)]
20378 #[cfg(feature = "extra-attrs")]
20379 #[serde(default)]
20380 #[cfg(feature = "extra-attrs")]
20381 pub extra_attrs: std::collections::HashMap<String, String>,
20382}
20383
20384#[derive(Debug, Clone, Default, Serialize, Deserialize)]
20385pub struct LayoutVariableProperties {
20386 #[cfg(feature = "dml-diagrams")]
20387 #[serde(rename = "orgChart")]
20388 #[serde(default, skip_serializing_if = "Option::is_none")]
20389 pub org_chart: Option<Box<OrgChartProperties>>,
20390 #[cfg(feature = "dml-diagrams")]
20391 #[serde(rename = "chMax")]
20392 #[serde(default, skip_serializing_if = "Option::is_none")]
20393 pub ch_max: Option<Box<ChildMaximum>>,
20394 #[cfg(feature = "dml-diagrams")]
20395 #[serde(rename = "chPref")]
20396 #[serde(default, skip_serializing_if = "Option::is_none")]
20397 pub ch_pref: Option<Box<ChildPreference>>,
20398 #[cfg(feature = "dml-diagrams")]
20399 #[serde(rename = "bulletEnabled")]
20400 #[serde(default, skip_serializing_if = "Option::is_none")]
20401 pub bullet_enabled: Option<Box<BulletEnabled>>,
20402 #[cfg(feature = "dml-diagrams")]
20403 #[serde(rename = "dir")]
20404 #[serde(default, skip_serializing_if = "Option::is_none")]
20405 pub dir: Option<Box<LayoutDirection>>,
20406 #[cfg(feature = "dml-diagrams")]
20407 #[serde(rename = "hierBranch")]
20408 #[serde(default, skip_serializing_if = "Option::is_none")]
20409 pub hier_branch: Option<Box<HierarchyBranchStyle>>,
20410 #[cfg(feature = "dml-diagrams")]
20411 #[serde(rename = "animOne")]
20412 #[serde(default, skip_serializing_if = "Option::is_none")]
20413 pub anim_one: Option<Box<AnimateOneByOne>>,
20414 #[cfg(feature = "dml-diagrams")]
20415 #[serde(rename = "animLvl")]
20416 #[serde(default, skip_serializing_if = "Option::is_none")]
20417 pub anim_lvl: Option<Box<AnimateLevel>>,
20418 #[cfg(feature = "dml-diagrams")]
20419 #[serde(rename = "resizeHandles")]
20420 #[serde(default, skip_serializing_if = "Option::is_none")]
20421 pub resize_handles: Option<Box<ResizeHandles>>,
20422 #[cfg(feature = "extra-children")]
20424 #[serde(skip)]
20425 #[cfg(feature = "extra-children")]
20426 pub extra_children: Vec<ooxml_xml::PositionedNode>,
20427}
20428
20429#[derive(Debug, Clone, Serialize, Deserialize)]
20430pub struct StyleDefinitionName {
20431 #[cfg(feature = "dml-diagrams")]
20432 #[serde(rename = "@lang")]
20433 #[serde(default, skip_serializing_if = "Option::is_none")]
20434 pub lang: Option<String>,
20435 #[cfg(feature = "dml-diagrams")]
20436 #[serde(rename = "@val")]
20437 pub value: String,
20438 #[cfg(feature = "extra-attrs")]
20440 #[serde(skip)]
20441 #[cfg(feature = "extra-attrs")]
20442 #[serde(default)]
20443 #[cfg(feature = "extra-attrs")]
20444 pub extra_attrs: std::collections::HashMap<String, String>,
20445}
20446
20447#[derive(Debug, Clone, Serialize, Deserialize)]
20448pub struct StyleDefinitionDescription {
20449 #[cfg(feature = "dml-diagrams")]
20450 #[serde(rename = "@lang")]
20451 #[serde(default, skip_serializing_if = "Option::is_none")]
20452 pub lang: Option<String>,
20453 #[cfg(feature = "dml-diagrams")]
20454 #[serde(rename = "@val")]
20455 pub value: String,
20456 #[cfg(feature = "extra-attrs")]
20458 #[serde(skip)]
20459 #[cfg(feature = "extra-attrs")]
20460 #[serde(default)]
20461 #[cfg(feature = "extra-attrs")]
20462 pub extra_attrs: std::collections::HashMap<String, String>,
20463}
20464
20465#[derive(Debug, Clone, Serialize, Deserialize)]
20466pub struct DiagramStyleCategory {
20467 #[cfg(feature = "dml-diagrams")]
20468 #[serde(rename = "@type")]
20469 pub r#type: String,
20470 #[cfg(feature = "dml-diagrams")]
20471 #[serde(rename = "@pri")]
20472 pub pri: u32,
20473 #[cfg(feature = "extra-attrs")]
20475 #[serde(skip)]
20476 #[cfg(feature = "extra-attrs")]
20477 #[serde(default)]
20478 #[cfg(feature = "extra-attrs")]
20479 pub extra_attrs: std::collections::HashMap<String, String>,
20480}
20481
20482#[derive(Debug, Clone, Default, Serialize, Deserialize)]
20483pub struct DiagramStyleCategories {
20484 #[cfg(feature = "dml-diagrams")]
20485 #[serde(rename = "cat")]
20486 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20487 pub cat: Vec<DiagramStyleCategory>,
20488 #[cfg(feature = "extra-children")]
20490 #[serde(skip)]
20491 #[cfg(feature = "extra-children")]
20492 pub extra_children: Vec<ooxml_xml::PositionedNode>,
20493}
20494
20495#[derive(Debug, Clone, Default, Serialize, Deserialize)]
20496pub struct DiagramTextProperties {
20497 #[cfg(feature = "dml-diagrams")]
20498 #[serde(skip)]
20499 #[serde(default)]
20500 pub text3_d: Option<Box<EGText3D>>,
20501 #[cfg(feature = "extra-children")]
20503 #[serde(skip)]
20504 #[cfg(feature = "extra-children")]
20505 pub extra_children: Vec<ooxml_xml::PositionedNode>,
20506}
20507
20508#[derive(Debug, Clone, Serialize, Deserialize)]
20509pub struct DiagramStyleLabel {
20510 #[cfg(feature = "dml-diagrams")]
20511 #[serde(rename = "@name")]
20512 pub name: String,
20513 #[cfg(feature = "dml-diagrams")]
20514 #[serde(rename = "scene3d")]
20515 #[serde(default, skip_serializing_if = "Option::is_none")]
20516 pub scene3d: Option<Box<CTScene3D>>,
20517 #[cfg(feature = "dml-diagrams")]
20518 #[serde(rename = "sp3d")]
20519 #[serde(default, skip_serializing_if = "Option::is_none")]
20520 pub sp3d: Option<Box<CTShape3D>>,
20521 #[cfg(feature = "dml-diagrams")]
20522 #[serde(rename = "txPr")]
20523 #[serde(default, skip_serializing_if = "Option::is_none")]
20524 pub tx_pr: Option<Box<DiagramTextProperties>>,
20525 #[cfg(feature = "dml-diagrams")]
20526 #[serde(rename = "style")]
20527 #[serde(default, skip_serializing_if = "Option::is_none")]
20528 pub style: Option<Box<ShapeStyle>>,
20529 #[cfg(feature = "dml-diagrams")]
20530 #[serde(rename = "extLst")]
20531 #[serde(default, skip_serializing_if = "Option::is_none")]
20532 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
20533 #[cfg(feature = "extra-attrs")]
20535 #[serde(skip)]
20536 #[cfg(feature = "extra-attrs")]
20537 #[serde(default)]
20538 #[cfg(feature = "extra-attrs")]
20539 pub extra_attrs: std::collections::HashMap<String, String>,
20540 #[cfg(feature = "extra-children")]
20542 #[serde(skip)]
20543 #[cfg(feature = "extra-children")]
20544 pub extra_children: Vec<ooxml_xml::PositionedNode>,
20545}
20546
20547#[derive(Debug, Clone, Default, Serialize, Deserialize)]
20548pub struct DiagramStyleDefinition {
20549 #[cfg(feature = "dml-diagrams")]
20550 #[serde(rename = "@uniqueId")]
20551 #[serde(default, skip_serializing_if = "Option::is_none")]
20552 pub unique_id: Option<String>,
20553 #[cfg(feature = "dml-diagrams")]
20554 #[serde(rename = "@minVer")]
20555 #[serde(default, skip_serializing_if = "Option::is_none")]
20556 pub min_ver: Option<String>,
20557 #[cfg(feature = "dml-diagrams")]
20558 #[serde(rename = "title")]
20559 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20560 pub title: Vec<StyleDefinitionName>,
20561 #[cfg(feature = "dml-diagrams")]
20562 #[serde(rename = "desc")]
20563 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20564 pub desc: Vec<StyleDefinitionDescription>,
20565 #[cfg(feature = "dml-diagrams")]
20566 #[serde(rename = "catLst")]
20567 #[serde(default, skip_serializing_if = "Option::is_none")]
20568 pub cat_lst: Option<Box<DiagramStyleCategories>>,
20569 #[cfg(feature = "dml-diagrams")]
20570 #[serde(rename = "scene3d")]
20571 #[serde(default, skip_serializing_if = "Option::is_none")]
20572 pub scene3d: Option<Box<CTScene3D>>,
20573 #[cfg(feature = "dml-diagrams")]
20574 #[serde(rename = "styleLbl")]
20575 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20576 pub style_lbl: Vec<DiagramStyleLabel>,
20577 #[cfg(feature = "dml-diagrams")]
20578 #[serde(rename = "extLst")]
20579 #[serde(default, skip_serializing_if = "Option::is_none")]
20580 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
20581 #[cfg(feature = "extra-attrs")]
20583 #[serde(skip)]
20584 #[cfg(feature = "extra-attrs")]
20585 #[serde(default)]
20586 #[cfg(feature = "extra-attrs")]
20587 pub extra_attrs: std::collections::HashMap<String, String>,
20588 #[cfg(feature = "extra-children")]
20590 #[serde(skip)]
20591 #[cfg(feature = "extra-children")]
20592 pub extra_children: Vec<ooxml_xml::PositionedNode>,
20593}
20594
20595pub type DdgrmStyleDef = Box<DiagramStyleDefinition>;
20596
20597#[derive(Debug, Clone, Serialize, Deserialize)]
20598pub struct DiagramStyleDefinitionHeader {
20599 #[cfg(feature = "dml-diagrams")]
20600 #[serde(rename = "@uniqueId")]
20601 pub unique_id: String,
20602 #[cfg(feature = "dml-diagrams")]
20603 #[serde(rename = "@minVer")]
20604 #[serde(default, skip_serializing_if = "Option::is_none")]
20605 pub min_ver: Option<String>,
20606 #[cfg(feature = "dml-diagrams")]
20607 #[serde(rename = "@resId")]
20608 #[serde(default, skip_serializing_if = "Option::is_none")]
20609 pub res_id: Option<i32>,
20610 #[cfg(feature = "dml-diagrams")]
20611 #[serde(rename = "title")]
20612 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20613 pub title: Vec<StyleDefinitionName>,
20614 #[cfg(feature = "dml-diagrams")]
20615 #[serde(rename = "desc")]
20616 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20617 pub desc: Vec<StyleDefinitionDescription>,
20618 #[cfg(feature = "dml-diagrams")]
20619 #[serde(rename = "catLst")]
20620 #[serde(default, skip_serializing_if = "Option::is_none")]
20621 pub cat_lst: Option<Box<DiagramStyleCategories>>,
20622 #[cfg(feature = "dml-diagrams")]
20623 #[serde(rename = "extLst")]
20624 #[serde(default, skip_serializing_if = "Option::is_none")]
20625 pub ext_lst: Option<Box<CTOfficeArtExtensionList>>,
20626 #[cfg(feature = "extra-attrs")]
20628 #[serde(skip)]
20629 #[cfg(feature = "extra-attrs")]
20630 #[serde(default)]
20631 #[cfg(feature = "extra-attrs")]
20632 pub extra_attrs: std::collections::HashMap<String, String>,
20633 #[cfg(feature = "extra-children")]
20635 #[serde(skip)]
20636 #[cfg(feature = "extra-children")]
20637 pub extra_children: Vec<ooxml_xml::PositionedNode>,
20638}
20639
20640pub type DdgrmStyleDefHdr = Box<DiagramStyleDefinitionHeader>;
20641
20642#[derive(Debug, Clone, Default, Serialize, Deserialize)]
20643pub struct DiagramStyleDefinitionHeaderList {
20644 #[cfg(feature = "dml-diagrams")]
20645 #[serde(rename = "styleDefHdr")]
20646 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20647 pub style_def_hdr: Vec<DiagramStyleDefinitionHeader>,
20648 #[cfg(feature = "extra-children")]
20650 #[serde(skip)]
20651 #[cfg(feature = "extra-children")]
20652 pub extra_children: Vec<ooxml_xml::PositionedNode>,
20653}
20654
20655pub type DdgrmStyleDefHdrLst = Box<DiagramStyleDefinitionHeaderList>;