1use core::mem;
7use core::cmp::Ordering;
8
9extern crate flatbuffers;
10use self::flatbuffers::{EndianScalar, Follow};
11
12#[allow(unused_imports, dead_code)]
13pub mod duc {
14
15 use core::mem;
16 use core::cmp::Ordering;
17
18 extern crate flatbuffers;
19 use self::flatbuffers::{EndianScalar, Follow};
20
21#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
22pub const ENUM_MIN_VERTICAL_ALIGN: u8 = 10;
23#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
24pub const ENUM_MAX_VERTICAL_ALIGN: u8 = 12;
25#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
26#[allow(non_camel_case_types)]
27pub const ENUM_VALUES_VERTICAL_ALIGN: [VERTICAL_ALIGN; 3] = [
28 VERTICAL_ALIGN::TOP,
29 VERTICAL_ALIGN::MIDDLE,
30 VERTICAL_ALIGN::BOTTOM,
31];
32
33#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
34#[repr(transparent)]
35pub struct VERTICAL_ALIGN(pub u8);
36#[allow(non_upper_case_globals)]
37impl VERTICAL_ALIGN {
38 pub const TOP: Self = Self(10);
39 pub const MIDDLE: Self = Self(11);
40 pub const BOTTOM: Self = Self(12);
41
42 pub const ENUM_MIN: u8 = 10;
43 pub const ENUM_MAX: u8 = 12;
44 pub const ENUM_VALUES: &'static [Self] = &[
45 Self::TOP,
46 Self::MIDDLE,
47 Self::BOTTOM,
48 ];
49 pub fn variant_name(self) -> Option<&'static str> {
51 match self {
52 Self::TOP => Some("TOP"),
53 Self::MIDDLE => Some("MIDDLE"),
54 Self::BOTTOM => Some("BOTTOM"),
55 _ => None,
56 }
57 }
58}
59impl core::fmt::Debug for VERTICAL_ALIGN {
60 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
61 if let Some(name) = self.variant_name() {
62 f.write_str(name)
63 } else {
64 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
65 }
66 }
67}
68impl<'a> flatbuffers::Follow<'a> for VERTICAL_ALIGN {
69 type Inner = Self;
70 #[inline]
71 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
72 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
73 Self(b)
74 }
75}
76
77impl flatbuffers::Push for VERTICAL_ALIGN {
78 type Output = VERTICAL_ALIGN;
79 #[inline]
80 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
81 flatbuffers::emplace_scalar::<u8>(dst, self.0);
82 }
83}
84
85impl flatbuffers::EndianScalar for VERTICAL_ALIGN {
86 type Scalar = u8;
87 #[inline]
88 fn to_little_endian(self) -> u8 {
89 self.0.to_le()
90 }
91 #[inline]
92 #[allow(clippy::wrong_self_convention)]
93 fn from_little_endian(v: u8) -> Self {
94 let b = u8::from_le(v);
95 Self(b)
96 }
97}
98
99impl<'a> flatbuffers::Verifiable for VERTICAL_ALIGN {
100 #[inline]
101 fn run_verifier(
102 v: &mut flatbuffers::Verifier, pos: usize
103 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
104 use self::flatbuffers::Verifiable;
105 u8::run_verifier(v, pos)
106 }
107}
108
109impl flatbuffers::SimpleToVerifyInSlice for VERTICAL_ALIGN {}
110#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
111pub const ENUM_MIN_TEXT_ALIGN: u8 = 10;
112#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
113pub const ENUM_MAX_TEXT_ALIGN: u8 = 12;
114#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
115#[allow(non_camel_case_types)]
116pub const ENUM_VALUES_TEXT_ALIGN: [TEXT_ALIGN; 3] = [
117 TEXT_ALIGN::LEFT,
118 TEXT_ALIGN::CENTER,
119 TEXT_ALIGN::RIGHT,
120];
121
122#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
123#[repr(transparent)]
124pub struct TEXT_ALIGN(pub u8);
125#[allow(non_upper_case_globals)]
126impl TEXT_ALIGN {
127 pub const LEFT: Self = Self(10);
128 pub const CENTER: Self = Self(11);
129 pub const RIGHT: Self = Self(12);
130
131 pub const ENUM_MIN: u8 = 10;
132 pub const ENUM_MAX: u8 = 12;
133 pub const ENUM_VALUES: &'static [Self] = &[
134 Self::LEFT,
135 Self::CENTER,
136 Self::RIGHT,
137 ];
138 pub fn variant_name(self) -> Option<&'static str> {
140 match self {
141 Self::LEFT => Some("LEFT"),
142 Self::CENTER => Some("CENTER"),
143 Self::RIGHT => Some("RIGHT"),
144 _ => None,
145 }
146 }
147}
148impl core::fmt::Debug for TEXT_ALIGN {
149 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
150 if let Some(name) = self.variant_name() {
151 f.write_str(name)
152 } else {
153 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
154 }
155 }
156}
157impl<'a> flatbuffers::Follow<'a> for TEXT_ALIGN {
158 type Inner = Self;
159 #[inline]
160 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
161 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
162 Self(b)
163 }
164}
165
166impl flatbuffers::Push for TEXT_ALIGN {
167 type Output = TEXT_ALIGN;
168 #[inline]
169 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
170 flatbuffers::emplace_scalar::<u8>(dst, self.0);
171 }
172}
173
174impl flatbuffers::EndianScalar for TEXT_ALIGN {
175 type Scalar = u8;
176 #[inline]
177 fn to_little_endian(self) -> u8 {
178 self.0.to_le()
179 }
180 #[inline]
181 #[allow(clippy::wrong_self_convention)]
182 fn from_little_endian(v: u8) -> Self {
183 let b = u8::from_le(v);
184 Self(b)
185 }
186}
187
188impl<'a> flatbuffers::Verifiable for TEXT_ALIGN {
189 #[inline]
190 fn run_verifier(
191 v: &mut flatbuffers::Verifier, pos: usize
192 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
193 use self::flatbuffers::Verifiable;
194 u8::run_verifier(v, pos)
195 }
196}
197
198impl flatbuffers::SimpleToVerifyInSlice for TEXT_ALIGN {}
199#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
200pub const ENUM_MIN_LINE_SPACING_TYPE: u8 = 10;
201#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
202pub const ENUM_MAX_LINE_SPACING_TYPE: u8 = 12;
203#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
204#[allow(non_camel_case_types)]
205pub const ENUM_VALUES_LINE_SPACING_TYPE: [LINE_SPACING_TYPE; 3] = [
206 LINE_SPACING_TYPE::AT_LEAST,
207 LINE_SPACING_TYPE::EXACTLY,
208 LINE_SPACING_TYPE::MULTIPLE,
209];
210
211#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
212#[repr(transparent)]
213pub struct LINE_SPACING_TYPE(pub u8);
214#[allow(non_upper_case_globals)]
215impl LINE_SPACING_TYPE {
216 pub const AT_LEAST: Self = Self(10);
217 pub const EXACTLY: Self = Self(11);
218 pub const MULTIPLE: Self = Self(12);
219
220 pub const ENUM_MIN: u8 = 10;
221 pub const ENUM_MAX: u8 = 12;
222 pub const ENUM_VALUES: &'static [Self] = &[
223 Self::AT_LEAST,
224 Self::EXACTLY,
225 Self::MULTIPLE,
226 ];
227 pub fn variant_name(self) -> Option<&'static str> {
229 match self {
230 Self::AT_LEAST => Some("AT_LEAST"),
231 Self::EXACTLY => Some("EXACTLY"),
232 Self::MULTIPLE => Some("MULTIPLE"),
233 _ => None,
234 }
235 }
236}
237impl core::fmt::Debug for LINE_SPACING_TYPE {
238 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
239 if let Some(name) = self.variant_name() {
240 f.write_str(name)
241 } else {
242 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
243 }
244 }
245}
246impl<'a> flatbuffers::Follow<'a> for LINE_SPACING_TYPE {
247 type Inner = Self;
248 #[inline]
249 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
250 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
251 Self(b)
252 }
253}
254
255impl flatbuffers::Push for LINE_SPACING_TYPE {
256 type Output = LINE_SPACING_TYPE;
257 #[inline]
258 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
259 flatbuffers::emplace_scalar::<u8>(dst, self.0);
260 }
261}
262
263impl flatbuffers::EndianScalar for LINE_SPACING_TYPE {
264 type Scalar = u8;
265 #[inline]
266 fn to_little_endian(self) -> u8 {
267 self.0.to_le()
268 }
269 #[inline]
270 #[allow(clippy::wrong_self_convention)]
271 fn from_little_endian(v: u8) -> Self {
272 let b = u8::from_le(v);
273 Self(b)
274 }
275}
276
277impl<'a> flatbuffers::Verifiable for LINE_SPACING_TYPE {
278 #[inline]
279 fn run_verifier(
280 v: &mut flatbuffers::Verifier, pos: usize
281 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
282 use self::flatbuffers::Verifiable;
283 u8::run_verifier(v, pos)
284 }
285}
286
287impl flatbuffers::SimpleToVerifyInSlice for LINE_SPACING_TYPE {}
288#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
289pub const ENUM_MIN_STACKED_TEXT_ALIGN: u8 = 10;
290#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
291pub const ENUM_MAX_STACKED_TEXT_ALIGN: u8 = 12;
292#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
293#[allow(non_camel_case_types)]
294pub const ENUM_VALUES_STACKED_TEXT_ALIGN: [STACKED_TEXT_ALIGN; 3] = [
295 STACKED_TEXT_ALIGN::CENTER,
296 STACKED_TEXT_ALIGN::DECIMAL,
297 STACKED_TEXT_ALIGN::SLASH,
298];
299
300#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
301#[repr(transparent)]
302pub struct STACKED_TEXT_ALIGN(pub u8);
303#[allow(non_upper_case_globals)]
304impl STACKED_TEXT_ALIGN {
305 pub const CENTER: Self = Self(10);
306 pub const DECIMAL: Self = Self(11);
307 pub const SLASH: Self = Self(12);
308
309 pub const ENUM_MIN: u8 = 10;
310 pub const ENUM_MAX: u8 = 12;
311 pub const ENUM_VALUES: &'static [Self] = &[
312 Self::CENTER,
313 Self::DECIMAL,
314 Self::SLASH,
315 ];
316 pub fn variant_name(self) -> Option<&'static str> {
318 match self {
319 Self::CENTER => Some("CENTER"),
320 Self::DECIMAL => Some("DECIMAL"),
321 Self::SLASH => Some("SLASH"),
322 _ => None,
323 }
324 }
325}
326impl core::fmt::Debug for STACKED_TEXT_ALIGN {
327 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
328 if let Some(name) = self.variant_name() {
329 f.write_str(name)
330 } else {
331 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
332 }
333 }
334}
335impl<'a> flatbuffers::Follow<'a> for STACKED_TEXT_ALIGN {
336 type Inner = Self;
337 #[inline]
338 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
339 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
340 Self(b)
341 }
342}
343
344impl flatbuffers::Push for STACKED_TEXT_ALIGN {
345 type Output = STACKED_TEXT_ALIGN;
346 #[inline]
347 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
348 flatbuffers::emplace_scalar::<u8>(dst, self.0);
349 }
350}
351
352impl flatbuffers::EndianScalar for STACKED_TEXT_ALIGN {
353 type Scalar = u8;
354 #[inline]
355 fn to_little_endian(self) -> u8 {
356 self.0.to_le()
357 }
358 #[inline]
359 #[allow(clippy::wrong_self_convention)]
360 fn from_little_endian(v: u8) -> Self {
361 let b = u8::from_le(v);
362 Self(b)
363 }
364}
365
366impl<'a> flatbuffers::Verifiable for STACKED_TEXT_ALIGN {
367 #[inline]
368 fn run_verifier(
369 v: &mut flatbuffers::Verifier, pos: usize
370 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
371 use self::flatbuffers::Verifiable;
372 u8::run_verifier(v, pos)
373 }
374}
375
376impl flatbuffers::SimpleToVerifyInSlice for STACKED_TEXT_ALIGN {}
377#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
378pub const ENUM_MIN_TEXT_FIELD_SOURCE_TYPE: u8 = 10;
379#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
380pub const ENUM_MAX_TEXT_FIELD_SOURCE_TYPE: u8 = 20;
381#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
382#[allow(non_camel_case_types)]
383pub const ENUM_VALUES_TEXT_FIELD_SOURCE_TYPE: [TEXT_FIELD_SOURCE_TYPE; 2] = [
384 TEXT_FIELD_SOURCE_TYPE::ELEMENT,
385 TEXT_FIELD_SOURCE_TYPE::DICTIONARY,
386];
387
388#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
389#[repr(transparent)]
390pub struct TEXT_FIELD_SOURCE_TYPE(pub u8);
391#[allow(non_upper_case_globals)]
392impl TEXT_FIELD_SOURCE_TYPE {
393 pub const ELEMENT: Self = Self(10);
394 pub const DICTIONARY: Self = Self(20);
395
396 pub const ENUM_MIN: u8 = 10;
397 pub const ENUM_MAX: u8 = 20;
398 pub const ENUM_VALUES: &'static [Self] = &[
399 Self::ELEMENT,
400 Self::DICTIONARY,
401 ];
402 pub fn variant_name(self) -> Option<&'static str> {
404 match self {
405 Self::ELEMENT => Some("ELEMENT"),
406 Self::DICTIONARY => Some("DICTIONARY"),
407 _ => None,
408 }
409 }
410}
411impl core::fmt::Debug for TEXT_FIELD_SOURCE_TYPE {
412 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
413 if let Some(name) = self.variant_name() {
414 f.write_str(name)
415 } else {
416 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
417 }
418 }
419}
420impl<'a> flatbuffers::Follow<'a> for TEXT_FIELD_SOURCE_TYPE {
421 type Inner = Self;
422 #[inline]
423 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
424 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
425 Self(b)
426 }
427}
428
429impl flatbuffers::Push for TEXT_FIELD_SOURCE_TYPE {
430 type Output = TEXT_FIELD_SOURCE_TYPE;
431 #[inline]
432 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
433 flatbuffers::emplace_scalar::<u8>(dst, self.0);
434 }
435}
436
437impl flatbuffers::EndianScalar for TEXT_FIELD_SOURCE_TYPE {
438 type Scalar = u8;
439 #[inline]
440 fn to_little_endian(self) -> u8 {
441 self.0.to_le()
442 }
443 #[inline]
444 #[allow(clippy::wrong_self_convention)]
445 fn from_little_endian(v: u8) -> Self {
446 let b = u8::from_le(v);
447 Self(b)
448 }
449}
450
451impl<'a> flatbuffers::Verifiable for TEXT_FIELD_SOURCE_TYPE {
452 #[inline]
453 fn run_verifier(
454 v: &mut flatbuffers::Verifier, pos: usize
455 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
456 use self::flatbuffers::Verifiable;
457 u8::run_verifier(v, pos)
458 }
459}
460
461impl flatbuffers::SimpleToVerifyInSlice for TEXT_FIELD_SOURCE_TYPE {}
462#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
463pub const ENUM_MIN_TEXT_FIELD_SOURCE_PROPERTY: u8 = 10;
464#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
465pub const ENUM_MAX_TEXT_FIELD_SOURCE_PROPERTY: u8 = 20;
466#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
467#[allow(non_camel_case_types)]
468pub const ENUM_VALUES_TEXT_FIELD_SOURCE_PROPERTY: [TEXT_FIELD_SOURCE_PROPERTY; 11] = [
469 TEXT_FIELD_SOURCE_PROPERTY::AREA,
470 TEXT_FIELD_SOURCE_PROPERTY::PERIMETER,
471 TEXT_FIELD_SOURCE_PROPERTY::VOLUME,
472 TEXT_FIELD_SOURCE_PROPERTY::LENGTH,
473 TEXT_FIELD_SOURCE_PROPERTY::WIDTH,
474 TEXT_FIELD_SOURCE_PROPERTY::HEIGHT,
475 TEXT_FIELD_SOURCE_PROPERTY::RADIUS,
476 TEXT_FIELD_SOURCE_PROPERTY::DIAMETER,
477 TEXT_FIELD_SOURCE_PROPERTY::X_COORDINATE,
478 TEXT_FIELD_SOURCE_PROPERTY::Y_COORDINATE,
479 TEXT_FIELD_SOURCE_PROPERTY::LABEL,
480];
481
482#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
483#[repr(transparent)]
484pub struct TEXT_FIELD_SOURCE_PROPERTY(pub u8);
485#[allow(non_upper_case_globals)]
486impl TEXT_FIELD_SOURCE_PROPERTY {
487 pub const AREA: Self = Self(10);
488 pub const PERIMETER: Self = Self(11);
489 pub const VOLUME: Self = Self(12);
490 pub const LENGTH: Self = Self(13);
491 pub const WIDTH: Self = Self(14);
492 pub const HEIGHT: Self = Self(15);
493 pub const RADIUS: Self = Self(16);
494 pub const DIAMETER: Self = Self(17);
495 pub const X_COORDINATE: Self = Self(18);
496 pub const Y_COORDINATE: Self = Self(19);
497 pub const LABEL: Self = Self(20);
498
499 pub const ENUM_MIN: u8 = 10;
500 pub const ENUM_MAX: u8 = 20;
501 pub const ENUM_VALUES: &'static [Self] = &[
502 Self::AREA,
503 Self::PERIMETER,
504 Self::VOLUME,
505 Self::LENGTH,
506 Self::WIDTH,
507 Self::HEIGHT,
508 Self::RADIUS,
509 Self::DIAMETER,
510 Self::X_COORDINATE,
511 Self::Y_COORDINATE,
512 Self::LABEL,
513 ];
514 pub fn variant_name(self) -> Option<&'static str> {
516 match self {
517 Self::AREA => Some("AREA"),
518 Self::PERIMETER => Some("PERIMETER"),
519 Self::VOLUME => Some("VOLUME"),
520 Self::LENGTH => Some("LENGTH"),
521 Self::WIDTH => Some("WIDTH"),
522 Self::HEIGHT => Some("HEIGHT"),
523 Self::RADIUS => Some("RADIUS"),
524 Self::DIAMETER => Some("DIAMETER"),
525 Self::X_COORDINATE => Some("X_COORDINATE"),
526 Self::Y_COORDINATE => Some("Y_COORDINATE"),
527 Self::LABEL => Some("LABEL"),
528 _ => None,
529 }
530 }
531}
532impl core::fmt::Debug for TEXT_FIELD_SOURCE_PROPERTY {
533 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
534 if let Some(name) = self.variant_name() {
535 f.write_str(name)
536 } else {
537 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
538 }
539 }
540}
541impl<'a> flatbuffers::Follow<'a> for TEXT_FIELD_SOURCE_PROPERTY {
542 type Inner = Self;
543 #[inline]
544 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
545 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
546 Self(b)
547 }
548}
549
550impl flatbuffers::Push for TEXT_FIELD_SOURCE_PROPERTY {
551 type Output = TEXT_FIELD_SOURCE_PROPERTY;
552 #[inline]
553 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
554 flatbuffers::emplace_scalar::<u8>(dst, self.0);
555 }
556}
557
558impl flatbuffers::EndianScalar for TEXT_FIELD_SOURCE_PROPERTY {
559 type Scalar = u8;
560 #[inline]
561 fn to_little_endian(self) -> u8 {
562 self.0.to_le()
563 }
564 #[inline]
565 #[allow(clippy::wrong_self_convention)]
566 fn from_little_endian(v: u8) -> Self {
567 let b = u8::from_le(v);
568 Self(b)
569 }
570}
571
572impl<'a> flatbuffers::Verifiable for TEXT_FIELD_SOURCE_PROPERTY {
573 #[inline]
574 fn run_verifier(
575 v: &mut flatbuffers::Verifier, pos: usize
576 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
577 use self::flatbuffers::Verifiable;
578 u8::run_verifier(v, pos)
579 }
580}
581
582impl flatbuffers::SimpleToVerifyInSlice for TEXT_FIELD_SOURCE_PROPERTY {}
583#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
584pub const ENUM_MIN_STROKE_PLACEMENT: u8 = 10;
585#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
586pub const ENUM_MAX_STROKE_PLACEMENT: u8 = 12;
587#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
588#[allow(non_camel_case_types)]
589pub const ENUM_VALUES_STROKE_PLACEMENT: [STROKE_PLACEMENT; 3] = [
590 STROKE_PLACEMENT::INSIDE,
591 STROKE_PLACEMENT::CENTER,
592 STROKE_PLACEMENT::OUTSIDE,
593];
594
595#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
596#[repr(transparent)]
597pub struct STROKE_PLACEMENT(pub u8);
598#[allow(non_upper_case_globals)]
599impl STROKE_PLACEMENT {
600 pub const INSIDE: Self = Self(10);
601 pub const CENTER: Self = Self(11);
602 pub const OUTSIDE: Self = Self(12);
603
604 pub const ENUM_MIN: u8 = 10;
605 pub const ENUM_MAX: u8 = 12;
606 pub const ENUM_VALUES: &'static [Self] = &[
607 Self::INSIDE,
608 Self::CENTER,
609 Self::OUTSIDE,
610 ];
611 pub fn variant_name(self) -> Option<&'static str> {
613 match self {
614 Self::INSIDE => Some("INSIDE"),
615 Self::CENTER => Some("CENTER"),
616 Self::OUTSIDE => Some("OUTSIDE"),
617 _ => None,
618 }
619 }
620}
621impl core::fmt::Debug for STROKE_PLACEMENT {
622 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
623 if let Some(name) = self.variant_name() {
624 f.write_str(name)
625 } else {
626 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
627 }
628 }
629}
630impl<'a> flatbuffers::Follow<'a> for STROKE_PLACEMENT {
631 type Inner = Self;
632 #[inline]
633 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
634 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
635 Self(b)
636 }
637}
638
639impl flatbuffers::Push for STROKE_PLACEMENT {
640 type Output = STROKE_PLACEMENT;
641 #[inline]
642 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
643 flatbuffers::emplace_scalar::<u8>(dst, self.0);
644 }
645}
646
647impl flatbuffers::EndianScalar for STROKE_PLACEMENT {
648 type Scalar = u8;
649 #[inline]
650 fn to_little_endian(self) -> u8 {
651 self.0.to_le()
652 }
653 #[inline]
654 #[allow(clippy::wrong_self_convention)]
655 fn from_little_endian(v: u8) -> Self {
656 let b = u8::from_le(v);
657 Self(b)
658 }
659}
660
661impl<'a> flatbuffers::Verifiable for STROKE_PLACEMENT {
662 #[inline]
663 fn run_verifier(
664 v: &mut flatbuffers::Verifier, pos: usize
665 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
666 use self::flatbuffers::Verifiable;
667 u8::run_verifier(v, pos)
668 }
669}
670
671impl flatbuffers::SimpleToVerifyInSlice for STROKE_PLACEMENT {}
672#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
673pub const ENUM_MIN_STROKE_WIDTH: u8 = 1;
674#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
675pub const ENUM_MAX_STROKE_WIDTH: u8 = 4;
676#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
677#[allow(non_camel_case_types)]
678pub const ENUM_VALUES_STROKE_WIDTH: [STROKE_WIDTH; 3] = [
679 STROKE_WIDTH::THIN,
680 STROKE_WIDTH::BOLD,
681 STROKE_WIDTH::EXTRA_BOLD,
682];
683
684#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
685#[repr(transparent)]
686pub struct STROKE_WIDTH(pub u8);
687#[allow(non_upper_case_globals)]
688impl STROKE_WIDTH {
689 pub const THIN: Self = Self(1);
690 pub const BOLD: Self = Self(2);
691 pub const EXTRA_BOLD: Self = Self(4);
692
693 pub const ENUM_MIN: u8 = 1;
694 pub const ENUM_MAX: u8 = 4;
695 pub const ENUM_VALUES: &'static [Self] = &[
696 Self::THIN,
697 Self::BOLD,
698 Self::EXTRA_BOLD,
699 ];
700 pub fn variant_name(self) -> Option<&'static str> {
702 match self {
703 Self::THIN => Some("THIN"),
704 Self::BOLD => Some("BOLD"),
705 Self::EXTRA_BOLD => Some("EXTRA_BOLD"),
706 _ => None,
707 }
708 }
709}
710impl core::fmt::Debug for STROKE_WIDTH {
711 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
712 if let Some(name) = self.variant_name() {
713 f.write_str(name)
714 } else {
715 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
716 }
717 }
718}
719impl<'a> flatbuffers::Follow<'a> for STROKE_WIDTH {
720 type Inner = Self;
721 #[inline]
722 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
723 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
724 Self(b)
725 }
726}
727
728impl flatbuffers::Push for STROKE_WIDTH {
729 type Output = STROKE_WIDTH;
730 #[inline]
731 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
732 flatbuffers::emplace_scalar::<u8>(dst, self.0);
733 }
734}
735
736impl flatbuffers::EndianScalar for STROKE_WIDTH {
737 type Scalar = u8;
738 #[inline]
739 fn to_little_endian(self) -> u8 {
740 self.0.to_le()
741 }
742 #[inline]
743 #[allow(clippy::wrong_self_convention)]
744 fn from_little_endian(v: u8) -> Self {
745 let b = u8::from_le(v);
746 Self(b)
747 }
748}
749
750impl<'a> flatbuffers::Verifiable for STROKE_WIDTH {
751 #[inline]
752 fn run_verifier(
753 v: &mut flatbuffers::Verifier, pos: usize
754 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
755 use self::flatbuffers::Verifiable;
756 u8::run_verifier(v, pos)
757 }
758}
759
760impl flatbuffers::SimpleToVerifyInSlice for STROKE_WIDTH {}
761#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
762pub const ENUM_MIN_ELEMENT_CONTENT_PREFERENCE: u8 = 12;
763#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
764pub const ENUM_MAX_ELEMENT_CONTENT_PREFERENCE: u8 = 18;
765#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
766#[allow(non_camel_case_types)]
767pub const ENUM_VALUES_ELEMENT_CONTENT_PREFERENCE: [ELEMENT_CONTENT_PREFERENCE; 6] = [
768 ELEMENT_CONTENT_PREFERENCE::SOLID,
769 ELEMENT_CONTENT_PREFERENCE::FILL,
770 ELEMENT_CONTENT_PREFERENCE::FIT,
771 ELEMENT_CONTENT_PREFERENCE::TILE,
772 ELEMENT_CONTENT_PREFERENCE::STRETCH,
773 ELEMENT_CONTENT_PREFERENCE::HATCH,
774];
775
776#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
777#[repr(transparent)]
778pub struct ELEMENT_CONTENT_PREFERENCE(pub u8);
779#[allow(non_upper_case_globals)]
780impl ELEMENT_CONTENT_PREFERENCE {
781 pub const SOLID: Self = Self(12);
782 pub const FILL: Self = Self(14);
783 pub const FIT: Self = Self(15);
784 pub const TILE: Self = Self(16);
785 pub const STRETCH: Self = Self(17);
786 pub const HATCH: Self = Self(18);
787
788 pub const ENUM_MIN: u8 = 12;
789 pub const ENUM_MAX: u8 = 18;
790 pub const ENUM_VALUES: &'static [Self] = &[
791 Self::SOLID,
792 Self::FILL,
793 Self::FIT,
794 Self::TILE,
795 Self::STRETCH,
796 Self::HATCH,
797 ];
798 pub fn variant_name(self) -> Option<&'static str> {
800 match self {
801 Self::SOLID => Some("SOLID"),
802 Self::FILL => Some("FILL"),
803 Self::FIT => Some("FIT"),
804 Self::TILE => Some("TILE"),
805 Self::STRETCH => Some("STRETCH"),
806 Self::HATCH => Some("HATCH"),
807 _ => None,
808 }
809 }
810}
811impl core::fmt::Debug for ELEMENT_CONTENT_PREFERENCE {
812 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
813 if let Some(name) = self.variant_name() {
814 f.write_str(name)
815 } else {
816 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
817 }
818 }
819}
820impl<'a> flatbuffers::Follow<'a> for ELEMENT_CONTENT_PREFERENCE {
821 type Inner = Self;
822 #[inline]
823 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
824 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
825 Self(b)
826 }
827}
828
829impl flatbuffers::Push for ELEMENT_CONTENT_PREFERENCE {
830 type Output = ELEMENT_CONTENT_PREFERENCE;
831 #[inline]
832 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
833 flatbuffers::emplace_scalar::<u8>(dst, self.0);
834 }
835}
836
837impl flatbuffers::EndianScalar for ELEMENT_CONTENT_PREFERENCE {
838 type Scalar = u8;
839 #[inline]
840 fn to_little_endian(self) -> u8 {
841 self.0.to_le()
842 }
843 #[inline]
844 #[allow(clippy::wrong_self_convention)]
845 fn from_little_endian(v: u8) -> Self {
846 let b = u8::from_le(v);
847 Self(b)
848 }
849}
850
851impl<'a> flatbuffers::Verifiable for ELEMENT_CONTENT_PREFERENCE {
852 #[inline]
853 fn run_verifier(
854 v: &mut flatbuffers::Verifier, pos: usize
855 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
856 use self::flatbuffers::Verifiable;
857 u8::run_verifier(v, pos)
858 }
859}
860
861impl flatbuffers::SimpleToVerifyInSlice for ELEMENT_CONTENT_PREFERENCE {}
862#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
863pub const ENUM_MIN_STROKE_PREFERENCE: u8 = 10;
864#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
865pub const ENUM_MAX_STROKE_PREFERENCE: u8 = 13;
866#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
867#[allow(non_camel_case_types)]
868pub const ENUM_VALUES_STROKE_PREFERENCE: [STROKE_PREFERENCE; 4] = [
869 STROKE_PREFERENCE::SOLID,
870 STROKE_PREFERENCE::DASHED,
871 STROKE_PREFERENCE::DOTTED,
872 STROKE_PREFERENCE::CUSTOM,
873];
874
875#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
876#[repr(transparent)]
877pub struct STROKE_PREFERENCE(pub u8);
878#[allow(non_upper_case_globals)]
879impl STROKE_PREFERENCE {
880 pub const SOLID: Self = Self(10);
881 pub const DASHED: Self = Self(11);
882 pub const DOTTED: Self = Self(12);
883 pub const CUSTOM: Self = Self(13);
884
885 pub const ENUM_MIN: u8 = 10;
886 pub const ENUM_MAX: u8 = 13;
887 pub const ENUM_VALUES: &'static [Self] = &[
888 Self::SOLID,
889 Self::DASHED,
890 Self::DOTTED,
891 Self::CUSTOM,
892 ];
893 pub fn variant_name(self) -> Option<&'static str> {
895 match self {
896 Self::SOLID => Some("SOLID"),
897 Self::DASHED => Some("DASHED"),
898 Self::DOTTED => Some("DOTTED"),
899 Self::CUSTOM => Some("CUSTOM"),
900 _ => None,
901 }
902 }
903}
904impl core::fmt::Debug for STROKE_PREFERENCE {
905 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
906 if let Some(name) = self.variant_name() {
907 f.write_str(name)
908 } else {
909 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
910 }
911 }
912}
913impl<'a> flatbuffers::Follow<'a> for STROKE_PREFERENCE {
914 type Inner = Self;
915 #[inline]
916 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
917 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
918 Self(b)
919 }
920}
921
922impl flatbuffers::Push for STROKE_PREFERENCE {
923 type Output = STROKE_PREFERENCE;
924 #[inline]
925 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
926 flatbuffers::emplace_scalar::<u8>(dst, self.0);
927 }
928}
929
930impl flatbuffers::EndianScalar for STROKE_PREFERENCE {
931 type Scalar = u8;
932 #[inline]
933 fn to_little_endian(self) -> u8 {
934 self.0.to_le()
935 }
936 #[inline]
937 #[allow(clippy::wrong_self_convention)]
938 fn from_little_endian(v: u8) -> Self {
939 let b = u8::from_le(v);
940 Self(b)
941 }
942}
943
944impl<'a> flatbuffers::Verifiable for STROKE_PREFERENCE {
945 #[inline]
946 fn run_verifier(
947 v: &mut flatbuffers::Verifier, pos: usize
948 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
949 use self::flatbuffers::Verifiable;
950 u8::run_verifier(v, pos)
951 }
952}
953
954impl flatbuffers::SimpleToVerifyInSlice for STROKE_PREFERENCE {}
955#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
956pub const ENUM_MIN_STROKE_SIDE_PREFERENCE: u8 = 10;
957#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
958pub const ENUM_MAX_STROKE_SIDE_PREFERENCE: u8 = 15;
959#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
960#[allow(non_camel_case_types)]
961pub const ENUM_VALUES_STROKE_SIDE_PREFERENCE: [STROKE_SIDE_PREFERENCE; 6] = [
962 STROKE_SIDE_PREFERENCE::TOP,
963 STROKE_SIDE_PREFERENCE::BOTTOM,
964 STROKE_SIDE_PREFERENCE::LEFT,
965 STROKE_SIDE_PREFERENCE::RIGHT,
966 STROKE_SIDE_PREFERENCE::CUSTOM,
967 STROKE_SIDE_PREFERENCE::ALL,
968];
969
970#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
971#[repr(transparent)]
972pub struct STROKE_SIDE_PREFERENCE(pub u8);
973#[allow(non_upper_case_globals)]
974impl STROKE_SIDE_PREFERENCE {
975 pub const TOP: Self = Self(10);
976 pub const BOTTOM: Self = Self(11);
977 pub const LEFT: Self = Self(12);
978 pub const RIGHT: Self = Self(13);
979 pub const CUSTOM: Self = Self(14);
980 pub const ALL: Self = Self(15);
981
982 pub const ENUM_MIN: u8 = 10;
983 pub const ENUM_MAX: u8 = 15;
984 pub const ENUM_VALUES: &'static [Self] = &[
985 Self::TOP,
986 Self::BOTTOM,
987 Self::LEFT,
988 Self::RIGHT,
989 Self::CUSTOM,
990 Self::ALL,
991 ];
992 pub fn variant_name(self) -> Option<&'static str> {
994 match self {
995 Self::TOP => Some("TOP"),
996 Self::BOTTOM => Some("BOTTOM"),
997 Self::LEFT => Some("LEFT"),
998 Self::RIGHT => Some("RIGHT"),
999 Self::CUSTOM => Some("CUSTOM"),
1000 Self::ALL => Some("ALL"),
1001 _ => None,
1002 }
1003 }
1004}
1005impl core::fmt::Debug for STROKE_SIDE_PREFERENCE {
1006 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1007 if let Some(name) = self.variant_name() {
1008 f.write_str(name)
1009 } else {
1010 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1011 }
1012 }
1013}
1014impl<'a> flatbuffers::Follow<'a> for STROKE_SIDE_PREFERENCE {
1015 type Inner = Self;
1016 #[inline]
1017 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1018 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
1019 Self(b)
1020 }
1021}
1022
1023impl flatbuffers::Push for STROKE_SIDE_PREFERENCE {
1024 type Output = STROKE_SIDE_PREFERENCE;
1025 #[inline]
1026 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1027 flatbuffers::emplace_scalar::<u8>(dst, self.0);
1028 }
1029}
1030
1031impl flatbuffers::EndianScalar for STROKE_SIDE_PREFERENCE {
1032 type Scalar = u8;
1033 #[inline]
1034 fn to_little_endian(self) -> u8 {
1035 self.0.to_le()
1036 }
1037 #[inline]
1038 #[allow(clippy::wrong_self_convention)]
1039 fn from_little_endian(v: u8) -> Self {
1040 let b = u8::from_le(v);
1041 Self(b)
1042 }
1043}
1044
1045impl<'a> flatbuffers::Verifiable for STROKE_SIDE_PREFERENCE {
1046 #[inline]
1047 fn run_verifier(
1048 v: &mut flatbuffers::Verifier, pos: usize
1049 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
1050 use self::flatbuffers::Verifiable;
1051 u8::run_verifier(v, pos)
1052 }
1053}
1054
1055impl flatbuffers::SimpleToVerifyInSlice for STROKE_SIDE_PREFERENCE {}
1056#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1057pub const ENUM_MIN_STROKE_CAP: u8 = 10;
1058#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1059pub const ENUM_MAX_STROKE_CAP: u8 = 12;
1060#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1061#[allow(non_camel_case_types)]
1062pub const ENUM_VALUES_STROKE_CAP: [STROKE_CAP; 3] = [
1063 STROKE_CAP::BUTT,
1064 STROKE_CAP::ROUND,
1065 STROKE_CAP::SQUARE,
1066];
1067
1068#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1069#[repr(transparent)]
1070pub struct STROKE_CAP(pub u8);
1071#[allow(non_upper_case_globals)]
1072impl STROKE_CAP {
1073 pub const BUTT: Self = Self(10);
1074 pub const ROUND: Self = Self(11);
1075 pub const SQUARE: Self = Self(12);
1076
1077 pub const ENUM_MIN: u8 = 10;
1078 pub const ENUM_MAX: u8 = 12;
1079 pub const ENUM_VALUES: &'static [Self] = &[
1080 Self::BUTT,
1081 Self::ROUND,
1082 Self::SQUARE,
1083 ];
1084 pub fn variant_name(self) -> Option<&'static str> {
1086 match self {
1087 Self::BUTT => Some("BUTT"),
1088 Self::ROUND => Some("ROUND"),
1089 Self::SQUARE => Some("SQUARE"),
1090 _ => None,
1091 }
1092 }
1093}
1094impl core::fmt::Debug for STROKE_CAP {
1095 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1096 if let Some(name) = self.variant_name() {
1097 f.write_str(name)
1098 } else {
1099 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1100 }
1101 }
1102}
1103impl<'a> flatbuffers::Follow<'a> for STROKE_CAP {
1104 type Inner = Self;
1105 #[inline]
1106 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1107 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
1108 Self(b)
1109 }
1110}
1111
1112impl flatbuffers::Push for STROKE_CAP {
1113 type Output = STROKE_CAP;
1114 #[inline]
1115 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1116 flatbuffers::emplace_scalar::<u8>(dst, self.0);
1117 }
1118}
1119
1120impl flatbuffers::EndianScalar for STROKE_CAP {
1121 type Scalar = u8;
1122 #[inline]
1123 fn to_little_endian(self) -> u8 {
1124 self.0.to_le()
1125 }
1126 #[inline]
1127 #[allow(clippy::wrong_self_convention)]
1128 fn from_little_endian(v: u8) -> Self {
1129 let b = u8::from_le(v);
1130 Self(b)
1131 }
1132}
1133
1134impl<'a> flatbuffers::Verifiable for STROKE_CAP {
1135 #[inline]
1136 fn run_verifier(
1137 v: &mut flatbuffers::Verifier, pos: usize
1138 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
1139 use self::flatbuffers::Verifiable;
1140 u8::run_verifier(v, pos)
1141 }
1142}
1143
1144impl flatbuffers::SimpleToVerifyInSlice for STROKE_CAP {}
1145#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1146pub const ENUM_MIN_STROKE_JOIN: u8 = 10;
1147#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1148pub const ENUM_MAX_STROKE_JOIN: u8 = 12;
1149#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1150#[allow(non_camel_case_types)]
1151pub const ENUM_VALUES_STROKE_JOIN: [STROKE_JOIN; 3] = [
1152 STROKE_JOIN::MITER,
1153 STROKE_JOIN::ROUND,
1154 STROKE_JOIN::BEVEL,
1155];
1156
1157#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1158#[repr(transparent)]
1159pub struct STROKE_JOIN(pub u8);
1160#[allow(non_upper_case_globals)]
1161impl STROKE_JOIN {
1162 pub const MITER: Self = Self(10);
1163 pub const ROUND: Self = Self(11);
1164 pub const BEVEL: Self = Self(12);
1165
1166 pub const ENUM_MIN: u8 = 10;
1167 pub const ENUM_MAX: u8 = 12;
1168 pub const ENUM_VALUES: &'static [Self] = &[
1169 Self::MITER,
1170 Self::ROUND,
1171 Self::BEVEL,
1172 ];
1173 pub fn variant_name(self) -> Option<&'static str> {
1175 match self {
1176 Self::MITER => Some("MITER"),
1177 Self::ROUND => Some("ROUND"),
1178 Self::BEVEL => Some("BEVEL"),
1179 _ => None,
1180 }
1181 }
1182}
1183impl core::fmt::Debug for STROKE_JOIN {
1184 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1185 if let Some(name) = self.variant_name() {
1186 f.write_str(name)
1187 } else {
1188 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1189 }
1190 }
1191}
1192impl<'a> flatbuffers::Follow<'a> for STROKE_JOIN {
1193 type Inner = Self;
1194 #[inline]
1195 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1196 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
1197 Self(b)
1198 }
1199}
1200
1201impl flatbuffers::Push for STROKE_JOIN {
1202 type Output = STROKE_JOIN;
1203 #[inline]
1204 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1205 flatbuffers::emplace_scalar::<u8>(dst, self.0);
1206 }
1207}
1208
1209impl flatbuffers::EndianScalar for STROKE_JOIN {
1210 type Scalar = u8;
1211 #[inline]
1212 fn to_little_endian(self) -> u8 {
1213 self.0.to_le()
1214 }
1215 #[inline]
1216 #[allow(clippy::wrong_self_convention)]
1217 fn from_little_endian(v: u8) -> Self {
1218 let b = u8::from_le(v);
1219 Self(b)
1220 }
1221}
1222
1223impl<'a> flatbuffers::Verifiable for STROKE_JOIN {
1224 #[inline]
1225 fn run_verifier(
1226 v: &mut flatbuffers::Verifier, pos: usize
1227 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
1228 use self::flatbuffers::Verifiable;
1229 u8::run_verifier(v, pos)
1230 }
1231}
1232
1233impl flatbuffers::SimpleToVerifyInSlice for STROKE_JOIN {}
1234#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1235pub const ENUM_MIN_LINE_HEAD: u8 = 10;
1236#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1237pub const ENUM_MAX_LINE_HEAD: u8 = 24;
1238#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1239#[allow(non_camel_case_types)]
1240pub const ENUM_VALUES_LINE_HEAD: [LINE_HEAD; 15] = [
1241 LINE_HEAD::ARROW,
1242 LINE_HEAD::BAR,
1243 LINE_HEAD::CIRCLE,
1244 LINE_HEAD::CIRCLE_OUTLINED,
1245 LINE_HEAD::TRIANGLE,
1246 LINE_HEAD::TRIANGLE_OUTLINED,
1247 LINE_HEAD::DIAMOND,
1248 LINE_HEAD::DIAMOND_OUTLINED,
1249 LINE_HEAD::CROSS,
1250 LINE_HEAD::OPEN_ARROW,
1251 LINE_HEAD::REVERSED_ARROW,
1252 LINE_HEAD::REVERSED_TRIANGLE,
1253 LINE_HEAD::REVERSED_TRIANGLE_OUTLINED,
1254 LINE_HEAD::CONE,
1255 LINE_HEAD::HALF_CONE,
1256];
1257
1258#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1259#[repr(transparent)]
1260pub struct LINE_HEAD(pub u8);
1261#[allow(non_upper_case_globals)]
1262impl LINE_HEAD {
1263 pub const ARROW: Self = Self(10);
1264 pub const BAR: Self = Self(11);
1265 pub const CIRCLE: Self = Self(12);
1266 pub const CIRCLE_OUTLINED: Self = Self(13);
1267 pub const TRIANGLE: Self = Self(14);
1268 pub const TRIANGLE_OUTLINED: Self = Self(15);
1269 pub const DIAMOND: Self = Self(16);
1270 pub const DIAMOND_OUTLINED: Self = Self(17);
1271 pub const CROSS: Self = Self(18);
1272 pub const OPEN_ARROW: Self = Self(19);
1273 pub const REVERSED_ARROW: Self = Self(20);
1274 pub const REVERSED_TRIANGLE: Self = Self(21);
1275 pub const REVERSED_TRIANGLE_OUTLINED: Self = Self(22);
1276 pub const CONE: Self = Self(23);
1277 pub const HALF_CONE: Self = Self(24);
1278
1279 pub const ENUM_MIN: u8 = 10;
1280 pub const ENUM_MAX: u8 = 24;
1281 pub const ENUM_VALUES: &'static [Self] = &[
1282 Self::ARROW,
1283 Self::BAR,
1284 Self::CIRCLE,
1285 Self::CIRCLE_OUTLINED,
1286 Self::TRIANGLE,
1287 Self::TRIANGLE_OUTLINED,
1288 Self::DIAMOND,
1289 Self::DIAMOND_OUTLINED,
1290 Self::CROSS,
1291 Self::OPEN_ARROW,
1292 Self::REVERSED_ARROW,
1293 Self::REVERSED_TRIANGLE,
1294 Self::REVERSED_TRIANGLE_OUTLINED,
1295 Self::CONE,
1296 Self::HALF_CONE,
1297 ];
1298 pub fn variant_name(self) -> Option<&'static str> {
1300 match self {
1301 Self::ARROW => Some("ARROW"),
1302 Self::BAR => Some("BAR"),
1303 Self::CIRCLE => Some("CIRCLE"),
1304 Self::CIRCLE_OUTLINED => Some("CIRCLE_OUTLINED"),
1305 Self::TRIANGLE => Some("TRIANGLE"),
1306 Self::TRIANGLE_OUTLINED => Some("TRIANGLE_OUTLINED"),
1307 Self::DIAMOND => Some("DIAMOND"),
1308 Self::DIAMOND_OUTLINED => Some("DIAMOND_OUTLINED"),
1309 Self::CROSS => Some("CROSS"),
1310 Self::OPEN_ARROW => Some("OPEN_ARROW"),
1311 Self::REVERSED_ARROW => Some("REVERSED_ARROW"),
1312 Self::REVERSED_TRIANGLE => Some("REVERSED_TRIANGLE"),
1313 Self::REVERSED_TRIANGLE_OUTLINED => Some("REVERSED_TRIANGLE_OUTLINED"),
1314 Self::CONE => Some("CONE"),
1315 Self::HALF_CONE => Some("HALF_CONE"),
1316 _ => None,
1317 }
1318 }
1319}
1320impl core::fmt::Debug for LINE_HEAD {
1321 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1322 if let Some(name) = self.variant_name() {
1323 f.write_str(name)
1324 } else {
1325 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1326 }
1327 }
1328}
1329impl<'a> flatbuffers::Follow<'a> for LINE_HEAD {
1330 type Inner = Self;
1331 #[inline]
1332 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1333 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
1334 Self(b)
1335 }
1336}
1337
1338impl flatbuffers::Push for LINE_HEAD {
1339 type Output = LINE_HEAD;
1340 #[inline]
1341 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1342 flatbuffers::emplace_scalar::<u8>(dst, self.0);
1343 }
1344}
1345
1346impl flatbuffers::EndianScalar for LINE_HEAD {
1347 type Scalar = u8;
1348 #[inline]
1349 fn to_little_endian(self) -> u8 {
1350 self.0.to_le()
1351 }
1352 #[inline]
1353 #[allow(clippy::wrong_self_convention)]
1354 fn from_little_endian(v: u8) -> Self {
1355 let b = u8::from_le(v);
1356 Self(b)
1357 }
1358}
1359
1360impl<'a> flatbuffers::Verifiable for LINE_HEAD {
1361 #[inline]
1362 fn run_verifier(
1363 v: &mut flatbuffers::Verifier, pos: usize
1364 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
1365 use self::flatbuffers::Verifiable;
1366 u8::run_verifier(v, pos)
1367 }
1368}
1369
1370impl flatbuffers::SimpleToVerifyInSlice for LINE_HEAD {}
1371#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1372pub const ENUM_MIN_BEZIER_MIRRORING: u8 = 10;
1373#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1374pub const ENUM_MAX_BEZIER_MIRRORING: u8 = 12;
1375#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1376#[allow(non_camel_case_types)]
1377pub const ENUM_VALUES_BEZIER_MIRRORING: [BEZIER_MIRRORING; 3] = [
1378 BEZIER_MIRRORING::NONE,
1379 BEZIER_MIRRORING::ANGLE,
1380 BEZIER_MIRRORING::ANGLE_LENGTH,
1381];
1382
1383#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1384#[repr(transparent)]
1385pub struct BEZIER_MIRRORING(pub u8);
1386#[allow(non_upper_case_globals)]
1387impl BEZIER_MIRRORING {
1388 pub const NONE: Self = Self(10);
1389 pub const ANGLE: Self = Self(11);
1390 pub const ANGLE_LENGTH: Self = Self(12);
1391
1392 pub const ENUM_MIN: u8 = 10;
1393 pub const ENUM_MAX: u8 = 12;
1394 pub const ENUM_VALUES: &'static [Self] = &[
1395 Self::NONE,
1396 Self::ANGLE,
1397 Self::ANGLE_LENGTH,
1398 ];
1399 pub fn variant_name(self) -> Option<&'static str> {
1401 match self {
1402 Self::NONE => Some("NONE"),
1403 Self::ANGLE => Some("ANGLE"),
1404 Self::ANGLE_LENGTH => Some("ANGLE_LENGTH"),
1405 _ => None,
1406 }
1407 }
1408}
1409impl core::fmt::Debug for BEZIER_MIRRORING {
1410 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1411 if let Some(name) = self.variant_name() {
1412 f.write_str(name)
1413 } else {
1414 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1415 }
1416 }
1417}
1418impl<'a> flatbuffers::Follow<'a> for BEZIER_MIRRORING {
1419 type Inner = Self;
1420 #[inline]
1421 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1422 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
1423 Self(b)
1424 }
1425}
1426
1427impl flatbuffers::Push for BEZIER_MIRRORING {
1428 type Output = BEZIER_MIRRORING;
1429 #[inline]
1430 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1431 flatbuffers::emplace_scalar::<u8>(dst, self.0);
1432 }
1433}
1434
1435impl flatbuffers::EndianScalar for BEZIER_MIRRORING {
1436 type Scalar = u8;
1437 #[inline]
1438 fn to_little_endian(self) -> u8 {
1439 self.0.to_le()
1440 }
1441 #[inline]
1442 #[allow(clippy::wrong_self_convention)]
1443 fn from_little_endian(v: u8) -> Self {
1444 let b = u8::from_le(v);
1445 Self(b)
1446 }
1447}
1448
1449impl<'a> flatbuffers::Verifiable for BEZIER_MIRRORING {
1450 #[inline]
1451 fn run_verifier(
1452 v: &mut flatbuffers::Verifier, pos: usize
1453 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
1454 use self::flatbuffers::Verifiable;
1455 u8::run_verifier(v, pos)
1456 }
1457}
1458
1459impl flatbuffers::SimpleToVerifyInSlice for BEZIER_MIRRORING {}
1460#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1461pub const ENUM_MIN_HANDLE_TYPE: u8 = 10;
1462#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1463pub const ENUM_MAX_HANDLE_TYPE: u8 = 11;
1464#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1465#[allow(non_camel_case_types)]
1466pub const ENUM_VALUES_HANDLE_TYPE: [HANDLE_TYPE; 2] = [
1467 HANDLE_TYPE::HANDLE_IN,
1468 HANDLE_TYPE::HANDLE_OUT,
1469];
1470
1471#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1472#[repr(transparent)]
1473pub struct HANDLE_TYPE(pub u8);
1474#[allow(non_upper_case_globals)]
1475impl HANDLE_TYPE {
1476 pub const HANDLE_IN: Self = Self(10);
1477 pub const HANDLE_OUT: Self = Self(11);
1478
1479 pub const ENUM_MIN: u8 = 10;
1480 pub const ENUM_MAX: u8 = 11;
1481 pub const ENUM_VALUES: &'static [Self] = &[
1482 Self::HANDLE_IN,
1483 Self::HANDLE_OUT,
1484 ];
1485 pub fn variant_name(self) -> Option<&'static str> {
1487 match self {
1488 Self::HANDLE_IN => Some("HANDLE_IN"),
1489 Self::HANDLE_OUT => Some("HANDLE_OUT"),
1490 _ => None,
1491 }
1492 }
1493}
1494impl core::fmt::Debug for HANDLE_TYPE {
1495 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1496 if let Some(name) = self.variant_name() {
1497 f.write_str(name)
1498 } else {
1499 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1500 }
1501 }
1502}
1503impl<'a> flatbuffers::Follow<'a> for HANDLE_TYPE {
1504 type Inner = Self;
1505 #[inline]
1506 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1507 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
1508 Self(b)
1509 }
1510}
1511
1512impl flatbuffers::Push for HANDLE_TYPE {
1513 type Output = HANDLE_TYPE;
1514 #[inline]
1515 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1516 flatbuffers::emplace_scalar::<u8>(dst, self.0);
1517 }
1518}
1519
1520impl flatbuffers::EndianScalar for HANDLE_TYPE {
1521 type Scalar = u8;
1522 #[inline]
1523 fn to_little_endian(self) -> u8 {
1524 self.0.to_le()
1525 }
1526 #[inline]
1527 #[allow(clippy::wrong_self_convention)]
1528 fn from_little_endian(v: u8) -> Self {
1529 let b = u8::from_le(v);
1530 Self(b)
1531 }
1532}
1533
1534impl<'a> flatbuffers::Verifiable for HANDLE_TYPE {
1535 #[inline]
1536 fn run_verifier(
1537 v: &mut flatbuffers::Verifier, pos: usize
1538 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
1539 use self::flatbuffers::Verifiable;
1540 u8::run_verifier(v, pos)
1541 }
1542}
1543
1544impl flatbuffers::SimpleToVerifyInSlice for HANDLE_TYPE {}
1545#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1546pub const ENUM_MIN_YOUTUBE_STATES: i8 = -1;
1547#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1548pub const ENUM_MAX_YOUTUBE_STATES: i8 = 5;
1549#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1550#[allow(non_camel_case_types)]
1551pub const ENUM_VALUES_YOUTUBE_STATES: [YOUTUBE_STATES; 6] = [
1552 YOUTUBE_STATES::UNSTARTED,
1553 YOUTUBE_STATES::ENDED,
1554 YOUTUBE_STATES::PLAYING,
1555 YOUTUBE_STATES::PAUSED,
1556 YOUTUBE_STATES::BUFFERING,
1557 YOUTUBE_STATES::CUED,
1558];
1559
1560#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1561#[repr(transparent)]
1562pub struct YOUTUBE_STATES(pub i8);
1563#[allow(non_upper_case_globals)]
1564impl YOUTUBE_STATES {
1565 pub const UNSTARTED: Self = Self(-1);
1566 pub const ENDED: Self = Self(0);
1567 pub const PLAYING: Self = Self(1);
1568 pub const PAUSED: Self = Self(2);
1569 pub const BUFFERING: Self = Self(3);
1570 pub const CUED: Self = Self(5);
1571
1572 pub const ENUM_MIN: i8 = -1;
1573 pub const ENUM_MAX: i8 = 5;
1574 pub const ENUM_VALUES: &'static [Self] = &[
1575 Self::UNSTARTED,
1576 Self::ENDED,
1577 Self::PLAYING,
1578 Self::PAUSED,
1579 Self::BUFFERING,
1580 Self::CUED,
1581 ];
1582 pub fn variant_name(self) -> Option<&'static str> {
1584 match self {
1585 Self::UNSTARTED => Some("UNSTARTED"),
1586 Self::ENDED => Some("ENDED"),
1587 Self::PLAYING => Some("PLAYING"),
1588 Self::PAUSED => Some("PAUSED"),
1589 Self::BUFFERING => Some("BUFFERING"),
1590 Self::CUED => Some("CUED"),
1591 _ => None,
1592 }
1593 }
1594}
1595impl core::fmt::Debug for YOUTUBE_STATES {
1596 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1597 if let Some(name) = self.variant_name() {
1598 f.write_str(name)
1599 } else {
1600 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1601 }
1602 }
1603}
1604impl<'a> flatbuffers::Follow<'a> for YOUTUBE_STATES {
1605 type Inner = Self;
1606 #[inline]
1607 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1608 let b = flatbuffers::read_scalar_at::<i8>(buf, loc);
1609 Self(b)
1610 }
1611}
1612
1613impl flatbuffers::Push for YOUTUBE_STATES {
1614 type Output = YOUTUBE_STATES;
1615 #[inline]
1616 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1617 flatbuffers::emplace_scalar::<i8>(dst, self.0);
1618 }
1619}
1620
1621impl flatbuffers::EndianScalar for YOUTUBE_STATES {
1622 type Scalar = i8;
1623 #[inline]
1624 fn to_little_endian(self) -> i8 {
1625 self.0.to_le()
1626 }
1627 #[inline]
1628 #[allow(clippy::wrong_self_convention)]
1629 fn from_little_endian(v: i8) -> Self {
1630 let b = i8::from_le(v);
1631 Self(b)
1632 }
1633}
1634
1635impl<'a> flatbuffers::Verifiable for YOUTUBE_STATES {
1636 #[inline]
1637 fn run_verifier(
1638 v: &mut flatbuffers::Verifier, pos: usize
1639 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
1640 use self::flatbuffers::Verifiable;
1641 i8::run_verifier(v, pos)
1642 }
1643}
1644
1645impl flatbuffers::SimpleToVerifyInSlice for YOUTUBE_STATES {}
1646#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1647pub const ENUM_MIN_BLENDING: u8 = 11;
1648#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1649pub const ENUM_MAX_BLENDING: u8 = 17;
1650#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1651#[allow(non_camel_case_types)]
1652pub const ENUM_VALUES_BLENDING: [BLENDING; 7] = [
1653 BLENDING::MULTIPLY,
1654 BLENDING::SCREEN,
1655 BLENDING::OVERLAY,
1656 BLENDING::DARKEN,
1657 BLENDING::LIGHTEN,
1658 BLENDING::DIFFERENCE,
1659 BLENDING::EXCLUSION,
1660];
1661
1662#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1663#[repr(transparent)]
1664pub struct BLENDING(pub u8);
1665#[allow(non_upper_case_globals)]
1666impl BLENDING {
1667 pub const MULTIPLY: Self = Self(11);
1668 pub const SCREEN: Self = Self(12);
1669 pub const OVERLAY: Self = Self(13);
1670 pub const DARKEN: Self = Self(14);
1671 pub const LIGHTEN: Self = Self(15);
1672 pub const DIFFERENCE: Self = Self(16);
1673 pub const EXCLUSION: Self = Self(17);
1674
1675 pub const ENUM_MIN: u8 = 11;
1676 pub const ENUM_MAX: u8 = 17;
1677 pub const ENUM_VALUES: &'static [Self] = &[
1678 Self::MULTIPLY,
1679 Self::SCREEN,
1680 Self::OVERLAY,
1681 Self::DARKEN,
1682 Self::LIGHTEN,
1683 Self::DIFFERENCE,
1684 Self::EXCLUSION,
1685 ];
1686 pub fn variant_name(self) -> Option<&'static str> {
1688 match self {
1689 Self::MULTIPLY => Some("MULTIPLY"),
1690 Self::SCREEN => Some("SCREEN"),
1691 Self::OVERLAY => Some("OVERLAY"),
1692 Self::DARKEN => Some("DARKEN"),
1693 Self::LIGHTEN => Some("LIGHTEN"),
1694 Self::DIFFERENCE => Some("DIFFERENCE"),
1695 Self::EXCLUSION => Some("EXCLUSION"),
1696 _ => None,
1697 }
1698 }
1699}
1700impl core::fmt::Debug for BLENDING {
1701 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1702 if let Some(name) = self.variant_name() {
1703 f.write_str(name)
1704 } else {
1705 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1706 }
1707 }
1708}
1709impl<'a> flatbuffers::Follow<'a> for BLENDING {
1710 type Inner = Self;
1711 #[inline]
1712 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1713 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
1714 Self(b)
1715 }
1716}
1717
1718impl flatbuffers::Push for BLENDING {
1719 type Output = BLENDING;
1720 #[inline]
1721 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1722 flatbuffers::emplace_scalar::<u8>(dst, self.0);
1723 }
1724}
1725
1726impl flatbuffers::EndianScalar for BLENDING {
1727 type Scalar = u8;
1728 #[inline]
1729 fn to_little_endian(self) -> u8 {
1730 self.0.to_le()
1731 }
1732 #[inline]
1733 #[allow(clippy::wrong_self_convention)]
1734 fn from_little_endian(v: u8) -> Self {
1735 let b = u8::from_le(v);
1736 Self(b)
1737 }
1738}
1739
1740impl<'a> flatbuffers::Verifiable for BLENDING {
1741 #[inline]
1742 fn run_verifier(
1743 v: &mut flatbuffers::Verifier, pos: usize
1744 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
1745 use self::flatbuffers::Verifiable;
1746 u8::run_verifier(v, pos)
1747 }
1748}
1749
1750impl flatbuffers::SimpleToVerifyInSlice for BLENDING {}
1751#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1752pub const ENUM_MIN_GRID_DISPLAY_TYPE: u8 = 10;
1753#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1754pub const ENUM_MAX_GRID_DISPLAY_TYPE: u8 = 13;
1755#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1756#[allow(non_camel_case_types)]
1757pub const ENUM_VALUES_GRID_DISPLAY_TYPE: [GRID_DISPLAY_TYPE; 4] = [
1758 GRID_DISPLAY_TYPE::LINES,
1759 GRID_DISPLAY_TYPE::DOTS,
1760 GRID_DISPLAY_TYPE::CROSSES,
1761 GRID_DISPLAY_TYPE::ADAPTIVE,
1762];
1763
1764#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1765#[repr(transparent)]
1766pub struct GRID_DISPLAY_TYPE(pub u8);
1767#[allow(non_upper_case_globals)]
1768impl GRID_DISPLAY_TYPE {
1769 pub const LINES: Self = Self(10);
1770 pub const DOTS: Self = Self(11);
1771 pub const CROSSES: Self = Self(12);
1772 pub const ADAPTIVE: Self = Self(13);
1773
1774 pub const ENUM_MIN: u8 = 10;
1775 pub const ENUM_MAX: u8 = 13;
1776 pub const ENUM_VALUES: &'static [Self] = &[
1777 Self::LINES,
1778 Self::DOTS,
1779 Self::CROSSES,
1780 Self::ADAPTIVE,
1781 ];
1782 pub fn variant_name(self) -> Option<&'static str> {
1784 match self {
1785 Self::LINES => Some("LINES"),
1786 Self::DOTS => Some("DOTS"),
1787 Self::CROSSES => Some("CROSSES"),
1788 Self::ADAPTIVE => Some("ADAPTIVE"),
1789 _ => None,
1790 }
1791 }
1792}
1793impl core::fmt::Debug for GRID_DISPLAY_TYPE {
1794 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1795 if let Some(name) = self.variant_name() {
1796 f.write_str(name)
1797 } else {
1798 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1799 }
1800 }
1801}
1802impl<'a> flatbuffers::Follow<'a> for GRID_DISPLAY_TYPE {
1803 type Inner = Self;
1804 #[inline]
1805 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1806 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
1807 Self(b)
1808 }
1809}
1810
1811impl flatbuffers::Push for GRID_DISPLAY_TYPE {
1812 type Output = GRID_DISPLAY_TYPE;
1813 #[inline]
1814 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1815 flatbuffers::emplace_scalar::<u8>(dst, self.0);
1816 }
1817}
1818
1819impl flatbuffers::EndianScalar for GRID_DISPLAY_TYPE {
1820 type Scalar = u8;
1821 #[inline]
1822 fn to_little_endian(self) -> u8 {
1823 self.0.to_le()
1824 }
1825 #[inline]
1826 #[allow(clippy::wrong_self_convention)]
1827 fn from_little_endian(v: u8) -> Self {
1828 let b = u8::from_le(v);
1829 Self(b)
1830 }
1831}
1832
1833impl<'a> flatbuffers::Verifiable for GRID_DISPLAY_TYPE {
1834 #[inline]
1835 fn run_verifier(
1836 v: &mut flatbuffers::Verifier, pos: usize
1837 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
1838 use self::flatbuffers::Verifiable;
1839 u8::run_verifier(v, pos)
1840 }
1841}
1842
1843impl flatbuffers::SimpleToVerifyInSlice for GRID_DISPLAY_TYPE {}
1844#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1845pub const ENUM_MIN_GRID_TYPE: u8 = 10;
1846#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1847pub const ENUM_MAX_GRID_TYPE: u8 = 14;
1848#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1849#[allow(non_camel_case_types)]
1850pub const ENUM_VALUES_GRID_TYPE: [GRID_TYPE; 5] = [
1851 GRID_TYPE::RECTANGULAR,
1852 GRID_TYPE::ISOMETRIC,
1853 GRID_TYPE::POLAR,
1854 GRID_TYPE::TRIANGULAR,
1855 GRID_TYPE::CUSTOM,
1856];
1857
1858#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1859#[repr(transparent)]
1860pub struct GRID_TYPE(pub u8);
1861#[allow(non_upper_case_globals)]
1862impl GRID_TYPE {
1863 pub const RECTANGULAR: Self = Self(10);
1864 pub const ISOMETRIC: Self = Self(11);
1865 pub const POLAR: Self = Self(12);
1866 pub const TRIANGULAR: Self = Self(13);
1867 pub const CUSTOM: Self = Self(14);
1868
1869 pub const ENUM_MIN: u8 = 10;
1870 pub const ENUM_MAX: u8 = 14;
1871 pub const ENUM_VALUES: &'static [Self] = &[
1872 Self::RECTANGULAR,
1873 Self::ISOMETRIC,
1874 Self::POLAR,
1875 Self::TRIANGULAR,
1876 Self::CUSTOM,
1877 ];
1878 pub fn variant_name(self) -> Option<&'static str> {
1880 match self {
1881 Self::RECTANGULAR => Some("RECTANGULAR"),
1882 Self::ISOMETRIC => Some("ISOMETRIC"),
1883 Self::POLAR => Some("POLAR"),
1884 Self::TRIANGULAR => Some("TRIANGULAR"),
1885 Self::CUSTOM => Some("CUSTOM"),
1886 _ => None,
1887 }
1888 }
1889}
1890impl core::fmt::Debug for GRID_TYPE {
1891 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1892 if let Some(name) = self.variant_name() {
1893 f.write_str(name)
1894 } else {
1895 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1896 }
1897 }
1898}
1899impl<'a> flatbuffers::Follow<'a> for GRID_TYPE {
1900 type Inner = Self;
1901 #[inline]
1902 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1903 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
1904 Self(b)
1905 }
1906}
1907
1908impl flatbuffers::Push for GRID_TYPE {
1909 type Output = GRID_TYPE;
1910 #[inline]
1911 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1912 flatbuffers::emplace_scalar::<u8>(dst, self.0);
1913 }
1914}
1915
1916impl flatbuffers::EndianScalar for GRID_TYPE {
1917 type Scalar = u8;
1918 #[inline]
1919 fn to_little_endian(self) -> u8 {
1920 self.0.to_le()
1921 }
1922 #[inline]
1923 #[allow(clippy::wrong_self_convention)]
1924 fn from_little_endian(v: u8) -> Self {
1925 let b = u8::from_le(v);
1926 Self(b)
1927 }
1928}
1929
1930impl<'a> flatbuffers::Verifiable for GRID_TYPE {
1931 #[inline]
1932 fn run_verifier(
1933 v: &mut flatbuffers::Verifier, pos: usize
1934 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
1935 use self::flatbuffers::Verifiable;
1936 u8::run_verifier(v, pos)
1937 }
1938}
1939
1940impl flatbuffers::SimpleToVerifyInSlice for GRID_TYPE {}
1941#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1942pub const ENUM_MIN_OBJECT_SNAP_MODE: u8 = 0;
1943#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1944pub const ENUM_MAX_OBJECT_SNAP_MODE: u8 = 28;
1945#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1946#[allow(non_camel_case_types)]
1947pub const ENUM_VALUES_OBJECT_SNAP_MODE: [OBJECT_SNAP_MODE; 20] = [
1948 OBJECT_SNAP_MODE::NONE,
1949 OBJECT_SNAP_MODE::ENDPOINT,
1950 OBJECT_SNAP_MODE::MIDPOINT,
1951 OBJECT_SNAP_MODE::CENTER,
1952 OBJECT_SNAP_MODE::QUADRANT,
1953 OBJECT_SNAP_MODE::INTERSECTION,
1954 OBJECT_SNAP_MODE::EXTENSION,
1955 OBJECT_SNAP_MODE::PERPENDICULAR,
1956 OBJECT_SNAP_MODE::TANGENT,
1957 OBJECT_SNAP_MODE::NEAREST,
1958 OBJECT_SNAP_MODE::NODE,
1959 OBJECT_SNAP_MODE::INSERT,
1960 OBJECT_SNAP_MODE::PARALLEL,
1961 OBJECT_SNAP_MODE::APPARENT,
1962 OBJECT_SNAP_MODE::FROM,
1963 OBJECT_SNAP_MODE::POINT_FILTER,
1964 OBJECT_SNAP_MODE::TEMPORARY,
1965 OBJECT_SNAP_MODE::BETWEEN_TWO_POINTS,
1966 OBJECT_SNAP_MODE::POINT_ON_CURVE,
1967 OBJECT_SNAP_MODE::GEOMETRIC,
1968];
1969
1970#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1971#[repr(transparent)]
1972pub struct OBJECT_SNAP_MODE(pub u8);
1973#[allow(non_upper_case_globals)]
1974impl OBJECT_SNAP_MODE {
1975 pub const NONE: Self = Self(0);
1976 pub const ENDPOINT: Self = Self(10);
1977 pub const MIDPOINT: Self = Self(11);
1978 pub const CENTER: Self = Self(12);
1979 pub const QUADRANT: Self = Self(13);
1980 pub const INTERSECTION: Self = Self(14);
1981 pub const EXTENSION: Self = Self(15);
1982 pub const PERPENDICULAR: Self = Self(16);
1983 pub const TANGENT: Self = Self(17);
1984 pub const NEAREST: Self = Self(18);
1985 pub const NODE: Self = Self(19);
1986 pub const INSERT: Self = Self(20);
1987 pub const PARALLEL: Self = Self(21);
1988 pub const APPARENT: Self = Self(22);
1989 pub const FROM: Self = Self(23);
1990 pub const POINT_FILTER: Self = Self(24);
1991 pub const TEMPORARY: Self = Self(25);
1992 pub const BETWEEN_TWO_POINTS: Self = Self(26);
1993 pub const POINT_ON_CURVE: Self = Self(27);
1994 pub const GEOMETRIC: Self = Self(28);
1995
1996 pub const ENUM_MIN: u8 = 0;
1997 pub const ENUM_MAX: u8 = 28;
1998 pub const ENUM_VALUES: &'static [Self] = &[
1999 Self::NONE,
2000 Self::ENDPOINT,
2001 Self::MIDPOINT,
2002 Self::CENTER,
2003 Self::QUADRANT,
2004 Self::INTERSECTION,
2005 Self::EXTENSION,
2006 Self::PERPENDICULAR,
2007 Self::TANGENT,
2008 Self::NEAREST,
2009 Self::NODE,
2010 Self::INSERT,
2011 Self::PARALLEL,
2012 Self::APPARENT,
2013 Self::FROM,
2014 Self::POINT_FILTER,
2015 Self::TEMPORARY,
2016 Self::BETWEEN_TWO_POINTS,
2017 Self::POINT_ON_CURVE,
2018 Self::GEOMETRIC,
2019 ];
2020 pub fn variant_name(self) -> Option<&'static str> {
2022 match self {
2023 Self::NONE => Some("NONE"),
2024 Self::ENDPOINT => Some("ENDPOINT"),
2025 Self::MIDPOINT => Some("MIDPOINT"),
2026 Self::CENTER => Some("CENTER"),
2027 Self::QUADRANT => Some("QUADRANT"),
2028 Self::INTERSECTION => Some("INTERSECTION"),
2029 Self::EXTENSION => Some("EXTENSION"),
2030 Self::PERPENDICULAR => Some("PERPENDICULAR"),
2031 Self::TANGENT => Some("TANGENT"),
2032 Self::NEAREST => Some("NEAREST"),
2033 Self::NODE => Some("NODE"),
2034 Self::INSERT => Some("INSERT"),
2035 Self::PARALLEL => Some("PARALLEL"),
2036 Self::APPARENT => Some("APPARENT"),
2037 Self::FROM => Some("FROM"),
2038 Self::POINT_FILTER => Some("POINT_FILTER"),
2039 Self::TEMPORARY => Some("TEMPORARY"),
2040 Self::BETWEEN_TWO_POINTS => Some("BETWEEN_TWO_POINTS"),
2041 Self::POINT_ON_CURVE => Some("POINT_ON_CURVE"),
2042 Self::GEOMETRIC => Some("GEOMETRIC"),
2043 _ => None,
2044 }
2045 }
2046}
2047impl core::fmt::Debug for OBJECT_SNAP_MODE {
2048 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2049 if let Some(name) = self.variant_name() {
2050 f.write_str(name)
2051 } else {
2052 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
2053 }
2054 }
2055}
2056impl<'a> flatbuffers::Follow<'a> for OBJECT_SNAP_MODE {
2057 type Inner = Self;
2058 #[inline]
2059 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2060 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
2061 Self(b)
2062 }
2063}
2064
2065impl flatbuffers::Push for OBJECT_SNAP_MODE {
2066 type Output = OBJECT_SNAP_MODE;
2067 #[inline]
2068 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
2069 flatbuffers::emplace_scalar::<u8>(dst, self.0);
2070 }
2071}
2072
2073impl flatbuffers::EndianScalar for OBJECT_SNAP_MODE {
2074 type Scalar = u8;
2075 #[inline]
2076 fn to_little_endian(self) -> u8 {
2077 self.0.to_le()
2078 }
2079 #[inline]
2080 #[allow(clippy::wrong_self_convention)]
2081 fn from_little_endian(v: u8) -> Self {
2082 let b = u8::from_le(v);
2083 Self(b)
2084 }
2085}
2086
2087impl<'a> flatbuffers::Verifiable for OBJECT_SNAP_MODE {
2088 #[inline]
2089 fn run_verifier(
2090 v: &mut flatbuffers::Verifier, pos: usize
2091 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2092 use self::flatbuffers::Verifiable;
2093 u8::run_verifier(v, pos)
2094 }
2095}
2096
2097impl flatbuffers::SimpleToVerifyInSlice for OBJECT_SNAP_MODE {}
2098#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2099pub const ENUM_MIN_SNAP_MODE: u8 = 10;
2100#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2101pub const ENUM_MAX_SNAP_MODE: u8 = 11;
2102#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2103#[allow(non_camel_case_types)]
2104pub const ENUM_VALUES_SNAP_MODE: [SNAP_MODE; 2] = [
2105 SNAP_MODE::RUNNING,
2106 SNAP_MODE::SINGLE,
2107];
2108
2109#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2110#[repr(transparent)]
2111pub struct SNAP_MODE(pub u8);
2112#[allow(non_upper_case_globals)]
2113impl SNAP_MODE {
2114 pub const RUNNING: Self = Self(10);
2115 pub const SINGLE: Self = Self(11);
2116
2117 pub const ENUM_MIN: u8 = 10;
2118 pub const ENUM_MAX: u8 = 11;
2119 pub const ENUM_VALUES: &'static [Self] = &[
2120 Self::RUNNING,
2121 Self::SINGLE,
2122 ];
2123 pub fn variant_name(self) -> Option<&'static str> {
2125 match self {
2126 Self::RUNNING => Some("RUNNING"),
2127 Self::SINGLE => Some("SINGLE"),
2128 _ => None,
2129 }
2130 }
2131}
2132impl core::fmt::Debug for SNAP_MODE {
2133 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2134 if let Some(name) = self.variant_name() {
2135 f.write_str(name)
2136 } else {
2137 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
2138 }
2139 }
2140}
2141impl<'a> flatbuffers::Follow<'a> for SNAP_MODE {
2142 type Inner = Self;
2143 #[inline]
2144 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2145 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
2146 Self(b)
2147 }
2148}
2149
2150impl flatbuffers::Push for SNAP_MODE {
2151 type Output = SNAP_MODE;
2152 #[inline]
2153 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
2154 flatbuffers::emplace_scalar::<u8>(dst, self.0);
2155 }
2156}
2157
2158impl flatbuffers::EndianScalar for SNAP_MODE {
2159 type Scalar = u8;
2160 #[inline]
2161 fn to_little_endian(self) -> u8 {
2162 self.0.to_le()
2163 }
2164 #[inline]
2165 #[allow(clippy::wrong_self_convention)]
2166 fn from_little_endian(v: u8) -> Self {
2167 let b = u8::from_le(v);
2168 Self(b)
2169 }
2170}
2171
2172impl<'a> flatbuffers::Verifiable for SNAP_MODE {
2173 #[inline]
2174 fn run_verifier(
2175 v: &mut flatbuffers::Verifier, pos: usize
2176 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2177 use self::flatbuffers::Verifiable;
2178 u8::run_verifier(v, pos)
2179 }
2180}
2181
2182impl flatbuffers::SimpleToVerifyInSlice for SNAP_MODE {}
2183#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2184pub const ENUM_MIN_SNAP_OVERRIDE_BEHAVIOR: u8 = 10;
2185#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2186pub const ENUM_MAX_SNAP_OVERRIDE_BEHAVIOR: u8 = 12;
2187#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2188#[allow(non_camel_case_types)]
2189pub const ENUM_VALUES_SNAP_OVERRIDE_BEHAVIOR: [SNAP_OVERRIDE_BEHAVIOR; 3] = [
2190 SNAP_OVERRIDE_BEHAVIOR::DISABLE,
2191 SNAP_OVERRIDE_BEHAVIOR::FORCE_GRID,
2192 SNAP_OVERRIDE_BEHAVIOR::FORCE_OBJECT,
2193];
2194
2195#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2196#[repr(transparent)]
2197pub struct SNAP_OVERRIDE_BEHAVIOR(pub u8);
2198#[allow(non_upper_case_globals)]
2199impl SNAP_OVERRIDE_BEHAVIOR {
2200 pub const DISABLE: Self = Self(10);
2201 pub const FORCE_GRID: Self = Self(11);
2202 pub const FORCE_OBJECT: Self = Self(12);
2203
2204 pub const ENUM_MIN: u8 = 10;
2205 pub const ENUM_MAX: u8 = 12;
2206 pub const ENUM_VALUES: &'static [Self] = &[
2207 Self::DISABLE,
2208 Self::FORCE_GRID,
2209 Self::FORCE_OBJECT,
2210 ];
2211 pub fn variant_name(self) -> Option<&'static str> {
2213 match self {
2214 Self::DISABLE => Some("DISABLE"),
2215 Self::FORCE_GRID => Some("FORCE_GRID"),
2216 Self::FORCE_OBJECT => Some("FORCE_OBJECT"),
2217 _ => None,
2218 }
2219 }
2220}
2221impl core::fmt::Debug for SNAP_OVERRIDE_BEHAVIOR {
2222 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2223 if let Some(name) = self.variant_name() {
2224 f.write_str(name)
2225 } else {
2226 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
2227 }
2228 }
2229}
2230impl<'a> flatbuffers::Follow<'a> for SNAP_OVERRIDE_BEHAVIOR {
2231 type Inner = Self;
2232 #[inline]
2233 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2234 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
2235 Self(b)
2236 }
2237}
2238
2239impl flatbuffers::Push for SNAP_OVERRIDE_BEHAVIOR {
2240 type Output = SNAP_OVERRIDE_BEHAVIOR;
2241 #[inline]
2242 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
2243 flatbuffers::emplace_scalar::<u8>(dst, self.0);
2244 }
2245}
2246
2247impl flatbuffers::EndianScalar for SNAP_OVERRIDE_BEHAVIOR {
2248 type Scalar = u8;
2249 #[inline]
2250 fn to_little_endian(self) -> u8 {
2251 self.0.to_le()
2252 }
2253 #[inline]
2254 #[allow(clippy::wrong_self_convention)]
2255 fn from_little_endian(v: u8) -> Self {
2256 let b = u8::from_le(v);
2257 Self(b)
2258 }
2259}
2260
2261impl<'a> flatbuffers::Verifiable for SNAP_OVERRIDE_BEHAVIOR {
2262 #[inline]
2263 fn run_verifier(
2264 v: &mut flatbuffers::Verifier, pos: usize
2265 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2266 use self::flatbuffers::Verifiable;
2267 u8::run_verifier(v, pos)
2268 }
2269}
2270
2271impl flatbuffers::SimpleToVerifyInSlice for SNAP_OVERRIDE_BEHAVIOR {}
2272#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2273pub const ENUM_MIN_SNAP_MARKER_SHAPE: u8 = 10;
2274#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2275pub const ENUM_MAX_SNAP_MARKER_SHAPE: u8 = 13;
2276#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2277#[allow(non_camel_case_types)]
2278pub const ENUM_VALUES_SNAP_MARKER_SHAPE: [SNAP_MARKER_SHAPE; 4] = [
2279 SNAP_MARKER_SHAPE::SQUARE,
2280 SNAP_MARKER_SHAPE::CIRCLE,
2281 SNAP_MARKER_SHAPE::TRIANGLE,
2282 SNAP_MARKER_SHAPE::X,
2283];
2284
2285#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2286#[repr(transparent)]
2287pub struct SNAP_MARKER_SHAPE(pub u8);
2288#[allow(non_upper_case_globals)]
2289impl SNAP_MARKER_SHAPE {
2290 pub const SQUARE: Self = Self(10);
2291 pub const CIRCLE: Self = Self(11);
2292 pub const TRIANGLE: Self = Self(12);
2293 pub const X: Self = Self(13);
2294
2295 pub const ENUM_MIN: u8 = 10;
2296 pub const ENUM_MAX: u8 = 13;
2297 pub const ENUM_VALUES: &'static [Self] = &[
2298 Self::SQUARE,
2299 Self::CIRCLE,
2300 Self::TRIANGLE,
2301 Self::X,
2302 ];
2303 pub fn variant_name(self) -> Option<&'static str> {
2305 match self {
2306 Self::SQUARE => Some("SQUARE"),
2307 Self::CIRCLE => Some("CIRCLE"),
2308 Self::TRIANGLE => Some("TRIANGLE"),
2309 Self::X => Some("X"),
2310 _ => None,
2311 }
2312 }
2313}
2314impl core::fmt::Debug for SNAP_MARKER_SHAPE {
2315 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2316 if let Some(name) = self.variant_name() {
2317 f.write_str(name)
2318 } else {
2319 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
2320 }
2321 }
2322}
2323impl<'a> flatbuffers::Follow<'a> for SNAP_MARKER_SHAPE {
2324 type Inner = Self;
2325 #[inline]
2326 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2327 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
2328 Self(b)
2329 }
2330}
2331
2332impl flatbuffers::Push for SNAP_MARKER_SHAPE {
2333 type Output = SNAP_MARKER_SHAPE;
2334 #[inline]
2335 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
2336 flatbuffers::emplace_scalar::<u8>(dst, self.0);
2337 }
2338}
2339
2340impl flatbuffers::EndianScalar for SNAP_MARKER_SHAPE {
2341 type Scalar = u8;
2342 #[inline]
2343 fn to_little_endian(self) -> u8 {
2344 self.0.to_le()
2345 }
2346 #[inline]
2347 #[allow(clippy::wrong_self_convention)]
2348 fn from_little_endian(v: u8) -> Self {
2349 let b = u8::from_le(v);
2350 Self(b)
2351 }
2352}
2353
2354impl<'a> flatbuffers::Verifiable for SNAP_MARKER_SHAPE {
2355 #[inline]
2356 fn run_verifier(
2357 v: &mut flatbuffers::Verifier, pos: usize
2358 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2359 use self::flatbuffers::Verifiable;
2360 u8::run_verifier(v, pos)
2361 }
2362}
2363
2364impl flatbuffers::SimpleToVerifyInSlice for SNAP_MARKER_SHAPE {}
2365#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2366pub const ENUM_MIN_TABLE_CELL_ALIGNMENT: u8 = 10;
2367#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2368pub const ENUM_MAX_TABLE_CELL_ALIGNMENT: u8 = 18;
2369#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2370#[allow(non_camel_case_types)]
2371pub const ENUM_VALUES_TABLE_CELL_ALIGNMENT: [TABLE_CELL_ALIGNMENT; 9] = [
2372 TABLE_CELL_ALIGNMENT::TOP_LEFT,
2373 TABLE_CELL_ALIGNMENT::TOP_CENTER,
2374 TABLE_CELL_ALIGNMENT::TOP_RIGHT,
2375 TABLE_CELL_ALIGNMENT::MIDDLE_LEFT,
2376 TABLE_CELL_ALIGNMENT::MIDDLE_CENTER,
2377 TABLE_CELL_ALIGNMENT::MIDDLE_RIGHT,
2378 TABLE_CELL_ALIGNMENT::BOTTOM_LEFT,
2379 TABLE_CELL_ALIGNMENT::BOTTOM_CENTER,
2380 TABLE_CELL_ALIGNMENT::BOTTOM_RIGHT,
2381];
2382
2383#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2384#[repr(transparent)]
2385pub struct TABLE_CELL_ALIGNMENT(pub u8);
2386#[allow(non_upper_case_globals)]
2387impl TABLE_CELL_ALIGNMENT {
2388 pub const TOP_LEFT: Self = Self(10);
2389 pub const TOP_CENTER: Self = Self(11);
2390 pub const TOP_RIGHT: Self = Self(12);
2391 pub const MIDDLE_LEFT: Self = Self(13);
2392 pub const MIDDLE_CENTER: Self = Self(14);
2393 pub const MIDDLE_RIGHT: Self = Self(15);
2394 pub const BOTTOM_LEFT: Self = Self(16);
2395 pub const BOTTOM_CENTER: Self = Self(17);
2396 pub const BOTTOM_RIGHT: Self = Self(18);
2397
2398 pub const ENUM_MIN: u8 = 10;
2399 pub const ENUM_MAX: u8 = 18;
2400 pub const ENUM_VALUES: &'static [Self] = &[
2401 Self::TOP_LEFT,
2402 Self::TOP_CENTER,
2403 Self::TOP_RIGHT,
2404 Self::MIDDLE_LEFT,
2405 Self::MIDDLE_CENTER,
2406 Self::MIDDLE_RIGHT,
2407 Self::BOTTOM_LEFT,
2408 Self::BOTTOM_CENTER,
2409 Self::BOTTOM_RIGHT,
2410 ];
2411 pub fn variant_name(self) -> Option<&'static str> {
2413 match self {
2414 Self::TOP_LEFT => Some("TOP_LEFT"),
2415 Self::TOP_CENTER => Some("TOP_CENTER"),
2416 Self::TOP_RIGHT => Some("TOP_RIGHT"),
2417 Self::MIDDLE_LEFT => Some("MIDDLE_LEFT"),
2418 Self::MIDDLE_CENTER => Some("MIDDLE_CENTER"),
2419 Self::MIDDLE_RIGHT => Some("MIDDLE_RIGHT"),
2420 Self::BOTTOM_LEFT => Some("BOTTOM_LEFT"),
2421 Self::BOTTOM_CENTER => Some("BOTTOM_CENTER"),
2422 Self::BOTTOM_RIGHT => Some("BOTTOM_RIGHT"),
2423 _ => None,
2424 }
2425 }
2426}
2427impl core::fmt::Debug for TABLE_CELL_ALIGNMENT {
2428 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2429 if let Some(name) = self.variant_name() {
2430 f.write_str(name)
2431 } else {
2432 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
2433 }
2434 }
2435}
2436impl<'a> flatbuffers::Follow<'a> for TABLE_CELL_ALIGNMENT {
2437 type Inner = Self;
2438 #[inline]
2439 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2440 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
2441 Self(b)
2442 }
2443}
2444
2445impl flatbuffers::Push for TABLE_CELL_ALIGNMENT {
2446 type Output = TABLE_CELL_ALIGNMENT;
2447 #[inline]
2448 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
2449 flatbuffers::emplace_scalar::<u8>(dst, self.0);
2450 }
2451}
2452
2453impl flatbuffers::EndianScalar for TABLE_CELL_ALIGNMENT {
2454 type Scalar = u8;
2455 #[inline]
2456 fn to_little_endian(self) -> u8 {
2457 self.0.to_le()
2458 }
2459 #[inline]
2460 #[allow(clippy::wrong_self_convention)]
2461 fn from_little_endian(v: u8) -> Self {
2462 let b = u8::from_le(v);
2463 Self(b)
2464 }
2465}
2466
2467impl<'a> flatbuffers::Verifiable for TABLE_CELL_ALIGNMENT {
2468 #[inline]
2469 fn run_verifier(
2470 v: &mut flatbuffers::Verifier, pos: usize
2471 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2472 use self::flatbuffers::Verifiable;
2473 u8::run_verifier(v, pos)
2474 }
2475}
2476
2477impl flatbuffers::SimpleToVerifyInSlice for TABLE_CELL_ALIGNMENT {}
2478#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2479pub const ENUM_MIN_TABLE_FLOW_DIRECTION: u8 = 10;
2480#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2481pub const ENUM_MAX_TABLE_FLOW_DIRECTION: u8 = 11;
2482#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2483#[allow(non_camel_case_types)]
2484pub const ENUM_VALUES_TABLE_FLOW_DIRECTION: [TABLE_FLOW_DIRECTION; 2] = [
2485 TABLE_FLOW_DIRECTION::DOWN,
2486 TABLE_FLOW_DIRECTION::UP,
2487];
2488
2489#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2490#[repr(transparent)]
2491pub struct TABLE_FLOW_DIRECTION(pub u8);
2492#[allow(non_upper_case_globals)]
2493impl TABLE_FLOW_DIRECTION {
2494 pub const DOWN: Self = Self(10);
2495 pub const UP: Self = Self(11);
2496
2497 pub const ENUM_MIN: u8 = 10;
2498 pub const ENUM_MAX: u8 = 11;
2499 pub const ENUM_VALUES: &'static [Self] = &[
2500 Self::DOWN,
2501 Self::UP,
2502 ];
2503 pub fn variant_name(self) -> Option<&'static str> {
2505 match self {
2506 Self::DOWN => Some("DOWN"),
2507 Self::UP => Some("UP"),
2508 _ => None,
2509 }
2510 }
2511}
2512impl core::fmt::Debug for TABLE_FLOW_DIRECTION {
2513 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2514 if let Some(name) = self.variant_name() {
2515 f.write_str(name)
2516 } else {
2517 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
2518 }
2519 }
2520}
2521impl<'a> flatbuffers::Follow<'a> for TABLE_FLOW_DIRECTION {
2522 type Inner = Self;
2523 #[inline]
2524 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2525 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
2526 Self(b)
2527 }
2528}
2529
2530impl flatbuffers::Push for TABLE_FLOW_DIRECTION {
2531 type Output = TABLE_FLOW_DIRECTION;
2532 #[inline]
2533 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
2534 flatbuffers::emplace_scalar::<u8>(dst, self.0);
2535 }
2536}
2537
2538impl flatbuffers::EndianScalar for TABLE_FLOW_DIRECTION {
2539 type Scalar = u8;
2540 #[inline]
2541 fn to_little_endian(self) -> u8 {
2542 self.0.to_le()
2543 }
2544 #[inline]
2545 #[allow(clippy::wrong_self_convention)]
2546 fn from_little_endian(v: u8) -> Self {
2547 let b = u8::from_le(v);
2548 Self(b)
2549 }
2550}
2551
2552impl<'a> flatbuffers::Verifiable for TABLE_FLOW_DIRECTION {
2553 #[inline]
2554 fn run_verifier(
2555 v: &mut flatbuffers::Verifier, pos: usize
2556 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2557 use self::flatbuffers::Verifiable;
2558 u8::run_verifier(v, pos)
2559 }
2560}
2561
2562impl flatbuffers::SimpleToVerifyInSlice for TABLE_FLOW_DIRECTION {}
2563#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2564pub const ENUM_MIN_TOLERANCE_DISPLAY: u8 = 10;
2565#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2566pub const ENUM_MAX_TOLERANCE_DISPLAY: u8 = 14;
2567#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2568#[allow(non_camel_case_types)]
2569pub const ENUM_VALUES_TOLERANCE_DISPLAY: [TOLERANCE_DISPLAY; 5] = [
2570 TOLERANCE_DISPLAY::NONE,
2571 TOLERANCE_DISPLAY::SYMMETRICAL,
2572 TOLERANCE_DISPLAY::DEVIATION,
2573 TOLERANCE_DISPLAY::LIMITS,
2574 TOLERANCE_DISPLAY::BASIC,
2575];
2576
2577#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2578#[repr(transparent)]
2579pub struct TOLERANCE_DISPLAY(pub u8);
2580#[allow(non_upper_case_globals)]
2581impl TOLERANCE_DISPLAY {
2582 pub const NONE: Self = Self(10);
2583 pub const SYMMETRICAL: Self = Self(11);
2584 pub const DEVIATION: Self = Self(12);
2585 pub const LIMITS: Self = Self(13);
2586 pub const BASIC: Self = Self(14);
2587
2588 pub const ENUM_MIN: u8 = 10;
2589 pub const ENUM_MAX: u8 = 14;
2590 pub const ENUM_VALUES: &'static [Self] = &[
2591 Self::NONE,
2592 Self::SYMMETRICAL,
2593 Self::DEVIATION,
2594 Self::LIMITS,
2595 Self::BASIC,
2596 ];
2597 pub fn variant_name(self) -> Option<&'static str> {
2599 match self {
2600 Self::NONE => Some("NONE"),
2601 Self::SYMMETRICAL => Some("SYMMETRICAL"),
2602 Self::DEVIATION => Some("DEVIATION"),
2603 Self::LIMITS => Some("LIMITS"),
2604 Self::BASIC => Some("BASIC"),
2605 _ => None,
2606 }
2607 }
2608}
2609impl core::fmt::Debug for TOLERANCE_DISPLAY {
2610 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2611 if let Some(name) = self.variant_name() {
2612 f.write_str(name)
2613 } else {
2614 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
2615 }
2616 }
2617}
2618impl<'a> flatbuffers::Follow<'a> for TOLERANCE_DISPLAY {
2619 type Inner = Self;
2620 #[inline]
2621 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2622 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
2623 Self(b)
2624 }
2625}
2626
2627impl flatbuffers::Push for TOLERANCE_DISPLAY {
2628 type Output = TOLERANCE_DISPLAY;
2629 #[inline]
2630 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
2631 flatbuffers::emplace_scalar::<u8>(dst, self.0);
2632 }
2633}
2634
2635impl flatbuffers::EndianScalar for TOLERANCE_DISPLAY {
2636 type Scalar = u8;
2637 #[inline]
2638 fn to_little_endian(self) -> u8 {
2639 self.0.to_le()
2640 }
2641 #[inline]
2642 #[allow(clippy::wrong_self_convention)]
2643 fn from_little_endian(v: u8) -> Self {
2644 let b = u8::from_le(v);
2645 Self(b)
2646 }
2647}
2648
2649impl<'a> flatbuffers::Verifiable for TOLERANCE_DISPLAY {
2650 #[inline]
2651 fn run_verifier(
2652 v: &mut flatbuffers::Verifier, pos: usize
2653 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2654 use self::flatbuffers::Verifiable;
2655 u8::run_verifier(v, pos)
2656 }
2657}
2658
2659impl flatbuffers::SimpleToVerifyInSlice for TOLERANCE_DISPLAY {}
2660#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2661pub const ENUM_MIN_DIMENSION_TYPE: u8 = 10;
2662#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2663pub const ENUM_MAX_DIMENSION_TYPE: u8 = 22;
2664#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2665#[allow(non_camel_case_types)]
2666pub const ENUM_VALUES_DIMENSION_TYPE: [DIMENSION_TYPE; 13] = [
2667 DIMENSION_TYPE::LINEAR,
2668 DIMENSION_TYPE::ALIGNED,
2669 DIMENSION_TYPE::ANGULAR,
2670 DIMENSION_TYPE::ARC_LENGTH,
2671 DIMENSION_TYPE::RADIUS,
2672 DIMENSION_TYPE::DIAMETER,
2673 DIMENSION_TYPE::CENTER_MARK,
2674 DIMENSION_TYPE::ROTATED,
2675 DIMENSION_TYPE::SPACING,
2676 DIMENSION_TYPE::CONTINUE,
2677 DIMENSION_TYPE::BASELINE,
2678 DIMENSION_TYPE::JOGGED_LINEAR,
2679 DIMENSION_TYPE::ORDINATE,
2680];
2681
2682#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2683#[repr(transparent)]
2684pub struct DIMENSION_TYPE(pub u8);
2685#[allow(non_upper_case_globals)]
2686impl DIMENSION_TYPE {
2687 pub const LINEAR: Self = Self(10);
2688 pub const ALIGNED: Self = Self(11);
2689 pub const ANGULAR: Self = Self(12);
2690 pub const ARC_LENGTH: Self = Self(13);
2691 pub const RADIUS: Self = Self(14);
2692 pub const DIAMETER: Self = Self(15);
2693 pub const CENTER_MARK: Self = Self(16);
2694 pub const ROTATED: Self = Self(17);
2695 pub const SPACING: Self = Self(18);
2696 pub const CONTINUE: Self = Self(19);
2697 pub const BASELINE: Self = Self(20);
2698 pub const JOGGED_LINEAR: Self = Self(21);
2699 pub const ORDINATE: Self = Self(22);
2700
2701 pub const ENUM_MIN: u8 = 10;
2702 pub const ENUM_MAX: u8 = 22;
2703 pub const ENUM_VALUES: &'static [Self] = &[
2704 Self::LINEAR,
2705 Self::ALIGNED,
2706 Self::ANGULAR,
2707 Self::ARC_LENGTH,
2708 Self::RADIUS,
2709 Self::DIAMETER,
2710 Self::CENTER_MARK,
2711 Self::ROTATED,
2712 Self::SPACING,
2713 Self::CONTINUE,
2714 Self::BASELINE,
2715 Self::JOGGED_LINEAR,
2716 Self::ORDINATE,
2717 ];
2718 pub fn variant_name(self) -> Option<&'static str> {
2720 match self {
2721 Self::LINEAR => Some("LINEAR"),
2722 Self::ALIGNED => Some("ALIGNED"),
2723 Self::ANGULAR => Some("ANGULAR"),
2724 Self::ARC_LENGTH => Some("ARC_LENGTH"),
2725 Self::RADIUS => Some("RADIUS"),
2726 Self::DIAMETER => Some("DIAMETER"),
2727 Self::CENTER_MARK => Some("CENTER_MARK"),
2728 Self::ROTATED => Some("ROTATED"),
2729 Self::SPACING => Some("SPACING"),
2730 Self::CONTINUE => Some("CONTINUE"),
2731 Self::BASELINE => Some("BASELINE"),
2732 Self::JOGGED_LINEAR => Some("JOGGED_LINEAR"),
2733 Self::ORDINATE => Some("ORDINATE"),
2734 _ => None,
2735 }
2736 }
2737}
2738impl core::fmt::Debug for DIMENSION_TYPE {
2739 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2740 if let Some(name) = self.variant_name() {
2741 f.write_str(name)
2742 } else {
2743 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
2744 }
2745 }
2746}
2747impl<'a> flatbuffers::Follow<'a> for DIMENSION_TYPE {
2748 type Inner = Self;
2749 #[inline]
2750 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2751 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
2752 Self(b)
2753 }
2754}
2755
2756impl flatbuffers::Push for DIMENSION_TYPE {
2757 type Output = DIMENSION_TYPE;
2758 #[inline]
2759 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
2760 flatbuffers::emplace_scalar::<u8>(dst, self.0);
2761 }
2762}
2763
2764impl flatbuffers::EndianScalar for DIMENSION_TYPE {
2765 type Scalar = u8;
2766 #[inline]
2767 fn to_little_endian(self) -> u8 {
2768 self.0.to_le()
2769 }
2770 #[inline]
2771 #[allow(clippy::wrong_self_convention)]
2772 fn from_little_endian(v: u8) -> Self {
2773 let b = u8::from_le(v);
2774 Self(b)
2775 }
2776}
2777
2778impl<'a> flatbuffers::Verifiable for DIMENSION_TYPE {
2779 #[inline]
2780 fn run_verifier(
2781 v: &mut flatbuffers::Verifier, pos: usize
2782 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2783 use self::flatbuffers::Verifiable;
2784 u8::run_verifier(v, pos)
2785 }
2786}
2787
2788impl flatbuffers::SimpleToVerifyInSlice for DIMENSION_TYPE {}
2789#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2790pub const ENUM_MIN_MARK_ELLIPSE_CENTER: u8 = 10;
2791#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2792pub const ENUM_MAX_MARK_ELLIPSE_CENTER: u8 = 11;
2793#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2794#[allow(non_camel_case_types)]
2795pub const ENUM_VALUES_MARK_ELLIPSE_CENTER: [MARK_ELLIPSE_CENTER; 2] = [
2796 MARK_ELLIPSE_CENTER::MARK,
2797 MARK_ELLIPSE_CENTER::LINE,
2798];
2799
2800#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2801#[repr(transparent)]
2802pub struct MARK_ELLIPSE_CENTER(pub u8);
2803#[allow(non_upper_case_globals)]
2804impl MARK_ELLIPSE_CENTER {
2805 pub const MARK: Self = Self(10);
2806 pub const LINE: Self = Self(11);
2807
2808 pub const ENUM_MIN: u8 = 10;
2809 pub const ENUM_MAX: u8 = 11;
2810 pub const ENUM_VALUES: &'static [Self] = &[
2811 Self::MARK,
2812 Self::LINE,
2813 ];
2814 pub fn variant_name(self) -> Option<&'static str> {
2816 match self {
2817 Self::MARK => Some("MARK"),
2818 Self::LINE => Some("LINE"),
2819 _ => None,
2820 }
2821 }
2822}
2823impl core::fmt::Debug for MARK_ELLIPSE_CENTER {
2824 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2825 if let Some(name) = self.variant_name() {
2826 f.write_str(name)
2827 } else {
2828 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
2829 }
2830 }
2831}
2832impl<'a> flatbuffers::Follow<'a> for MARK_ELLIPSE_CENTER {
2833 type Inner = Self;
2834 #[inline]
2835 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2836 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
2837 Self(b)
2838 }
2839}
2840
2841impl flatbuffers::Push for MARK_ELLIPSE_CENTER {
2842 type Output = MARK_ELLIPSE_CENTER;
2843 #[inline]
2844 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
2845 flatbuffers::emplace_scalar::<u8>(dst, self.0);
2846 }
2847}
2848
2849impl flatbuffers::EndianScalar for MARK_ELLIPSE_CENTER {
2850 type Scalar = u8;
2851 #[inline]
2852 fn to_little_endian(self) -> u8 {
2853 self.0.to_le()
2854 }
2855 #[inline]
2856 #[allow(clippy::wrong_self_convention)]
2857 fn from_little_endian(v: u8) -> Self {
2858 let b = u8::from_le(v);
2859 Self(b)
2860 }
2861}
2862
2863impl<'a> flatbuffers::Verifiable for MARK_ELLIPSE_CENTER {
2864 #[inline]
2865 fn run_verifier(
2866 v: &mut flatbuffers::Verifier, pos: usize
2867 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2868 use self::flatbuffers::Verifiable;
2869 u8::run_verifier(v, pos)
2870 }
2871}
2872
2873impl flatbuffers::SimpleToVerifyInSlice for MARK_ELLIPSE_CENTER {}
2874#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2875pub const ENUM_MIN_TEXT_FLOW_DIRECTION: u8 = 10;
2876#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2877pub const ENUM_MAX_TEXT_FLOW_DIRECTION: u8 = 13;
2878#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2879#[allow(non_camel_case_types)]
2880pub const ENUM_VALUES_TEXT_FLOW_DIRECTION: [TEXT_FLOW_DIRECTION; 4] = [
2881 TEXT_FLOW_DIRECTION::LEFT_TO_RIGHT,
2882 TEXT_FLOW_DIRECTION::RIGHT_TO_LEFT,
2883 TEXT_FLOW_DIRECTION::TOP_TO_BOTTOM,
2884 TEXT_FLOW_DIRECTION::BOTTOM_TO_TOP,
2885];
2886
2887#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2888#[repr(transparent)]
2889pub struct TEXT_FLOW_DIRECTION(pub u8);
2890#[allow(non_upper_case_globals)]
2891impl TEXT_FLOW_DIRECTION {
2892 pub const LEFT_TO_RIGHT: Self = Self(10);
2893 pub const RIGHT_TO_LEFT: Self = Self(11);
2894 pub const TOP_TO_BOTTOM: Self = Self(12);
2895 pub const BOTTOM_TO_TOP: Self = Self(13);
2896
2897 pub const ENUM_MIN: u8 = 10;
2898 pub const ENUM_MAX: u8 = 13;
2899 pub const ENUM_VALUES: &'static [Self] = &[
2900 Self::LEFT_TO_RIGHT,
2901 Self::RIGHT_TO_LEFT,
2902 Self::TOP_TO_BOTTOM,
2903 Self::BOTTOM_TO_TOP,
2904 ];
2905 pub fn variant_name(self) -> Option<&'static str> {
2907 match self {
2908 Self::LEFT_TO_RIGHT => Some("LEFT_TO_RIGHT"),
2909 Self::RIGHT_TO_LEFT => Some("RIGHT_TO_LEFT"),
2910 Self::TOP_TO_BOTTOM => Some("TOP_TO_BOTTOM"),
2911 Self::BOTTOM_TO_TOP => Some("BOTTOM_TO_TOP"),
2912 _ => None,
2913 }
2914 }
2915}
2916impl core::fmt::Debug for TEXT_FLOW_DIRECTION {
2917 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2918 if let Some(name) = self.variant_name() {
2919 f.write_str(name)
2920 } else {
2921 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
2922 }
2923 }
2924}
2925impl<'a> flatbuffers::Follow<'a> for TEXT_FLOW_DIRECTION {
2926 type Inner = Self;
2927 #[inline]
2928 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2929 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
2930 Self(b)
2931 }
2932}
2933
2934impl flatbuffers::Push for TEXT_FLOW_DIRECTION {
2935 type Output = TEXT_FLOW_DIRECTION;
2936 #[inline]
2937 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
2938 flatbuffers::emplace_scalar::<u8>(dst, self.0);
2939 }
2940}
2941
2942impl flatbuffers::EndianScalar for TEXT_FLOW_DIRECTION {
2943 type Scalar = u8;
2944 #[inline]
2945 fn to_little_endian(self) -> u8 {
2946 self.0.to_le()
2947 }
2948 #[inline]
2949 #[allow(clippy::wrong_self_convention)]
2950 fn from_little_endian(v: u8) -> Self {
2951 let b = u8::from_le(v);
2952 Self(b)
2953 }
2954}
2955
2956impl<'a> flatbuffers::Verifiable for TEXT_FLOW_DIRECTION {
2957 #[inline]
2958 fn run_verifier(
2959 v: &mut flatbuffers::Verifier, pos: usize
2960 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2961 use self::flatbuffers::Verifiable;
2962 u8::run_verifier(v, pos)
2963 }
2964}
2965
2966impl flatbuffers::SimpleToVerifyInSlice for TEXT_FLOW_DIRECTION {}
2967#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2968pub const ENUM_MIN_COLUMN_TYPE: u8 = 10;
2969#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2970pub const ENUM_MAX_COLUMN_TYPE: u8 = 12;
2971#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2972#[allow(non_camel_case_types)]
2973pub const ENUM_VALUES_COLUMN_TYPE: [COLUMN_TYPE; 3] = [
2974 COLUMN_TYPE::NO_COLUMNS,
2975 COLUMN_TYPE::STATIC_COLUMNS,
2976 COLUMN_TYPE::DYNAMIC_COLUMNS,
2977];
2978
2979#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2980#[repr(transparent)]
2981pub struct COLUMN_TYPE(pub u8);
2982#[allow(non_upper_case_globals)]
2983impl COLUMN_TYPE {
2984 pub const NO_COLUMNS: Self = Self(10);
2985 pub const STATIC_COLUMNS: Self = Self(11);
2986 pub const DYNAMIC_COLUMNS: Self = Self(12);
2987
2988 pub const ENUM_MIN: u8 = 10;
2989 pub const ENUM_MAX: u8 = 12;
2990 pub const ENUM_VALUES: &'static [Self] = &[
2991 Self::NO_COLUMNS,
2992 Self::STATIC_COLUMNS,
2993 Self::DYNAMIC_COLUMNS,
2994 ];
2995 pub fn variant_name(self) -> Option<&'static str> {
2997 match self {
2998 Self::NO_COLUMNS => Some("NO_COLUMNS"),
2999 Self::STATIC_COLUMNS => Some("STATIC_COLUMNS"),
3000 Self::DYNAMIC_COLUMNS => Some("DYNAMIC_COLUMNS"),
3001 _ => None,
3002 }
3003 }
3004}
3005impl core::fmt::Debug for COLUMN_TYPE {
3006 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
3007 if let Some(name) = self.variant_name() {
3008 f.write_str(name)
3009 } else {
3010 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
3011 }
3012 }
3013}
3014impl<'a> flatbuffers::Follow<'a> for COLUMN_TYPE {
3015 type Inner = Self;
3016 #[inline]
3017 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3018 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
3019 Self(b)
3020 }
3021}
3022
3023impl flatbuffers::Push for COLUMN_TYPE {
3024 type Output = COLUMN_TYPE;
3025 #[inline]
3026 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
3027 flatbuffers::emplace_scalar::<u8>(dst, self.0);
3028 }
3029}
3030
3031impl flatbuffers::EndianScalar for COLUMN_TYPE {
3032 type Scalar = u8;
3033 #[inline]
3034 fn to_little_endian(self) -> u8 {
3035 self.0.to_le()
3036 }
3037 #[inline]
3038 #[allow(clippy::wrong_self_convention)]
3039 fn from_little_endian(v: u8) -> Self {
3040 let b = u8::from_le(v);
3041 Self(b)
3042 }
3043}
3044
3045impl<'a> flatbuffers::Verifiable for COLUMN_TYPE {
3046 #[inline]
3047 fn run_verifier(
3048 v: &mut flatbuffers::Verifier, pos: usize
3049 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
3050 use self::flatbuffers::Verifiable;
3051 u8::run_verifier(v, pos)
3052 }
3053}
3054
3055impl flatbuffers::SimpleToVerifyInSlice for COLUMN_TYPE {}
3056#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3057pub const ENUM_MIN_GDT_SYMBOL: u8 = 10;
3058#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3059pub const ENUM_MAX_GDT_SYMBOL: u8 = 29;
3060#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3061#[allow(non_camel_case_types)]
3062pub const ENUM_VALUES_GDT_SYMBOL: [GDT_SYMBOL; 20] = [
3063 GDT_SYMBOL::STRAIGHTNESS,
3064 GDT_SYMBOL::FLATNESS,
3065 GDT_SYMBOL::CIRCULARITY,
3066 GDT_SYMBOL::CYLINDRICITY,
3067 GDT_SYMBOL::PERPENDICULARITY,
3068 GDT_SYMBOL::ANGULARITY,
3069 GDT_SYMBOL::PARALLELISM,
3070 GDT_SYMBOL::POSITION,
3071 GDT_SYMBOL::TRUE_POSITION,
3072 GDT_SYMBOL::CONCENTRICITY,
3073 GDT_SYMBOL::COAXIALITY,
3074 GDT_SYMBOL::SYMMETRY,
3075 GDT_SYMBOL::CIRCULAR_RUNOUT,
3076 GDT_SYMBOL::TOTAL_RUNOUT,
3077 GDT_SYMBOL::PROFILE_OF_LINE,
3078 GDT_SYMBOL::PROFILE_OF_SURFACE,
3079 GDT_SYMBOL::STATISTICAL,
3080 GDT_SYMBOL::ALL_AROUND,
3081 GDT_SYMBOL::ALL_OVER,
3082 GDT_SYMBOL::BETWEEN,
3083];
3084
3085#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
3086#[repr(transparent)]
3087pub struct GDT_SYMBOL(pub u8);
3088#[allow(non_upper_case_globals)]
3089impl GDT_SYMBOL {
3090 pub const STRAIGHTNESS: Self = Self(10);
3091 pub const FLATNESS: Self = Self(11);
3092 pub const CIRCULARITY: Self = Self(12);
3093 pub const CYLINDRICITY: Self = Self(13);
3094 pub const PERPENDICULARITY: Self = Self(14);
3095 pub const ANGULARITY: Self = Self(15);
3096 pub const PARALLELISM: Self = Self(16);
3097 pub const POSITION: Self = Self(17);
3098 pub const TRUE_POSITION: Self = Self(18);
3099 pub const CONCENTRICITY: Self = Self(19);
3100 pub const COAXIALITY: Self = Self(20);
3101 pub const SYMMETRY: Self = Self(21);
3102 pub const CIRCULAR_RUNOUT: Self = Self(22);
3103 pub const TOTAL_RUNOUT: Self = Self(23);
3104 pub const PROFILE_OF_LINE: Self = Self(24);
3105 pub const PROFILE_OF_SURFACE: Self = Self(25);
3106 pub const STATISTICAL: Self = Self(26);
3107 pub const ALL_AROUND: Self = Self(27);
3108 pub const ALL_OVER: Self = Self(28);
3109 pub const BETWEEN: Self = Self(29);
3110
3111 pub const ENUM_MIN: u8 = 10;
3112 pub const ENUM_MAX: u8 = 29;
3113 pub const ENUM_VALUES: &'static [Self] = &[
3114 Self::STRAIGHTNESS,
3115 Self::FLATNESS,
3116 Self::CIRCULARITY,
3117 Self::CYLINDRICITY,
3118 Self::PERPENDICULARITY,
3119 Self::ANGULARITY,
3120 Self::PARALLELISM,
3121 Self::POSITION,
3122 Self::TRUE_POSITION,
3123 Self::CONCENTRICITY,
3124 Self::COAXIALITY,
3125 Self::SYMMETRY,
3126 Self::CIRCULAR_RUNOUT,
3127 Self::TOTAL_RUNOUT,
3128 Self::PROFILE_OF_LINE,
3129 Self::PROFILE_OF_SURFACE,
3130 Self::STATISTICAL,
3131 Self::ALL_AROUND,
3132 Self::ALL_OVER,
3133 Self::BETWEEN,
3134 ];
3135 pub fn variant_name(self) -> Option<&'static str> {
3137 match self {
3138 Self::STRAIGHTNESS => Some("STRAIGHTNESS"),
3139 Self::FLATNESS => Some("FLATNESS"),
3140 Self::CIRCULARITY => Some("CIRCULARITY"),
3141 Self::CYLINDRICITY => Some("CYLINDRICITY"),
3142 Self::PERPENDICULARITY => Some("PERPENDICULARITY"),
3143 Self::ANGULARITY => Some("ANGULARITY"),
3144 Self::PARALLELISM => Some("PARALLELISM"),
3145 Self::POSITION => Some("POSITION"),
3146 Self::TRUE_POSITION => Some("TRUE_POSITION"),
3147 Self::CONCENTRICITY => Some("CONCENTRICITY"),
3148 Self::COAXIALITY => Some("COAXIALITY"),
3149 Self::SYMMETRY => Some("SYMMETRY"),
3150 Self::CIRCULAR_RUNOUT => Some("CIRCULAR_RUNOUT"),
3151 Self::TOTAL_RUNOUT => Some("TOTAL_RUNOUT"),
3152 Self::PROFILE_OF_LINE => Some("PROFILE_OF_LINE"),
3153 Self::PROFILE_OF_SURFACE => Some("PROFILE_OF_SURFACE"),
3154 Self::STATISTICAL => Some("STATISTICAL"),
3155 Self::ALL_AROUND => Some("ALL_AROUND"),
3156 Self::ALL_OVER => Some("ALL_OVER"),
3157 Self::BETWEEN => Some("BETWEEN"),
3158 _ => None,
3159 }
3160 }
3161}
3162impl core::fmt::Debug for GDT_SYMBOL {
3163 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
3164 if let Some(name) = self.variant_name() {
3165 f.write_str(name)
3166 } else {
3167 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
3168 }
3169 }
3170}
3171impl<'a> flatbuffers::Follow<'a> for GDT_SYMBOL {
3172 type Inner = Self;
3173 #[inline]
3174 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3175 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
3176 Self(b)
3177 }
3178}
3179
3180impl flatbuffers::Push for GDT_SYMBOL {
3181 type Output = GDT_SYMBOL;
3182 #[inline]
3183 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
3184 flatbuffers::emplace_scalar::<u8>(dst, self.0);
3185 }
3186}
3187
3188impl flatbuffers::EndianScalar for GDT_SYMBOL {
3189 type Scalar = u8;
3190 #[inline]
3191 fn to_little_endian(self) -> u8 {
3192 self.0.to_le()
3193 }
3194 #[inline]
3195 #[allow(clippy::wrong_self_convention)]
3196 fn from_little_endian(v: u8) -> Self {
3197 let b = u8::from_le(v);
3198 Self(b)
3199 }
3200}
3201
3202impl<'a> flatbuffers::Verifiable for GDT_SYMBOL {
3203 #[inline]
3204 fn run_verifier(
3205 v: &mut flatbuffers::Verifier, pos: usize
3206 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
3207 use self::flatbuffers::Verifiable;
3208 u8::run_verifier(v, pos)
3209 }
3210}
3211
3212impl flatbuffers::SimpleToVerifyInSlice for GDT_SYMBOL {}
3213#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3214pub const ENUM_MIN_MATERIAL_CONDITION: u8 = 10;
3215#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3216pub const ENUM_MAX_MATERIAL_CONDITION: u8 = 12;
3217#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3218#[allow(non_camel_case_types)]
3219pub const ENUM_VALUES_MATERIAL_CONDITION: [MATERIAL_CONDITION; 3] = [
3220 MATERIAL_CONDITION::MAXIMUM,
3221 MATERIAL_CONDITION::LEAST,
3222 MATERIAL_CONDITION::REGARDLESS,
3223];
3224
3225#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
3226#[repr(transparent)]
3227pub struct MATERIAL_CONDITION(pub u8);
3228#[allow(non_upper_case_globals)]
3229impl MATERIAL_CONDITION {
3230 pub const MAXIMUM: Self = Self(10);
3231 pub const LEAST: Self = Self(11);
3232 pub const REGARDLESS: Self = Self(12);
3233
3234 pub const ENUM_MIN: u8 = 10;
3235 pub const ENUM_MAX: u8 = 12;
3236 pub const ENUM_VALUES: &'static [Self] = &[
3237 Self::MAXIMUM,
3238 Self::LEAST,
3239 Self::REGARDLESS,
3240 ];
3241 pub fn variant_name(self) -> Option<&'static str> {
3243 match self {
3244 Self::MAXIMUM => Some("MAXIMUM"),
3245 Self::LEAST => Some("LEAST"),
3246 Self::REGARDLESS => Some("REGARDLESS"),
3247 _ => None,
3248 }
3249 }
3250}
3251impl core::fmt::Debug for MATERIAL_CONDITION {
3252 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
3253 if let Some(name) = self.variant_name() {
3254 f.write_str(name)
3255 } else {
3256 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
3257 }
3258 }
3259}
3260impl<'a> flatbuffers::Follow<'a> for MATERIAL_CONDITION {
3261 type Inner = Self;
3262 #[inline]
3263 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3264 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
3265 Self(b)
3266 }
3267}
3268
3269impl flatbuffers::Push for MATERIAL_CONDITION {
3270 type Output = MATERIAL_CONDITION;
3271 #[inline]
3272 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
3273 flatbuffers::emplace_scalar::<u8>(dst, self.0);
3274 }
3275}
3276
3277impl flatbuffers::EndianScalar for MATERIAL_CONDITION {
3278 type Scalar = u8;
3279 #[inline]
3280 fn to_little_endian(self) -> u8 {
3281 self.0.to_le()
3282 }
3283 #[inline]
3284 #[allow(clippy::wrong_self_convention)]
3285 fn from_little_endian(v: u8) -> Self {
3286 let b = u8::from_le(v);
3287 Self(b)
3288 }
3289}
3290
3291impl<'a> flatbuffers::Verifiable for MATERIAL_CONDITION {
3292 #[inline]
3293 fn run_verifier(
3294 v: &mut flatbuffers::Verifier, pos: usize
3295 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
3296 use self::flatbuffers::Verifiable;
3297 u8::run_verifier(v, pos)
3298 }
3299}
3300
3301impl flatbuffers::SimpleToVerifyInSlice for MATERIAL_CONDITION {}
3302#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3303pub const ENUM_MIN_FEATURE_MODIFIER: u8 = 0;
3304#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3305pub const ENUM_MAX_FEATURE_MODIFIER: u8 = 24;
3306#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3307#[allow(non_camel_case_types)]
3308pub const ENUM_VALUES_FEATURE_MODIFIER: [FEATURE_MODIFIER; 16] = [
3309 FEATURE_MODIFIER::NONE,
3310 FEATURE_MODIFIER::FREE_STATE,
3311 FEATURE_MODIFIER::TANGENT_PLANE,
3312 FEATURE_MODIFIER::PROJECTED_TOLERANCE_ZONE,
3313 FEATURE_MODIFIER::DIAMETER,
3314 FEATURE_MODIFIER::SPHERICAL_DIAMETER,
3315 FEATURE_MODIFIER::RADIUS,
3316 FEATURE_MODIFIER::SPHERICAL_RADIUS,
3317 FEATURE_MODIFIER::CONTROLLED_RADIUS,
3318 FEATURE_MODIFIER::SQUARE,
3319 FEATURE_MODIFIER::TRANSLATION,
3320 FEATURE_MODIFIER::ALL_AROUND,
3321 FEATURE_MODIFIER::ALL_OVER,
3322 FEATURE_MODIFIER::STATISTICAL,
3323 FEATURE_MODIFIER::CONTINUOUS_FEATURE,
3324 FEATURE_MODIFIER::UNEQUALLY_DISPOSED,
3325];
3326
3327#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
3328#[repr(transparent)]
3329pub struct FEATURE_MODIFIER(pub u8);
3330#[allow(non_upper_case_globals)]
3331impl FEATURE_MODIFIER {
3332 pub const NONE: Self = Self(0);
3333 pub const FREE_STATE: Self = Self(10);
3334 pub const TANGENT_PLANE: Self = Self(11);
3335 pub const PROJECTED_TOLERANCE_ZONE: Self = Self(12);
3336 pub const DIAMETER: Self = Self(13);
3337 pub const SPHERICAL_DIAMETER: Self = Self(14);
3338 pub const RADIUS: Self = Self(15);
3339 pub const SPHERICAL_RADIUS: Self = Self(16);
3340 pub const CONTROLLED_RADIUS: Self = Self(17);
3341 pub const SQUARE: Self = Self(18);
3342 pub const TRANSLATION: Self = Self(19);
3343 pub const ALL_AROUND: Self = Self(20);
3344 pub const ALL_OVER: Self = Self(21);
3345 pub const STATISTICAL: Self = Self(22);
3346 pub const CONTINUOUS_FEATURE: Self = Self(23);
3347 pub const UNEQUALLY_DISPOSED: Self = Self(24);
3348
3349 pub const ENUM_MIN: u8 = 0;
3350 pub const ENUM_MAX: u8 = 24;
3351 pub const ENUM_VALUES: &'static [Self] = &[
3352 Self::NONE,
3353 Self::FREE_STATE,
3354 Self::TANGENT_PLANE,
3355 Self::PROJECTED_TOLERANCE_ZONE,
3356 Self::DIAMETER,
3357 Self::SPHERICAL_DIAMETER,
3358 Self::RADIUS,
3359 Self::SPHERICAL_RADIUS,
3360 Self::CONTROLLED_RADIUS,
3361 Self::SQUARE,
3362 Self::TRANSLATION,
3363 Self::ALL_AROUND,
3364 Self::ALL_OVER,
3365 Self::STATISTICAL,
3366 Self::CONTINUOUS_FEATURE,
3367 Self::UNEQUALLY_DISPOSED,
3368 ];
3369 pub fn variant_name(self) -> Option<&'static str> {
3371 match self {
3372 Self::NONE => Some("NONE"),
3373 Self::FREE_STATE => Some("FREE_STATE"),
3374 Self::TANGENT_PLANE => Some("TANGENT_PLANE"),
3375 Self::PROJECTED_TOLERANCE_ZONE => Some("PROJECTED_TOLERANCE_ZONE"),
3376 Self::DIAMETER => Some("DIAMETER"),
3377 Self::SPHERICAL_DIAMETER => Some("SPHERICAL_DIAMETER"),
3378 Self::RADIUS => Some("RADIUS"),
3379 Self::SPHERICAL_RADIUS => Some("SPHERICAL_RADIUS"),
3380 Self::CONTROLLED_RADIUS => Some("CONTROLLED_RADIUS"),
3381 Self::SQUARE => Some("SQUARE"),
3382 Self::TRANSLATION => Some("TRANSLATION"),
3383 Self::ALL_AROUND => Some("ALL_AROUND"),
3384 Self::ALL_OVER => Some("ALL_OVER"),
3385 Self::STATISTICAL => Some("STATISTICAL"),
3386 Self::CONTINUOUS_FEATURE => Some("CONTINUOUS_FEATURE"),
3387 Self::UNEQUALLY_DISPOSED => Some("UNEQUALLY_DISPOSED"),
3388 _ => None,
3389 }
3390 }
3391}
3392impl core::fmt::Debug for FEATURE_MODIFIER {
3393 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
3394 if let Some(name) = self.variant_name() {
3395 f.write_str(name)
3396 } else {
3397 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
3398 }
3399 }
3400}
3401impl<'a> flatbuffers::Follow<'a> for FEATURE_MODIFIER {
3402 type Inner = Self;
3403 #[inline]
3404 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3405 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
3406 Self(b)
3407 }
3408}
3409
3410impl flatbuffers::Push for FEATURE_MODIFIER {
3411 type Output = FEATURE_MODIFIER;
3412 #[inline]
3413 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
3414 flatbuffers::emplace_scalar::<u8>(dst, self.0);
3415 }
3416}
3417
3418impl flatbuffers::EndianScalar for FEATURE_MODIFIER {
3419 type Scalar = u8;
3420 #[inline]
3421 fn to_little_endian(self) -> u8 {
3422 self.0.to_le()
3423 }
3424 #[inline]
3425 #[allow(clippy::wrong_self_convention)]
3426 fn from_little_endian(v: u8) -> Self {
3427 let b = u8::from_le(v);
3428 Self(b)
3429 }
3430}
3431
3432impl<'a> flatbuffers::Verifiable for FEATURE_MODIFIER {
3433 #[inline]
3434 fn run_verifier(
3435 v: &mut flatbuffers::Verifier, pos: usize
3436 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
3437 use self::flatbuffers::Verifiable;
3438 u8::run_verifier(v, pos)
3439 }
3440}
3441
3442impl flatbuffers::SimpleToVerifyInSlice for FEATURE_MODIFIER {}
3443#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3444pub const ENUM_MIN_TOLERANCE_ZONE_TYPE: u8 = 10;
3445#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3446pub const ENUM_MAX_TOLERANCE_ZONE_TYPE: u8 = 14;
3447#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3448#[allow(non_camel_case_types)]
3449pub const ENUM_VALUES_TOLERANCE_ZONE_TYPE: [TOLERANCE_ZONE_TYPE; 5] = [
3450 TOLERANCE_ZONE_TYPE::CYLINDRICAL,
3451 TOLERANCE_ZONE_TYPE::SPHERICAL,
3452 TOLERANCE_ZONE_TYPE::RECTANGULAR,
3453 TOLERANCE_ZONE_TYPE::LINEAR,
3454 TOLERANCE_ZONE_TYPE::CIRCULAR,
3455];
3456
3457#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
3458#[repr(transparent)]
3459pub struct TOLERANCE_ZONE_TYPE(pub u8);
3460#[allow(non_upper_case_globals)]
3461impl TOLERANCE_ZONE_TYPE {
3462 pub const CYLINDRICAL: Self = Self(10);
3463 pub const SPHERICAL: Self = Self(11);
3464 pub const RECTANGULAR: Self = Self(12);
3465 pub const LINEAR: Self = Self(13);
3466 pub const CIRCULAR: Self = Self(14);
3467
3468 pub const ENUM_MIN: u8 = 10;
3469 pub const ENUM_MAX: u8 = 14;
3470 pub const ENUM_VALUES: &'static [Self] = &[
3471 Self::CYLINDRICAL,
3472 Self::SPHERICAL,
3473 Self::RECTANGULAR,
3474 Self::LINEAR,
3475 Self::CIRCULAR,
3476 ];
3477 pub fn variant_name(self) -> Option<&'static str> {
3479 match self {
3480 Self::CYLINDRICAL => Some("CYLINDRICAL"),
3481 Self::SPHERICAL => Some("SPHERICAL"),
3482 Self::RECTANGULAR => Some("RECTANGULAR"),
3483 Self::LINEAR => Some("LINEAR"),
3484 Self::CIRCULAR => Some("CIRCULAR"),
3485 _ => None,
3486 }
3487 }
3488}
3489impl core::fmt::Debug for TOLERANCE_ZONE_TYPE {
3490 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
3491 if let Some(name) = self.variant_name() {
3492 f.write_str(name)
3493 } else {
3494 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
3495 }
3496 }
3497}
3498impl<'a> flatbuffers::Follow<'a> for TOLERANCE_ZONE_TYPE {
3499 type Inner = Self;
3500 #[inline]
3501 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3502 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
3503 Self(b)
3504 }
3505}
3506
3507impl flatbuffers::Push for TOLERANCE_ZONE_TYPE {
3508 type Output = TOLERANCE_ZONE_TYPE;
3509 #[inline]
3510 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
3511 flatbuffers::emplace_scalar::<u8>(dst, self.0);
3512 }
3513}
3514
3515impl flatbuffers::EndianScalar for TOLERANCE_ZONE_TYPE {
3516 type Scalar = u8;
3517 #[inline]
3518 fn to_little_endian(self) -> u8 {
3519 self.0.to_le()
3520 }
3521 #[inline]
3522 #[allow(clippy::wrong_self_convention)]
3523 fn from_little_endian(v: u8) -> Self {
3524 let b = u8::from_le(v);
3525 Self(b)
3526 }
3527}
3528
3529impl<'a> flatbuffers::Verifiable for TOLERANCE_ZONE_TYPE {
3530 #[inline]
3531 fn run_verifier(
3532 v: &mut flatbuffers::Verifier, pos: usize
3533 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
3534 use self::flatbuffers::Verifiable;
3535 u8::run_verifier(v, pos)
3536 }
3537}
3538
3539impl flatbuffers::SimpleToVerifyInSlice for TOLERANCE_ZONE_TYPE {}
3540#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3541pub const ENUM_MIN_DATUM_TARGET_TYPE: u8 = 10;
3542#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3543pub const ENUM_MAX_DATUM_TARGET_TYPE: u8 = 13;
3544#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3545#[allow(non_camel_case_types)]
3546pub const ENUM_VALUES_DATUM_TARGET_TYPE: [DATUM_TARGET_TYPE; 4] = [
3547 DATUM_TARGET_TYPE::POINT,
3548 DATUM_TARGET_TYPE::LINE,
3549 DATUM_TARGET_TYPE::AREA,
3550 DATUM_TARGET_TYPE::MOVABLE,
3551];
3552
3553#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
3554#[repr(transparent)]
3555pub struct DATUM_TARGET_TYPE(pub u8);
3556#[allow(non_upper_case_globals)]
3557impl DATUM_TARGET_TYPE {
3558 pub const POINT: Self = Self(10);
3559 pub const LINE: Self = Self(11);
3560 pub const AREA: Self = Self(12);
3561 pub const MOVABLE: Self = Self(13);
3562
3563 pub const ENUM_MIN: u8 = 10;
3564 pub const ENUM_MAX: u8 = 13;
3565 pub const ENUM_VALUES: &'static [Self] = &[
3566 Self::POINT,
3567 Self::LINE,
3568 Self::AREA,
3569 Self::MOVABLE,
3570 ];
3571 pub fn variant_name(self) -> Option<&'static str> {
3573 match self {
3574 Self::POINT => Some("POINT"),
3575 Self::LINE => Some("LINE"),
3576 Self::AREA => Some("AREA"),
3577 Self::MOVABLE => Some("MOVABLE"),
3578 _ => None,
3579 }
3580 }
3581}
3582impl core::fmt::Debug for DATUM_TARGET_TYPE {
3583 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
3584 if let Some(name) = self.variant_name() {
3585 f.write_str(name)
3586 } else {
3587 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
3588 }
3589 }
3590}
3591impl<'a> flatbuffers::Follow<'a> for DATUM_TARGET_TYPE {
3592 type Inner = Self;
3593 #[inline]
3594 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3595 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
3596 Self(b)
3597 }
3598}
3599
3600impl flatbuffers::Push for DATUM_TARGET_TYPE {
3601 type Output = DATUM_TARGET_TYPE;
3602 #[inline]
3603 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
3604 flatbuffers::emplace_scalar::<u8>(dst, self.0);
3605 }
3606}
3607
3608impl flatbuffers::EndianScalar for DATUM_TARGET_TYPE {
3609 type Scalar = u8;
3610 #[inline]
3611 fn to_little_endian(self) -> u8 {
3612 self.0.to_le()
3613 }
3614 #[inline]
3615 #[allow(clippy::wrong_self_convention)]
3616 fn from_little_endian(v: u8) -> Self {
3617 let b = u8::from_le(v);
3618 Self(b)
3619 }
3620}
3621
3622impl<'a> flatbuffers::Verifiable for DATUM_TARGET_TYPE {
3623 #[inline]
3624 fn run_verifier(
3625 v: &mut flatbuffers::Verifier, pos: usize
3626 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
3627 use self::flatbuffers::Verifiable;
3628 u8::run_verifier(v, pos)
3629 }
3630}
3631
3632impl flatbuffers::SimpleToVerifyInSlice for DATUM_TARGET_TYPE {}
3633#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3634pub const ENUM_MIN_TOLERANCE_TYPE: u8 = 10;
3635#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3636pub const ENUM_MAX_TOLERANCE_TYPE: u8 = 12;
3637#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3638#[allow(non_camel_case_types)]
3639pub const ENUM_VALUES_TOLERANCE_TYPE: [TOLERANCE_TYPE; 3] = [
3640 TOLERANCE_TYPE::SINGLE,
3641 TOLERANCE_TYPE::COMPOSITE,
3642 TOLERANCE_TYPE::MULTIPLE,
3643];
3644
3645#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
3646#[repr(transparent)]
3647pub struct TOLERANCE_TYPE(pub u8);
3648#[allow(non_upper_case_globals)]
3649impl TOLERANCE_TYPE {
3650 pub const SINGLE: Self = Self(10);
3651 pub const COMPOSITE: Self = Self(11);
3652 pub const MULTIPLE: Self = Self(12);
3653
3654 pub const ENUM_MIN: u8 = 10;
3655 pub const ENUM_MAX: u8 = 12;
3656 pub const ENUM_VALUES: &'static [Self] = &[
3657 Self::SINGLE,
3658 Self::COMPOSITE,
3659 Self::MULTIPLE,
3660 ];
3661 pub fn variant_name(self) -> Option<&'static str> {
3663 match self {
3664 Self::SINGLE => Some("SINGLE"),
3665 Self::COMPOSITE => Some("COMPOSITE"),
3666 Self::MULTIPLE => Some("MULTIPLE"),
3667 _ => None,
3668 }
3669 }
3670}
3671impl core::fmt::Debug for TOLERANCE_TYPE {
3672 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
3673 if let Some(name) = self.variant_name() {
3674 f.write_str(name)
3675 } else {
3676 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
3677 }
3678 }
3679}
3680impl<'a> flatbuffers::Follow<'a> for TOLERANCE_TYPE {
3681 type Inner = Self;
3682 #[inline]
3683 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3684 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
3685 Self(b)
3686 }
3687}
3688
3689impl flatbuffers::Push for TOLERANCE_TYPE {
3690 type Output = TOLERANCE_TYPE;
3691 #[inline]
3692 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
3693 flatbuffers::emplace_scalar::<u8>(dst, self.0);
3694 }
3695}
3696
3697impl flatbuffers::EndianScalar for TOLERANCE_TYPE {
3698 type Scalar = u8;
3699 #[inline]
3700 fn to_little_endian(self) -> u8 {
3701 self.0.to_le()
3702 }
3703 #[inline]
3704 #[allow(clippy::wrong_self_convention)]
3705 fn from_little_endian(v: u8) -> Self {
3706 let b = u8::from_le(v);
3707 Self(b)
3708 }
3709}
3710
3711impl<'a> flatbuffers::Verifiable for TOLERANCE_TYPE {
3712 #[inline]
3713 fn run_verifier(
3714 v: &mut flatbuffers::Verifier, pos: usize
3715 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
3716 use self::flatbuffers::Verifiable;
3717 u8::run_verifier(v, pos)
3718 }
3719}
3720
3721impl flatbuffers::SimpleToVerifyInSlice for TOLERANCE_TYPE {}
3722#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3723pub const ENUM_MIN_DATUM_BRACKET_STYLE: u8 = 10;
3724#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3725pub const ENUM_MAX_DATUM_BRACKET_STYLE: u8 = 12;
3726#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3727#[allow(non_camel_case_types)]
3728pub const ENUM_VALUES_DATUM_BRACKET_STYLE: [DATUM_BRACKET_STYLE; 3] = [
3729 DATUM_BRACKET_STYLE::SQUARE,
3730 DATUM_BRACKET_STYLE::ROUND,
3731 DATUM_BRACKET_STYLE::NONE,
3732];
3733
3734#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
3735#[repr(transparent)]
3736pub struct DATUM_BRACKET_STYLE(pub u8);
3737#[allow(non_upper_case_globals)]
3738impl DATUM_BRACKET_STYLE {
3739 pub const SQUARE: Self = Self(10);
3740 pub const ROUND: Self = Self(11);
3741 pub const NONE: Self = Self(12);
3742
3743 pub const ENUM_MIN: u8 = 10;
3744 pub const ENUM_MAX: u8 = 12;
3745 pub const ENUM_VALUES: &'static [Self] = &[
3746 Self::SQUARE,
3747 Self::ROUND,
3748 Self::NONE,
3749 ];
3750 pub fn variant_name(self) -> Option<&'static str> {
3752 match self {
3753 Self::SQUARE => Some("SQUARE"),
3754 Self::ROUND => Some("ROUND"),
3755 Self::NONE => Some("NONE"),
3756 _ => None,
3757 }
3758 }
3759}
3760impl core::fmt::Debug for DATUM_BRACKET_STYLE {
3761 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
3762 if let Some(name) = self.variant_name() {
3763 f.write_str(name)
3764 } else {
3765 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
3766 }
3767 }
3768}
3769impl<'a> flatbuffers::Follow<'a> for DATUM_BRACKET_STYLE {
3770 type Inner = Self;
3771 #[inline]
3772 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3773 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
3774 Self(b)
3775 }
3776}
3777
3778impl flatbuffers::Push for DATUM_BRACKET_STYLE {
3779 type Output = DATUM_BRACKET_STYLE;
3780 #[inline]
3781 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
3782 flatbuffers::emplace_scalar::<u8>(dst, self.0);
3783 }
3784}
3785
3786impl flatbuffers::EndianScalar for DATUM_BRACKET_STYLE {
3787 type Scalar = u8;
3788 #[inline]
3789 fn to_little_endian(self) -> u8 {
3790 self.0.to_le()
3791 }
3792 #[inline]
3793 #[allow(clippy::wrong_self_convention)]
3794 fn from_little_endian(v: u8) -> Self {
3795 let b = u8::from_le(v);
3796 Self(b)
3797 }
3798}
3799
3800impl<'a> flatbuffers::Verifiable for DATUM_BRACKET_STYLE {
3801 #[inline]
3802 fn run_verifier(
3803 v: &mut flatbuffers::Verifier, pos: usize
3804 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
3805 use self::flatbuffers::Verifiable;
3806 u8::run_verifier(v, pos)
3807 }
3808}
3809
3810impl flatbuffers::SimpleToVerifyInSlice for DATUM_BRACKET_STYLE {}
3811#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3812pub const ENUM_MIN_DIMENSION_UNITS_FORMAT: u8 = 10;
3813#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3814pub const ENUM_MAX_DIMENSION_UNITS_FORMAT: u8 = 14;
3815#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3816#[allow(non_camel_case_types)]
3817pub const ENUM_VALUES_DIMENSION_UNITS_FORMAT: [DIMENSION_UNITS_FORMAT; 5] = [
3818 DIMENSION_UNITS_FORMAT::DECIMAL,
3819 DIMENSION_UNITS_FORMAT::ENGINEERING,
3820 DIMENSION_UNITS_FORMAT::ARCHITECTURAL,
3821 DIMENSION_UNITS_FORMAT::FRACTIONAL,
3822 DIMENSION_UNITS_FORMAT::SCIENTIFIC,
3823];
3824
3825#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
3826#[repr(transparent)]
3827pub struct DIMENSION_UNITS_FORMAT(pub u8);
3828#[allow(non_upper_case_globals)]
3829impl DIMENSION_UNITS_FORMAT {
3830 pub const DECIMAL: Self = Self(10);
3831 pub const ENGINEERING: Self = Self(11);
3832 pub const ARCHITECTURAL: Self = Self(12);
3833 pub const FRACTIONAL: Self = Self(13);
3834 pub const SCIENTIFIC: Self = Self(14);
3835
3836 pub const ENUM_MIN: u8 = 10;
3837 pub const ENUM_MAX: u8 = 14;
3838 pub const ENUM_VALUES: &'static [Self] = &[
3839 Self::DECIMAL,
3840 Self::ENGINEERING,
3841 Self::ARCHITECTURAL,
3842 Self::FRACTIONAL,
3843 Self::SCIENTIFIC,
3844 ];
3845 pub fn variant_name(self) -> Option<&'static str> {
3847 match self {
3848 Self::DECIMAL => Some("DECIMAL"),
3849 Self::ENGINEERING => Some("ENGINEERING"),
3850 Self::ARCHITECTURAL => Some("ARCHITECTURAL"),
3851 Self::FRACTIONAL => Some("FRACTIONAL"),
3852 Self::SCIENTIFIC => Some("SCIENTIFIC"),
3853 _ => None,
3854 }
3855 }
3856}
3857impl core::fmt::Debug for DIMENSION_UNITS_FORMAT {
3858 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
3859 if let Some(name) = self.variant_name() {
3860 f.write_str(name)
3861 } else {
3862 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
3863 }
3864 }
3865}
3866impl<'a> flatbuffers::Follow<'a> for DIMENSION_UNITS_FORMAT {
3867 type Inner = Self;
3868 #[inline]
3869 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3870 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
3871 Self(b)
3872 }
3873}
3874
3875impl flatbuffers::Push for DIMENSION_UNITS_FORMAT {
3876 type Output = DIMENSION_UNITS_FORMAT;
3877 #[inline]
3878 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
3879 flatbuffers::emplace_scalar::<u8>(dst, self.0);
3880 }
3881}
3882
3883impl flatbuffers::EndianScalar for DIMENSION_UNITS_FORMAT {
3884 type Scalar = u8;
3885 #[inline]
3886 fn to_little_endian(self) -> u8 {
3887 self.0.to_le()
3888 }
3889 #[inline]
3890 #[allow(clippy::wrong_self_convention)]
3891 fn from_little_endian(v: u8) -> Self {
3892 let b = u8::from_le(v);
3893 Self(b)
3894 }
3895}
3896
3897impl<'a> flatbuffers::Verifiable for DIMENSION_UNITS_FORMAT {
3898 #[inline]
3899 fn run_verifier(
3900 v: &mut flatbuffers::Verifier, pos: usize
3901 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
3902 use self::flatbuffers::Verifiable;
3903 u8::run_verifier(v, pos)
3904 }
3905}
3906
3907impl flatbuffers::SimpleToVerifyInSlice for DIMENSION_UNITS_FORMAT {}
3908#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3909pub const ENUM_MIN_DIMENSION_FIT_RULE: u8 = 10;
3910#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3911pub const ENUM_MAX_DIMENSION_FIT_RULE: u8 = 13;
3912#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
3913#[allow(non_camel_case_types)]
3914pub const ENUM_VALUES_DIMENSION_FIT_RULE: [DIMENSION_FIT_RULE; 4] = [
3915 DIMENSION_FIT_RULE::TEXT_AND_ARROWS,
3916 DIMENSION_FIT_RULE::ARROWS_ONLY,
3917 DIMENSION_FIT_RULE::TEXT_ONLY,
3918 DIMENSION_FIT_RULE::BEST_FIT,
3919];
3920
3921#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
3922#[repr(transparent)]
3923pub struct DIMENSION_FIT_RULE(pub u8);
3924#[allow(non_upper_case_globals)]
3925impl DIMENSION_FIT_RULE {
3926 pub const TEXT_AND_ARROWS: Self = Self(10);
3927 pub const ARROWS_ONLY: Self = Self(11);
3928 pub const TEXT_ONLY: Self = Self(12);
3929 pub const BEST_FIT: Self = Self(13);
3930
3931 pub const ENUM_MIN: u8 = 10;
3932 pub const ENUM_MAX: u8 = 13;
3933 pub const ENUM_VALUES: &'static [Self] = &[
3934 Self::TEXT_AND_ARROWS,
3935 Self::ARROWS_ONLY,
3936 Self::TEXT_ONLY,
3937 Self::BEST_FIT,
3938 ];
3939 pub fn variant_name(self) -> Option<&'static str> {
3941 match self {
3942 Self::TEXT_AND_ARROWS => Some("TEXT_AND_ARROWS"),
3943 Self::ARROWS_ONLY => Some("ARROWS_ONLY"),
3944 Self::TEXT_ONLY => Some("TEXT_ONLY"),
3945 Self::BEST_FIT => Some("BEST_FIT"),
3946 _ => None,
3947 }
3948 }
3949}
3950impl core::fmt::Debug for DIMENSION_FIT_RULE {
3951 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
3952 if let Some(name) = self.variant_name() {
3953 f.write_str(name)
3954 } else {
3955 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
3956 }
3957 }
3958}
3959impl<'a> flatbuffers::Follow<'a> for DIMENSION_FIT_RULE {
3960 type Inner = Self;
3961 #[inline]
3962 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3963 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
3964 Self(b)
3965 }
3966}
3967
3968impl flatbuffers::Push for DIMENSION_FIT_RULE {
3969 type Output = DIMENSION_FIT_RULE;
3970 #[inline]
3971 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
3972 flatbuffers::emplace_scalar::<u8>(dst, self.0);
3973 }
3974}
3975
3976impl flatbuffers::EndianScalar for DIMENSION_FIT_RULE {
3977 type Scalar = u8;
3978 #[inline]
3979 fn to_little_endian(self) -> u8 {
3980 self.0.to_le()
3981 }
3982 #[inline]
3983 #[allow(clippy::wrong_self_convention)]
3984 fn from_little_endian(v: u8) -> Self {
3985 let b = u8::from_le(v);
3986 Self(b)
3987 }
3988}
3989
3990impl<'a> flatbuffers::Verifiable for DIMENSION_FIT_RULE {
3991 #[inline]
3992 fn run_verifier(
3993 v: &mut flatbuffers::Verifier, pos: usize
3994 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
3995 use self::flatbuffers::Verifiable;
3996 u8::run_verifier(v, pos)
3997 }
3998}
3999
4000impl flatbuffers::SimpleToVerifyInSlice for DIMENSION_FIT_RULE {}
4001#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4002pub const ENUM_MIN_DIMENSION_TEXT_PLACEMENT: u8 = 10;
4003#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4004pub const ENUM_MAX_DIMENSION_TEXT_PLACEMENT: u8 = 12;
4005#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4006#[allow(non_camel_case_types)]
4007pub const ENUM_VALUES_DIMENSION_TEXT_PLACEMENT: [DIMENSION_TEXT_PLACEMENT; 3] = [
4008 DIMENSION_TEXT_PLACEMENT::BESIDE_LINE,
4009 DIMENSION_TEXT_PLACEMENT::OVER_LINE,
4010 DIMENSION_TEXT_PLACEMENT::OVER_LINE_WITH_LEADER,
4011];
4012
4013#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
4014#[repr(transparent)]
4015pub struct DIMENSION_TEXT_PLACEMENT(pub u8);
4016#[allow(non_upper_case_globals)]
4017impl DIMENSION_TEXT_PLACEMENT {
4018 pub const BESIDE_LINE: Self = Self(10);
4019 pub const OVER_LINE: Self = Self(11);
4020 pub const OVER_LINE_WITH_LEADER: Self = Self(12);
4021
4022 pub const ENUM_MIN: u8 = 10;
4023 pub const ENUM_MAX: u8 = 12;
4024 pub const ENUM_VALUES: &'static [Self] = &[
4025 Self::BESIDE_LINE,
4026 Self::OVER_LINE,
4027 Self::OVER_LINE_WITH_LEADER,
4028 ];
4029 pub fn variant_name(self) -> Option<&'static str> {
4031 match self {
4032 Self::BESIDE_LINE => Some("BESIDE_LINE"),
4033 Self::OVER_LINE => Some("OVER_LINE"),
4034 Self::OVER_LINE_WITH_LEADER => Some("OVER_LINE_WITH_LEADER"),
4035 _ => None,
4036 }
4037 }
4038}
4039impl core::fmt::Debug for DIMENSION_TEXT_PLACEMENT {
4040 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
4041 if let Some(name) = self.variant_name() {
4042 f.write_str(name)
4043 } else {
4044 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
4045 }
4046 }
4047}
4048impl<'a> flatbuffers::Follow<'a> for DIMENSION_TEXT_PLACEMENT {
4049 type Inner = Self;
4050 #[inline]
4051 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4052 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
4053 Self(b)
4054 }
4055}
4056
4057impl flatbuffers::Push for DIMENSION_TEXT_PLACEMENT {
4058 type Output = DIMENSION_TEXT_PLACEMENT;
4059 #[inline]
4060 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
4061 flatbuffers::emplace_scalar::<u8>(dst, self.0);
4062 }
4063}
4064
4065impl flatbuffers::EndianScalar for DIMENSION_TEXT_PLACEMENT {
4066 type Scalar = u8;
4067 #[inline]
4068 fn to_little_endian(self) -> u8 {
4069 self.0.to_le()
4070 }
4071 #[inline]
4072 #[allow(clippy::wrong_self_convention)]
4073 fn from_little_endian(v: u8) -> Self {
4074 let b = u8::from_le(v);
4075 Self(b)
4076 }
4077}
4078
4079impl<'a> flatbuffers::Verifiable for DIMENSION_TEXT_PLACEMENT {
4080 #[inline]
4081 fn run_verifier(
4082 v: &mut flatbuffers::Verifier, pos: usize
4083 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4084 use self::flatbuffers::Verifiable;
4085 u8::run_verifier(v, pos)
4086 }
4087}
4088
4089impl flatbuffers::SimpleToVerifyInSlice for DIMENSION_TEXT_PLACEMENT {}
4090#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4091pub const ENUM_MIN_ANGULAR_UNITS_FORMAT: u8 = 10;
4092#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4093pub const ENUM_MAX_ANGULAR_UNITS_FORMAT: u8 = 14;
4094#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4095#[allow(non_camel_case_types)]
4096pub const ENUM_VALUES_ANGULAR_UNITS_FORMAT: [ANGULAR_UNITS_FORMAT; 5] = [
4097 ANGULAR_UNITS_FORMAT::DECIMAL_DEGREES,
4098 ANGULAR_UNITS_FORMAT::DEGREES_MINUTES_SECONDS,
4099 ANGULAR_UNITS_FORMAT::GRADS,
4100 ANGULAR_UNITS_FORMAT::RADIANS,
4101 ANGULAR_UNITS_FORMAT::SURVEYOR,
4102];
4103
4104#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
4105#[repr(transparent)]
4106pub struct ANGULAR_UNITS_FORMAT(pub u8);
4107#[allow(non_upper_case_globals)]
4108impl ANGULAR_UNITS_FORMAT {
4109 pub const DECIMAL_DEGREES: Self = Self(10);
4110 pub const DEGREES_MINUTES_SECONDS: Self = Self(11);
4111 pub const GRADS: Self = Self(12);
4112 pub const RADIANS: Self = Self(13);
4113 pub const SURVEYOR: Self = Self(14);
4114
4115 pub const ENUM_MIN: u8 = 10;
4116 pub const ENUM_MAX: u8 = 14;
4117 pub const ENUM_VALUES: &'static [Self] = &[
4118 Self::DECIMAL_DEGREES,
4119 Self::DEGREES_MINUTES_SECONDS,
4120 Self::GRADS,
4121 Self::RADIANS,
4122 Self::SURVEYOR,
4123 ];
4124 pub fn variant_name(self) -> Option<&'static str> {
4126 match self {
4127 Self::DECIMAL_DEGREES => Some("DECIMAL_DEGREES"),
4128 Self::DEGREES_MINUTES_SECONDS => Some("DEGREES_MINUTES_SECONDS"),
4129 Self::GRADS => Some("GRADS"),
4130 Self::RADIANS => Some("RADIANS"),
4131 Self::SURVEYOR => Some("SURVEYOR"),
4132 _ => None,
4133 }
4134 }
4135}
4136impl core::fmt::Debug for ANGULAR_UNITS_FORMAT {
4137 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
4138 if let Some(name) = self.variant_name() {
4139 f.write_str(name)
4140 } else {
4141 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
4142 }
4143 }
4144}
4145impl<'a> flatbuffers::Follow<'a> for ANGULAR_UNITS_FORMAT {
4146 type Inner = Self;
4147 #[inline]
4148 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4149 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
4150 Self(b)
4151 }
4152}
4153
4154impl flatbuffers::Push for ANGULAR_UNITS_FORMAT {
4155 type Output = ANGULAR_UNITS_FORMAT;
4156 #[inline]
4157 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
4158 flatbuffers::emplace_scalar::<u8>(dst, self.0);
4159 }
4160}
4161
4162impl flatbuffers::EndianScalar for ANGULAR_UNITS_FORMAT {
4163 type Scalar = u8;
4164 #[inline]
4165 fn to_little_endian(self) -> u8 {
4166 self.0.to_le()
4167 }
4168 #[inline]
4169 #[allow(clippy::wrong_self_convention)]
4170 fn from_little_endian(v: u8) -> Self {
4171 let b = u8::from_le(v);
4172 Self(b)
4173 }
4174}
4175
4176impl<'a> flatbuffers::Verifiable for ANGULAR_UNITS_FORMAT {
4177 #[inline]
4178 fn run_verifier(
4179 v: &mut flatbuffers::Verifier, pos: usize
4180 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4181 use self::flatbuffers::Verifiable;
4182 u8::run_verifier(v, pos)
4183 }
4184}
4185
4186impl flatbuffers::SimpleToVerifyInSlice for ANGULAR_UNITS_FORMAT {}
4187#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4188pub const ENUM_MIN_UNIT_SYSTEM: u8 = 10;
4189#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4190pub const ENUM_MAX_UNIT_SYSTEM: u8 = 11;
4191#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4192#[allow(non_camel_case_types)]
4193pub const ENUM_VALUES_UNIT_SYSTEM: [UNIT_SYSTEM; 2] = [
4194 UNIT_SYSTEM::METRIC,
4195 UNIT_SYSTEM::IMPERIAL,
4196];
4197
4198#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
4199#[repr(transparent)]
4200pub struct UNIT_SYSTEM(pub u8);
4201#[allow(non_upper_case_globals)]
4202impl UNIT_SYSTEM {
4203 pub const METRIC: Self = Self(10);
4204 pub const IMPERIAL: Self = Self(11);
4205
4206 pub const ENUM_MIN: u8 = 10;
4207 pub const ENUM_MAX: u8 = 11;
4208 pub const ENUM_VALUES: &'static [Self] = &[
4209 Self::METRIC,
4210 Self::IMPERIAL,
4211 ];
4212 pub fn variant_name(self) -> Option<&'static str> {
4214 match self {
4215 Self::METRIC => Some("METRIC"),
4216 Self::IMPERIAL => Some("IMPERIAL"),
4217 _ => None,
4218 }
4219 }
4220}
4221impl core::fmt::Debug for UNIT_SYSTEM {
4222 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
4223 if let Some(name) = self.variant_name() {
4224 f.write_str(name)
4225 } else {
4226 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
4227 }
4228 }
4229}
4230impl<'a> flatbuffers::Follow<'a> for UNIT_SYSTEM {
4231 type Inner = Self;
4232 #[inline]
4233 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4234 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
4235 Self(b)
4236 }
4237}
4238
4239impl flatbuffers::Push for UNIT_SYSTEM {
4240 type Output = UNIT_SYSTEM;
4241 #[inline]
4242 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
4243 flatbuffers::emplace_scalar::<u8>(dst, self.0);
4244 }
4245}
4246
4247impl flatbuffers::EndianScalar for UNIT_SYSTEM {
4248 type Scalar = u8;
4249 #[inline]
4250 fn to_little_endian(self) -> u8 {
4251 self.0.to_le()
4252 }
4253 #[inline]
4254 #[allow(clippy::wrong_self_convention)]
4255 fn from_little_endian(v: u8) -> Self {
4256 let b = u8::from_le(v);
4257 Self(b)
4258 }
4259}
4260
4261impl<'a> flatbuffers::Verifiable for UNIT_SYSTEM {
4262 #[inline]
4263 fn run_verifier(
4264 v: &mut flatbuffers::Verifier, pos: usize
4265 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4266 use self::flatbuffers::Verifiable;
4267 u8::run_verifier(v, pos)
4268 }
4269}
4270
4271impl flatbuffers::SimpleToVerifyInSlice for UNIT_SYSTEM {}
4272#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4273pub const ENUM_MIN_DECIMAL_SEPARATOR: u8 = 10;
4274#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4275pub const ENUM_MAX_DECIMAL_SEPARATOR: u8 = 11;
4276#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4277#[allow(non_camel_case_types)]
4278pub const ENUM_VALUES_DECIMAL_SEPARATOR: [DECIMAL_SEPARATOR; 2] = [
4279 DECIMAL_SEPARATOR::DOT,
4280 DECIMAL_SEPARATOR::COMMA,
4281];
4282
4283#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
4284#[repr(transparent)]
4285pub struct DECIMAL_SEPARATOR(pub u8);
4286#[allow(non_upper_case_globals)]
4287impl DECIMAL_SEPARATOR {
4288 pub const DOT: Self = Self(10);
4289 pub const COMMA: Self = Self(11);
4290
4291 pub const ENUM_MIN: u8 = 10;
4292 pub const ENUM_MAX: u8 = 11;
4293 pub const ENUM_VALUES: &'static [Self] = &[
4294 Self::DOT,
4295 Self::COMMA,
4296 ];
4297 pub fn variant_name(self) -> Option<&'static str> {
4299 match self {
4300 Self::DOT => Some("DOT"),
4301 Self::COMMA => Some("COMMA"),
4302 _ => None,
4303 }
4304 }
4305}
4306impl core::fmt::Debug for DECIMAL_SEPARATOR {
4307 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
4308 if let Some(name) = self.variant_name() {
4309 f.write_str(name)
4310 } else {
4311 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
4312 }
4313 }
4314}
4315impl<'a> flatbuffers::Follow<'a> for DECIMAL_SEPARATOR {
4316 type Inner = Self;
4317 #[inline]
4318 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4319 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
4320 Self(b)
4321 }
4322}
4323
4324impl flatbuffers::Push for DECIMAL_SEPARATOR {
4325 type Output = DECIMAL_SEPARATOR;
4326 #[inline]
4327 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
4328 flatbuffers::emplace_scalar::<u8>(dst, self.0);
4329 }
4330}
4331
4332impl flatbuffers::EndianScalar for DECIMAL_SEPARATOR {
4333 type Scalar = u8;
4334 #[inline]
4335 fn to_little_endian(self) -> u8 {
4336 self.0.to_le()
4337 }
4338 #[inline]
4339 #[allow(clippy::wrong_self_convention)]
4340 fn from_little_endian(v: u8) -> Self {
4341 let b = u8::from_le(v);
4342 Self(b)
4343 }
4344}
4345
4346impl<'a> flatbuffers::Verifiable for DECIMAL_SEPARATOR {
4347 #[inline]
4348 fn run_verifier(
4349 v: &mut flatbuffers::Verifier, pos: usize
4350 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4351 use self::flatbuffers::Verifiable;
4352 u8::run_verifier(v, pos)
4353 }
4354}
4355
4356impl flatbuffers::SimpleToVerifyInSlice for DECIMAL_SEPARATOR {}
4357#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4358pub const ENUM_MIN_VIEWPORT_SHADE_PLOT: u8 = 10;
4359#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4360pub const ENUM_MAX_VIEWPORT_SHADE_PLOT: u8 = 13;
4361#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4362#[allow(non_camel_case_types)]
4363pub const ENUM_VALUES_VIEWPORT_SHADE_PLOT: [VIEWPORT_SHADE_PLOT; 4] = [
4364 VIEWPORT_SHADE_PLOT::AS_DISPLAYED,
4365 VIEWPORT_SHADE_PLOT::WIREFRAME,
4366 VIEWPORT_SHADE_PLOT::HIDDEN,
4367 VIEWPORT_SHADE_PLOT::RENDERED,
4368];
4369
4370#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
4371#[repr(transparent)]
4372pub struct VIEWPORT_SHADE_PLOT(pub u8);
4373#[allow(non_upper_case_globals)]
4374impl VIEWPORT_SHADE_PLOT {
4375 pub const AS_DISPLAYED: Self = Self(10);
4376 pub const WIREFRAME: Self = Self(11);
4377 pub const HIDDEN: Self = Self(12);
4378 pub const RENDERED: Self = Self(13);
4379
4380 pub const ENUM_MIN: u8 = 10;
4381 pub const ENUM_MAX: u8 = 13;
4382 pub const ENUM_VALUES: &'static [Self] = &[
4383 Self::AS_DISPLAYED,
4384 Self::WIREFRAME,
4385 Self::HIDDEN,
4386 Self::RENDERED,
4387 ];
4388 pub fn variant_name(self) -> Option<&'static str> {
4390 match self {
4391 Self::AS_DISPLAYED => Some("AS_DISPLAYED"),
4392 Self::WIREFRAME => Some("WIREFRAME"),
4393 Self::HIDDEN => Some("HIDDEN"),
4394 Self::RENDERED => Some("RENDERED"),
4395 _ => None,
4396 }
4397 }
4398}
4399impl core::fmt::Debug for VIEWPORT_SHADE_PLOT {
4400 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
4401 if let Some(name) = self.variant_name() {
4402 f.write_str(name)
4403 } else {
4404 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
4405 }
4406 }
4407}
4408impl<'a> flatbuffers::Follow<'a> for VIEWPORT_SHADE_PLOT {
4409 type Inner = Self;
4410 #[inline]
4411 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4412 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
4413 Self(b)
4414 }
4415}
4416
4417impl flatbuffers::Push for VIEWPORT_SHADE_PLOT {
4418 type Output = VIEWPORT_SHADE_PLOT;
4419 #[inline]
4420 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
4421 flatbuffers::emplace_scalar::<u8>(dst, self.0);
4422 }
4423}
4424
4425impl flatbuffers::EndianScalar for VIEWPORT_SHADE_PLOT {
4426 type Scalar = u8;
4427 #[inline]
4428 fn to_little_endian(self) -> u8 {
4429 self.0.to_le()
4430 }
4431 #[inline]
4432 #[allow(clippy::wrong_self_convention)]
4433 fn from_little_endian(v: u8) -> Self {
4434 let b = u8::from_le(v);
4435 Self(b)
4436 }
4437}
4438
4439impl<'a> flatbuffers::Verifiable for VIEWPORT_SHADE_PLOT {
4440 #[inline]
4441 fn run_verifier(
4442 v: &mut flatbuffers::Verifier, pos: usize
4443 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4444 use self::flatbuffers::Verifiable;
4445 u8::run_verifier(v, pos)
4446 }
4447}
4448
4449impl flatbuffers::SimpleToVerifyInSlice for VIEWPORT_SHADE_PLOT {}
4450#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4451pub const ENUM_MIN_HATCH_STYLE: u8 = 10;
4452#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4453pub const ENUM_MAX_HATCH_STYLE: u8 = 12;
4454#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4455#[allow(non_camel_case_types)]
4456pub const ENUM_VALUES_HATCH_STYLE: [HATCH_STYLE; 3] = [
4457 HATCH_STYLE::NORMAL,
4458 HATCH_STYLE::OUTER,
4459 HATCH_STYLE::IGNORE,
4460];
4461
4462#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
4463#[repr(transparent)]
4464pub struct HATCH_STYLE(pub u8);
4465#[allow(non_upper_case_globals)]
4466impl HATCH_STYLE {
4467 pub const NORMAL: Self = Self(10);
4468 pub const OUTER: Self = Self(11);
4469 pub const IGNORE: Self = Self(12);
4470
4471 pub const ENUM_MIN: u8 = 10;
4472 pub const ENUM_MAX: u8 = 12;
4473 pub const ENUM_VALUES: &'static [Self] = &[
4474 Self::NORMAL,
4475 Self::OUTER,
4476 Self::IGNORE,
4477 ];
4478 pub fn variant_name(self) -> Option<&'static str> {
4480 match self {
4481 Self::NORMAL => Some("NORMAL"),
4482 Self::OUTER => Some("OUTER"),
4483 Self::IGNORE => Some("IGNORE"),
4484 _ => None,
4485 }
4486 }
4487}
4488impl core::fmt::Debug for HATCH_STYLE {
4489 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
4490 if let Some(name) = self.variant_name() {
4491 f.write_str(name)
4492 } else {
4493 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
4494 }
4495 }
4496}
4497impl<'a> flatbuffers::Follow<'a> for HATCH_STYLE {
4498 type Inner = Self;
4499 #[inline]
4500 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4501 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
4502 Self(b)
4503 }
4504}
4505
4506impl flatbuffers::Push for HATCH_STYLE {
4507 type Output = HATCH_STYLE;
4508 #[inline]
4509 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
4510 flatbuffers::emplace_scalar::<u8>(dst, self.0);
4511 }
4512}
4513
4514impl flatbuffers::EndianScalar for HATCH_STYLE {
4515 type Scalar = u8;
4516 #[inline]
4517 fn to_little_endian(self) -> u8 {
4518 self.0.to_le()
4519 }
4520 #[inline]
4521 #[allow(clippy::wrong_self_convention)]
4522 fn from_little_endian(v: u8) -> Self {
4523 let b = u8::from_le(v);
4524 Self(b)
4525 }
4526}
4527
4528impl<'a> flatbuffers::Verifiable for HATCH_STYLE {
4529 #[inline]
4530 fn run_verifier(
4531 v: &mut flatbuffers::Verifier, pos: usize
4532 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4533 use self::flatbuffers::Verifiable;
4534 u8::run_verifier(v, pos)
4535 }
4536}
4537
4538impl flatbuffers::SimpleToVerifyInSlice for HATCH_STYLE {}
4539#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4540pub const ENUM_MIN_IMAGE_STATUS: u8 = 10;
4541#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4542pub const ENUM_MAX_IMAGE_STATUS: u8 = 12;
4543#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4544#[allow(non_camel_case_types)]
4545pub const ENUM_VALUES_IMAGE_STATUS: [IMAGE_STATUS; 3] = [
4546 IMAGE_STATUS::PENDING,
4547 IMAGE_STATUS::SAVED,
4548 IMAGE_STATUS::ERROR,
4549];
4550
4551#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
4552#[repr(transparent)]
4553pub struct IMAGE_STATUS(pub u8);
4554#[allow(non_upper_case_globals)]
4555impl IMAGE_STATUS {
4556 pub const PENDING: Self = Self(10);
4557 pub const SAVED: Self = Self(11);
4558 pub const ERROR: Self = Self(12);
4559
4560 pub const ENUM_MIN: u8 = 10;
4561 pub const ENUM_MAX: u8 = 12;
4562 pub const ENUM_VALUES: &'static [Self] = &[
4563 Self::PENDING,
4564 Self::SAVED,
4565 Self::ERROR,
4566 ];
4567 pub fn variant_name(self) -> Option<&'static str> {
4569 match self {
4570 Self::PENDING => Some("PENDING"),
4571 Self::SAVED => Some("SAVED"),
4572 Self::ERROR => Some("ERROR"),
4573 _ => None,
4574 }
4575 }
4576}
4577impl core::fmt::Debug for IMAGE_STATUS {
4578 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
4579 if let Some(name) = self.variant_name() {
4580 f.write_str(name)
4581 } else {
4582 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
4583 }
4584 }
4585}
4586impl<'a> flatbuffers::Follow<'a> for IMAGE_STATUS {
4587 type Inner = Self;
4588 #[inline]
4589 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4590 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
4591 Self(b)
4592 }
4593}
4594
4595impl flatbuffers::Push for IMAGE_STATUS {
4596 type Output = IMAGE_STATUS;
4597 #[inline]
4598 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
4599 flatbuffers::emplace_scalar::<u8>(dst, self.0);
4600 }
4601}
4602
4603impl flatbuffers::EndianScalar for IMAGE_STATUS {
4604 type Scalar = u8;
4605 #[inline]
4606 fn to_little_endian(self) -> u8 {
4607 self.0.to_le()
4608 }
4609 #[inline]
4610 #[allow(clippy::wrong_self_convention)]
4611 fn from_little_endian(v: u8) -> Self {
4612 let b = u8::from_le(v);
4613 Self(b)
4614 }
4615}
4616
4617impl<'a> flatbuffers::Verifiable for IMAGE_STATUS {
4618 #[inline]
4619 fn run_verifier(
4620 v: &mut flatbuffers::Verifier, pos: usize
4621 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4622 use self::flatbuffers::Verifiable;
4623 u8::run_verifier(v, pos)
4624 }
4625}
4626
4627impl flatbuffers::SimpleToVerifyInSlice for IMAGE_STATUS {}
4628#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4629pub const ENUM_MIN_BLOCK_ATTACHMENT: u8 = 10;
4630#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4631pub const ENUM_MAX_BLOCK_ATTACHMENT: u8 = 11;
4632#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4633#[allow(non_camel_case_types)]
4634pub const ENUM_VALUES_BLOCK_ATTACHMENT: [BLOCK_ATTACHMENT; 2] = [
4635 BLOCK_ATTACHMENT::CENTER_EXTENTS,
4636 BLOCK_ATTACHMENT::INSERTION_POINT,
4637];
4638
4639#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
4640#[repr(transparent)]
4641pub struct BLOCK_ATTACHMENT(pub u8);
4642#[allow(non_upper_case_globals)]
4643impl BLOCK_ATTACHMENT {
4644 pub const CENTER_EXTENTS: Self = Self(10);
4645 pub const INSERTION_POINT: Self = Self(11);
4646
4647 pub const ENUM_MIN: u8 = 10;
4648 pub const ENUM_MAX: u8 = 11;
4649 pub const ENUM_VALUES: &'static [Self] = &[
4650 Self::CENTER_EXTENTS,
4651 Self::INSERTION_POINT,
4652 ];
4653 pub fn variant_name(self) -> Option<&'static str> {
4655 match self {
4656 Self::CENTER_EXTENTS => Some("CENTER_EXTENTS"),
4657 Self::INSERTION_POINT => Some("INSERTION_POINT"),
4658 _ => None,
4659 }
4660 }
4661}
4662impl core::fmt::Debug for BLOCK_ATTACHMENT {
4663 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
4664 if let Some(name) = self.variant_name() {
4665 f.write_str(name)
4666 } else {
4667 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
4668 }
4669 }
4670}
4671impl<'a> flatbuffers::Follow<'a> for BLOCK_ATTACHMENT {
4672 type Inner = Self;
4673 #[inline]
4674 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4675 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
4676 Self(b)
4677 }
4678}
4679
4680impl flatbuffers::Push for BLOCK_ATTACHMENT {
4681 type Output = BLOCK_ATTACHMENT;
4682 #[inline]
4683 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
4684 flatbuffers::emplace_scalar::<u8>(dst, self.0);
4685 }
4686}
4687
4688impl flatbuffers::EndianScalar for BLOCK_ATTACHMENT {
4689 type Scalar = u8;
4690 #[inline]
4691 fn to_little_endian(self) -> u8 {
4692 self.0.to_le()
4693 }
4694 #[inline]
4695 #[allow(clippy::wrong_self_convention)]
4696 fn from_little_endian(v: u8) -> Self {
4697 let b = u8::from_le(v);
4698 Self(b)
4699 }
4700}
4701
4702impl<'a> flatbuffers::Verifiable for BLOCK_ATTACHMENT {
4703 #[inline]
4704 fn run_verifier(
4705 v: &mut flatbuffers::Verifier, pos: usize
4706 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4707 use self::flatbuffers::Verifiable;
4708 u8::run_verifier(v, pos)
4709 }
4710}
4711
4712impl flatbuffers::SimpleToVerifyInSlice for BLOCK_ATTACHMENT {}
4713#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4714pub const ENUM_MIN_AXIS: u8 = 10;
4715#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4716pub const ENUM_MAX_AXIS: u8 = 30;
4717#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4718#[allow(non_camel_case_types)]
4719pub const ENUM_VALUES_AXIS: [AXIS; 3] = [
4720 AXIS::X,
4721 AXIS::Y,
4722 AXIS::Z,
4723];
4724
4725#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
4726#[repr(transparent)]
4727pub struct AXIS(pub u8);
4728#[allow(non_upper_case_globals)]
4729impl AXIS {
4730 pub const X: Self = Self(10);
4731 pub const Y: Self = Self(20);
4732 pub const Z: Self = Self(30);
4733
4734 pub const ENUM_MIN: u8 = 10;
4735 pub const ENUM_MAX: u8 = 30;
4736 pub const ENUM_VALUES: &'static [Self] = &[
4737 Self::X,
4738 Self::Y,
4739 Self::Z,
4740 ];
4741 pub fn variant_name(self) -> Option<&'static str> {
4743 match self {
4744 Self::X => Some("X"),
4745 Self::Y => Some("Y"),
4746 Self::Z => Some("Z"),
4747 _ => None,
4748 }
4749 }
4750}
4751impl core::fmt::Debug for AXIS {
4752 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
4753 if let Some(name) = self.variant_name() {
4754 f.write_str(name)
4755 } else {
4756 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
4757 }
4758 }
4759}
4760impl<'a> flatbuffers::Follow<'a> for AXIS {
4761 type Inner = Self;
4762 #[inline]
4763 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4764 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
4765 Self(b)
4766 }
4767}
4768
4769impl flatbuffers::Push for AXIS {
4770 type Output = AXIS;
4771 #[inline]
4772 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
4773 flatbuffers::emplace_scalar::<u8>(dst, self.0);
4774 }
4775}
4776
4777impl flatbuffers::EndianScalar for AXIS {
4778 type Scalar = u8;
4779 #[inline]
4780 fn to_little_endian(self) -> u8 {
4781 self.0.to_le()
4782 }
4783 #[inline]
4784 #[allow(clippy::wrong_self_convention)]
4785 fn from_little_endian(v: u8) -> Self {
4786 let b = u8::from_le(v);
4787 Self(b)
4788 }
4789}
4790
4791impl<'a> flatbuffers::Verifiable for AXIS {
4792 #[inline]
4793 fn run_verifier(
4794 v: &mut flatbuffers::Verifier, pos: usize
4795 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4796 use self::flatbuffers::Verifiable;
4797 u8::run_verifier(v, pos)
4798 }
4799}
4800
4801impl flatbuffers::SimpleToVerifyInSlice for AXIS {}
4802#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4803pub const ENUM_MIN_PRUNING_LEVEL: u8 = 10;
4804#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4805pub const ENUM_MAX_PRUNING_LEVEL: u8 = 30;
4806#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4807#[allow(non_camel_case_types)]
4808pub const ENUM_VALUES_PRUNING_LEVEL: [PRUNING_LEVEL; 3] = [
4809 PRUNING_LEVEL::CONSERVATIVE,
4810 PRUNING_LEVEL::BALANCED,
4811 PRUNING_LEVEL::AGGRESSIVE,
4812];
4813
4814#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
4815#[repr(transparent)]
4816pub struct PRUNING_LEVEL(pub u8);
4817#[allow(non_upper_case_globals)]
4818impl PRUNING_LEVEL {
4819 pub const CONSERVATIVE: Self = Self(10);
4820 pub const BALANCED: Self = Self(20);
4821 pub const AGGRESSIVE: Self = Self(30);
4822
4823 pub const ENUM_MIN: u8 = 10;
4824 pub const ENUM_MAX: u8 = 30;
4825 pub const ENUM_VALUES: &'static [Self] = &[
4826 Self::CONSERVATIVE,
4827 Self::BALANCED,
4828 Self::AGGRESSIVE,
4829 ];
4830 pub fn variant_name(self) -> Option<&'static str> {
4832 match self {
4833 Self::CONSERVATIVE => Some("CONSERVATIVE"),
4834 Self::BALANCED => Some("BALANCED"),
4835 Self::AGGRESSIVE => Some("AGGRESSIVE"),
4836 _ => None,
4837 }
4838 }
4839}
4840impl core::fmt::Debug for PRUNING_LEVEL {
4841 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
4842 if let Some(name) = self.variant_name() {
4843 f.write_str(name)
4844 } else {
4845 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
4846 }
4847 }
4848}
4849impl<'a> flatbuffers::Follow<'a> for PRUNING_LEVEL {
4850 type Inner = Self;
4851 #[inline]
4852 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4853 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
4854 Self(b)
4855 }
4856}
4857
4858impl flatbuffers::Push for PRUNING_LEVEL {
4859 type Output = PRUNING_LEVEL;
4860 #[inline]
4861 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
4862 flatbuffers::emplace_scalar::<u8>(dst, self.0);
4863 }
4864}
4865
4866impl flatbuffers::EndianScalar for PRUNING_LEVEL {
4867 type Scalar = u8;
4868 #[inline]
4869 fn to_little_endian(self) -> u8 {
4870 self.0.to_le()
4871 }
4872 #[inline]
4873 #[allow(clippy::wrong_self_convention)]
4874 fn from_little_endian(v: u8) -> Self {
4875 let b = u8::from_le(v);
4876 Self(b)
4877 }
4878}
4879
4880impl<'a> flatbuffers::Verifiable for PRUNING_LEVEL {
4881 #[inline]
4882 fn run_verifier(
4883 v: &mut flatbuffers::Verifier, pos: usize
4884 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4885 use self::flatbuffers::Verifiable;
4886 u8::run_verifier(v, pos)
4887 }
4888}
4889
4890impl flatbuffers::SimpleToVerifyInSlice for PRUNING_LEVEL {}
4891#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4892pub const ENUM_MIN_PARAMETRIC_SOURCE_TYPE: u8 = 10;
4893#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4894pub const ENUM_MAX_PARAMETRIC_SOURCE_TYPE: u8 = 11;
4895#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4896#[allow(non_camel_case_types)]
4897pub const ENUM_VALUES_PARAMETRIC_SOURCE_TYPE: [PARAMETRIC_SOURCE_TYPE; 2] = [
4898 PARAMETRIC_SOURCE_TYPE::CODE,
4899 PARAMETRIC_SOURCE_TYPE::FILE,
4900];
4901
4902#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
4903#[repr(transparent)]
4904pub struct PARAMETRIC_SOURCE_TYPE(pub u8);
4905#[allow(non_upper_case_globals)]
4906impl PARAMETRIC_SOURCE_TYPE {
4907 pub const CODE: Self = Self(10);
4908 pub const FILE: Self = Self(11);
4909
4910 pub const ENUM_MIN: u8 = 10;
4911 pub const ENUM_MAX: u8 = 11;
4912 pub const ENUM_VALUES: &'static [Self] = &[
4913 Self::CODE,
4914 Self::FILE,
4915 ];
4916 pub fn variant_name(self) -> Option<&'static str> {
4918 match self {
4919 Self::CODE => Some("CODE"),
4920 Self::FILE => Some("FILE"),
4921 _ => None,
4922 }
4923 }
4924}
4925impl core::fmt::Debug for PARAMETRIC_SOURCE_TYPE {
4926 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
4927 if let Some(name) = self.variant_name() {
4928 f.write_str(name)
4929 } else {
4930 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
4931 }
4932 }
4933}
4934impl<'a> flatbuffers::Follow<'a> for PARAMETRIC_SOURCE_TYPE {
4935 type Inner = Self;
4936 #[inline]
4937 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4938 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
4939 Self(b)
4940 }
4941}
4942
4943impl flatbuffers::Push for PARAMETRIC_SOURCE_TYPE {
4944 type Output = PARAMETRIC_SOURCE_TYPE;
4945 #[inline]
4946 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
4947 flatbuffers::emplace_scalar::<u8>(dst, self.0);
4948 }
4949}
4950
4951impl flatbuffers::EndianScalar for PARAMETRIC_SOURCE_TYPE {
4952 type Scalar = u8;
4953 #[inline]
4954 fn to_little_endian(self) -> u8 {
4955 self.0.to_le()
4956 }
4957 #[inline]
4958 #[allow(clippy::wrong_self_convention)]
4959 fn from_little_endian(v: u8) -> Self {
4960 let b = u8::from_le(v);
4961 Self(b)
4962 }
4963}
4964
4965impl<'a> flatbuffers::Verifiable for PARAMETRIC_SOURCE_TYPE {
4966 #[inline]
4967 fn run_verifier(
4968 v: &mut flatbuffers::Verifier, pos: usize
4969 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4970 use self::flatbuffers::Verifiable;
4971 u8::run_verifier(v, pos)
4972 }
4973}
4974
4975impl flatbuffers::SimpleToVerifyInSlice for PARAMETRIC_SOURCE_TYPE {}
4976#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4977pub const ENUM_MIN_DOCUMENT_GRID_ALIGN_ITEMS: u8 = 10;
4978#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4979pub const ENUM_MAX_DOCUMENT_GRID_ALIGN_ITEMS: u8 = 12;
4980#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
4981#[allow(non_camel_case_types)]
4982pub const ENUM_VALUES_DOCUMENT_GRID_ALIGN_ITEMS: [DOCUMENT_GRID_ALIGN_ITEMS; 3] = [
4983 DOCUMENT_GRID_ALIGN_ITEMS::START,
4984 DOCUMENT_GRID_ALIGN_ITEMS::CENTER,
4985 DOCUMENT_GRID_ALIGN_ITEMS::END,
4986];
4987
4988#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
4989#[repr(transparent)]
4990pub struct DOCUMENT_GRID_ALIGN_ITEMS(pub u8);
4991#[allow(non_upper_case_globals)]
4992impl DOCUMENT_GRID_ALIGN_ITEMS {
4993 pub const START: Self = Self(10);
4994 pub const CENTER: Self = Self(11);
4995 pub const END: Self = Self(12);
4996
4997 pub const ENUM_MIN: u8 = 10;
4998 pub const ENUM_MAX: u8 = 12;
4999 pub const ENUM_VALUES: &'static [Self] = &[
5000 Self::START,
5001 Self::CENTER,
5002 Self::END,
5003 ];
5004 pub fn variant_name(self) -> Option<&'static str> {
5006 match self {
5007 Self::START => Some("START"),
5008 Self::CENTER => Some("CENTER"),
5009 Self::END => Some("END"),
5010 _ => None,
5011 }
5012 }
5013}
5014impl core::fmt::Debug for DOCUMENT_GRID_ALIGN_ITEMS {
5015 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
5016 if let Some(name) = self.variant_name() {
5017 f.write_str(name)
5018 } else {
5019 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
5020 }
5021 }
5022}
5023impl<'a> flatbuffers::Follow<'a> for DOCUMENT_GRID_ALIGN_ITEMS {
5024 type Inner = Self;
5025 #[inline]
5026 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5027 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
5028 Self(b)
5029 }
5030}
5031
5032impl flatbuffers::Push for DOCUMENT_GRID_ALIGN_ITEMS {
5033 type Output = DOCUMENT_GRID_ALIGN_ITEMS;
5034 #[inline]
5035 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
5036 flatbuffers::emplace_scalar::<u8>(dst, self.0);
5037 }
5038}
5039
5040impl flatbuffers::EndianScalar for DOCUMENT_GRID_ALIGN_ITEMS {
5041 type Scalar = u8;
5042 #[inline]
5043 fn to_little_endian(self) -> u8 {
5044 self.0.to_le()
5045 }
5046 #[inline]
5047 #[allow(clippy::wrong_self_convention)]
5048 fn from_little_endian(v: u8) -> Self {
5049 let b = u8::from_le(v);
5050 Self(b)
5051 }
5052}
5053
5054impl<'a> flatbuffers::Verifiable for DOCUMENT_GRID_ALIGN_ITEMS {
5055 #[inline]
5056 fn run_verifier(
5057 v: &mut flatbuffers::Verifier, pos: usize
5058 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5059 use self::flatbuffers::Verifiable;
5060 u8::run_verifier(v, pos)
5061 }
5062}
5063
5064impl flatbuffers::SimpleToVerifyInSlice for DOCUMENT_GRID_ALIGN_ITEMS {}
5065#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
5066pub const ENUM_MIN_LEADER_CONTENT_TYPE: u8 = 10;
5067#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
5068pub const ENUM_MAX_LEADER_CONTENT_TYPE: u8 = 11;
5069#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
5070#[allow(non_camel_case_types)]
5071pub const ENUM_VALUES_LEADER_CONTENT_TYPE: [LEADER_CONTENT_TYPE; 2] = [
5072 LEADER_CONTENT_TYPE::TEXT,
5073 LEADER_CONTENT_TYPE::BLOCK,
5074];
5075
5076#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
5077#[repr(transparent)]
5078pub struct LEADER_CONTENT_TYPE(pub u8);
5079#[allow(non_upper_case_globals)]
5080impl LEADER_CONTENT_TYPE {
5081 pub const TEXT: Self = Self(10);
5082 pub const BLOCK: Self = Self(11);
5083
5084 pub const ENUM_MIN: u8 = 10;
5085 pub const ENUM_MAX: u8 = 11;
5086 pub const ENUM_VALUES: &'static [Self] = &[
5087 Self::TEXT,
5088 Self::BLOCK,
5089 ];
5090 pub fn variant_name(self) -> Option<&'static str> {
5092 match self {
5093 Self::TEXT => Some("TEXT"),
5094 Self::BLOCK => Some("BLOCK"),
5095 _ => None,
5096 }
5097 }
5098}
5099impl core::fmt::Debug for LEADER_CONTENT_TYPE {
5100 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
5101 if let Some(name) = self.variant_name() {
5102 f.write_str(name)
5103 } else {
5104 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
5105 }
5106 }
5107}
5108impl<'a> flatbuffers::Follow<'a> for LEADER_CONTENT_TYPE {
5109 type Inner = Self;
5110 #[inline]
5111 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5112 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
5113 Self(b)
5114 }
5115}
5116
5117impl flatbuffers::Push for LEADER_CONTENT_TYPE {
5118 type Output = LEADER_CONTENT_TYPE;
5119 #[inline]
5120 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
5121 flatbuffers::emplace_scalar::<u8>(dst, self.0);
5122 }
5123}
5124
5125impl flatbuffers::EndianScalar for LEADER_CONTENT_TYPE {
5126 type Scalar = u8;
5127 #[inline]
5128 fn to_little_endian(self) -> u8 {
5129 self.0.to_le()
5130 }
5131 #[inline]
5132 #[allow(clippy::wrong_self_convention)]
5133 fn from_little_endian(v: u8) -> Self {
5134 let b = u8::from_le(v);
5135 Self(b)
5136 }
5137}
5138
5139impl<'a> flatbuffers::Verifiable for LEADER_CONTENT_TYPE {
5140 #[inline]
5141 fn run_verifier(
5142 v: &mut flatbuffers::Verifier, pos: usize
5143 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5144 use self::flatbuffers::Verifiable;
5145 u8::run_verifier(v, pos)
5146 }
5147}
5148
5149impl flatbuffers::SimpleToVerifyInSlice for LEADER_CONTENT_TYPE {}
5150#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
5151pub const ENUM_MIN_BOOLEAN_OPERATION: u8 = 10;
5152#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
5153pub const ENUM_MAX_BOOLEAN_OPERATION: u8 = 13;
5154#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
5155#[allow(non_camel_case_types)]
5156pub const ENUM_VALUES_BOOLEAN_OPERATION: [BOOLEAN_OPERATION; 4] = [
5157 BOOLEAN_OPERATION::UNION,
5158 BOOLEAN_OPERATION::SUBTRACT,
5159 BOOLEAN_OPERATION::INTERSECT,
5160 BOOLEAN_OPERATION::EXCLUDE,
5161];
5162
5163#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
5164#[repr(transparent)]
5165pub struct BOOLEAN_OPERATION(pub u8);
5166#[allow(non_upper_case_globals)]
5167impl BOOLEAN_OPERATION {
5168 pub const UNION: Self = Self(10);
5169 pub const SUBTRACT: Self = Self(11);
5170 pub const INTERSECT: Self = Self(12);
5171 pub const EXCLUDE: Self = Self(13);
5172
5173 pub const ENUM_MIN: u8 = 10;
5174 pub const ENUM_MAX: u8 = 13;
5175 pub const ENUM_VALUES: &'static [Self] = &[
5176 Self::UNION,
5177 Self::SUBTRACT,
5178 Self::INTERSECT,
5179 Self::EXCLUDE,
5180 ];
5181 pub fn variant_name(self) -> Option<&'static str> {
5183 match self {
5184 Self::UNION => Some("UNION"),
5185 Self::SUBTRACT => Some("SUBTRACT"),
5186 Self::INTERSECT => Some("INTERSECT"),
5187 Self::EXCLUDE => Some("EXCLUDE"),
5188 _ => None,
5189 }
5190 }
5191}
5192impl core::fmt::Debug for BOOLEAN_OPERATION {
5193 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
5194 if let Some(name) = self.variant_name() {
5195 f.write_str(name)
5196 } else {
5197 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
5198 }
5199 }
5200}
5201impl<'a> flatbuffers::Follow<'a> for BOOLEAN_OPERATION {
5202 type Inner = Self;
5203 #[inline]
5204 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5205 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
5206 Self(b)
5207 }
5208}
5209
5210impl flatbuffers::Push for BOOLEAN_OPERATION {
5211 type Output = BOOLEAN_OPERATION;
5212 #[inline]
5213 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
5214 flatbuffers::emplace_scalar::<u8>(dst, self.0);
5215 }
5216}
5217
5218impl flatbuffers::EndianScalar for BOOLEAN_OPERATION {
5219 type Scalar = u8;
5220 #[inline]
5221 fn to_little_endian(self) -> u8 {
5222 self.0.to_le()
5223 }
5224 #[inline]
5225 #[allow(clippy::wrong_self_convention)]
5226 fn from_little_endian(v: u8) -> Self {
5227 let b = u8::from_le(v);
5228 Self(b)
5229 }
5230}
5231
5232impl<'a> flatbuffers::Verifiable for BOOLEAN_OPERATION {
5233 #[inline]
5234 fn run_verifier(
5235 v: &mut flatbuffers::Verifier, pos: usize
5236 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5237 use self::flatbuffers::Verifiable;
5238 u8::run_verifier(v, pos)
5239 }
5240}
5241
5242impl flatbuffers::SimpleToVerifyInSlice for BOOLEAN_OPERATION {}
5243#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
5244pub const ENUM_MIN_DUC_TEXT_DYNAMIC_SOURCE_DATA: u8 = 0;
5245#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
5246pub const ENUM_MAX_DUC_TEXT_DYNAMIC_SOURCE_DATA: u8 = 2;
5247#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
5248#[allow(non_camel_case_types)]
5249pub const ENUM_VALUES_DUC_TEXT_DYNAMIC_SOURCE_DATA: [DucTextDynamicSourceData; 3] = [
5250 DucTextDynamicSourceData::NONE,
5251 DucTextDynamicSourceData::DucTextDynamicElementSource,
5252 DucTextDynamicSourceData::DucTextDynamicDictionarySource,
5253];
5254
5255#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
5256#[repr(transparent)]
5257pub struct DucTextDynamicSourceData(pub u8);
5258#[allow(non_upper_case_globals)]
5259impl DucTextDynamicSourceData {
5260 pub const NONE: Self = Self(0);
5261 pub const DucTextDynamicElementSource: Self = Self(1);
5262 pub const DucTextDynamicDictionarySource: Self = Self(2);
5263
5264 pub const ENUM_MIN: u8 = 0;
5265 pub const ENUM_MAX: u8 = 2;
5266 pub const ENUM_VALUES: &'static [Self] = &[
5267 Self::NONE,
5268 Self::DucTextDynamicElementSource,
5269 Self::DucTextDynamicDictionarySource,
5270 ];
5271 pub fn variant_name(self) -> Option<&'static str> {
5273 match self {
5274 Self::NONE => Some("NONE"),
5275 Self::DucTextDynamicElementSource => Some("DucTextDynamicElementSource"),
5276 Self::DucTextDynamicDictionarySource => Some("DucTextDynamicDictionarySource"),
5277 _ => None,
5278 }
5279 }
5280}
5281impl core::fmt::Debug for DucTextDynamicSourceData {
5282 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
5283 if let Some(name) = self.variant_name() {
5284 f.write_str(name)
5285 } else {
5286 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
5287 }
5288 }
5289}
5290impl<'a> flatbuffers::Follow<'a> for DucTextDynamicSourceData {
5291 type Inner = Self;
5292 #[inline]
5293 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5294 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
5295 Self(b)
5296 }
5297}
5298
5299impl flatbuffers::Push for DucTextDynamicSourceData {
5300 type Output = DucTextDynamicSourceData;
5301 #[inline]
5302 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
5303 flatbuffers::emplace_scalar::<u8>(dst, self.0);
5304 }
5305}
5306
5307impl flatbuffers::EndianScalar for DucTextDynamicSourceData {
5308 type Scalar = u8;
5309 #[inline]
5310 fn to_little_endian(self) -> u8 {
5311 self.0.to_le()
5312 }
5313 #[inline]
5314 #[allow(clippy::wrong_self_convention)]
5315 fn from_little_endian(v: u8) -> Self {
5316 let b = u8::from_le(v);
5317 Self(b)
5318 }
5319}
5320
5321impl<'a> flatbuffers::Verifiable for DucTextDynamicSourceData {
5322 #[inline]
5323 fn run_verifier(
5324 v: &mut flatbuffers::Verifier, pos: usize
5325 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5326 use self::flatbuffers::Verifiable;
5327 u8::run_verifier(v, pos)
5328 }
5329}
5330
5331impl flatbuffers::SimpleToVerifyInSlice for DucTextDynamicSourceData {}
5332pub struct DucTextDynamicSourceDataUnionTableOffset {}
5333
5334#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
5335pub const ENUM_MIN_LEADER_CONTENT_DATA: u8 = 0;
5336#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
5337pub const ENUM_MAX_LEADER_CONTENT_DATA: u8 = 2;
5338#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
5339#[allow(non_camel_case_types)]
5340pub const ENUM_VALUES_LEADER_CONTENT_DATA: [LeaderContentData; 3] = [
5341 LeaderContentData::NONE,
5342 LeaderContentData::LeaderTextBlockContent,
5343 LeaderContentData::LeaderBlockContent,
5344];
5345
5346#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
5347#[repr(transparent)]
5348pub struct LeaderContentData(pub u8);
5349#[allow(non_upper_case_globals)]
5350impl LeaderContentData {
5351 pub const NONE: Self = Self(0);
5352 pub const LeaderTextBlockContent: Self = Self(1);
5353 pub const LeaderBlockContent: Self = Self(2);
5354
5355 pub const ENUM_MIN: u8 = 0;
5356 pub const ENUM_MAX: u8 = 2;
5357 pub const ENUM_VALUES: &'static [Self] = &[
5358 Self::NONE,
5359 Self::LeaderTextBlockContent,
5360 Self::LeaderBlockContent,
5361 ];
5362 pub fn variant_name(self) -> Option<&'static str> {
5364 match self {
5365 Self::NONE => Some("NONE"),
5366 Self::LeaderTextBlockContent => Some("LeaderTextBlockContent"),
5367 Self::LeaderBlockContent => Some("LeaderBlockContent"),
5368 _ => None,
5369 }
5370 }
5371}
5372impl core::fmt::Debug for LeaderContentData {
5373 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
5374 if let Some(name) = self.variant_name() {
5375 f.write_str(name)
5376 } else {
5377 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
5378 }
5379 }
5380}
5381impl<'a> flatbuffers::Follow<'a> for LeaderContentData {
5382 type Inner = Self;
5383 #[inline]
5384 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5385 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
5386 Self(b)
5387 }
5388}
5389
5390impl flatbuffers::Push for LeaderContentData {
5391 type Output = LeaderContentData;
5392 #[inline]
5393 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
5394 flatbuffers::emplace_scalar::<u8>(dst, self.0);
5395 }
5396}
5397
5398impl flatbuffers::EndianScalar for LeaderContentData {
5399 type Scalar = u8;
5400 #[inline]
5401 fn to_little_endian(self) -> u8 {
5402 self.0.to_le()
5403 }
5404 #[inline]
5405 #[allow(clippy::wrong_self_convention)]
5406 fn from_little_endian(v: u8) -> Self {
5407 let b = u8::from_le(v);
5408 Self(b)
5409 }
5410}
5411
5412impl<'a> flatbuffers::Verifiable for LeaderContentData {
5413 #[inline]
5414 fn run_verifier(
5415 v: &mut flatbuffers::Verifier, pos: usize
5416 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5417 use self::flatbuffers::Verifiable;
5418 u8::run_verifier(v, pos)
5419 }
5420}
5421
5422impl flatbuffers::SimpleToVerifyInSlice for LeaderContentData {}
5423pub struct LeaderContentDataUnionTableOffset {}
5424
5425#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
5426pub const ENUM_MIN_ELEMENT: u8 = 0;
5427#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
5428pub const ENUM_MAX_ELEMENT: u8 = 23;
5429#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
5430#[allow(non_camel_case_types)]
5431pub const ENUM_VALUES_ELEMENT: [Element; 24] = [
5432 Element::NONE,
5433 Element::DucRectangleElement,
5434 Element::DucPolygonElement,
5435 Element::DucEllipseElement,
5436 Element::DucEmbeddableElement,
5437 Element::DucPdfElement,
5438 Element::DucMermaidElement,
5439 Element::DucTableElement,
5440 Element::DucImageElement,
5441 Element::DucTextElement,
5442 Element::DucLinearElement,
5443 Element::DucArrowElement,
5444 Element::DucFreeDrawElement,
5445 Element::DucBlockInstanceElement,
5446 Element::DucFrameElement,
5447 Element::DucPlotElement,
5448 Element::DucViewportElement,
5449 Element::DucXRayElement,
5450 Element::DucLeaderElement,
5451 Element::DucDimensionElement,
5452 Element::DucFeatureControlFrameElement,
5453 Element::DucDocElement,
5454 Element::DucParametricElement,
5455 Element::DucModelElement,
5456];
5457
5458#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
5459#[repr(transparent)]
5460pub struct Element(pub u8);
5461#[allow(non_upper_case_globals)]
5462impl Element {
5463 pub const NONE: Self = Self(0);
5464 pub const DucRectangleElement: Self = Self(1);
5465 pub const DucPolygonElement: Self = Self(2);
5466 pub const DucEllipseElement: Self = Self(3);
5467 pub const DucEmbeddableElement: Self = Self(4);
5468 pub const DucPdfElement: Self = Self(5);
5469 pub const DucMermaidElement: Self = Self(6);
5470 pub const DucTableElement: Self = Self(7);
5471 pub const DucImageElement: Self = Self(8);
5472 pub const DucTextElement: Self = Self(9);
5473 pub const DucLinearElement: Self = Self(10);
5474 pub const DucArrowElement: Self = Self(11);
5475 pub const DucFreeDrawElement: Self = Self(12);
5476 pub const DucBlockInstanceElement: Self = Self(13);
5477 pub const DucFrameElement: Self = Self(14);
5478 pub const DucPlotElement: Self = Self(15);
5479 pub const DucViewportElement: Self = Self(16);
5480 pub const DucXRayElement: Self = Self(17);
5481 pub const DucLeaderElement: Self = Self(18);
5482 pub const DucDimensionElement: Self = Self(19);
5483 pub const DucFeatureControlFrameElement: Self = Self(20);
5484 pub const DucDocElement: Self = Self(21);
5485 pub const DucParametricElement: Self = Self(22);
5486 pub const DucModelElement: Self = Self(23);
5487
5488 pub const ENUM_MIN: u8 = 0;
5489 pub const ENUM_MAX: u8 = 23;
5490 pub const ENUM_VALUES: &'static [Self] = &[
5491 Self::NONE,
5492 Self::DucRectangleElement,
5493 Self::DucPolygonElement,
5494 Self::DucEllipseElement,
5495 Self::DucEmbeddableElement,
5496 Self::DucPdfElement,
5497 Self::DucMermaidElement,
5498 Self::DucTableElement,
5499 Self::DucImageElement,
5500 Self::DucTextElement,
5501 Self::DucLinearElement,
5502 Self::DucArrowElement,
5503 Self::DucFreeDrawElement,
5504 Self::DucBlockInstanceElement,
5505 Self::DucFrameElement,
5506 Self::DucPlotElement,
5507 Self::DucViewportElement,
5508 Self::DucXRayElement,
5509 Self::DucLeaderElement,
5510 Self::DucDimensionElement,
5511 Self::DucFeatureControlFrameElement,
5512 Self::DucDocElement,
5513 Self::DucParametricElement,
5514 Self::DucModelElement,
5515 ];
5516 pub fn variant_name(self) -> Option<&'static str> {
5518 match self {
5519 Self::NONE => Some("NONE"),
5520 Self::DucRectangleElement => Some("DucRectangleElement"),
5521 Self::DucPolygonElement => Some("DucPolygonElement"),
5522 Self::DucEllipseElement => Some("DucEllipseElement"),
5523 Self::DucEmbeddableElement => Some("DucEmbeddableElement"),
5524 Self::DucPdfElement => Some("DucPdfElement"),
5525 Self::DucMermaidElement => Some("DucMermaidElement"),
5526 Self::DucTableElement => Some("DucTableElement"),
5527 Self::DucImageElement => Some("DucImageElement"),
5528 Self::DucTextElement => Some("DucTextElement"),
5529 Self::DucLinearElement => Some("DucLinearElement"),
5530 Self::DucArrowElement => Some("DucArrowElement"),
5531 Self::DucFreeDrawElement => Some("DucFreeDrawElement"),
5532 Self::DucBlockInstanceElement => Some("DucBlockInstanceElement"),
5533 Self::DucFrameElement => Some("DucFrameElement"),
5534 Self::DucPlotElement => Some("DucPlotElement"),
5535 Self::DucViewportElement => Some("DucViewportElement"),
5536 Self::DucXRayElement => Some("DucXRayElement"),
5537 Self::DucLeaderElement => Some("DucLeaderElement"),
5538 Self::DucDimensionElement => Some("DucDimensionElement"),
5539 Self::DucFeatureControlFrameElement => Some("DucFeatureControlFrameElement"),
5540 Self::DucDocElement => Some("DucDocElement"),
5541 Self::DucParametricElement => Some("DucParametricElement"),
5542 Self::DucModelElement => Some("DucModelElement"),
5543 _ => None,
5544 }
5545 }
5546}
5547impl core::fmt::Debug for Element {
5548 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
5549 if let Some(name) = self.variant_name() {
5550 f.write_str(name)
5551 } else {
5552 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
5553 }
5554 }
5555}
5556impl<'a> flatbuffers::Follow<'a> for Element {
5557 type Inner = Self;
5558 #[inline]
5559 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5560 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
5561 Self(b)
5562 }
5563}
5564
5565impl flatbuffers::Push for Element {
5566 type Output = Element;
5567 #[inline]
5568 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
5569 flatbuffers::emplace_scalar::<u8>(dst, self.0);
5570 }
5571}
5572
5573impl flatbuffers::EndianScalar for Element {
5574 type Scalar = u8;
5575 #[inline]
5576 fn to_little_endian(self) -> u8 {
5577 self.0.to_le()
5578 }
5579 #[inline]
5580 #[allow(clippy::wrong_self_convention)]
5581 fn from_little_endian(v: u8) -> Self {
5582 let b = u8::from_le(v);
5583 Self(b)
5584 }
5585}
5586
5587impl<'a> flatbuffers::Verifiable for Element {
5588 #[inline]
5589 fn run_verifier(
5590 v: &mut flatbuffers::Verifier, pos: usize
5591 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5592 use self::flatbuffers::Verifiable;
5593 u8::run_verifier(v, pos)
5594 }
5595}
5596
5597impl flatbuffers::SimpleToVerifyInSlice for Element {}
5598pub struct ElementUnionTableOffset {}
5599
5600#[repr(transparent)]
5602#[derive(Clone, Copy, PartialEq)]
5603pub struct GeometricPoint(pub [u8; 16]);
5604impl Default for GeometricPoint {
5605 fn default() -> Self {
5606 Self([0; 16])
5607 }
5608}
5609impl core::fmt::Debug for GeometricPoint {
5610 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
5611 f.debug_struct("GeometricPoint")
5612 .field("x", &self.x())
5613 .field("y", &self.y())
5614 .finish()
5615 }
5616}
5617
5618impl flatbuffers::SimpleToVerifyInSlice for GeometricPoint {}
5619impl<'a> flatbuffers::Follow<'a> for GeometricPoint {
5620 type Inner = &'a GeometricPoint;
5621 #[inline]
5622 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5623 <&'a GeometricPoint>::follow(buf, loc)
5624 }
5625}
5626impl<'a> flatbuffers::Follow<'a> for &'a GeometricPoint {
5627 type Inner = &'a GeometricPoint;
5628 #[inline]
5629 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5630 flatbuffers::follow_cast_ref::<GeometricPoint>(buf, loc)
5631 }
5632}
5633impl<'b> flatbuffers::Push for GeometricPoint {
5634 type Output = GeometricPoint;
5635 #[inline]
5636 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
5637 let src = ::core::slice::from_raw_parts(self as *const GeometricPoint as *const u8, <Self as flatbuffers::Push>::size());
5638 dst.copy_from_slice(src);
5639 }
5640 #[inline]
5641 fn alignment() -> flatbuffers::PushAlignment {
5642 flatbuffers::PushAlignment::new(8)
5643 }
5644}
5645
5646impl<'a> flatbuffers::Verifiable for GeometricPoint {
5647 #[inline]
5648 fn run_verifier(
5649 v: &mut flatbuffers::Verifier, pos: usize
5650 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5651 use self::flatbuffers::Verifiable;
5652 v.in_buffer::<Self>(pos)
5653 }
5654}
5655
5656impl<'a> GeometricPoint {
5657 #[allow(clippy::too_many_arguments)]
5658 pub fn new(
5659 x: f64,
5660 y: f64,
5661 ) -> Self {
5662 let mut s = Self([0; 16]);
5663 s.set_x(x);
5664 s.set_y(y);
5665 s
5666 }
5667
5668 pub fn x(&self) -> f64 {
5669 let mut mem = core::mem::MaybeUninit::<<f64 as EndianScalar>::Scalar>::uninit();
5670 EndianScalar::from_little_endian(unsafe {
5674 core::ptr::copy_nonoverlapping(
5675 self.0[0..].as_ptr(),
5676 mem.as_mut_ptr() as *mut u8,
5677 core::mem::size_of::<<f64 as EndianScalar>::Scalar>(),
5678 );
5679 mem.assume_init()
5680 })
5681 }
5682
5683 pub fn set_x(&mut self, x: f64) {
5684 let x_le = x.to_little_endian();
5685 unsafe {
5689 core::ptr::copy_nonoverlapping(
5690 &x_le as *const _ as *const u8,
5691 self.0[0..].as_mut_ptr(),
5692 core::mem::size_of::<<f64 as EndianScalar>::Scalar>(),
5693 );
5694 }
5695 }
5696
5697 pub fn y(&self) -> f64 {
5698 let mut mem = core::mem::MaybeUninit::<<f64 as EndianScalar>::Scalar>::uninit();
5699 EndianScalar::from_little_endian(unsafe {
5703 core::ptr::copy_nonoverlapping(
5704 self.0[8..].as_ptr(),
5705 mem.as_mut_ptr() as *mut u8,
5706 core::mem::size_of::<<f64 as EndianScalar>::Scalar>(),
5707 );
5708 mem.assume_init()
5709 })
5710 }
5711
5712 pub fn set_y(&mut self, x: f64) {
5713 let x_le = x.to_little_endian();
5714 unsafe {
5718 core::ptr::copy_nonoverlapping(
5719 &x_le as *const _ as *const u8,
5720 self.0[8..].as_mut_ptr(),
5721 core::mem::size_of::<<f64 as EndianScalar>::Scalar>(),
5722 );
5723 }
5724 }
5725
5726}
5727
5728pub enum DictionaryEntryOffset {}
5729#[derive(Copy, Clone, PartialEq)]
5730
5731pub struct DictionaryEntry<'a> {
5732 pub _tab: flatbuffers::Table<'a>,
5733}
5734
5735impl<'a> flatbuffers::Follow<'a> for DictionaryEntry<'a> {
5736 type Inner = DictionaryEntry<'a>;
5737 #[inline]
5738 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5739 Self { _tab: flatbuffers::Table::new(buf, loc) }
5740 }
5741}
5742
5743impl<'a> DictionaryEntry<'a> {
5744 pub const VT_KEY: flatbuffers::VOffsetT = 4;
5745 pub const VT_VALUE: flatbuffers::VOffsetT = 6;
5746
5747 #[inline]
5748 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
5749 DictionaryEntry { _tab: table }
5750 }
5751 #[allow(unused_mut)]
5752 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
5753 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
5754 args: &'args DictionaryEntryArgs<'args>
5755 ) -> flatbuffers::WIPOffset<DictionaryEntry<'bldr>> {
5756 let mut builder = DictionaryEntryBuilder::new(_fbb);
5757 if let Some(x) = args.value { builder.add_value(x); }
5758 if let Some(x) = args.key { builder.add_key(x); }
5759 builder.finish()
5760 }
5761
5762
5763 #[inline]
5764 pub fn key(&self) -> &'a str {
5765 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DictionaryEntry::VT_KEY, None).unwrap()}
5769 }
5770 #[inline]
5771 pub fn key_compare_less_than(&self, o: &DictionaryEntry) -> bool {
5772 self.key() < o.key()
5773 }
5774
5775 #[inline]
5776 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
5777 let key = self.key();
5778 key.cmp(val)
5779 }
5780 #[inline]
5781 pub fn value(&self) -> Option<&'a str> {
5782 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DictionaryEntry::VT_VALUE, None)}
5786 }
5787}
5788
5789impl flatbuffers::Verifiable for DictionaryEntry<'_> {
5790 #[inline]
5791 fn run_verifier(
5792 v: &mut flatbuffers::Verifier, pos: usize
5793 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5794 use self::flatbuffers::Verifiable;
5795 v.visit_table(pos)?
5796 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("key", Self::VT_KEY, true)?
5797 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("value", Self::VT_VALUE, false)?
5798 .finish();
5799 Ok(())
5800 }
5801}
5802pub struct DictionaryEntryArgs<'a> {
5803 pub key: Option<flatbuffers::WIPOffset<&'a str>>,
5804 pub value: Option<flatbuffers::WIPOffset<&'a str>>,
5805}
5806impl<'a> Default for DictionaryEntryArgs<'a> {
5807 #[inline]
5808 fn default() -> Self {
5809 DictionaryEntryArgs {
5810 key: None, value: None,
5812 }
5813 }
5814}
5815
5816pub struct DictionaryEntryBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
5817 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
5818 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
5819}
5820impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DictionaryEntryBuilder<'a, 'b, A> {
5821 #[inline]
5822 pub fn add_key(&mut self, key: flatbuffers::WIPOffset<&'b str>) {
5823 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DictionaryEntry::VT_KEY, key);
5824 }
5825 #[inline]
5826 pub fn add_value(&mut self, value: flatbuffers::WIPOffset<&'b str>) {
5827 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DictionaryEntry::VT_VALUE, value);
5828 }
5829 #[inline]
5830 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DictionaryEntryBuilder<'a, 'b, A> {
5831 let start = _fbb.start_table();
5832 DictionaryEntryBuilder {
5833 fbb_: _fbb,
5834 start_: start,
5835 }
5836 }
5837 #[inline]
5838 pub fn finish(self) -> flatbuffers::WIPOffset<DictionaryEntry<'a>> {
5839 let o = self.fbb_.end_table(self.start_);
5840 self.fbb_.required(o, DictionaryEntry::VT_KEY,"key");
5841 flatbuffers::WIPOffset::new(o.value())
5842 }
5843}
5844
5845impl core::fmt::Debug for DictionaryEntry<'_> {
5846 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
5847 let mut ds = f.debug_struct("DictionaryEntry");
5848 ds.field("key", &self.key());
5849 ds.field("value", &self.value());
5850 ds.finish()
5851 }
5852}
5853pub enum StringValueEntryOffset {}
5854#[derive(Copy, Clone, PartialEq)]
5855
5856pub struct StringValueEntry<'a> {
5857 pub _tab: flatbuffers::Table<'a>,
5858}
5859
5860impl<'a> flatbuffers::Follow<'a> for StringValueEntry<'a> {
5861 type Inner = StringValueEntry<'a>;
5862 #[inline]
5863 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5864 Self { _tab: flatbuffers::Table::new(buf, loc) }
5865 }
5866}
5867
5868impl<'a> StringValueEntry<'a> {
5869 pub const VT_KEY: flatbuffers::VOffsetT = 4;
5870 pub const VT_VALUE: flatbuffers::VOffsetT = 6;
5871
5872 #[inline]
5873 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
5874 StringValueEntry { _tab: table }
5875 }
5876 #[allow(unused_mut)]
5877 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
5878 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
5879 args: &'args StringValueEntryArgs<'args>
5880 ) -> flatbuffers::WIPOffset<StringValueEntry<'bldr>> {
5881 let mut builder = StringValueEntryBuilder::new(_fbb);
5882 if let Some(x) = args.value { builder.add_value(x); }
5883 if let Some(x) = args.key { builder.add_key(x); }
5884 builder.finish()
5885 }
5886
5887
5888 #[inline]
5889 pub fn key(&self) -> &'a str {
5890 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StringValueEntry::VT_KEY, None).unwrap()}
5894 }
5895 #[inline]
5896 pub fn key_compare_less_than(&self, o: &StringValueEntry) -> bool {
5897 self.key() < o.key()
5898 }
5899
5900 #[inline]
5901 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
5902 let key = self.key();
5903 key.cmp(val)
5904 }
5905 #[inline]
5906 pub fn value(&self) -> Option<&'a str> {
5907 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StringValueEntry::VT_VALUE, None)}
5911 }
5912}
5913
5914impl flatbuffers::Verifiable for StringValueEntry<'_> {
5915 #[inline]
5916 fn run_verifier(
5917 v: &mut flatbuffers::Verifier, pos: usize
5918 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5919 use self::flatbuffers::Verifiable;
5920 v.visit_table(pos)?
5921 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("key", Self::VT_KEY, true)?
5922 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("value", Self::VT_VALUE, false)?
5923 .finish();
5924 Ok(())
5925 }
5926}
5927pub struct StringValueEntryArgs<'a> {
5928 pub key: Option<flatbuffers::WIPOffset<&'a str>>,
5929 pub value: Option<flatbuffers::WIPOffset<&'a str>>,
5930}
5931impl<'a> Default for StringValueEntryArgs<'a> {
5932 #[inline]
5933 fn default() -> Self {
5934 StringValueEntryArgs {
5935 key: None, value: None,
5937 }
5938 }
5939}
5940
5941pub struct StringValueEntryBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
5942 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
5943 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
5944}
5945impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> StringValueEntryBuilder<'a, 'b, A> {
5946 #[inline]
5947 pub fn add_key(&mut self, key: flatbuffers::WIPOffset<&'b str>) {
5948 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StringValueEntry::VT_KEY, key);
5949 }
5950 #[inline]
5951 pub fn add_value(&mut self, value: flatbuffers::WIPOffset<&'b str>) {
5952 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StringValueEntry::VT_VALUE, value);
5953 }
5954 #[inline]
5955 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> StringValueEntryBuilder<'a, 'b, A> {
5956 let start = _fbb.start_table();
5957 StringValueEntryBuilder {
5958 fbb_: _fbb,
5959 start_: start,
5960 }
5961 }
5962 #[inline]
5963 pub fn finish(self) -> flatbuffers::WIPOffset<StringValueEntry<'a>> {
5964 let o = self.fbb_.end_table(self.start_);
5965 self.fbb_.required(o, StringValueEntry::VT_KEY,"key");
5966 flatbuffers::WIPOffset::new(o.value())
5967 }
5968}
5969
5970impl core::fmt::Debug for StringValueEntry<'_> {
5971 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
5972 let mut ds = f.debug_struct("StringValueEntry");
5973 ds.field("key", &self.key());
5974 ds.field("value", &self.value());
5975 ds.finish()
5976 }
5977}
5978pub enum IdentifierOffset {}
5979#[derive(Copy, Clone, PartialEq)]
5980
5981pub struct Identifier<'a> {
5982 pub _tab: flatbuffers::Table<'a>,
5983}
5984
5985impl<'a> flatbuffers::Follow<'a> for Identifier<'a> {
5986 type Inner = Identifier<'a>;
5987 #[inline]
5988 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5989 Self { _tab: flatbuffers::Table::new(buf, loc) }
5990 }
5991}
5992
5993impl<'a> Identifier<'a> {
5994 pub const VT_ID: flatbuffers::VOffsetT = 4;
5995 pub const VT_NAME: flatbuffers::VOffsetT = 6;
5996 pub const VT_DESCRIPTION: flatbuffers::VOffsetT = 8;
5997
5998 #[inline]
5999 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
6000 Identifier { _tab: table }
6001 }
6002 #[allow(unused_mut)]
6003 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
6004 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
6005 args: &'args IdentifierArgs<'args>
6006 ) -> flatbuffers::WIPOffset<Identifier<'bldr>> {
6007 let mut builder = IdentifierBuilder::new(_fbb);
6008 if let Some(x) = args.description { builder.add_description(x); }
6009 if let Some(x) = args.name { builder.add_name(x); }
6010 if let Some(x) = args.id { builder.add_id(x); }
6011 builder.finish()
6012 }
6013
6014
6015 #[inline]
6016 pub fn id(&self) -> &'a str {
6017 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(Identifier::VT_ID, None).unwrap()}
6021 }
6022 #[inline]
6023 pub fn key_compare_less_than(&self, o: &Identifier) -> bool {
6024 self.id() < o.id()
6025 }
6026
6027 #[inline]
6028 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
6029 let key = self.id();
6030 key.cmp(val)
6031 }
6032 #[inline]
6033 pub fn name(&self) -> Option<&'a str> {
6034 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(Identifier::VT_NAME, None)}
6038 }
6039 #[inline]
6040 pub fn description(&self) -> Option<&'a str> {
6041 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(Identifier::VT_DESCRIPTION, None)}
6045 }
6046}
6047
6048impl flatbuffers::Verifiable for Identifier<'_> {
6049 #[inline]
6050 fn run_verifier(
6051 v: &mut flatbuffers::Verifier, pos: usize
6052 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
6053 use self::flatbuffers::Verifiable;
6054 v.visit_table(pos)?
6055 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("id", Self::VT_ID, true)?
6056 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("name", Self::VT_NAME, false)?
6057 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("description", Self::VT_DESCRIPTION, false)?
6058 .finish();
6059 Ok(())
6060 }
6061}
6062pub struct IdentifierArgs<'a> {
6063 pub id: Option<flatbuffers::WIPOffset<&'a str>>,
6064 pub name: Option<flatbuffers::WIPOffset<&'a str>>,
6065 pub description: Option<flatbuffers::WIPOffset<&'a str>>,
6066}
6067impl<'a> Default for IdentifierArgs<'a> {
6068 #[inline]
6069 fn default() -> Self {
6070 IdentifierArgs {
6071 id: None, name: None,
6073 description: None,
6074 }
6075 }
6076}
6077
6078pub struct IdentifierBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
6079 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
6080 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
6081}
6082impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IdentifierBuilder<'a, 'b, A> {
6083 #[inline]
6084 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<&'b str>) {
6085 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Identifier::VT_ID, id);
6086 }
6087 #[inline]
6088 pub fn add_name(&mut self, name: flatbuffers::WIPOffset<&'b str>) {
6089 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Identifier::VT_NAME, name);
6090 }
6091 #[inline]
6092 pub fn add_description(&mut self, description: flatbuffers::WIPOffset<&'b str>) {
6093 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Identifier::VT_DESCRIPTION, description);
6094 }
6095 #[inline]
6096 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IdentifierBuilder<'a, 'b, A> {
6097 let start = _fbb.start_table();
6098 IdentifierBuilder {
6099 fbb_: _fbb,
6100 start_: start,
6101 }
6102 }
6103 #[inline]
6104 pub fn finish(self) -> flatbuffers::WIPOffset<Identifier<'a>> {
6105 let o = self.fbb_.end_table(self.start_);
6106 self.fbb_.required(o, Identifier::VT_ID,"id");
6107 flatbuffers::WIPOffset::new(o.value())
6108 }
6109}
6110
6111impl core::fmt::Debug for Identifier<'_> {
6112 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
6113 let mut ds = f.debug_struct("Identifier");
6114 ds.field("id", &self.id());
6115 ds.field("name", &self.name());
6116 ds.field("description", &self.description());
6117 ds.finish()
6118 }
6119}
6120pub enum DucUcsOffset {}
6121#[derive(Copy, Clone, PartialEq)]
6122
6123pub struct DucUcs<'a> {
6124 pub _tab: flatbuffers::Table<'a>,
6125}
6126
6127impl<'a> flatbuffers::Follow<'a> for DucUcs<'a> {
6128 type Inner = DucUcs<'a>;
6129 #[inline]
6130 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
6131 Self { _tab: flatbuffers::Table::new(buf, loc) }
6132 }
6133}
6134
6135impl<'a> DucUcs<'a> {
6136 pub const VT_ORIGIN: flatbuffers::VOffsetT = 4;
6137 pub const VT_ANGLE: flatbuffers::VOffsetT = 6;
6138
6139 #[inline]
6140 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
6141 DucUcs { _tab: table }
6142 }
6143 #[allow(unused_mut)]
6144 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
6145 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
6146 args: &'args DucUcsArgs<'args>
6147 ) -> flatbuffers::WIPOffset<DucUcs<'bldr>> {
6148 let mut builder = DucUcsBuilder::new(_fbb);
6149 builder.add_angle(args.angle);
6150 if let Some(x) = args.origin { builder.add_origin(x); }
6151 builder.finish()
6152 }
6153
6154
6155 #[inline]
6156 pub fn origin(&self) -> Option<&'a GeometricPoint> {
6157 unsafe { self._tab.get::<GeometricPoint>(DucUcs::VT_ORIGIN, None)}
6161 }
6162 #[inline]
6163 pub fn angle(&self) -> f64 {
6164 unsafe { self._tab.get::<f64>(DucUcs::VT_ANGLE, Some(0.0)).unwrap()}
6168 }
6169}
6170
6171impl flatbuffers::Verifiable for DucUcs<'_> {
6172 #[inline]
6173 fn run_verifier(
6174 v: &mut flatbuffers::Verifier, pos: usize
6175 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
6176 use self::flatbuffers::Verifiable;
6177 v.visit_table(pos)?
6178 .visit_field::<GeometricPoint>("origin", Self::VT_ORIGIN, false)?
6179 .visit_field::<f64>("angle", Self::VT_ANGLE, false)?
6180 .finish();
6181 Ok(())
6182 }
6183}
6184pub struct DucUcsArgs<'a> {
6185 pub origin: Option<&'a GeometricPoint>,
6186 pub angle: f64,
6187}
6188impl<'a> Default for DucUcsArgs<'a> {
6189 #[inline]
6190 fn default() -> Self {
6191 DucUcsArgs {
6192 origin: None,
6193 angle: 0.0,
6194 }
6195 }
6196}
6197
6198pub struct DucUcsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
6199 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
6200 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
6201}
6202impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucUcsBuilder<'a, 'b, A> {
6203 #[inline]
6204 pub fn add_origin(&mut self, origin: &GeometricPoint) {
6205 self.fbb_.push_slot_always::<&GeometricPoint>(DucUcs::VT_ORIGIN, origin);
6206 }
6207 #[inline]
6208 pub fn add_angle(&mut self, angle: f64) {
6209 self.fbb_.push_slot::<f64>(DucUcs::VT_ANGLE, angle, 0.0);
6210 }
6211 #[inline]
6212 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucUcsBuilder<'a, 'b, A> {
6213 let start = _fbb.start_table();
6214 DucUcsBuilder {
6215 fbb_: _fbb,
6216 start_: start,
6217 }
6218 }
6219 #[inline]
6220 pub fn finish(self) -> flatbuffers::WIPOffset<DucUcs<'a>> {
6221 let o = self.fbb_.end_table(self.start_);
6222 flatbuffers::WIPOffset::new(o.value())
6223 }
6224}
6225
6226impl core::fmt::Debug for DucUcs<'_> {
6227 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
6228 let mut ds = f.debug_struct("DucUcs");
6229 ds.field("origin", &self.origin());
6230 ds.field("angle", &self.angle());
6231 ds.finish()
6232 }
6233}
6234pub enum DucViewOffset {}
6235#[derive(Copy, Clone, PartialEq)]
6236
6237pub struct DucView<'a> {
6238 pub _tab: flatbuffers::Table<'a>,
6239}
6240
6241impl<'a> flatbuffers::Follow<'a> for DucView<'a> {
6242 type Inner = DucView<'a>;
6243 #[inline]
6244 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
6245 Self { _tab: flatbuffers::Table::new(buf, loc) }
6246 }
6247}
6248
6249impl<'a> DucView<'a> {
6250 pub const VT_SCROLL_X: flatbuffers::VOffsetT = 4;
6251 pub const VT_SCROLL_Y: flatbuffers::VOffsetT = 6;
6252 pub const VT_ZOOM: flatbuffers::VOffsetT = 8;
6253 pub const VT_TWIST_ANGLE: flatbuffers::VOffsetT = 10;
6254 pub const VT_CENTER_POINT: flatbuffers::VOffsetT = 12;
6255 pub const VT_SCOPE: flatbuffers::VOffsetT = 14;
6256
6257 #[inline]
6258 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
6259 DucView { _tab: table }
6260 }
6261 #[allow(unused_mut)]
6262 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
6263 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
6264 args: &'args DucViewArgs<'args>
6265 ) -> flatbuffers::WIPOffset<DucView<'bldr>> {
6266 let mut builder = DucViewBuilder::new(_fbb);
6267 builder.add_twist_angle(args.twist_angle);
6268 builder.add_zoom(args.zoom);
6269 builder.add_scroll_y(args.scroll_y);
6270 builder.add_scroll_x(args.scroll_x);
6271 if let Some(x) = args.scope { builder.add_scope(x); }
6272 if let Some(x) = args.center_point { builder.add_center_point(x); }
6273 builder.finish()
6274 }
6275
6276
6277 #[inline]
6278 pub fn scroll_x(&self) -> f64 {
6279 unsafe { self._tab.get::<f64>(DucView::VT_SCROLL_X, Some(0.0)).unwrap()}
6283 }
6284 #[inline]
6285 pub fn scroll_y(&self) -> f64 {
6286 unsafe { self._tab.get::<f64>(DucView::VT_SCROLL_Y, Some(0.0)).unwrap()}
6290 }
6291 #[inline]
6292 pub fn zoom(&self) -> f64 {
6293 unsafe { self._tab.get::<f64>(DucView::VT_ZOOM, Some(0.0)).unwrap()}
6297 }
6298 #[inline]
6299 pub fn twist_angle(&self) -> f64 {
6300 unsafe { self._tab.get::<f64>(DucView::VT_TWIST_ANGLE, Some(0.0)).unwrap()}
6304 }
6305 #[inline]
6306 pub fn center_point(&self) -> Option<DucPoint<'a>> {
6307 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucPoint>>(DucView::VT_CENTER_POINT, None)}
6311 }
6312 #[inline]
6313 pub fn scope(&self) -> Option<&'a str> {
6314 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucView::VT_SCOPE, None)}
6318 }
6319}
6320
6321impl flatbuffers::Verifiable for DucView<'_> {
6322 #[inline]
6323 fn run_verifier(
6324 v: &mut flatbuffers::Verifier, pos: usize
6325 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
6326 use self::flatbuffers::Verifiable;
6327 v.visit_table(pos)?
6328 .visit_field::<f64>("scroll_x", Self::VT_SCROLL_X, false)?
6329 .visit_field::<f64>("scroll_y", Self::VT_SCROLL_Y, false)?
6330 .visit_field::<f64>("zoom", Self::VT_ZOOM, false)?
6331 .visit_field::<f64>("twist_angle", Self::VT_TWIST_ANGLE, false)?
6332 .visit_field::<flatbuffers::ForwardsUOffset<DucPoint>>("center_point", Self::VT_CENTER_POINT, false)?
6333 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("scope", Self::VT_SCOPE, false)?
6334 .finish();
6335 Ok(())
6336 }
6337}
6338pub struct DucViewArgs<'a> {
6339 pub scroll_x: f64,
6340 pub scroll_y: f64,
6341 pub zoom: f64,
6342 pub twist_angle: f64,
6343 pub center_point: Option<flatbuffers::WIPOffset<DucPoint<'a>>>,
6344 pub scope: Option<flatbuffers::WIPOffset<&'a str>>,
6345}
6346impl<'a> Default for DucViewArgs<'a> {
6347 #[inline]
6348 fn default() -> Self {
6349 DucViewArgs {
6350 scroll_x: 0.0,
6351 scroll_y: 0.0,
6352 zoom: 0.0,
6353 twist_angle: 0.0,
6354 center_point: None,
6355 scope: None,
6356 }
6357 }
6358}
6359
6360pub struct DucViewBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
6361 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
6362 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
6363}
6364impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucViewBuilder<'a, 'b, A> {
6365 #[inline]
6366 pub fn add_scroll_x(&mut self, scroll_x: f64) {
6367 self.fbb_.push_slot::<f64>(DucView::VT_SCROLL_X, scroll_x, 0.0);
6368 }
6369 #[inline]
6370 pub fn add_scroll_y(&mut self, scroll_y: f64) {
6371 self.fbb_.push_slot::<f64>(DucView::VT_SCROLL_Y, scroll_y, 0.0);
6372 }
6373 #[inline]
6374 pub fn add_zoom(&mut self, zoom: f64) {
6375 self.fbb_.push_slot::<f64>(DucView::VT_ZOOM, zoom, 0.0);
6376 }
6377 #[inline]
6378 pub fn add_twist_angle(&mut self, twist_angle: f64) {
6379 self.fbb_.push_slot::<f64>(DucView::VT_TWIST_ANGLE, twist_angle, 0.0);
6380 }
6381 #[inline]
6382 pub fn add_center_point(&mut self, center_point: flatbuffers::WIPOffset<DucPoint<'b >>) {
6383 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucPoint>>(DucView::VT_CENTER_POINT, center_point);
6384 }
6385 #[inline]
6386 pub fn add_scope(&mut self, scope: flatbuffers::WIPOffset<&'b str>) {
6387 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucView::VT_SCOPE, scope);
6388 }
6389 #[inline]
6390 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucViewBuilder<'a, 'b, A> {
6391 let start = _fbb.start_table();
6392 DucViewBuilder {
6393 fbb_: _fbb,
6394 start_: start,
6395 }
6396 }
6397 #[inline]
6398 pub fn finish(self) -> flatbuffers::WIPOffset<DucView<'a>> {
6399 let o = self.fbb_.end_table(self.start_);
6400 flatbuffers::WIPOffset::new(o.value())
6401 }
6402}
6403
6404impl core::fmt::Debug for DucView<'_> {
6405 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
6406 let mut ds = f.debug_struct("DucView");
6407 ds.field("scroll_x", &self.scroll_x());
6408 ds.field("scroll_y", &self.scroll_y());
6409 ds.field("zoom", &self.zoom());
6410 ds.field("twist_angle", &self.twist_angle());
6411 ds.field("center_point", &self.center_point());
6412 ds.field("scope", &self.scope());
6413 ds.finish()
6414 }
6415}
6416pub enum MarginsOffset {}
6417#[derive(Copy, Clone, PartialEq)]
6418
6419pub struct Margins<'a> {
6420 pub _tab: flatbuffers::Table<'a>,
6421}
6422
6423impl<'a> flatbuffers::Follow<'a> for Margins<'a> {
6424 type Inner = Margins<'a>;
6425 #[inline]
6426 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
6427 Self { _tab: flatbuffers::Table::new(buf, loc) }
6428 }
6429}
6430
6431impl<'a> Margins<'a> {
6432 pub const VT_TOP: flatbuffers::VOffsetT = 4;
6433 pub const VT_RIGHT: flatbuffers::VOffsetT = 6;
6434 pub const VT_BOTTOM: flatbuffers::VOffsetT = 8;
6435 pub const VT_LEFT: flatbuffers::VOffsetT = 10;
6436
6437 #[inline]
6438 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
6439 Margins { _tab: table }
6440 }
6441 #[allow(unused_mut)]
6442 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
6443 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
6444 args: &'args MarginsArgs
6445 ) -> flatbuffers::WIPOffset<Margins<'bldr>> {
6446 let mut builder = MarginsBuilder::new(_fbb);
6447 builder.add_left(args.left);
6448 builder.add_bottom(args.bottom);
6449 builder.add_right(args.right);
6450 builder.add_top(args.top);
6451 builder.finish()
6452 }
6453
6454
6455 #[inline]
6456 pub fn top(&self) -> f64 {
6457 unsafe { self._tab.get::<f64>(Margins::VT_TOP, Some(0.0)).unwrap()}
6461 }
6462 #[inline]
6463 pub fn right(&self) -> f64 {
6464 unsafe { self._tab.get::<f64>(Margins::VT_RIGHT, Some(0.0)).unwrap()}
6468 }
6469 #[inline]
6470 pub fn bottom(&self) -> f64 {
6471 unsafe { self._tab.get::<f64>(Margins::VT_BOTTOM, Some(0.0)).unwrap()}
6475 }
6476 #[inline]
6477 pub fn left(&self) -> f64 {
6478 unsafe { self._tab.get::<f64>(Margins::VT_LEFT, Some(0.0)).unwrap()}
6482 }
6483}
6484
6485impl flatbuffers::Verifiable for Margins<'_> {
6486 #[inline]
6487 fn run_verifier(
6488 v: &mut flatbuffers::Verifier, pos: usize
6489 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
6490 use self::flatbuffers::Verifiable;
6491 v.visit_table(pos)?
6492 .visit_field::<f64>("top", Self::VT_TOP, false)?
6493 .visit_field::<f64>("right", Self::VT_RIGHT, false)?
6494 .visit_field::<f64>("bottom", Self::VT_BOTTOM, false)?
6495 .visit_field::<f64>("left", Self::VT_LEFT, false)?
6496 .finish();
6497 Ok(())
6498 }
6499}
6500pub struct MarginsArgs {
6501 pub top: f64,
6502 pub right: f64,
6503 pub bottom: f64,
6504 pub left: f64,
6505}
6506impl<'a> Default for MarginsArgs {
6507 #[inline]
6508 fn default() -> Self {
6509 MarginsArgs {
6510 top: 0.0,
6511 right: 0.0,
6512 bottom: 0.0,
6513 left: 0.0,
6514 }
6515 }
6516}
6517
6518pub struct MarginsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
6519 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
6520 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
6521}
6522impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> MarginsBuilder<'a, 'b, A> {
6523 #[inline]
6524 pub fn add_top(&mut self, top: f64) {
6525 self.fbb_.push_slot::<f64>(Margins::VT_TOP, top, 0.0);
6526 }
6527 #[inline]
6528 pub fn add_right(&mut self, right: f64) {
6529 self.fbb_.push_slot::<f64>(Margins::VT_RIGHT, right, 0.0);
6530 }
6531 #[inline]
6532 pub fn add_bottom(&mut self, bottom: f64) {
6533 self.fbb_.push_slot::<f64>(Margins::VT_BOTTOM, bottom, 0.0);
6534 }
6535 #[inline]
6536 pub fn add_left(&mut self, left: f64) {
6537 self.fbb_.push_slot::<f64>(Margins::VT_LEFT, left, 0.0);
6538 }
6539 #[inline]
6540 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> MarginsBuilder<'a, 'b, A> {
6541 let start = _fbb.start_table();
6542 MarginsBuilder {
6543 fbb_: _fbb,
6544 start_: start,
6545 }
6546 }
6547 #[inline]
6548 pub fn finish(self) -> flatbuffers::WIPOffset<Margins<'a>> {
6549 let o = self.fbb_.end_table(self.start_);
6550 flatbuffers::WIPOffset::new(o.value())
6551 }
6552}
6553
6554impl core::fmt::Debug for Margins<'_> {
6555 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
6556 let mut ds = f.debug_struct("Margins");
6557 ds.field("top", &self.top());
6558 ds.field("right", &self.right());
6559 ds.field("bottom", &self.bottom());
6560 ds.field("left", &self.left());
6561 ds.finish()
6562 }
6563}
6564pub enum TilingPropertiesOffset {}
6565#[derive(Copy, Clone, PartialEq)]
6566
6567pub struct TilingProperties<'a> {
6568 pub _tab: flatbuffers::Table<'a>,
6569}
6570
6571impl<'a> flatbuffers::Follow<'a> for TilingProperties<'a> {
6572 type Inner = TilingProperties<'a>;
6573 #[inline]
6574 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
6575 Self { _tab: flatbuffers::Table::new(buf, loc) }
6576 }
6577}
6578
6579impl<'a> TilingProperties<'a> {
6580 pub const VT_SIZE_IN_PERCENT: flatbuffers::VOffsetT = 4;
6581 pub const VT_ANGLE: flatbuffers::VOffsetT = 6;
6582 pub const VT_SPACING: flatbuffers::VOffsetT = 8;
6583 pub const VT_OFFSET_X: flatbuffers::VOffsetT = 10;
6584 pub const VT_OFFSET_Y: flatbuffers::VOffsetT = 12;
6585
6586 #[inline]
6587 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
6588 TilingProperties { _tab: table }
6589 }
6590 #[allow(unused_mut)]
6591 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
6592 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
6593 args: &'args TilingPropertiesArgs
6594 ) -> flatbuffers::WIPOffset<TilingProperties<'bldr>> {
6595 let mut builder = TilingPropertiesBuilder::new(_fbb);
6596 if let Some(x) = args.offset_y { builder.add_offset_y(x); }
6597 if let Some(x) = args.offset_x { builder.add_offset_x(x); }
6598 if let Some(x) = args.spacing { builder.add_spacing(x); }
6599 builder.add_angle(args.angle);
6600 builder.add_size_in_percent(args.size_in_percent);
6601 builder.finish()
6602 }
6603
6604
6605 #[inline]
6606 pub fn size_in_percent(&self) -> f32 {
6607 unsafe { self._tab.get::<f32>(TilingProperties::VT_SIZE_IN_PERCENT, Some(0.0)).unwrap()}
6611 }
6612 #[inline]
6613 pub fn angle(&self) -> f64 {
6614 unsafe { self._tab.get::<f64>(TilingProperties::VT_ANGLE, Some(0.0)).unwrap()}
6618 }
6619 #[inline]
6620 pub fn spacing(&self) -> Option<f64> {
6621 unsafe { self._tab.get::<f64>(TilingProperties::VT_SPACING, None)}
6625 }
6626 #[inline]
6627 pub fn offset_x(&self) -> Option<f64> {
6628 unsafe { self._tab.get::<f64>(TilingProperties::VT_OFFSET_X, None)}
6632 }
6633 #[inline]
6634 pub fn offset_y(&self) -> Option<f64> {
6635 unsafe { self._tab.get::<f64>(TilingProperties::VT_OFFSET_Y, None)}
6639 }
6640}
6641
6642impl flatbuffers::Verifiable for TilingProperties<'_> {
6643 #[inline]
6644 fn run_verifier(
6645 v: &mut flatbuffers::Verifier, pos: usize
6646 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
6647 use self::flatbuffers::Verifiable;
6648 v.visit_table(pos)?
6649 .visit_field::<f32>("size_in_percent", Self::VT_SIZE_IN_PERCENT, false)?
6650 .visit_field::<f64>("angle", Self::VT_ANGLE, false)?
6651 .visit_field::<f64>("spacing", Self::VT_SPACING, false)?
6652 .visit_field::<f64>("offset_x", Self::VT_OFFSET_X, false)?
6653 .visit_field::<f64>("offset_y", Self::VT_OFFSET_Y, false)?
6654 .finish();
6655 Ok(())
6656 }
6657}
6658pub struct TilingPropertiesArgs {
6659 pub size_in_percent: f32,
6660 pub angle: f64,
6661 pub spacing: Option<f64>,
6662 pub offset_x: Option<f64>,
6663 pub offset_y: Option<f64>,
6664}
6665impl<'a> Default for TilingPropertiesArgs {
6666 #[inline]
6667 fn default() -> Self {
6668 TilingPropertiesArgs {
6669 size_in_percent: 0.0,
6670 angle: 0.0,
6671 spacing: None,
6672 offset_x: None,
6673 offset_y: None,
6674 }
6675 }
6676}
6677
6678pub struct TilingPropertiesBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
6679 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
6680 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
6681}
6682impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> TilingPropertiesBuilder<'a, 'b, A> {
6683 #[inline]
6684 pub fn add_size_in_percent(&mut self, size_in_percent: f32) {
6685 self.fbb_.push_slot::<f32>(TilingProperties::VT_SIZE_IN_PERCENT, size_in_percent, 0.0);
6686 }
6687 #[inline]
6688 pub fn add_angle(&mut self, angle: f64) {
6689 self.fbb_.push_slot::<f64>(TilingProperties::VT_ANGLE, angle, 0.0);
6690 }
6691 #[inline]
6692 pub fn add_spacing(&mut self, spacing: f64) {
6693 self.fbb_.push_slot_always::<f64>(TilingProperties::VT_SPACING, spacing);
6694 }
6695 #[inline]
6696 pub fn add_offset_x(&mut self, offset_x: f64) {
6697 self.fbb_.push_slot_always::<f64>(TilingProperties::VT_OFFSET_X, offset_x);
6698 }
6699 #[inline]
6700 pub fn add_offset_y(&mut self, offset_y: f64) {
6701 self.fbb_.push_slot_always::<f64>(TilingProperties::VT_OFFSET_Y, offset_y);
6702 }
6703 #[inline]
6704 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> TilingPropertiesBuilder<'a, 'b, A> {
6705 let start = _fbb.start_table();
6706 TilingPropertiesBuilder {
6707 fbb_: _fbb,
6708 start_: start,
6709 }
6710 }
6711 #[inline]
6712 pub fn finish(self) -> flatbuffers::WIPOffset<TilingProperties<'a>> {
6713 let o = self.fbb_.end_table(self.start_);
6714 flatbuffers::WIPOffset::new(o.value())
6715 }
6716}
6717
6718impl core::fmt::Debug for TilingProperties<'_> {
6719 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
6720 let mut ds = f.debug_struct("TilingProperties");
6721 ds.field("size_in_percent", &self.size_in_percent());
6722 ds.field("angle", &self.angle());
6723 ds.field("spacing", &self.spacing());
6724 ds.field("offset_x", &self.offset_x());
6725 ds.field("offset_y", &self.offset_y());
6726 ds.finish()
6727 }
6728}
6729pub enum HatchPatternLineOffset {}
6730#[derive(Copy, Clone, PartialEq)]
6731
6732pub struct HatchPatternLine<'a> {
6733 pub _tab: flatbuffers::Table<'a>,
6734}
6735
6736impl<'a> flatbuffers::Follow<'a> for HatchPatternLine<'a> {
6737 type Inner = HatchPatternLine<'a>;
6738 #[inline]
6739 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
6740 Self { _tab: flatbuffers::Table::new(buf, loc) }
6741 }
6742}
6743
6744impl<'a> HatchPatternLine<'a> {
6745 pub const VT_ANGLE: flatbuffers::VOffsetT = 4;
6746 pub const VT_ORIGIN: flatbuffers::VOffsetT = 6;
6747 pub const VT_OFFSET: flatbuffers::VOffsetT = 8;
6748 pub const VT_DASH_PATTERN: flatbuffers::VOffsetT = 10;
6749
6750 #[inline]
6751 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
6752 HatchPatternLine { _tab: table }
6753 }
6754 #[allow(unused_mut)]
6755 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
6756 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
6757 args: &'args HatchPatternLineArgs<'args>
6758 ) -> flatbuffers::WIPOffset<HatchPatternLine<'bldr>> {
6759 let mut builder = HatchPatternLineBuilder::new(_fbb);
6760 builder.add_angle(args.angle);
6761 if let Some(x) = args.dash_pattern { builder.add_dash_pattern(x); }
6762 if let Some(x) = args.offset { builder.add_offset(x); }
6763 if let Some(x) = args.origin { builder.add_origin(x); }
6764 builder.finish()
6765 }
6766
6767
6768 #[inline]
6769 pub fn angle(&self) -> f64 {
6770 unsafe { self._tab.get::<f64>(HatchPatternLine::VT_ANGLE, Some(0.0)).unwrap()}
6774 }
6775 #[inline]
6776 pub fn origin(&self) -> Option<DucPoint<'a>> {
6777 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucPoint>>(HatchPatternLine::VT_ORIGIN, None)}
6781 }
6782 #[inline]
6783 pub fn offset(&self) -> Option<flatbuffers::Vector<'a, f64>> {
6784 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, f64>>>(HatchPatternLine::VT_OFFSET, None)}
6788 }
6789 #[inline]
6790 pub fn dash_pattern(&self) -> Option<flatbuffers::Vector<'a, f64>> {
6791 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, f64>>>(HatchPatternLine::VT_DASH_PATTERN, None)}
6795 }
6796}
6797
6798impl flatbuffers::Verifiable for HatchPatternLine<'_> {
6799 #[inline]
6800 fn run_verifier(
6801 v: &mut flatbuffers::Verifier, pos: usize
6802 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
6803 use self::flatbuffers::Verifiable;
6804 v.visit_table(pos)?
6805 .visit_field::<f64>("angle", Self::VT_ANGLE, false)?
6806 .visit_field::<flatbuffers::ForwardsUOffset<DucPoint>>("origin", Self::VT_ORIGIN, false)?
6807 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, f64>>>("offset", Self::VT_OFFSET, false)?
6808 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, f64>>>("dash_pattern", Self::VT_DASH_PATTERN, false)?
6809 .finish();
6810 Ok(())
6811 }
6812}
6813pub struct HatchPatternLineArgs<'a> {
6814 pub angle: f64,
6815 pub origin: Option<flatbuffers::WIPOffset<DucPoint<'a>>>,
6816 pub offset: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, f64>>>,
6817 pub dash_pattern: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, f64>>>,
6818}
6819impl<'a> Default for HatchPatternLineArgs<'a> {
6820 #[inline]
6821 fn default() -> Self {
6822 HatchPatternLineArgs {
6823 angle: 0.0,
6824 origin: None,
6825 offset: None,
6826 dash_pattern: None,
6827 }
6828 }
6829}
6830
6831pub struct HatchPatternLineBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
6832 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
6833 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
6834}
6835impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> HatchPatternLineBuilder<'a, 'b, A> {
6836 #[inline]
6837 pub fn add_angle(&mut self, angle: f64) {
6838 self.fbb_.push_slot::<f64>(HatchPatternLine::VT_ANGLE, angle, 0.0);
6839 }
6840 #[inline]
6841 pub fn add_origin(&mut self, origin: flatbuffers::WIPOffset<DucPoint<'b >>) {
6842 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucPoint>>(HatchPatternLine::VT_ORIGIN, origin);
6843 }
6844 #[inline]
6845 pub fn add_offset(&mut self, offset: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f64>>) {
6846 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(HatchPatternLine::VT_OFFSET, offset);
6847 }
6848 #[inline]
6849 pub fn add_dash_pattern(&mut self, dash_pattern: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f64>>) {
6850 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(HatchPatternLine::VT_DASH_PATTERN, dash_pattern);
6851 }
6852 #[inline]
6853 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> HatchPatternLineBuilder<'a, 'b, A> {
6854 let start = _fbb.start_table();
6855 HatchPatternLineBuilder {
6856 fbb_: _fbb,
6857 start_: start,
6858 }
6859 }
6860 #[inline]
6861 pub fn finish(self) -> flatbuffers::WIPOffset<HatchPatternLine<'a>> {
6862 let o = self.fbb_.end_table(self.start_);
6863 flatbuffers::WIPOffset::new(o.value())
6864 }
6865}
6866
6867impl core::fmt::Debug for HatchPatternLine<'_> {
6868 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
6869 let mut ds = f.debug_struct("HatchPatternLine");
6870 ds.field("angle", &self.angle());
6871 ds.field("origin", &self.origin());
6872 ds.field("offset", &self.offset());
6873 ds.field("dash_pattern", &self.dash_pattern());
6874 ds.finish()
6875 }
6876}
6877pub enum CustomHatchPatternOffset {}
6878#[derive(Copy, Clone, PartialEq)]
6879
6880pub struct CustomHatchPattern<'a> {
6881 pub _tab: flatbuffers::Table<'a>,
6882}
6883
6884impl<'a> flatbuffers::Follow<'a> for CustomHatchPattern<'a> {
6885 type Inner = CustomHatchPattern<'a>;
6886 #[inline]
6887 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
6888 Self { _tab: flatbuffers::Table::new(buf, loc) }
6889 }
6890}
6891
6892impl<'a> CustomHatchPattern<'a> {
6893 pub const VT_NAME: flatbuffers::VOffsetT = 4;
6894 pub const VT_DESCRIPTION: flatbuffers::VOffsetT = 6;
6895 pub const VT_LINES: flatbuffers::VOffsetT = 8;
6896
6897 #[inline]
6898 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
6899 CustomHatchPattern { _tab: table }
6900 }
6901 #[allow(unused_mut)]
6902 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
6903 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
6904 args: &'args CustomHatchPatternArgs<'args>
6905 ) -> flatbuffers::WIPOffset<CustomHatchPattern<'bldr>> {
6906 let mut builder = CustomHatchPatternBuilder::new(_fbb);
6907 if let Some(x) = args.lines { builder.add_lines(x); }
6908 if let Some(x) = args.description { builder.add_description(x); }
6909 if let Some(x) = args.name { builder.add_name(x); }
6910 builder.finish()
6911 }
6912
6913
6914 #[inline]
6915 pub fn name(&self) -> Option<&'a str> {
6916 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(CustomHatchPattern::VT_NAME, None)}
6920 }
6921 #[inline]
6922 pub fn description(&self) -> Option<&'a str> {
6923 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(CustomHatchPattern::VT_DESCRIPTION, None)}
6927 }
6928 #[inline]
6929 pub fn lines(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<HatchPatternLine<'a>>>> {
6930 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<HatchPatternLine>>>>(CustomHatchPattern::VT_LINES, None)}
6934 }
6935}
6936
6937impl flatbuffers::Verifiable for CustomHatchPattern<'_> {
6938 #[inline]
6939 fn run_verifier(
6940 v: &mut flatbuffers::Verifier, pos: usize
6941 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
6942 use self::flatbuffers::Verifiable;
6943 v.visit_table(pos)?
6944 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("name", Self::VT_NAME, false)?
6945 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("description", Self::VT_DESCRIPTION, false)?
6946 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<HatchPatternLine>>>>("lines", Self::VT_LINES, false)?
6947 .finish();
6948 Ok(())
6949 }
6950}
6951pub struct CustomHatchPatternArgs<'a> {
6952 pub name: Option<flatbuffers::WIPOffset<&'a str>>,
6953 pub description: Option<flatbuffers::WIPOffset<&'a str>>,
6954 pub lines: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<HatchPatternLine<'a>>>>>,
6955}
6956impl<'a> Default for CustomHatchPatternArgs<'a> {
6957 #[inline]
6958 fn default() -> Self {
6959 CustomHatchPatternArgs {
6960 name: None,
6961 description: None,
6962 lines: None,
6963 }
6964 }
6965}
6966
6967pub struct CustomHatchPatternBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
6968 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
6969 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
6970}
6971impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> CustomHatchPatternBuilder<'a, 'b, A> {
6972 #[inline]
6973 pub fn add_name(&mut self, name: flatbuffers::WIPOffset<&'b str>) {
6974 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(CustomHatchPattern::VT_NAME, name);
6975 }
6976 #[inline]
6977 pub fn add_description(&mut self, description: flatbuffers::WIPOffset<&'b str>) {
6978 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(CustomHatchPattern::VT_DESCRIPTION, description);
6979 }
6980 #[inline]
6981 pub fn add_lines(&mut self, lines: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<HatchPatternLine<'b >>>>) {
6982 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(CustomHatchPattern::VT_LINES, lines);
6983 }
6984 #[inline]
6985 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> CustomHatchPatternBuilder<'a, 'b, A> {
6986 let start = _fbb.start_table();
6987 CustomHatchPatternBuilder {
6988 fbb_: _fbb,
6989 start_: start,
6990 }
6991 }
6992 #[inline]
6993 pub fn finish(self) -> flatbuffers::WIPOffset<CustomHatchPattern<'a>> {
6994 let o = self.fbb_.end_table(self.start_);
6995 flatbuffers::WIPOffset::new(o.value())
6996 }
6997}
6998
6999impl core::fmt::Debug for CustomHatchPattern<'_> {
7000 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7001 let mut ds = f.debug_struct("CustomHatchPattern");
7002 ds.field("name", &self.name());
7003 ds.field("description", &self.description());
7004 ds.field("lines", &self.lines());
7005 ds.finish()
7006 }
7007}
7008pub enum DucHatchStyleOffset {}
7009#[derive(Copy, Clone, PartialEq)]
7010
7011pub struct DucHatchStyle<'a> {
7012 pub _tab: flatbuffers::Table<'a>,
7013}
7014
7015impl<'a> flatbuffers::Follow<'a> for DucHatchStyle<'a> {
7016 type Inner = DucHatchStyle<'a>;
7017 #[inline]
7018 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7019 Self { _tab: flatbuffers::Table::new(buf, loc) }
7020 }
7021}
7022
7023impl<'a> DucHatchStyle<'a> {
7024 pub const VT_HATCH_STYLE: flatbuffers::VOffsetT = 4;
7025 pub const VT_PATTERN_NAME: flatbuffers::VOffsetT = 6;
7026 pub const VT_PATTERN_SCALE: flatbuffers::VOffsetT = 8;
7027 pub const VT_PATTERN_ANGLE: flatbuffers::VOffsetT = 10;
7028 pub const VT_PATTERN_ORIGIN: flatbuffers::VOffsetT = 12;
7029 pub const VT_PATTERN_DOUBLE: flatbuffers::VOffsetT = 14;
7030 pub const VT_CUSTOM_PATTERN: flatbuffers::VOffsetT = 16;
7031
7032 #[inline]
7033 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7034 DucHatchStyle { _tab: table }
7035 }
7036 #[allow(unused_mut)]
7037 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
7038 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
7039 args: &'args DucHatchStyleArgs<'args>
7040 ) -> flatbuffers::WIPOffset<DucHatchStyle<'bldr>> {
7041 let mut builder = DucHatchStyleBuilder::new(_fbb);
7042 builder.add_pattern_angle(args.pattern_angle);
7043 if let Some(x) = args.custom_pattern { builder.add_custom_pattern(x); }
7044 if let Some(x) = args.pattern_origin { builder.add_pattern_origin(x); }
7045 builder.add_pattern_scale(args.pattern_scale);
7046 if let Some(x) = args.pattern_name { builder.add_pattern_name(x); }
7047 builder.add_pattern_double(args.pattern_double);
7048 if let Some(x) = args.hatch_style { builder.add_hatch_style(x); }
7049 builder.finish()
7050 }
7051
7052
7053 #[inline]
7054 pub fn hatch_style(&self) -> Option<HATCH_STYLE> {
7055 unsafe { self._tab.get::<HATCH_STYLE>(DucHatchStyle::VT_HATCH_STYLE, None)}
7059 }
7060 #[inline]
7061 pub fn pattern_name(&self) -> Option<&'a str> {
7062 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucHatchStyle::VT_PATTERN_NAME, None)}
7066 }
7067 #[inline]
7068 pub fn pattern_scale(&self) -> f32 {
7069 unsafe { self._tab.get::<f32>(DucHatchStyle::VT_PATTERN_SCALE, Some(0.0)).unwrap()}
7073 }
7074 #[inline]
7075 pub fn pattern_angle(&self) -> f64 {
7076 unsafe { self._tab.get::<f64>(DucHatchStyle::VT_PATTERN_ANGLE, Some(0.0)).unwrap()}
7080 }
7081 #[inline]
7082 pub fn pattern_origin(&self) -> Option<DucPoint<'a>> {
7083 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucPoint>>(DucHatchStyle::VT_PATTERN_ORIGIN, None)}
7087 }
7088 #[inline]
7089 pub fn pattern_double(&self) -> bool {
7090 unsafe { self._tab.get::<bool>(DucHatchStyle::VT_PATTERN_DOUBLE, Some(false)).unwrap()}
7094 }
7095 #[inline]
7096 pub fn custom_pattern(&self) -> Option<CustomHatchPattern<'a>> {
7097 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<CustomHatchPattern>>(DucHatchStyle::VT_CUSTOM_PATTERN, None)}
7101 }
7102}
7103
7104impl flatbuffers::Verifiable for DucHatchStyle<'_> {
7105 #[inline]
7106 fn run_verifier(
7107 v: &mut flatbuffers::Verifier, pos: usize
7108 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
7109 use self::flatbuffers::Verifiable;
7110 v.visit_table(pos)?
7111 .visit_field::<HATCH_STYLE>("hatch_style", Self::VT_HATCH_STYLE, false)?
7112 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("pattern_name", Self::VT_PATTERN_NAME, false)?
7113 .visit_field::<f32>("pattern_scale", Self::VT_PATTERN_SCALE, false)?
7114 .visit_field::<f64>("pattern_angle", Self::VT_PATTERN_ANGLE, false)?
7115 .visit_field::<flatbuffers::ForwardsUOffset<DucPoint>>("pattern_origin", Self::VT_PATTERN_ORIGIN, false)?
7116 .visit_field::<bool>("pattern_double", Self::VT_PATTERN_DOUBLE, false)?
7117 .visit_field::<flatbuffers::ForwardsUOffset<CustomHatchPattern>>("custom_pattern", Self::VT_CUSTOM_PATTERN, false)?
7118 .finish();
7119 Ok(())
7120 }
7121}
7122pub struct DucHatchStyleArgs<'a> {
7123 pub hatch_style: Option<HATCH_STYLE>,
7124 pub pattern_name: Option<flatbuffers::WIPOffset<&'a str>>,
7125 pub pattern_scale: f32,
7126 pub pattern_angle: f64,
7127 pub pattern_origin: Option<flatbuffers::WIPOffset<DucPoint<'a>>>,
7128 pub pattern_double: bool,
7129 pub custom_pattern: Option<flatbuffers::WIPOffset<CustomHatchPattern<'a>>>,
7130}
7131impl<'a> Default for DucHatchStyleArgs<'a> {
7132 #[inline]
7133 fn default() -> Self {
7134 DucHatchStyleArgs {
7135 hatch_style: None,
7136 pattern_name: None,
7137 pattern_scale: 0.0,
7138 pattern_angle: 0.0,
7139 pattern_origin: None,
7140 pattern_double: false,
7141 custom_pattern: None,
7142 }
7143 }
7144}
7145
7146pub struct DucHatchStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
7147 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
7148 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
7149}
7150impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucHatchStyleBuilder<'a, 'b, A> {
7151 #[inline]
7152 pub fn add_hatch_style(&mut self, hatch_style: HATCH_STYLE) {
7153 self.fbb_.push_slot_always::<HATCH_STYLE>(DucHatchStyle::VT_HATCH_STYLE, hatch_style);
7154 }
7155 #[inline]
7156 pub fn add_pattern_name(&mut self, pattern_name: flatbuffers::WIPOffset<&'b str>) {
7157 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucHatchStyle::VT_PATTERN_NAME, pattern_name);
7158 }
7159 #[inline]
7160 pub fn add_pattern_scale(&mut self, pattern_scale: f32) {
7161 self.fbb_.push_slot::<f32>(DucHatchStyle::VT_PATTERN_SCALE, pattern_scale, 0.0);
7162 }
7163 #[inline]
7164 pub fn add_pattern_angle(&mut self, pattern_angle: f64) {
7165 self.fbb_.push_slot::<f64>(DucHatchStyle::VT_PATTERN_ANGLE, pattern_angle, 0.0);
7166 }
7167 #[inline]
7168 pub fn add_pattern_origin(&mut self, pattern_origin: flatbuffers::WIPOffset<DucPoint<'b >>) {
7169 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucPoint>>(DucHatchStyle::VT_PATTERN_ORIGIN, pattern_origin);
7170 }
7171 #[inline]
7172 pub fn add_pattern_double(&mut self, pattern_double: bool) {
7173 self.fbb_.push_slot::<bool>(DucHatchStyle::VT_PATTERN_DOUBLE, pattern_double, false);
7174 }
7175 #[inline]
7176 pub fn add_custom_pattern(&mut self, custom_pattern: flatbuffers::WIPOffset<CustomHatchPattern<'b >>) {
7177 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<CustomHatchPattern>>(DucHatchStyle::VT_CUSTOM_PATTERN, custom_pattern);
7178 }
7179 #[inline]
7180 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucHatchStyleBuilder<'a, 'b, A> {
7181 let start = _fbb.start_table();
7182 DucHatchStyleBuilder {
7183 fbb_: _fbb,
7184 start_: start,
7185 }
7186 }
7187 #[inline]
7188 pub fn finish(self) -> flatbuffers::WIPOffset<DucHatchStyle<'a>> {
7189 let o = self.fbb_.end_table(self.start_);
7190 flatbuffers::WIPOffset::new(o.value())
7191 }
7192}
7193
7194impl core::fmt::Debug for DucHatchStyle<'_> {
7195 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7196 let mut ds = f.debug_struct("DucHatchStyle");
7197 ds.field("hatch_style", &self.hatch_style());
7198 ds.field("pattern_name", &self.pattern_name());
7199 ds.field("pattern_scale", &self.pattern_scale());
7200 ds.field("pattern_angle", &self.pattern_angle());
7201 ds.field("pattern_origin", &self.pattern_origin());
7202 ds.field("pattern_double", &self.pattern_double());
7203 ds.field("custom_pattern", &self.custom_pattern());
7204 ds.finish()
7205 }
7206}
7207pub enum DucImageFilterOffset {}
7208#[derive(Copy, Clone, PartialEq)]
7209
7210pub struct DucImageFilter<'a> {
7211 pub _tab: flatbuffers::Table<'a>,
7212}
7213
7214impl<'a> flatbuffers::Follow<'a> for DucImageFilter<'a> {
7215 type Inner = DucImageFilter<'a>;
7216 #[inline]
7217 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7218 Self { _tab: flatbuffers::Table::new(buf, loc) }
7219 }
7220}
7221
7222impl<'a> DucImageFilter<'a> {
7223 pub const VT_BRIGHTNESS: flatbuffers::VOffsetT = 4;
7224 pub const VT_CONTRAST: flatbuffers::VOffsetT = 6;
7225
7226 #[inline]
7227 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7228 DucImageFilter { _tab: table }
7229 }
7230 #[allow(unused_mut)]
7231 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
7232 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
7233 args: &'args DucImageFilterArgs
7234 ) -> flatbuffers::WIPOffset<DucImageFilter<'bldr>> {
7235 let mut builder = DucImageFilterBuilder::new(_fbb);
7236 builder.add_contrast(args.contrast);
7237 builder.add_brightness(args.brightness);
7238 builder.finish()
7239 }
7240
7241
7242 #[inline]
7243 pub fn brightness(&self) -> f32 {
7244 unsafe { self._tab.get::<f32>(DucImageFilter::VT_BRIGHTNESS, Some(0.0)).unwrap()}
7248 }
7249 #[inline]
7250 pub fn contrast(&self) -> f32 {
7251 unsafe { self._tab.get::<f32>(DucImageFilter::VT_CONTRAST, Some(0.0)).unwrap()}
7255 }
7256}
7257
7258impl flatbuffers::Verifiable for DucImageFilter<'_> {
7259 #[inline]
7260 fn run_verifier(
7261 v: &mut flatbuffers::Verifier, pos: usize
7262 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
7263 use self::flatbuffers::Verifiable;
7264 v.visit_table(pos)?
7265 .visit_field::<f32>("brightness", Self::VT_BRIGHTNESS, false)?
7266 .visit_field::<f32>("contrast", Self::VT_CONTRAST, false)?
7267 .finish();
7268 Ok(())
7269 }
7270}
7271pub struct DucImageFilterArgs {
7272 pub brightness: f32,
7273 pub contrast: f32,
7274}
7275impl<'a> Default for DucImageFilterArgs {
7276 #[inline]
7277 fn default() -> Self {
7278 DucImageFilterArgs {
7279 brightness: 0.0,
7280 contrast: 0.0,
7281 }
7282 }
7283}
7284
7285pub struct DucImageFilterBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
7286 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
7287 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
7288}
7289impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucImageFilterBuilder<'a, 'b, A> {
7290 #[inline]
7291 pub fn add_brightness(&mut self, brightness: f32) {
7292 self.fbb_.push_slot::<f32>(DucImageFilter::VT_BRIGHTNESS, brightness, 0.0);
7293 }
7294 #[inline]
7295 pub fn add_contrast(&mut self, contrast: f32) {
7296 self.fbb_.push_slot::<f32>(DucImageFilter::VT_CONTRAST, contrast, 0.0);
7297 }
7298 #[inline]
7299 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucImageFilterBuilder<'a, 'b, A> {
7300 let start = _fbb.start_table();
7301 DucImageFilterBuilder {
7302 fbb_: _fbb,
7303 start_: start,
7304 }
7305 }
7306 #[inline]
7307 pub fn finish(self) -> flatbuffers::WIPOffset<DucImageFilter<'a>> {
7308 let o = self.fbb_.end_table(self.start_);
7309 flatbuffers::WIPOffset::new(o.value())
7310 }
7311}
7312
7313impl core::fmt::Debug for DucImageFilter<'_> {
7314 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7315 let mut ds = f.debug_struct("DucImageFilter");
7316 ds.field("brightness", &self.brightness());
7317 ds.field("contrast", &self.contrast());
7318 ds.finish()
7319 }
7320}
7321pub enum ElementContentBaseOffset {}
7322#[derive(Copy, Clone, PartialEq)]
7323
7324pub struct ElementContentBase<'a> {
7325 pub _tab: flatbuffers::Table<'a>,
7326}
7327
7328impl<'a> flatbuffers::Follow<'a> for ElementContentBase<'a> {
7329 type Inner = ElementContentBase<'a>;
7330 #[inline]
7331 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7332 Self { _tab: flatbuffers::Table::new(buf, loc) }
7333 }
7334}
7335
7336impl<'a> ElementContentBase<'a> {
7337 pub const VT_PREFERENCE: flatbuffers::VOffsetT = 4;
7338 pub const VT_SRC: flatbuffers::VOffsetT = 6;
7339 pub const VT_VISIBLE: flatbuffers::VOffsetT = 8;
7340 pub const VT_OPACITY: flatbuffers::VOffsetT = 10;
7341 pub const VT_TILING: flatbuffers::VOffsetT = 12;
7342 pub const VT_HATCH: flatbuffers::VOffsetT = 14;
7343 pub const VT_IMAGE_FILTER: flatbuffers::VOffsetT = 16;
7344
7345 #[inline]
7346 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7347 ElementContentBase { _tab: table }
7348 }
7349 #[allow(unused_mut)]
7350 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
7351 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
7352 args: &'args ElementContentBaseArgs<'args>
7353 ) -> flatbuffers::WIPOffset<ElementContentBase<'bldr>> {
7354 let mut builder = ElementContentBaseBuilder::new(_fbb);
7355 builder.add_opacity(args.opacity);
7356 if let Some(x) = args.image_filter { builder.add_image_filter(x); }
7357 if let Some(x) = args.hatch { builder.add_hatch(x); }
7358 if let Some(x) = args.tiling { builder.add_tiling(x); }
7359 if let Some(x) = args.src { builder.add_src(x); }
7360 builder.add_visible(args.visible);
7361 if let Some(x) = args.preference { builder.add_preference(x); }
7362 builder.finish()
7363 }
7364
7365
7366 #[inline]
7367 pub fn preference(&self) -> Option<ELEMENT_CONTENT_PREFERENCE> {
7368 unsafe { self._tab.get::<ELEMENT_CONTENT_PREFERENCE>(ElementContentBase::VT_PREFERENCE, None)}
7372 }
7373 #[inline]
7374 pub fn src(&self) -> Option<&'a str> {
7375 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(ElementContentBase::VT_SRC, None)}
7379 }
7380 #[inline]
7381 pub fn visible(&self) -> bool {
7382 unsafe { self._tab.get::<bool>(ElementContentBase::VT_VISIBLE, Some(false)).unwrap()}
7386 }
7387 #[inline]
7388 pub fn opacity(&self) -> f64 {
7389 unsafe { self._tab.get::<f64>(ElementContentBase::VT_OPACITY, Some(0.0)).unwrap()}
7393 }
7394 #[inline]
7395 pub fn tiling(&self) -> Option<TilingProperties<'a>> {
7396 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<TilingProperties>>(ElementContentBase::VT_TILING, None)}
7400 }
7401 #[inline]
7402 pub fn hatch(&self) -> Option<DucHatchStyle<'a>> {
7403 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucHatchStyle>>(ElementContentBase::VT_HATCH, None)}
7407 }
7408 #[inline]
7409 pub fn image_filter(&self) -> Option<DucImageFilter<'a>> {
7410 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucImageFilter>>(ElementContentBase::VT_IMAGE_FILTER, None)}
7414 }
7415}
7416
7417impl flatbuffers::Verifiable for ElementContentBase<'_> {
7418 #[inline]
7419 fn run_verifier(
7420 v: &mut flatbuffers::Verifier, pos: usize
7421 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
7422 use self::flatbuffers::Verifiable;
7423 v.visit_table(pos)?
7424 .visit_field::<ELEMENT_CONTENT_PREFERENCE>("preference", Self::VT_PREFERENCE, false)?
7425 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("src", Self::VT_SRC, false)?
7426 .visit_field::<bool>("visible", Self::VT_VISIBLE, false)?
7427 .visit_field::<f64>("opacity", Self::VT_OPACITY, false)?
7428 .visit_field::<flatbuffers::ForwardsUOffset<TilingProperties>>("tiling", Self::VT_TILING, false)?
7429 .visit_field::<flatbuffers::ForwardsUOffset<DucHatchStyle>>("hatch", Self::VT_HATCH, false)?
7430 .visit_field::<flatbuffers::ForwardsUOffset<DucImageFilter>>("image_filter", Self::VT_IMAGE_FILTER, false)?
7431 .finish();
7432 Ok(())
7433 }
7434}
7435pub struct ElementContentBaseArgs<'a> {
7436 pub preference: Option<ELEMENT_CONTENT_PREFERENCE>,
7437 pub src: Option<flatbuffers::WIPOffset<&'a str>>,
7438 pub visible: bool,
7439 pub opacity: f64,
7440 pub tiling: Option<flatbuffers::WIPOffset<TilingProperties<'a>>>,
7441 pub hatch: Option<flatbuffers::WIPOffset<DucHatchStyle<'a>>>,
7442 pub image_filter: Option<flatbuffers::WIPOffset<DucImageFilter<'a>>>,
7443}
7444impl<'a> Default for ElementContentBaseArgs<'a> {
7445 #[inline]
7446 fn default() -> Self {
7447 ElementContentBaseArgs {
7448 preference: None,
7449 src: None,
7450 visible: false,
7451 opacity: 0.0,
7452 tiling: None,
7453 hatch: None,
7454 image_filter: None,
7455 }
7456 }
7457}
7458
7459pub struct ElementContentBaseBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
7460 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
7461 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
7462}
7463impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> ElementContentBaseBuilder<'a, 'b, A> {
7464 #[inline]
7465 pub fn add_preference(&mut self, preference: ELEMENT_CONTENT_PREFERENCE) {
7466 self.fbb_.push_slot_always::<ELEMENT_CONTENT_PREFERENCE>(ElementContentBase::VT_PREFERENCE, preference);
7467 }
7468 #[inline]
7469 pub fn add_src(&mut self, src: flatbuffers::WIPOffset<&'b str>) {
7470 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ElementContentBase::VT_SRC, src);
7471 }
7472 #[inline]
7473 pub fn add_visible(&mut self, visible: bool) {
7474 self.fbb_.push_slot::<bool>(ElementContentBase::VT_VISIBLE, visible, false);
7475 }
7476 #[inline]
7477 pub fn add_opacity(&mut self, opacity: f64) {
7478 self.fbb_.push_slot::<f64>(ElementContentBase::VT_OPACITY, opacity, 0.0);
7479 }
7480 #[inline]
7481 pub fn add_tiling(&mut self, tiling: flatbuffers::WIPOffset<TilingProperties<'b >>) {
7482 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<TilingProperties>>(ElementContentBase::VT_TILING, tiling);
7483 }
7484 #[inline]
7485 pub fn add_hatch(&mut self, hatch: flatbuffers::WIPOffset<DucHatchStyle<'b >>) {
7486 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucHatchStyle>>(ElementContentBase::VT_HATCH, hatch);
7487 }
7488 #[inline]
7489 pub fn add_image_filter(&mut self, image_filter: flatbuffers::WIPOffset<DucImageFilter<'b >>) {
7490 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucImageFilter>>(ElementContentBase::VT_IMAGE_FILTER, image_filter);
7491 }
7492 #[inline]
7493 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> ElementContentBaseBuilder<'a, 'b, A> {
7494 let start = _fbb.start_table();
7495 ElementContentBaseBuilder {
7496 fbb_: _fbb,
7497 start_: start,
7498 }
7499 }
7500 #[inline]
7501 pub fn finish(self) -> flatbuffers::WIPOffset<ElementContentBase<'a>> {
7502 let o = self.fbb_.end_table(self.start_);
7503 flatbuffers::WIPOffset::new(o.value())
7504 }
7505}
7506
7507impl core::fmt::Debug for ElementContentBase<'_> {
7508 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7509 let mut ds = f.debug_struct("ElementContentBase");
7510 ds.field("preference", &self.preference());
7511 ds.field("src", &self.src());
7512 ds.field("visible", &self.visible());
7513 ds.field("opacity", &self.opacity());
7514 ds.field("tiling", &self.tiling());
7515 ds.field("hatch", &self.hatch());
7516 ds.field("image_filter", &self.image_filter());
7517 ds.finish()
7518 }
7519}
7520pub enum StrokeStyleOffset {}
7521#[derive(Copy, Clone, PartialEq)]
7522
7523pub struct StrokeStyle<'a> {
7524 pub _tab: flatbuffers::Table<'a>,
7525}
7526
7527impl<'a> flatbuffers::Follow<'a> for StrokeStyle<'a> {
7528 type Inner = StrokeStyle<'a>;
7529 #[inline]
7530 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7531 Self { _tab: flatbuffers::Table::new(buf, loc) }
7532 }
7533}
7534
7535impl<'a> StrokeStyle<'a> {
7536 pub const VT_PREFERENCE: flatbuffers::VOffsetT = 4;
7537 pub const VT_CAP: flatbuffers::VOffsetT = 6;
7538 pub const VT_JOIN: flatbuffers::VOffsetT = 8;
7539 pub const VT_DASH: flatbuffers::VOffsetT = 10;
7540 pub const VT_DASH_LINE_OVERRIDE: flatbuffers::VOffsetT = 12;
7541 pub const VT_DASH_CAP: flatbuffers::VOffsetT = 14;
7542 pub const VT_MITER_LIMIT: flatbuffers::VOffsetT = 16;
7543
7544 #[inline]
7545 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7546 StrokeStyle { _tab: table }
7547 }
7548 #[allow(unused_mut)]
7549 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
7550 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
7551 args: &'args StrokeStyleArgs<'args>
7552 ) -> flatbuffers::WIPOffset<StrokeStyle<'bldr>> {
7553 let mut builder = StrokeStyleBuilder::new(_fbb);
7554 if let Some(x) = args.miter_limit { builder.add_miter_limit(x); }
7555 if let Some(x) = args.dash_line_override { builder.add_dash_line_override(x); }
7556 if let Some(x) = args.dash { builder.add_dash(x); }
7557 if let Some(x) = args.dash_cap { builder.add_dash_cap(x); }
7558 if let Some(x) = args.join { builder.add_join(x); }
7559 if let Some(x) = args.cap { builder.add_cap(x); }
7560 if let Some(x) = args.preference { builder.add_preference(x); }
7561 builder.finish()
7562 }
7563
7564
7565 #[inline]
7566 pub fn preference(&self) -> Option<STROKE_PREFERENCE> {
7567 unsafe { self._tab.get::<STROKE_PREFERENCE>(StrokeStyle::VT_PREFERENCE, None)}
7571 }
7572 #[inline]
7573 pub fn cap(&self) -> Option<STROKE_CAP> {
7574 unsafe { self._tab.get::<STROKE_CAP>(StrokeStyle::VT_CAP, None)}
7578 }
7579 #[inline]
7580 pub fn join(&self) -> Option<STROKE_JOIN> {
7581 unsafe { self._tab.get::<STROKE_JOIN>(StrokeStyle::VT_JOIN, None)}
7585 }
7586 #[inline]
7587 pub fn dash(&self) -> Option<flatbuffers::Vector<'a, f64>> {
7588 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, f64>>>(StrokeStyle::VT_DASH, None)}
7592 }
7593 #[inline]
7594 pub fn dash_line_override(&self) -> Option<&'a str> {
7595 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StrokeStyle::VT_DASH_LINE_OVERRIDE, None)}
7599 }
7600 #[inline]
7601 pub fn dash_cap(&self) -> Option<STROKE_CAP> {
7602 unsafe { self._tab.get::<STROKE_CAP>(StrokeStyle::VT_DASH_CAP, None)}
7606 }
7607 #[inline]
7608 pub fn miter_limit(&self) -> Option<f64> {
7609 unsafe { self._tab.get::<f64>(StrokeStyle::VT_MITER_LIMIT, None)}
7613 }
7614}
7615
7616impl flatbuffers::Verifiable for StrokeStyle<'_> {
7617 #[inline]
7618 fn run_verifier(
7619 v: &mut flatbuffers::Verifier, pos: usize
7620 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
7621 use self::flatbuffers::Verifiable;
7622 v.visit_table(pos)?
7623 .visit_field::<STROKE_PREFERENCE>("preference", Self::VT_PREFERENCE, false)?
7624 .visit_field::<STROKE_CAP>("cap", Self::VT_CAP, false)?
7625 .visit_field::<STROKE_JOIN>("join", Self::VT_JOIN, false)?
7626 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, f64>>>("dash", Self::VT_DASH, false)?
7627 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("dash_line_override", Self::VT_DASH_LINE_OVERRIDE, false)?
7628 .visit_field::<STROKE_CAP>("dash_cap", Self::VT_DASH_CAP, false)?
7629 .visit_field::<f64>("miter_limit", Self::VT_MITER_LIMIT, false)?
7630 .finish();
7631 Ok(())
7632 }
7633}
7634pub struct StrokeStyleArgs<'a> {
7635 pub preference: Option<STROKE_PREFERENCE>,
7636 pub cap: Option<STROKE_CAP>,
7637 pub join: Option<STROKE_JOIN>,
7638 pub dash: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, f64>>>,
7639 pub dash_line_override: Option<flatbuffers::WIPOffset<&'a str>>,
7640 pub dash_cap: Option<STROKE_CAP>,
7641 pub miter_limit: Option<f64>,
7642}
7643impl<'a> Default for StrokeStyleArgs<'a> {
7644 #[inline]
7645 fn default() -> Self {
7646 StrokeStyleArgs {
7647 preference: None,
7648 cap: None,
7649 join: None,
7650 dash: None,
7651 dash_line_override: None,
7652 dash_cap: None,
7653 miter_limit: None,
7654 }
7655 }
7656}
7657
7658pub struct StrokeStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
7659 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
7660 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
7661}
7662impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> StrokeStyleBuilder<'a, 'b, A> {
7663 #[inline]
7664 pub fn add_preference(&mut self, preference: STROKE_PREFERENCE) {
7665 self.fbb_.push_slot_always::<STROKE_PREFERENCE>(StrokeStyle::VT_PREFERENCE, preference);
7666 }
7667 #[inline]
7668 pub fn add_cap(&mut self, cap: STROKE_CAP) {
7669 self.fbb_.push_slot_always::<STROKE_CAP>(StrokeStyle::VT_CAP, cap);
7670 }
7671 #[inline]
7672 pub fn add_join(&mut self, join: STROKE_JOIN) {
7673 self.fbb_.push_slot_always::<STROKE_JOIN>(StrokeStyle::VT_JOIN, join);
7674 }
7675 #[inline]
7676 pub fn add_dash(&mut self, dash: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f64>>) {
7677 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StrokeStyle::VT_DASH, dash);
7678 }
7679 #[inline]
7680 pub fn add_dash_line_override(&mut self, dash_line_override: flatbuffers::WIPOffset<&'b str>) {
7681 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StrokeStyle::VT_DASH_LINE_OVERRIDE, dash_line_override);
7682 }
7683 #[inline]
7684 pub fn add_dash_cap(&mut self, dash_cap: STROKE_CAP) {
7685 self.fbb_.push_slot_always::<STROKE_CAP>(StrokeStyle::VT_DASH_CAP, dash_cap);
7686 }
7687 #[inline]
7688 pub fn add_miter_limit(&mut self, miter_limit: f64) {
7689 self.fbb_.push_slot_always::<f64>(StrokeStyle::VT_MITER_LIMIT, miter_limit);
7690 }
7691 #[inline]
7692 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> StrokeStyleBuilder<'a, 'b, A> {
7693 let start = _fbb.start_table();
7694 StrokeStyleBuilder {
7695 fbb_: _fbb,
7696 start_: start,
7697 }
7698 }
7699 #[inline]
7700 pub fn finish(self) -> flatbuffers::WIPOffset<StrokeStyle<'a>> {
7701 let o = self.fbb_.end_table(self.start_);
7702 flatbuffers::WIPOffset::new(o.value())
7703 }
7704}
7705
7706impl core::fmt::Debug for StrokeStyle<'_> {
7707 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7708 let mut ds = f.debug_struct("StrokeStyle");
7709 ds.field("preference", &self.preference());
7710 ds.field("cap", &self.cap());
7711 ds.field("join", &self.join());
7712 ds.field("dash", &self.dash());
7713 ds.field("dash_line_override", &self.dash_line_override());
7714 ds.field("dash_cap", &self.dash_cap());
7715 ds.field("miter_limit", &self.miter_limit());
7716 ds.finish()
7717 }
7718}
7719pub enum StrokeSidesOffset {}
7720#[derive(Copy, Clone, PartialEq)]
7721
7722pub struct StrokeSides<'a> {
7723 pub _tab: flatbuffers::Table<'a>,
7724}
7725
7726impl<'a> flatbuffers::Follow<'a> for StrokeSides<'a> {
7727 type Inner = StrokeSides<'a>;
7728 #[inline]
7729 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7730 Self { _tab: flatbuffers::Table::new(buf, loc) }
7731 }
7732}
7733
7734impl<'a> StrokeSides<'a> {
7735 pub const VT_PREFERENCE: flatbuffers::VOffsetT = 4;
7736 pub const VT_VALUES: flatbuffers::VOffsetT = 6;
7737
7738 #[inline]
7739 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7740 StrokeSides { _tab: table }
7741 }
7742 #[allow(unused_mut)]
7743 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
7744 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
7745 args: &'args StrokeSidesArgs<'args>
7746 ) -> flatbuffers::WIPOffset<StrokeSides<'bldr>> {
7747 let mut builder = StrokeSidesBuilder::new(_fbb);
7748 if let Some(x) = args.values { builder.add_values(x); }
7749 if let Some(x) = args.preference { builder.add_preference(x); }
7750 builder.finish()
7751 }
7752
7753
7754 #[inline]
7755 pub fn preference(&self) -> Option<STROKE_SIDE_PREFERENCE> {
7756 unsafe { self._tab.get::<STROKE_SIDE_PREFERENCE>(StrokeSides::VT_PREFERENCE, None)}
7760 }
7761 #[inline]
7762 pub fn values(&self) -> Option<flatbuffers::Vector<'a, f64>> {
7763 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, f64>>>(StrokeSides::VT_VALUES, None)}
7767 }
7768}
7769
7770impl flatbuffers::Verifiable for StrokeSides<'_> {
7771 #[inline]
7772 fn run_verifier(
7773 v: &mut flatbuffers::Verifier, pos: usize
7774 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
7775 use self::flatbuffers::Verifiable;
7776 v.visit_table(pos)?
7777 .visit_field::<STROKE_SIDE_PREFERENCE>("preference", Self::VT_PREFERENCE, false)?
7778 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, f64>>>("values", Self::VT_VALUES, false)?
7779 .finish();
7780 Ok(())
7781 }
7782}
7783pub struct StrokeSidesArgs<'a> {
7784 pub preference: Option<STROKE_SIDE_PREFERENCE>,
7785 pub values: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, f64>>>,
7786}
7787impl<'a> Default for StrokeSidesArgs<'a> {
7788 #[inline]
7789 fn default() -> Self {
7790 StrokeSidesArgs {
7791 preference: None,
7792 values: None,
7793 }
7794 }
7795}
7796
7797pub struct StrokeSidesBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
7798 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
7799 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
7800}
7801impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> StrokeSidesBuilder<'a, 'b, A> {
7802 #[inline]
7803 pub fn add_preference(&mut self, preference: STROKE_SIDE_PREFERENCE) {
7804 self.fbb_.push_slot_always::<STROKE_SIDE_PREFERENCE>(StrokeSides::VT_PREFERENCE, preference);
7805 }
7806 #[inline]
7807 pub fn add_values(&mut self, values: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f64>>) {
7808 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StrokeSides::VT_VALUES, values);
7809 }
7810 #[inline]
7811 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> StrokeSidesBuilder<'a, 'b, A> {
7812 let start = _fbb.start_table();
7813 StrokeSidesBuilder {
7814 fbb_: _fbb,
7815 start_: start,
7816 }
7817 }
7818 #[inline]
7819 pub fn finish(self) -> flatbuffers::WIPOffset<StrokeSides<'a>> {
7820 let o = self.fbb_.end_table(self.start_);
7821 flatbuffers::WIPOffset::new(o.value())
7822 }
7823}
7824
7825impl core::fmt::Debug for StrokeSides<'_> {
7826 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7827 let mut ds = f.debug_struct("StrokeSides");
7828 ds.field("preference", &self.preference());
7829 ds.field("values", &self.values());
7830 ds.finish()
7831 }
7832}
7833pub enum ElementStrokeOffset {}
7834#[derive(Copy, Clone, PartialEq)]
7835
7836pub struct ElementStroke<'a> {
7837 pub _tab: flatbuffers::Table<'a>,
7838}
7839
7840impl<'a> flatbuffers::Follow<'a> for ElementStroke<'a> {
7841 type Inner = ElementStroke<'a>;
7842 #[inline]
7843 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7844 Self { _tab: flatbuffers::Table::new(buf, loc) }
7845 }
7846}
7847
7848impl<'a> ElementStroke<'a> {
7849 pub const VT_CONTENT: flatbuffers::VOffsetT = 4;
7850 pub const VT_WIDTH: flatbuffers::VOffsetT = 6;
7851 pub const VT_STYLE: flatbuffers::VOffsetT = 8;
7852 pub const VT_PLACEMENT: flatbuffers::VOffsetT = 10;
7853 pub const VT_STROKE_SIDES: flatbuffers::VOffsetT = 12;
7854
7855 #[inline]
7856 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7857 ElementStroke { _tab: table }
7858 }
7859 #[allow(unused_mut)]
7860 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
7861 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
7862 args: &'args ElementStrokeArgs<'args>
7863 ) -> flatbuffers::WIPOffset<ElementStroke<'bldr>> {
7864 let mut builder = ElementStrokeBuilder::new(_fbb);
7865 builder.add_width(args.width);
7866 if let Some(x) = args.stroke_sides { builder.add_stroke_sides(x); }
7867 if let Some(x) = args.style { builder.add_style(x); }
7868 if let Some(x) = args.content { builder.add_content(x); }
7869 if let Some(x) = args.placement { builder.add_placement(x); }
7870 builder.finish()
7871 }
7872
7873
7874 #[inline]
7875 pub fn content(&self) -> Option<ElementContentBase<'a>> {
7876 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ElementContentBase>>(ElementStroke::VT_CONTENT, None)}
7880 }
7881 #[inline]
7882 pub fn width(&self) -> f64 {
7883 unsafe { self._tab.get::<f64>(ElementStroke::VT_WIDTH, Some(0.0)).unwrap()}
7887 }
7888 #[inline]
7889 pub fn style(&self) -> Option<StrokeStyle<'a>> {
7890 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<StrokeStyle>>(ElementStroke::VT_STYLE, None)}
7894 }
7895 #[inline]
7896 pub fn placement(&self) -> Option<STROKE_PLACEMENT> {
7897 unsafe { self._tab.get::<STROKE_PLACEMENT>(ElementStroke::VT_PLACEMENT, None)}
7901 }
7902 #[inline]
7903 pub fn stroke_sides(&self) -> Option<StrokeSides<'a>> {
7904 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<StrokeSides>>(ElementStroke::VT_STROKE_SIDES, None)}
7908 }
7909}
7910
7911impl flatbuffers::Verifiable for ElementStroke<'_> {
7912 #[inline]
7913 fn run_verifier(
7914 v: &mut flatbuffers::Verifier, pos: usize
7915 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
7916 use self::flatbuffers::Verifiable;
7917 v.visit_table(pos)?
7918 .visit_field::<flatbuffers::ForwardsUOffset<ElementContentBase>>("content", Self::VT_CONTENT, false)?
7919 .visit_field::<f64>("width", Self::VT_WIDTH, false)?
7920 .visit_field::<flatbuffers::ForwardsUOffset<StrokeStyle>>("style", Self::VT_STYLE, false)?
7921 .visit_field::<STROKE_PLACEMENT>("placement", Self::VT_PLACEMENT, false)?
7922 .visit_field::<flatbuffers::ForwardsUOffset<StrokeSides>>("stroke_sides", Self::VT_STROKE_SIDES, false)?
7923 .finish();
7924 Ok(())
7925 }
7926}
7927pub struct ElementStrokeArgs<'a> {
7928 pub content: Option<flatbuffers::WIPOffset<ElementContentBase<'a>>>,
7929 pub width: f64,
7930 pub style: Option<flatbuffers::WIPOffset<StrokeStyle<'a>>>,
7931 pub placement: Option<STROKE_PLACEMENT>,
7932 pub stroke_sides: Option<flatbuffers::WIPOffset<StrokeSides<'a>>>,
7933}
7934impl<'a> Default for ElementStrokeArgs<'a> {
7935 #[inline]
7936 fn default() -> Self {
7937 ElementStrokeArgs {
7938 content: None,
7939 width: 0.0,
7940 style: None,
7941 placement: None,
7942 stroke_sides: None,
7943 }
7944 }
7945}
7946
7947pub struct ElementStrokeBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
7948 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
7949 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
7950}
7951impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> ElementStrokeBuilder<'a, 'b, A> {
7952 #[inline]
7953 pub fn add_content(&mut self, content: flatbuffers::WIPOffset<ElementContentBase<'b >>) {
7954 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ElementContentBase>>(ElementStroke::VT_CONTENT, content);
7955 }
7956 #[inline]
7957 pub fn add_width(&mut self, width: f64) {
7958 self.fbb_.push_slot::<f64>(ElementStroke::VT_WIDTH, width, 0.0);
7959 }
7960 #[inline]
7961 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<StrokeStyle<'b >>) {
7962 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<StrokeStyle>>(ElementStroke::VT_STYLE, style);
7963 }
7964 #[inline]
7965 pub fn add_placement(&mut self, placement: STROKE_PLACEMENT) {
7966 self.fbb_.push_slot_always::<STROKE_PLACEMENT>(ElementStroke::VT_PLACEMENT, placement);
7967 }
7968 #[inline]
7969 pub fn add_stroke_sides(&mut self, stroke_sides: flatbuffers::WIPOffset<StrokeSides<'b >>) {
7970 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<StrokeSides>>(ElementStroke::VT_STROKE_SIDES, stroke_sides);
7971 }
7972 #[inline]
7973 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> ElementStrokeBuilder<'a, 'b, A> {
7974 let start = _fbb.start_table();
7975 ElementStrokeBuilder {
7976 fbb_: _fbb,
7977 start_: start,
7978 }
7979 }
7980 #[inline]
7981 pub fn finish(self) -> flatbuffers::WIPOffset<ElementStroke<'a>> {
7982 let o = self.fbb_.end_table(self.start_);
7983 flatbuffers::WIPOffset::new(o.value())
7984 }
7985}
7986
7987impl core::fmt::Debug for ElementStroke<'_> {
7988 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7989 let mut ds = f.debug_struct("ElementStroke");
7990 ds.field("content", &self.content());
7991 ds.field("width", &self.width());
7992 ds.field("style", &self.style());
7993 ds.field("placement", &self.placement());
7994 ds.field("stroke_sides", &self.stroke_sides());
7995 ds.finish()
7996 }
7997}
7998pub enum ElementBackgroundOffset {}
7999#[derive(Copy, Clone, PartialEq)]
8000
8001pub struct ElementBackground<'a> {
8002 pub _tab: flatbuffers::Table<'a>,
8003}
8004
8005impl<'a> flatbuffers::Follow<'a> for ElementBackground<'a> {
8006 type Inner = ElementBackground<'a>;
8007 #[inline]
8008 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8009 Self { _tab: flatbuffers::Table::new(buf, loc) }
8010 }
8011}
8012
8013impl<'a> ElementBackground<'a> {
8014 pub const VT_CONTENT: flatbuffers::VOffsetT = 4;
8015
8016 #[inline]
8017 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
8018 ElementBackground { _tab: table }
8019 }
8020 #[allow(unused_mut)]
8021 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
8022 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
8023 args: &'args ElementBackgroundArgs<'args>
8024 ) -> flatbuffers::WIPOffset<ElementBackground<'bldr>> {
8025 let mut builder = ElementBackgroundBuilder::new(_fbb);
8026 if let Some(x) = args.content { builder.add_content(x); }
8027 builder.finish()
8028 }
8029
8030
8031 #[inline]
8032 pub fn content(&self) -> Option<ElementContentBase<'a>> {
8033 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ElementContentBase>>(ElementBackground::VT_CONTENT, None)}
8037 }
8038}
8039
8040impl flatbuffers::Verifiable for ElementBackground<'_> {
8041 #[inline]
8042 fn run_verifier(
8043 v: &mut flatbuffers::Verifier, pos: usize
8044 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
8045 use self::flatbuffers::Verifiable;
8046 v.visit_table(pos)?
8047 .visit_field::<flatbuffers::ForwardsUOffset<ElementContentBase>>("content", Self::VT_CONTENT, false)?
8048 .finish();
8049 Ok(())
8050 }
8051}
8052pub struct ElementBackgroundArgs<'a> {
8053 pub content: Option<flatbuffers::WIPOffset<ElementContentBase<'a>>>,
8054}
8055impl<'a> Default for ElementBackgroundArgs<'a> {
8056 #[inline]
8057 fn default() -> Self {
8058 ElementBackgroundArgs {
8059 content: None,
8060 }
8061 }
8062}
8063
8064pub struct ElementBackgroundBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
8065 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
8066 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
8067}
8068impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> ElementBackgroundBuilder<'a, 'b, A> {
8069 #[inline]
8070 pub fn add_content(&mut self, content: flatbuffers::WIPOffset<ElementContentBase<'b >>) {
8071 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ElementContentBase>>(ElementBackground::VT_CONTENT, content);
8072 }
8073 #[inline]
8074 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> ElementBackgroundBuilder<'a, 'b, A> {
8075 let start = _fbb.start_table();
8076 ElementBackgroundBuilder {
8077 fbb_: _fbb,
8078 start_: start,
8079 }
8080 }
8081 #[inline]
8082 pub fn finish(self) -> flatbuffers::WIPOffset<ElementBackground<'a>> {
8083 let o = self.fbb_.end_table(self.start_);
8084 flatbuffers::WIPOffset::new(o.value())
8085 }
8086}
8087
8088impl core::fmt::Debug for ElementBackground<'_> {
8089 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
8090 let mut ds = f.debug_struct("ElementBackground");
8091 ds.field("content", &self.content());
8092 ds.finish()
8093 }
8094}
8095pub enum _DucElementStylesBaseOffset {}
8096#[derive(Copy, Clone, PartialEq)]
8097
8098pub struct _DucElementStylesBase<'a> {
8099 pub _tab: flatbuffers::Table<'a>,
8100}
8101
8102impl<'a> flatbuffers::Follow<'a> for _DucElementStylesBase<'a> {
8103 type Inner = _DucElementStylesBase<'a>;
8104 #[inline]
8105 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8106 Self { _tab: flatbuffers::Table::new(buf, loc) }
8107 }
8108}
8109
8110impl<'a> _DucElementStylesBase<'a> {
8111 pub const VT_ROUNDNESS: flatbuffers::VOffsetT = 4;
8112 pub const VT_BLENDING: flatbuffers::VOffsetT = 6;
8113 pub const VT_BACKGROUND: flatbuffers::VOffsetT = 8;
8114 pub const VT_STROKE: flatbuffers::VOffsetT = 10;
8115 pub const VT_OPACITY: flatbuffers::VOffsetT = 12;
8116
8117 #[inline]
8118 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
8119 _DucElementStylesBase { _tab: table }
8120 }
8121 #[allow(unused_mut)]
8122 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
8123 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
8124 args: &'args _DucElementStylesBaseArgs<'args>
8125 ) -> flatbuffers::WIPOffset<_DucElementStylesBase<'bldr>> {
8126 let mut builder = _DucElementStylesBaseBuilder::new(_fbb);
8127 builder.add_opacity(args.opacity);
8128 builder.add_roundness(args.roundness);
8129 if let Some(x) = args.stroke { builder.add_stroke(x); }
8130 if let Some(x) = args.background { builder.add_background(x); }
8131 if let Some(x) = args.blending { builder.add_blending(x); }
8132 builder.finish()
8133 }
8134
8135
8136 #[inline]
8137 pub fn roundness(&self) -> f64 {
8138 unsafe { self._tab.get::<f64>(_DucElementStylesBase::VT_ROUNDNESS, Some(0.0)).unwrap()}
8142 }
8143 #[inline]
8144 pub fn blending(&self) -> Option<BLENDING> {
8145 unsafe { self._tab.get::<BLENDING>(_DucElementStylesBase::VT_BLENDING, None)}
8149 }
8150 #[inline]
8151 pub fn background(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<ElementBackground<'a>>>> {
8152 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<ElementBackground>>>>(_DucElementStylesBase::VT_BACKGROUND, None)}
8156 }
8157 #[inline]
8158 pub fn stroke(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<ElementStroke<'a>>>> {
8159 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<ElementStroke>>>>(_DucElementStylesBase::VT_STROKE, None)}
8163 }
8164 #[inline]
8165 pub fn opacity(&self) -> f64 {
8166 unsafe { self._tab.get::<f64>(_DucElementStylesBase::VT_OPACITY, Some(0.0)).unwrap()}
8170 }
8171}
8172
8173impl flatbuffers::Verifiable for _DucElementStylesBase<'_> {
8174 #[inline]
8175 fn run_verifier(
8176 v: &mut flatbuffers::Verifier, pos: usize
8177 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
8178 use self::flatbuffers::Verifiable;
8179 v.visit_table(pos)?
8180 .visit_field::<f64>("roundness", Self::VT_ROUNDNESS, false)?
8181 .visit_field::<BLENDING>("blending", Self::VT_BLENDING, false)?
8182 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<ElementBackground>>>>("background", Self::VT_BACKGROUND, false)?
8183 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<ElementStroke>>>>("stroke", Self::VT_STROKE, false)?
8184 .visit_field::<f64>("opacity", Self::VT_OPACITY, false)?
8185 .finish();
8186 Ok(())
8187 }
8188}
8189pub struct _DucElementStylesBaseArgs<'a> {
8190 pub roundness: f64,
8191 pub blending: Option<BLENDING>,
8192 pub background: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<ElementBackground<'a>>>>>,
8193 pub stroke: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<ElementStroke<'a>>>>>,
8194 pub opacity: f64,
8195}
8196impl<'a> Default for _DucElementStylesBaseArgs<'a> {
8197 #[inline]
8198 fn default() -> Self {
8199 _DucElementStylesBaseArgs {
8200 roundness: 0.0,
8201 blending: None,
8202 background: None,
8203 stroke: None,
8204 opacity: 0.0,
8205 }
8206 }
8207}
8208
8209pub struct _DucElementStylesBaseBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
8210 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
8211 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
8212}
8213impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> _DucElementStylesBaseBuilder<'a, 'b, A> {
8214 #[inline]
8215 pub fn add_roundness(&mut self, roundness: f64) {
8216 self.fbb_.push_slot::<f64>(_DucElementStylesBase::VT_ROUNDNESS, roundness, 0.0);
8217 }
8218 #[inline]
8219 pub fn add_blending(&mut self, blending: BLENDING) {
8220 self.fbb_.push_slot_always::<BLENDING>(_DucElementStylesBase::VT_BLENDING, blending);
8221 }
8222 #[inline]
8223 pub fn add_background(&mut self, background: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<ElementBackground<'b >>>>) {
8224 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucElementStylesBase::VT_BACKGROUND, background);
8225 }
8226 #[inline]
8227 pub fn add_stroke(&mut self, stroke: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<ElementStroke<'b >>>>) {
8228 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucElementStylesBase::VT_STROKE, stroke);
8229 }
8230 #[inline]
8231 pub fn add_opacity(&mut self, opacity: f64) {
8232 self.fbb_.push_slot::<f64>(_DucElementStylesBase::VT_OPACITY, opacity, 0.0);
8233 }
8234 #[inline]
8235 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> _DucElementStylesBaseBuilder<'a, 'b, A> {
8236 let start = _fbb.start_table();
8237 _DucElementStylesBaseBuilder {
8238 fbb_: _fbb,
8239 start_: start,
8240 }
8241 }
8242 #[inline]
8243 pub fn finish(self) -> flatbuffers::WIPOffset<_DucElementStylesBase<'a>> {
8244 let o = self.fbb_.end_table(self.start_);
8245 flatbuffers::WIPOffset::new(o.value())
8246 }
8247}
8248
8249impl core::fmt::Debug for _DucElementStylesBase<'_> {
8250 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
8251 let mut ds = f.debug_struct("_DucElementStylesBase");
8252 ds.field("roundness", &self.roundness());
8253 ds.field("blending", &self.blending());
8254 ds.field("background", &self.background());
8255 ds.field("stroke", &self.stroke());
8256 ds.field("opacity", &self.opacity());
8257 ds.finish()
8258 }
8259}
8260pub enum BoundElementOffset {}
8261#[derive(Copy, Clone, PartialEq)]
8262
8263pub struct BoundElement<'a> {
8264 pub _tab: flatbuffers::Table<'a>,
8265}
8266
8267impl<'a> flatbuffers::Follow<'a> for BoundElement<'a> {
8268 type Inner = BoundElement<'a>;
8269 #[inline]
8270 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8271 Self { _tab: flatbuffers::Table::new(buf, loc) }
8272 }
8273}
8274
8275impl<'a> BoundElement<'a> {
8276 pub const VT_ID: flatbuffers::VOffsetT = 4;
8277 pub const VT_TYPE_: flatbuffers::VOffsetT = 6;
8278
8279 #[inline]
8280 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
8281 BoundElement { _tab: table }
8282 }
8283 #[allow(unused_mut)]
8284 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
8285 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
8286 args: &'args BoundElementArgs<'args>
8287 ) -> flatbuffers::WIPOffset<BoundElement<'bldr>> {
8288 let mut builder = BoundElementBuilder::new(_fbb);
8289 if let Some(x) = args.type_ { builder.add_type_(x); }
8290 if let Some(x) = args.id { builder.add_id(x); }
8291 builder.finish()
8292 }
8293
8294
8295 #[inline]
8296 pub fn id(&self) -> Option<&'a str> {
8297 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(BoundElement::VT_ID, None)}
8301 }
8302 #[inline]
8303 pub fn type_(&self) -> Option<&'a str> {
8304 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(BoundElement::VT_TYPE_, None)}
8308 }
8309}
8310
8311impl flatbuffers::Verifiable for BoundElement<'_> {
8312 #[inline]
8313 fn run_verifier(
8314 v: &mut flatbuffers::Verifier, pos: usize
8315 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
8316 use self::flatbuffers::Verifiable;
8317 v.visit_table(pos)?
8318 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("id", Self::VT_ID, false)?
8319 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("type_", Self::VT_TYPE_, false)?
8320 .finish();
8321 Ok(())
8322 }
8323}
8324pub struct BoundElementArgs<'a> {
8325 pub id: Option<flatbuffers::WIPOffset<&'a str>>,
8326 pub type_: Option<flatbuffers::WIPOffset<&'a str>>,
8327}
8328impl<'a> Default for BoundElementArgs<'a> {
8329 #[inline]
8330 fn default() -> Self {
8331 BoundElementArgs {
8332 id: None,
8333 type_: None,
8334 }
8335 }
8336}
8337
8338pub struct BoundElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
8339 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
8340 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
8341}
8342impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> BoundElementBuilder<'a, 'b, A> {
8343 #[inline]
8344 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<&'b str>) {
8345 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(BoundElement::VT_ID, id);
8346 }
8347 #[inline]
8348 pub fn add_type_(&mut self, type_: flatbuffers::WIPOffset<&'b str>) {
8349 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(BoundElement::VT_TYPE_, type_);
8350 }
8351 #[inline]
8352 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> BoundElementBuilder<'a, 'b, A> {
8353 let start = _fbb.start_table();
8354 BoundElementBuilder {
8355 fbb_: _fbb,
8356 start_: start,
8357 }
8358 }
8359 #[inline]
8360 pub fn finish(self) -> flatbuffers::WIPOffset<BoundElement<'a>> {
8361 let o = self.fbb_.end_table(self.start_);
8362 flatbuffers::WIPOffset::new(o.value())
8363 }
8364}
8365
8366impl core::fmt::Debug for BoundElement<'_> {
8367 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
8368 let mut ds = f.debug_struct("BoundElement");
8369 ds.field("id", &self.id());
8370 ds.field("type_", &self.type_());
8371 ds.finish()
8372 }
8373}
8374pub enum _DucElementBaseOffset {}
8375#[derive(Copy, Clone, PartialEq)]
8376
8377pub struct _DucElementBase<'a> {
8378 pub _tab: flatbuffers::Table<'a>,
8379}
8380
8381impl<'a> flatbuffers::Follow<'a> for _DucElementBase<'a> {
8382 type Inner = _DucElementBase<'a>;
8383 #[inline]
8384 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8385 Self { _tab: flatbuffers::Table::new(buf, loc) }
8386 }
8387}
8388
8389impl<'a> _DucElementBase<'a> {
8390 pub const VT_ID: flatbuffers::VOffsetT = 4;
8391 pub const VT_STYLES: flatbuffers::VOffsetT = 6;
8392 pub const VT_X: flatbuffers::VOffsetT = 8;
8393 pub const VT_Y: flatbuffers::VOffsetT = 10;
8394 pub const VT_WIDTH: flatbuffers::VOffsetT = 12;
8395 pub const VT_HEIGHT: flatbuffers::VOffsetT = 14;
8396 pub const VT_ANGLE: flatbuffers::VOffsetT = 16;
8397 pub const VT_SCOPE: flatbuffers::VOffsetT = 18;
8398 pub const VT_LABEL: flatbuffers::VOffsetT = 20;
8399 pub const VT_DESCRIPTION: flatbuffers::VOffsetT = 22;
8400 pub const VT_IS_VISIBLE: flatbuffers::VOffsetT = 24;
8401 pub const VT_SEED: flatbuffers::VOffsetT = 26;
8402 pub const VT_VERSION: flatbuffers::VOffsetT = 28;
8403 pub const VT_VERSION_NONCE: flatbuffers::VOffsetT = 30;
8404 pub const VT_UPDATED: flatbuffers::VOffsetT = 32;
8405 pub const VT_INDEX: flatbuffers::VOffsetT = 34;
8406 pub const VT_IS_PLOT: flatbuffers::VOffsetT = 36;
8407 pub const VT_IS_ANNOTATIVE: flatbuffers::VOffsetT = 38;
8408 pub const VT_IS_DELETED: flatbuffers::VOffsetT = 40;
8409 pub const VT_GROUP_IDS: flatbuffers::VOffsetT = 42;
8410 pub const VT_REGION_IDS: flatbuffers::VOffsetT = 44;
8411 pub const VT_LAYER_ID: flatbuffers::VOffsetT = 46;
8412 pub const VT_FRAME_ID: flatbuffers::VOffsetT = 48;
8413 pub const VT_BOUND_ELEMENTS: flatbuffers::VOffsetT = 50;
8414 pub const VT_Z_INDEX: flatbuffers::VOffsetT = 52;
8415 pub const VT_LINK: flatbuffers::VOffsetT = 54;
8416 pub const VT_LOCKED: flatbuffers::VOffsetT = 56;
8417 pub const VT_BLOCK_IDS: flatbuffers::VOffsetT = 60;
8418 pub const VT_INSTANCE_ID: flatbuffers::VOffsetT = 62;
8419 pub const VT_CUSTOM_DATA: flatbuffers::VOffsetT = 64;
8420
8421 #[inline]
8422 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
8423 _DucElementBase { _tab: table }
8424 }
8425 #[allow(unused_mut)]
8426 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
8427 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
8428 args: &'args _DucElementBaseArgs<'args>
8429 ) -> flatbuffers::WIPOffset<_DucElementBase<'bldr>> {
8430 let mut builder = _DucElementBaseBuilder::new(_fbb);
8431 builder.add_updated(args.updated);
8432 builder.add_angle(args.angle);
8433 builder.add_height(args.height);
8434 builder.add_width(args.width);
8435 builder.add_y(args.y);
8436 builder.add_x(args.x);
8437 if let Some(x) = args.custom_data { builder.add_custom_data(x); }
8438 if let Some(x) = args.instance_id { builder.add_instance_id(x); }
8439 if let Some(x) = args.block_ids { builder.add_block_ids(x); }
8440 if let Some(x) = args.link { builder.add_link(x); }
8441 builder.add_z_index(args.z_index);
8442 if let Some(x) = args.bound_elements { builder.add_bound_elements(x); }
8443 if let Some(x) = args.frame_id { builder.add_frame_id(x); }
8444 if let Some(x) = args.layer_id { builder.add_layer_id(x); }
8445 if let Some(x) = args.region_ids { builder.add_region_ids(x); }
8446 if let Some(x) = args.group_ids { builder.add_group_ids(x); }
8447 if let Some(x) = args.index { builder.add_index(x); }
8448 builder.add_version_nonce(args.version_nonce);
8449 builder.add_version(args.version);
8450 builder.add_seed(args.seed);
8451 if let Some(x) = args.description { builder.add_description(x); }
8452 if let Some(x) = args.label { builder.add_label(x); }
8453 if let Some(x) = args.scope { builder.add_scope(x); }
8454 if let Some(x) = args.styles { builder.add_styles(x); }
8455 if let Some(x) = args.id { builder.add_id(x); }
8456 builder.add_locked(args.locked);
8457 builder.add_is_deleted(args.is_deleted);
8458 builder.add_is_annotative(args.is_annotative);
8459 builder.add_is_plot(args.is_plot);
8460 builder.add_is_visible(args.is_visible);
8461 builder.finish()
8462 }
8463
8464
8465 #[inline]
8466 pub fn id(&self) -> &'a str {
8467 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(_DucElementBase::VT_ID, None).unwrap()}
8471 }
8472 #[inline]
8473 pub fn key_compare_less_than(&self, o: &_DucElementBase) -> bool {
8474 self.id() < o.id()
8475 }
8476
8477 #[inline]
8478 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
8479 let key = self.id();
8480 key.cmp(val)
8481 }
8482 #[inline]
8483 pub fn styles(&self) -> Option<_DucElementStylesBase<'a>> {
8484 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementStylesBase>>(_DucElementBase::VT_STYLES, None)}
8488 }
8489 #[inline]
8490 pub fn x(&self) -> f64 {
8491 unsafe { self._tab.get::<f64>(_DucElementBase::VT_X, Some(0.0)).unwrap()}
8495 }
8496 #[inline]
8497 pub fn y(&self) -> f64 {
8498 unsafe { self._tab.get::<f64>(_DucElementBase::VT_Y, Some(0.0)).unwrap()}
8502 }
8503 #[inline]
8504 pub fn width(&self) -> f64 {
8505 unsafe { self._tab.get::<f64>(_DucElementBase::VT_WIDTH, Some(0.0)).unwrap()}
8509 }
8510 #[inline]
8511 pub fn height(&self) -> f64 {
8512 unsafe { self._tab.get::<f64>(_DucElementBase::VT_HEIGHT, Some(0.0)).unwrap()}
8516 }
8517 #[inline]
8518 pub fn angle(&self) -> f64 {
8519 unsafe { self._tab.get::<f64>(_DucElementBase::VT_ANGLE, Some(0.0)).unwrap()}
8523 }
8524 #[inline]
8525 pub fn scope(&self) -> Option<&'a str> {
8526 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(_DucElementBase::VT_SCOPE, None)}
8530 }
8531 #[inline]
8532 pub fn label(&self) -> Option<&'a str> {
8533 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(_DucElementBase::VT_LABEL, None)}
8537 }
8538 #[inline]
8539 pub fn description(&self) -> Option<&'a str> {
8540 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(_DucElementBase::VT_DESCRIPTION, None)}
8544 }
8545 #[inline]
8546 pub fn is_visible(&self) -> bool {
8547 unsafe { self._tab.get::<bool>(_DucElementBase::VT_IS_VISIBLE, Some(false)).unwrap()}
8551 }
8552 #[inline]
8553 pub fn seed(&self) -> i32 {
8554 unsafe { self._tab.get::<i32>(_DucElementBase::VT_SEED, Some(0)).unwrap()}
8558 }
8559 #[inline]
8560 pub fn version(&self) -> i32 {
8561 unsafe { self._tab.get::<i32>(_DucElementBase::VT_VERSION, Some(0)).unwrap()}
8565 }
8566 #[inline]
8567 pub fn version_nonce(&self) -> i32 {
8568 unsafe { self._tab.get::<i32>(_DucElementBase::VT_VERSION_NONCE, Some(0)).unwrap()}
8572 }
8573 #[inline]
8574 pub fn updated(&self) -> i64 {
8575 unsafe { self._tab.get::<i64>(_DucElementBase::VT_UPDATED, Some(0)).unwrap()}
8579 }
8580 #[inline]
8581 pub fn index(&self) -> Option<&'a str> {
8582 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(_DucElementBase::VT_INDEX, None)}
8586 }
8587 #[inline]
8588 pub fn is_plot(&self) -> bool {
8589 unsafe { self._tab.get::<bool>(_DucElementBase::VT_IS_PLOT, Some(false)).unwrap()}
8593 }
8594 #[inline]
8595 pub fn is_annotative(&self) -> bool {
8596 unsafe { self._tab.get::<bool>(_DucElementBase::VT_IS_ANNOTATIVE, Some(false)).unwrap()}
8600 }
8601 #[inline]
8602 pub fn is_deleted(&self) -> bool {
8603 unsafe { self._tab.get::<bool>(_DucElementBase::VT_IS_DELETED, Some(false)).unwrap()}
8607 }
8608 #[inline]
8609 pub fn group_ids(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
8610 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(_DucElementBase::VT_GROUP_IDS, None)}
8614 }
8615 #[inline]
8616 pub fn region_ids(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
8617 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(_DucElementBase::VT_REGION_IDS, None)}
8621 }
8622 #[inline]
8623 pub fn layer_id(&self) -> Option<&'a str> {
8624 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(_DucElementBase::VT_LAYER_ID, None)}
8628 }
8629 #[inline]
8630 pub fn frame_id(&self) -> Option<&'a str> {
8631 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(_DucElementBase::VT_FRAME_ID, None)}
8635 }
8636 #[inline]
8637 pub fn bound_elements(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<BoundElement<'a>>>> {
8638 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<BoundElement>>>>(_DucElementBase::VT_BOUND_ELEMENTS, None)}
8642 }
8643 #[inline]
8644 pub fn z_index(&self) -> f32 {
8645 unsafe { self._tab.get::<f32>(_DucElementBase::VT_Z_INDEX, Some(0.0)).unwrap()}
8649 }
8650 #[inline]
8651 pub fn link(&self) -> Option<&'a str> {
8652 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(_DucElementBase::VT_LINK, None)}
8656 }
8657 #[inline]
8658 pub fn locked(&self) -> bool {
8659 unsafe { self._tab.get::<bool>(_DucElementBase::VT_LOCKED, Some(false)).unwrap()}
8663 }
8664 #[inline]
8665 pub fn block_ids(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
8666 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(_DucElementBase::VT_BLOCK_IDS, None)}
8670 }
8671 #[inline]
8672 pub fn instance_id(&self) -> Option<&'a str> {
8673 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(_DucElementBase::VT_INSTANCE_ID, None)}
8677 }
8678 #[inline]
8679 pub fn custom_data(&self) -> Option<flatbuffers::Vector<'a, u8>> {
8680 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(_DucElementBase::VT_CUSTOM_DATA, None)}
8684 }
8685}
8686
8687impl flatbuffers::Verifiable for _DucElementBase<'_> {
8688 #[inline]
8689 fn run_verifier(
8690 v: &mut flatbuffers::Verifier, pos: usize
8691 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
8692 use self::flatbuffers::Verifiable;
8693 v.visit_table(pos)?
8694 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("id", Self::VT_ID, true)?
8695 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementStylesBase>>("styles", Self::VT_STYLES, false)?
8696 .visit_field::<f64>("x", Self::VT_X, false)?
8697 .visit_field::<f64>("y", Self::VT_Y, false)?
8698 .visit_field::<f64>("width", Self::VT_WIDTH, false)?
8699 .visit_field::<f64>("height", Self::VT_HEIGHT, false)?
8700 .visit_field::<f64>("angle", Self::VT_ANGLE, false)?
8701 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("scope", Self::VT_SCOPE, false)?
8702 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("label", Self::VT_LABEL, false)?
8703 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("description", Self::VT_DESCRIPTION, false)?
8704 .visit_field::<bool>("is_visible", Self::VT_IS_VISIBLE, false)?
8705 .visit_field::<i32>("seed", Self::VT_SEED, false)?
8706 .visit_field::<i32>("version", Self::VT_VERSION, false)?
8707 .visit_field::<i32>("version_nonce", Self::VT_VERSION_NONCE, false)?
8708 .visit_field::<i64>("updated", Self::VT_UPDATED, false)?
8709 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("index", Self::VT_INDEX, false)?
8710 .visit_field::<bool>("is_plot", Self::VT_IS_PLOT, false)?
8711 .visit_field::<bool>("is_annotative", Self::VT_IS_ANNOTATIVE, false)?
8712 .visit_field::<bool>("is_deleted", Self::VT_IS_DELETED, false)?
8713 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("group_ids", Self::VT_GROUP_IDS, false)?
8714 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("region_ids", Self::VT_REGION_IDS, false)?
8715 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("layer_id", Self::VT_LAYER_ID, false)?
8716 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("frame_id", Self::VT_FRAME_ID, false)?
8717 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<BoundElement>>>>("bound_elements", Self::VT_BOUND_ELEMENTS, false)?
8718 .visit_field::<f32>("z_index", Self::VT_Z_INDEX, false)?
8719 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("link", Self::VT_LINK, false)?
8720 .visit_field::<bool>("locked", Self::VT_LOCKED, false)?
8721 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("block_ids", Self::VT_BLOCK_IDS, false)?
8722 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("instance_id", Self::VT_INSTANCE_ID, false)?
8723 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("custom_data", Self::VT_CUSTOM_DATA, false)?
8724 .finish();
8725 Ok(())
8726 }
8727}
8728pub struct _DucElementBaseArgs<'a> {
8729 pub id: Option<flatbuffers::WIPOffset<&'a str>>,
8730 pub styles: Option<flatbuffers::WIPOffset<_DucElementStylesBase<'a>>>,
8731 pub x: f64,
8732 pub y: f64,
8733 pub width: f64,
8734 pub height: f64,
8735 pub angle: f64,
8736 pub scope: Option<flatbuffers::WIPOffset<&'a str>>,
8737 pub label: Option<flatbuffers::WIPOffset<&'a str>>,
8738 pub description: Option<flatbuffers::WIPOffset<&'a str>>,
8739 pub is_visible: bool,
8740 pub seed: i32,
8741 pub version: i32,
8742 pub version_nonce: i32,
8743 pub updated: i64,
8744 pub index: Option<flatbuffers::WIPOffset<&'a str>>,
8745 pub is_plot: bool,
8746 pub is_annotative: bool,
8747 pub is_deleted: bool,
8748 pub group_ids: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
8749 pub region_ids: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
8750 pub layer_id: Option<flatbuffers::WIPOffset<&'a str>>,
8751 pub frame_id: Option<flatbuffers::WIPOffset<&'a str>>,
8752 pub bound_elements: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<BoundElement<'a>>>>>,
8753 pub z_index: f32,
8754 pub link: Option<flatbuffers::WIPOffset<&'a str>>,
8755 pub locked: bool,
8756 pub block_ids: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
8757 pub instance_id: Option<flatbuffers::WIPOffset<&'a str>>,
8758 pub custom_data: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
8759}
8760impl<'a> Default for _DucElementBaseArgs<'a> {
8761 #[inline]
8762 fn default() -> Self {
8763 _DucElementBaseArgs {
8764 id: None, styles: None,
8766 x: 0.0,
8767 y: 0.0,
8768 width: 0.0,
8769 height: 0.0,
8770 angle: 0.0,
8771 scope: None,
8772 label: None,
8773 description: None,
8774 is_visible: false,
8775 seed: 0,
8776 version: 0,
8777 version_nonce: 0,
8778 updated: 0,
8779 index: None,
8780 is_plot: false,
8781 is_annotative: false,
8782 is_deleted: false,
8783 group_ids: None,
8784 region_ids: None,
8785 layer_id: None,
8786 frame_id: None,
8787 bound_elements: None,
8788 z_index: 0.0,
8789 link: None,
8790 locked: false,
8791 block_ids: None,
8792 instance_id: None,
8793 custom_data: None,
8794 }
8795 }
8796}
8797
8798pub struct _DucElementBaseBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
8799 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
8800 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
8801}
8802impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> _DucElementBaseBuilder<'a, 'b, A> {
8803 #[inline]
8804 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<&'b str>) {
8805 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucElementBase::VT_ID, id);
8806 }
8807 #[inline]
8808 pub fn add_styles(&mut self, styles: flatbuffers::WIPOffset<_DucElementStylesBase<'b >>) {
8809 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementStylesBase>>(_DucElementBase::VT_STYLES, styles);
8810 }
8811 #[inline]
8812 pub fn add_x(&mut self, x: f64) {
8813 self.fbb_.push_slot::<f64>(_DucElementBase::VT_X, x, 0.0);
8814 }
8815 #[inline]
8816 pub fn add_y(&mut self, y: f64) {
8817 self.fbb_.push_slot::<f64>(_DucElementBase::VT_Y, y, 0.0);
8818 }
8819 #[inline]
8820 pub fn add_width(&mut self, width: f64) {
8821 self.fbb_.push_slot::<f64>(_DucElementBase::VT_WIDTH, width, 0.0);
8822 }
8823 #[inline]
8824 pub fn add_height(&mut self, height: f64) {
8825 self.fbb_.push_slot::<f64>(_DucElementBase::VT_HEIGHT, height, 0.0);
8826 }
8827 #[inline]
8828 pub fn add_angle(&mut self, angle: f64) {
8829 self.fbb_.push_slot::<f64>(_DucElementBase::VT_ANGLE, angle, 0.0);
8830 }
8831 #[inline]
8832 pub fn add_scope(&mut self, scope: flatbuffers::WIPOffset<&'b str>) {
8833 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucElementBase::VT_SCOPE, scope);
8834 }
8835 #[inline]
8836 pub fn add_label(&mut self, label: flatbuffers::WIPOffset<&'b str>) {
8837 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucElementBase::VT_LABEL, label);
8838 }
8839 #[inline]
8840 pub fn add_description(&mut self, description: flatbuffers::WIPOffset<&'b str>) {
8841 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucElementBase::VT_DESCRIPTION, description);
8842 }
8843 #[inline]
8844 pub fn add_is_visible(&mut self, is_visible: bool) {
8845 self.fbb_.push_slot::<bool>(_DucElementBase::VT_IS_VISIBLE, is_visible, false);
8846 }
8847 #[inline]
8848 pub fn add_seed(&mut self, seed: i32) {
8849 self.fbb_.push_slot::<i32>(_DucElementBase::VT_SEED, seed, 0);
8850 }
8851 #[inline]
8852 pub fn add_version(&mut self, version: i32) {
8853 self.fbb_.push_slot::<i32>(_DucElementBase::VT_VERSION, version, 0);
8854 }
8855 #[inline]
8856 pub fn add_version_nonce(&mut self, version_nonce: i32) {
8857 self.fbb_.push_slot::<i32>(_DucElementBase::VT_VERSION_NONCE, version_nonce, 0);
8858 }
8859 #[inline]
8860 pub fn add_updated(&mut self, updated: i64) {
8861 self.fbb_.push_slot::<i64>(_DucElementBase::VT_UPDATED, updated, 0);
8862 }
8863 #[inline]
8864 pub fn add_index(&mut self, index: flatbuffers::WIPOffset<&'b str>) {
8865 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucElementBase::VT_INDEX, index);
8866 }
8867 #[inline]
8868 pub fn add_is_plot(&mut self, is_plot: bool) {
8869 self.fbb_.push_slot::<bool>(_DucElementBase::VT_IS_PLOT, is_plot, false);
8870 }
8871 #[inline]
8872 pub fn add_is_annotative(&mut self, is_annotative: bool) {
8873 self.fbb_.push_slot::<bool>(_DucElementBase::VT_IS_ANNOTATIVE, is_annotative, false);
8874 }
8875 #[inline]
8876 pub fn add_is_deleted(&mut self, is_deleted: bool) {
8877 self.fbb_.push_slot::<bool>(_DucElementBase::VT_IS_DELETED, is_deleted, false);
8878 }
8879 #[inline]
8880 pub fn add_group_ids(&mut self, group_ids: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
8881 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucElementBase::VT_GROUP_IDS, group_ids);
8882 }
8883 #[inline]
8884 pub fn add_region_ids(&mut self, region_ids: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
8885 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucElementBase::VT_REGION_IDS, region_ids);
8886 }
8887 #[inline]
8888 pub fn add_layer_id(&mut self, layer_id: flatbuffers::WIPOffset<&'b str>) {
8889 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucElementBase::VT_LAYER_ID, layer_id);
8890 }
8891 #[inline]
8892 pub fn add_frame_id(&mut self, frame_id: flatbuffers::WIPOffset<&'b str>) {
8893 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucElementBase::VT_FRAME_ID, frame_id);
8894 }
8895 #[inline]
8896 pub fn add_bound_elements(&mut self, bound_elements: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<BoundElement<'b >>>>) {
8897 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucElementBase::VT_BOUND_ELEMENTS, bound_elements);
8898 }
8899 #[inline]
8900 pub fn add_z_index(&mut self, z_index: f32) {
8901 self.fbb_.push_slot::<f32>(_DucElementBase::VT_Z_INDEX, z_index, 0.0);
8902 }
8903 #[inline]
8904 pub fn add_link(&mut self, link: flatbuffers::WIPOffset<&'b str>) {
8905 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucElementBase::VT_LINK, link);
8906 }
8907 #[inline]
8908 pub fn add_locked(&mut self, locked: bool) {
8909 self.fbb_.push_slot::<bool>(_DucElementBase::VT_LOCKED, locked, false);
8910 }
8911 #[inline]
8912 pub fn add_block_ids(&mut self, block_ids: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
8913 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucElementBase::VT_BLOCK_IDS, block_ids);
8914 }
8915 #[inline]
8916 pub fn add_instance_id(&mut self, instance_id: flatbuffers::WIPOffset<&'b str>) {
8917 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucElementBase::VT_INSTANCE_ID, instance_id);
8918 }
8919 #[inline]
8920 pub fn add_custom_data(&mut self, custom_data: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
8921 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucElementBase::VT_CUSTOM_DATA, custom_data);
8922 }
8923 #[inline]
8924 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> _DucElementBaseBuilder<'a, 'b, A> {
8925 let start = _fbb.start_table();
8926 _DucElementBaseBuilder {
8927 fbb_: _fbb,
8928 start_: start,
8929 }
8930 }
8931 #[inline]
8932 pub fn finish(self) -> flatbuffers::WIPOffset<_DucElementBase<'a>> {
8933 let o = self.fbb_.end_table(self.start_);
8934 self.fbb_.required(o, _DucElementBase::VT_ID,"id");
8935 flatbuffers::WIPOffset::new(o.value())
8936 }
8937}
8938
8939impl core::fmt::Debug for _DucElementBase<'_> {
8940 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
8941 let mut ds = f.debug_struct("_DucElementBase");
8942 ds.field("id", &self.id());
8943 ds.field("styles", &self.styles());
8944 ds.field("x", &self.x());
8945 ds.field("y", &self.y());
8946 ds.field("width", &self.width());
8947 ds.field("height", &self.height());
8948 ds.field("angle", &self.angle());
8949 ds.field("scope", &self.scope());
8950 ds.field("label", &self.label());
8951 ds.field("description", &self.description());
8952 ds.field("is_visible", &self.is_visible());
8953 ds.field("seed", &self.seed());
8954 ds.field("version", &self.version());
8955 ds.field("version_nonce", &self.version_nonce());
8956 ds.field("updated", &self.updated());
8957 ds.field("index", &self.index());
8958 ds.field("is_plot", &self.is_plot());
8959 ds.field("is_annotative", &self.is_annotative());
8960 ds.field("is_deleted", &self.is_deleted());
8961 ds.field("group_ids", &self.group_ids());
8962 ds.field("region_ids", &self.region_ids());
8963 ds.field("layer_id", &self.layer_id());
8964 ds.field("frame_id", &self.frame_id());
8965 ds.field("bound_elements", &self.bound_elements());
8966 ds.field("z_index", &self.z_index());
8967 ds.field("link", &self.link());
8968 ds.field("locked", &self.locked());
8969 ds.field("block_ids", &self.block_ids());
8970 ds.field("instance_id", &self.instance_id());
8971 ds.field("custom_data", &self.custom_data());
8972 ds.finish()
8973 }
8974}
8975pub enum DucPointOffset {}
8976#[derive(Copy, Clone, PartialEq)]
8977
8978pub struct DucPoint<'a> {
8979 pub _tab: flatbuffers::Table<'a>,
8980}
8981
8982impl<'a> flatbuffers::Follow<'a> for DucPoint<'a> {
8983 type Inner = DucPoint<'a>;
8984 #[inline]
8985 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8986 Self { _tab: flatbuffers::Table::new(buf, loc) }
8987 }
8988}
8989
8990impl<'a> DucPoint<'a> {
8991 pub const VT_X: flatbuffers::VOffsetT = 4;
8992 pub const VT_Y: flatbuffers::VOffsetT = 6;
8993 pub const VT_MIRRORING: flatbuffers::VOffsetT = 8;
8994
8995 #[inline]
8996 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
8997 DucPoint { _tab: table }
8998 }
8999 #[allow(unused_mut)]
9000 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
9001 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
9002 args: &'args DucPointArgs
9003 ) -> flatbuffers::WIPOffset<DucPoint<'bldr>> {
9004 let mut builder = DucPointBuilder::new(_fbb);
9005 builder.add_y(args.y);
9006 builder.add_x(args.x);
9007 if let Some(x) = args.mirroring { builder.add_mirroring(x); }
9008 builder.finish()
9009 }
9010
9011
9012 #[inline]
9013 pub fn x(&self) -> f64 {
9014 unsafe { self._tab.get::<f64>(DucPoint::VT_X, Some(0.0)).unwrap()}
9018 }
9019 #[inline]
9020 pub fn y(&self) -> f64 {
9021 unsafe { self._tab.get::<f64>(DucPoint::VT_Y, Some(0.0)).unwrap()}
9025 }
9026 #[inline]
9027 pub fn mirroring(&self) -> Option<BEZIER_MIRRORING> {
9028 unsafe { self._tab.get::<BEZIER_MIRRORING>(DucPoint::VT_MIRRORING, None)}
9032 }
9033}
9034
9035impl flatbuffers::Verifiable for DucPoint<'_> {
9036 #[inline]
9037 fn run_verifier(
9038 v: &mut flatbuffers::Verifier, pos: usize
9039 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9040 use self::flatbuffers::Verifiable;
9041 v.visit_table(pos)?
9042 .visit_field::<f64>("x", Self::VT_X, false)?
9043 .visit_field::<f64>("y", Self::VT_Y, false)?
9044 .visit_field::<BEZIER_MIRRORING>("mirroring", Self::VT_MIRRORING, false)?
9045 .finish();
9046 Ok(())
9047 }
9048}
9049pub struct DucPointArgs {
9050 pub x: f64,
9051 pub y: f64,
9052 pub mirroring: Option<BEZIER_MIRRORING>,
9053}
9054impl<'a> Default for DucPointArgs {
9055 #[inline]
9056 fn default() -> Self {
9057 DucPointArgs {
9058 x: 0.0,
9059 y: 0.0,
9060 mirroring: None,
9061 }
9062 }
9063}
9064
9065pub struct DucPointBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
9066 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
9067 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9068}
9069impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucPointBuilder<'a, 'b, A> {
9070 #[inline]
9071 pub fn add_x(&mut self, x: f64) {
9072 self.fbb_.push_slot::<f64>(DucPoint::VT_X, x, 0.0);
9073 }
9074 #[inline]
9075 pub fn add_y(&mut self, y: f64) {
9076 self.fbb_.push_slot::<f64>(DucPoint::VT_Y, y, 0.0);
9077 }
9078 #[inline]
9079 pub fn add_mirroring(&mut self, mirroring: BEZIER_MIRRORING) {
9080 self.fbb_.push_slot_always::<BEZIER_MIRRORING>(DucPoint::VT_MIRRORING, mirroring);
9081 }
9082 #[inline]
9083 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucPointBuilder<'a, 'b, A> {
9084 let start = _fbb.start_table();
9085 DucPointBuilder {
9086 fbb_: _fbb,
9087 start_: start,
9088 }
9089 }
9090 #[inline]
9091 pub fn finish(self) -> flatbuffers::WIPOffset<DucPoint<'a>> {
9092 let o = self.fbb_.end_table(self.start_);
9093 flatbuffers::WIPOffset::new(o.value())
9094 }
9095}
9096
9097impl core::fmt::Debug for DucPoint<'_> {
9098 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9099 let mut ds = f.debug_struct("DucPoint");
9100 ds.field("x", &self.x());
9101 ds.field("y", &self.y());
9102 ds.field("mirroring", &self.mirroring());
9103 ds.finish()
9104 }
9105}
9106pub enum DucHeadOffset {}
9107#[derive(Copy, Clone, PartialEq)]
9108
9109pub struct DucHead<'a> {
9110 pub _tab: flatbuffers::Table<'a>,
9111}
9112
9113impl<'a> flatbuffers::Follow<'a> for DucHead<'a> {
9114 type Inner = DucHead<'a>;
9115 #[inline]
9116 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9117 Self { _tab: flatbuffers::Table::new(buf, loc) }
9118 }
9119}
9120
9121impl<'a> DucHead<'a> {
9122 pub const VT_TYPE_: flatbuffers::VOffsetT = 4;
9123 pub const VT_BLOCK_ID: flatbuffers::VOffsetT = 6;
9124 pub const VT_SIZE: flatbuffers::VOffsetT = 8;
9125
9126 #[inline]
9127 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9128 DucHead { _tab: table }
9129 }
9130 #[allow(unused_mut)]
9131 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
9132 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
9133 args: &'args DucHeadArgs<'args>
9134 ) -> flatbuffers::WIPOffset<DucHead<'bldr>> {
9135 let mut builder = DucHeadBuilder::new(_fbb);
9136 builder.add_size(args.size);
9137 if let Some(x) = args.block_id { builder.add_block_id(x); }
9138 if let Some(x) = args.type_ { builder.add_type_(x); }
9139 builder.finish()
9140 }
9141
9142
9143 #[inline]
9144 pub fn type_(&self) -> Option<LINE_HEAD> {
9145 unsafe { self._tab.get::<LINE_HEAD>(DucHead::VT_TYPE_, None)}
9149 }
9150 #[inline]
9151 pub fn block_id(&self) -> Option<&'a str> {
9152 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucHead::VT_BLOCK_ID, None)}
9156 }
9157 #[inline]
9158 pub fn size(&self) -> f64 {
9159 unsafe { self._tab.get::<f64>(DucHead::VT_SIZE, Some(0.0)).unwrap()}
9163 }
9164}
9165
9166impl flatbuffers::Verifiable for DucHead<'_> {
9167 #[inline]
9168 fn run_verifier(
9169 v: &mut flatbuffers::Verifier, pos: usize
9170 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9171 use self::flatbuffers::Verifiable;
9172 v.visit_table(pos)?
9173 .visit_field::<LINE_HEAD>("type_", Self::VT_TYPE_, false)?
9174 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("block_id", Self::VT_BLOCK_ID, false)?
9175 .visit_field::<f64>("size", Self::VT_SIZE, false)?
9176 .finish();
9177 Ok(())
9178 }
9179}
9180pub struct DucHeadArgs<'a> {
9181 pub type_: Option<LINE_HEAD>,
9182 pub block_id: Option<flatbuffers::WIPOffset<&'a str>>,
9183 pub size: f64,
9184}
9185impl<'a> Default for DucHeadArgs<'a> {
9186 #[inline]
9187 fn default() -> Self {
9188 DucHeadArgs {
9189 type_: None,
9190 block_id: None,
9191 size: 0.0,
9192 }
9193 }
9194}
9195
9196pub struct DucHeadBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
9197 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
9198 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9199}
9200impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucHeadBuilder<'a, 'b, A> {
9201 #[inline]
9202 pub fn add_type_(&mut self, type_: LINE_HEAD) {
9203 self.fbb_.push_slot_always::<LINE_HEAD>(DucHead::VT_TYPE_, type_);
9204 }
9205 #[inline]
9206 pub fn add_block_id(&mut self, block_id: flatbuffers::WIPOffset<&'b str>) {
9207 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucHead::VT_BLOCK_ID, block_id);
9208 }
9209 #[inline]
9210 pub fn add_size(&mut self, size: f64) {
9211 self.fbb_.push_slot::<f64>(DucHead::VT_SIZE, size, 0.0);
9212 }
9213 #[inline]
9214 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucHeadBuilder<'a, 'b, A> {
9215 let start = _fbb.start_table();
9216 DucHeadBuilder {
9217 fbb_: _fbb,
9218 start_: start,
9219 }
9220 }
9221 #[inline]
9222 pub fn finish(self) -> flatbuffers::WIPOffset<DucHead<'a>> {
9223 let o = self.fbb_.end_table(self.start_);
9224 flatbuffers::WIPOffset::new(o.value())
9225 }
9226}
9227
9228impl core::fmt::Debug for DucHead<'_> {
9229 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9230 let mut ds = f.debug_struct("DucHead");
9231 ds.field("type_", &self.type_());
9232 ds.field("block_id", &self.block_id());
9233 ds.field("size", &self.size());
9234 ds.finish()
9235 }
9236}
9237pub enum PointBindingPointOffset {}
9238#[derive(Copy, Clone, PartialEq)]
9239
9240pub struct PointBindingPoint<'a> {
9241 pub _tab: flatbuffers::Table<'a>,
9242}
9243
9244impl<'a> flatbuffers::Follow<'a> for PointBindingPoint<'a> {
9245 type Inner = PointBindingPoint<'a>;
9246 #[inline]
9247 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9248 Self { _tab: flatbuffers::Table::new(buf, loc) }
9249 }
9250}
9251
9252impl<'a> PointBindingPoint<'a> {
9253 pub const VT_INDEX: flatbuffers::VOffsetT = 4;
9254 pub const VT_OFFSET: flatbuffers::VOffsetT = 6;
9255
9256 #[inline]
9257 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9258 PointBindingPoint { _tab: table }
9259 }
9260 #[allow(unused_mut)]
9261 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
9262 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
9263 args: &'args PointBindingPointArgs
9264 ) -> flatbuffers::WIPOffset<PointBindingPoint<'bldr>> {
9265 let mut builder = PointBindingPointBuilder::new(_fbb);
9266 builder.add_offset(args.offset);
9267 builder.add_index(args.index);
9268 builder.finish()
9269 }
9270
9271
9272 #[inline]
9273 pub fn index(&self) -> i32 {
9274 unsafe { self._tab.get::<i32>(PointBindingPoint::VT_INDEX, Some(0)).unwrap()}
9278 }
9279 #[inline]
9280 pub fn offset(&self) -> f64 {
9281 unsafe { self._tab.get::<f64>(PointBindingPoint::VT_OFFSET, Some(0.0)).unwrap()}
9285 }
9286}
9287
9288impl flatbuffers::Verifiable for PointBindingPoint<'_> {
9289 #[inline]
9290 fn run_verifier(
9291 v: &mut flatbuffers::Verifier, pos: usize
9292 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9293 use self::flatbuffers::Verifiable;
9294 v.visit_table(pos)?
9295 .visit_field::<i32>("index", Self::VT_INDEX, false)?
9296 .visit_field::<f64>("offset", Self::VT_OFFSET, false)?
9297 .finish();
9298 Ok(())
9299 }
9300}
9301pub struct PointBindingPointArgs {
9302 pub index: i32,
9303 pub offset: f64,
9304}
9305impl<'a> Default for PointBindingPointArgs {
9306 #[inline]
9307 fn default() -> Self {
9308 PointBindingPointArgs {
9309 index: 0,
9310 offset: 0.0,
9311 }
9312 }
9313}
9314
9315pub struct PointBindingPointBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
9316 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
9317 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9318}
9319impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> PointBindingPointBuilder<'a, 'b, A> {
9320 #[inline]
9321 pub fn add_index(&mut self, index: i32) {
9322 self.fbb_.push_slot::<i32>(PointBindingPoint::VT_INDEX, index, 0);
9323 }
9324 #[inline]
9325 pub fn add_offset(&mut self, offset: f64) {
9326 self.fbb_.push_slot::<f64>(PointBindingPoint::VT_OFFSET, offset, 0.0);
9327 }
9328 #[inline]
9329 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> PointBindingPointBuilder<'a, 'b, A> {
9330 let start = _fbb.start_table();
9331 PointBindingPointBuilder {
9332 fbb_: _fbb,
9333 start_: start,
9334 }
9335 }
9336 #[inline]
9337 pub fn finish(self) -> flatbuffers::WIPOffset<PointBindingPoint<'a>> {
9338 let o = self.fbb_.end_table(self.start_);
9339 flatbuffers::WIPOffset::new(o.value())
9340 }
9341}
9342
9343impl core::fmt::Debug for PointBindingPoint<'_> {
9344 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9345 let mut ds = f.debug_struct("PointBindingPoint");
9346 ds.field("index", &self.index());
9347 ds.field("offset", &self.offset());
9348 ds.finish()
9349 }
9350}
9351pub enum DucPointBindingOffset {}
9352#[derive(Copy, Clone, PartialEq)]
9353
9354pub struct DucPointBinding<'a> {
9355 pub _tab: flatbuffers::Table<'a>,
9356}
9357
9358impl<'a> flatbuffers::Follow<'a> for DucPointBinding<'a> {
9359 type Inner = DucPointBinding<'a>;
9360 #[inline]
9361 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9362 Self { _tab: flatbuffers::Table::new(buf, loc) }
9363 }
9364}
9365
9366impl<'a> DucPointBinding<'a> {
9367 pub const VT_ELEMENT_ID: flatbuffers::VOffsetT = 4;
9368 pub const VT_FOCUS: flatbuffers::VOffsetT = 6;
9369 pub const VT_GAP: flatbuffers::VOffsetT = 8;
9370 pub const VT_FIXED_POINT: flatbuffers::VOffsetT = 10;
9371 pub const VT_POINT: flatbuffers::VOffsetT = 12;
9372 pub const VT_HEAD: flatbuffers::VOffsetT = 14;
9373
9374 #[inline]
9375 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9376 DucPointBinding { _tab: table }
9377 }
9378 #[allow(unused_mut)]
9379 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
9380 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
9381 args: &'args DucPointBindingArgs<'args>
9382 ) -> flatbuffers::WIPOffset<DucPointBinding<'bldr>> {
9383 let mut builder = DucPointBindingBuilder::new(_fbb);
9384 builder.add_gap(args.gap);
9385 if let Some(x) = args.head { builder.add_head(x); }
9386 if let Some(x) = args.point { builder.add_point(x); }
9387 if let Some(x) = args.fixed_point { builder.add_fixed_point(x); }
9388 builder.add_focus(args.focus);
9389 if let Some(x) = args.element_id { builder.add_element_id(x); }
9390 builder.finish()
9391 }
9392
9393
9394 #[inline]
9395 pub fn element_id(&self) -> Option<&'a str> {
9396 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucPointBinding::VT_ELEMENT_ID, None)}
9400 }
9401 #[inline]
9402 pub fn focus(&self) -> f32 {
9403 unsafe { self._tab.get::<f32>(DucPointBinding::VT_FOCUS, Some(0.0)).unwrap()}
9407 }
9408 #[inline]
9409 pub fn gap(&self) -> f64 {
9410 unsafe { self._tab.get::<f64>(DucPointBinding::VT_GAP, Some(0.0)).unwrap()}
9414 }
9415 #[inline]
9416 pub fn fixed_point(&self) -> Option<&'a GeometricPoint> {
9417 unsafe { self._tab.get::<GeometricPoint>(DucPointBinding::VT_FIXED_POINT, None)}
9421 }
9422 #[inline]
9423 pub fn point(&self) -> Option<PointBindingPoint<'a>> {
9424 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<PointBindingPoint>>(DucPointBinding::VT_POINT, None)}
9428 }
9429 #[inline]
9430 pub fn head(&self) -> Option<DucHead<'a>> {
9431 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucHead>>(DucPointBinding::VT_HEAD, None)}
9435 }
9436}
9437
9438impl flatbuffers::Verifiable for DucPointBinding<'_> {
9439 #[inline]
9440 fn run_verifier(
9441 v: &mut flatbuffers::Verifier, pos: usize
9442 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9443 use self::flatbuffers::Verifiable;
9444 v.visit_table(pos)?
9445 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("element_id", Self::VT_ELEMENT_ID, false)?
9446 .visit_field::<f32>("focus", Self::VT_FOCUS, false)?
9447 .visit_field::<f64>("gap", Self::VT_GAP, false)?
9448 .visit_field::<GeometricPoint>("fixed_point", Self::VT_FIXED_POINT, false)?
9449 .visit_field::<flatbuffers::ForwardsUOffset<PointBindingPoint>>("point", Self::VT_POINT, false)?
9450 .visit_field::<flatbuffers::ForwardsUOffset<DucHead>>("head", Self::VT_HEAD, false)?
9451 .finish();
9452 Ok(())
9453 }
9454}
9455pub struct DucPointBindingArgs<'a> {
9456 pub element_id: Option<flatbuffers::WIPOffset<&'a str>>,
9457 pub focus: f32,
9458 pub gap: f64,
9459 pub fixed_point: Option<&'a GeometricPoint>,
9460 pub point: Option<flatbuffers::WIPOffset<PointBindingPoint<'a>>>,
9461 pub head: Option<flatbuffers::WIPOffset<DucHead<'a>>>,
9462}
9463impl<'a> Default for DucPointBindingArgs<'a> {
9464 #[inline]
9465 fn default() -> Self {
9466 DucPointBindingArgs {
9467 element_id: None,
9468 focus: 0.0,
9469 gap: 0.0,
9470 fixed_point: None,
9471 point: None,
9472 head: None,
9473 }
9474 }
9475}
9476
9477pub struct DucPointBindingBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
9478 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
9479 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9480}
9481impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucPointBindingBuilder<'a, 'b, A> {
9482 #[inline]
9483 pub fn add_element_id(&mut self, element_id: flatbuffers::WIPOffset<&'b str>) {
9484 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucPointBinding::VT_ELEMENT_ID, element_id);
9485 }
9486 #[inline]
9487 pub fn add_focus(&mut self, focus: f32) {
9488 self.fbb_.push_slot::<f32>(DucPointBinding::VT_FOCUS, focus, 0.0);
9489 }
9490 #[inline]
9491 pub fn add_gap(&mut self, gap: f64) {
9492 self.fbb_.push_slot::<f64>(DucPointBinding::VT_GAP, gap, 0.0);
9493 }
9494 #[inline]
9495 pub fn add_fixed_point(&mut self, fixed_point: &GeometricPoint) {
9496 self.fbb_.push_slot_always::<&GeometricPoint>(DucPointBinding::VT_FIXED_POINT, fixed_point);
9497 }
9498 #[inline]
9499 pub fn add_point(&mut self, point: flatbuffers::WIPOffset<PointBindingPoint<'b >>) {
9500 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<PointBindingPoint>>(DucPointBinding::VT_POINT, point);
9501 }
9502 #[inline]
9503 pub fn add_head(&mut self, head: flatbuffers::WIPOffset<DucHead<'b >>) {
9504 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucHead>>(DucPointBinding::VT_HEAD, head);
9505 }
9506 #[inline]
9507 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucPointBindingBuilder<'a, 'b, A> {
9508 let start = _fbb.start_table();
9509 DucPointBindingBuilder {
9510 fbb_: _fbb,
9511 start_: start,
9512 }
9513 }
9514 #[inline]
9515 pub fn finish(self) -> flatbuffers::WIPOffset<DucPointBinding<'a>> {
9516 let o = self.fbb_.end_table(self.start_);
9517 flatbuffers::WIPOffset::new(o.value())
9518 }
9519}
9520
9521impl core::fmt::Debug for DucPointBinding<'_> {
9522 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9523 let mut ds = f.debug_struct("DucPointBinding");
9524 ds.field("element_id", &self.element_id());
9525 ds.field("focus", &self.focus());
9526 ds.field("gap", &self.gap());
9527 ds.field("fixed_point", &self.fixed_point());
9528 ds.field("point", &self.point());
9529 ds.field("head", &self.head());
9530 ds.finish()
9531 }
9532}
9533pub enum DucLineReferenceOffset {}
9534#[derive(Copy, Clone, PartialEq)]
9535
9536pub struct DucLineReference<'a> {
9537 pub _tab: flatbuffers::Table<'a>,
9538}
9539
9540impl<'a> flatbuffers::Follow<'a> for DucLineReference<'a> {
9541 type Inner = DucLineReference<'a>;
9542 #[inline]
9543 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9544 Self { _tab: flatbuffers::Table::new(buf, loc) }
9545 }
9546}
9547
9548impl<'a> DucLineReference<'a> {
9549 pub const VT_INDEX: flatbuffers::VOffsetT = 4;
9550 pub const VT_HANDLE: flatbuffers::VOffsetT = 6;
9551
9552 #[inline]
9553 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9554 DucLineReference { _tab: table }
9555 }
9556 #[allow(unused_mut)]
9557 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
9558 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
9559 args: &'args DucLineReferenceArgs<'args>
9560 ) -> flatbuffers::WIPOffset<DucLineReference<'bldr>> {
9561 let mut builder = DucLineReferenceBuilder::new(_fbb);
9562 if let Some(x) = args.handle { builder.add_handle(x); }
9563 builder.add_index(args.index);
9564 builder.finish()
9565 }
9566
9567
9568 #[inline]
9569 pub fn index(&self) -> i32 {
9570 unsafe { self._tab.get::<i32>(DucLineReference::VT_INDEX, Some(0)).unwrap()}
9574 }
9575 #[inline]
9576 pub fn handle(&self) -> Option<&'a GeometricPoint> {
9577 unsafe { self._tab.get::<GeometricPoint>(DucLineReference::VT_HANDLE, None)}
9581 }
9582}
9583
9584impl flatbuffers::Verifiable for DucLineReference<'_> {
9585 #[inline]
9586 fn run_verifier(
9587 v: &mut flatbuffers::Verifier, pos: usize
9588 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9589 use self::flatbuffers::Verifiable;
9590 v.visit_table(pos)?
9591 .visit_field::<i32>("index", Self::VT_INDEX, false)?
9592 .visit_field::<GeometricPoint>("handle", Self::VT_HANDLE, false)?
9593 .finish();
9594 Ok(())
9595 }
9596}
9597pub struct DucLineReferenceArgs<'a> {
9598 pub index: i32,
9599 pub handle: Option<&'a GeometricPoint>,
9600}
9601impl<'a> Default for DucLineReferenceArgs<'a> {
9602 #[inline]
9603 fn default() -> Self {
9604 DucLineReferenceArgs {
9605 index: 0,
9606 handle: None,
9607 }
9608 }
9609}
9610
9611pub struct DucLineReferenceBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
9612 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
9613 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9614}
9615impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucLineReferenceBuilder<'a, 'b, A> {
9616 #[inline]
9617 pub fn add_index(&mut self, index: i32) {
9618 self.fbb_.push_slot::<i32>(DucLineReference::VT_INDEX, index, 0);
9619 }
9620 #[inline]
9621 pub fn add_handle(&mut self, handle: &GeometricPoint) {
9622 self.fbb_.push_slot_always::<&GeometricPoint>(DucLineReference::VT_HANDLE, handle);
9623 }
9624 #[inline]
9625 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucLineReferenceBuilder<'a, 'b, A> {
9626 let start = _fbb.start_table();
9627 DucLineReferenceBuilder {
9628 fbb_: _fbb,
9629 start_: start,
9630 }
9631 }
9632 #[inline]
9633 pub fn finish(self) -> flatbuffers::WIPOffset<DucLineReference<'a>> {
9634 let o = self.fbb_.end_table(self.start_);
9635 flatbuffers::WIPOffset::new(o.value())
9636 }
9637}
9638
9639impl core::fmt::Debug for DucLineReference<'_> {
9640 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9641 let mut ds = f.debug_struct("DucLineReference");
9642 ds.field("index", &self.index());
9643 ds.field("handle", &self.handle());
9644 ds.finish()
9645 }
9646}
9647pub enum DucLineOffset {}
9648#[derive(Copy, Clone, PartialEq)]
9649
9650pub struct DucLine<'a> {
9651 pub _tab: flatbuffers::Table<'a>,
9652}
9653
9654impl<'a> flatbuffers::Follow<'a> for DucLine<'a> {
9655 type Inner = DucLine<'a>;
9656 #[inline]
9657 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9658 Self { _tab: flatbuffers::Table::new(buf, loc) }
9659 }
9660}
9661
9662impl<'a> DucLine<'a> {
9663 pub const VT_START: flatbuffers::VOffsetT = 4;
9664 pub const VT_END: flatbuffers::VOffsetT = 6;
9665
9666 #[inline]
9667 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9668 DucLine { _tab: table }
9669 }
9670 #[allow(unused_mut)]
9671 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
9672 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
9673 args: &'args DucLineArgs<'args>
9674 ) -> flatbuffers::WIPOffset<DucLine<'bldr>> {
9675 let mut builder = DucLineBuilder::new(_fbb);
9676 if let Some(x) = args.end { builder.add_end(x); }
9677 if let Some(x) = args.start { builder.add_start(x); }
9678 builder.finish()
9679 }
9680
9681
9682 #[inline]
9683 pub fn start(&self) -> Option<DucLineReference<'a>> {
9684 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucLineReference>>(DucLine::VT_START, None)}
9688 }
9689 #[inline]
9690 pub fn end(&self) -> Option<DucLineReference<'a>> {
9691 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucLineReference>>(DucLine::VT_END, None)}
9695 }
9696}
9697
9698impl flatbuffers::Verifiable for DucLine<'_> {
9699 #[inline]
9700 fn run_verifier(
9701 v: &mut flatbuffers::Verifier, pos: usize
9702 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9703 use self::flatbuffers::Verifiable;
9704 v.visit_table(pos)?
9705 .visit_field::<flatbuffers::ForwardsUOffset<DucLineReference>>("start", Self::VT_START, false)?
9706 .visit_field::<flatbuffers::ForwardsUOffset<DucLineReference>>("end", Self::VT_END, false)?
9707 .finish();
9708 Ok(())
9709 }
9710}
9711pub struct DucLineArgs<'a> {
9712 pub start: Option<flatbuffers::WIPOffset<DucLineReference<'a>>>,
9713 pub end: Option<flatbuffers::WIPOffset<DucLineReference<'a>>>,
9714}
9715impl<'a> Default for DucLineArgs<'a> {
9716 #[inline]
9717 fn default() -> Self {
9718 DucLineArgs {
9719 start: None,
9720 end: None,
9721 }
9722 }
9723}
9724
9725pub struct DucLineBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
9726 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
9727 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9728}
9729impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucLineBuilder<'a, 'b, A> {
9730 #[inline]
9731 pub fn add_start(&mut self, start: flatbuffers::WIPOffset<DucLineReference<'b >>) {
9732 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucLineReference>>(DucLine::VT_START, start);
9733 }
9734 #[inline]
9735 pub fn add_end(&mut self, end: flatbuffers::WIPOffset<DucLineReference<'b >>) {
9736 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucLineReference>>(DucLine::VT_END, end);
9737 }
9738 #[inline]
9739 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucLineBuilder<'a, 'b, A> {
9740 let start = _fbb.start_table();
9741 DucLineBuilder {
9742 fbb_: _fbb,
9743 start_: start,
9744 }
9745 }
9746 #[inline]
9747 pub fn finish(self) -> flatbuffers::WIPOffset<DucLine<'a>> {
9748 let o = self.fbb_.end_table(self.start_);
9749 flatbuffers::WIPOffset::new(o.value())
9750 }
9751}
9752
9753impl core::fmt::Debug for DucLine<'_> {
9754 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9755 let mut ds = f.debug_struct("DucLine");
9756 ds.field("start", &self.start());
9757 ds.field("end", &self.end());
9758 ds.finish()
9759 }
9760}
9761pub enum DucPathOffset {}
9762#[derive(Copy, Clone, PartialEq)]
9763
9764pub struct DucPath<'a> {
9765 pub _tab: flatbuffers::Table<'a>,
9766}
9767
9768impl<'a> flatbuffers::Follow<'a> for DucPath<'a> {
9769 type Inner = DucPath<'a>;
9770 #[inline]
9771 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9772 Self { _tab: flatbuffers::Table::new(buf, loc) }
9773 }
9774}
9775
9776impl<'a> DucPath<'a> {
9777 pub const VT_LINE_INDICES: flatbuffers::VOffsetT = 4;
9778 pub const VT_BACKGROUND: flatbuffers::VOffsetT = 6;
9779 pub const VT_STROKE: flatbuffers::VOffsetT = 8;
9780
9781 #[inline]
9782 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9783 DucPath { _tab: table }
9784 }
9785 #[allow(unused_mut)]
9786 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
9787 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
9788 args: &'args DucPathArgs<'args>
9789 ) -> flatbuffers::WIPOffset<DucPath<'bldr>> {
9790 let mut builder = DucPathBuilder::new(_fbb);
9791 if let Some(x) = args.stroke { builder.add_stroke(x); }
9792 if let Some(x) = args.background { builder.add_background(x); }
9793 if let Some(x) = args.line_indices { builder.add_line_indices(x); }
9794 builder.finish()
9795 }
9796
9797
9798 #[inline]
9799 pub fn line_indices(&self) -> Option<flatbuffers::Vector<'a, i32>> {
9800 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(DucPath::VT_LINE_INDICES, None)}
9804 }
9805 #[inline]
9806 pub fn background(&self) -> Option<ElementBackground<'a>> {
9807 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ElementBackground>>(DucPath::VT_BACKGROUND, None)}
9811 }
9812 #[inline]
9813 pub fn stroke(&self) -> Option<ElementStroke<'a>> {
9814 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ElementStroke>>(DucPath::VT_STROKE, None)}
9818 }
9819}
9820
9821impl flatbuffers::Verifiable for DucPath<'_> {
9822 #[inline]
9823 fn run_verifier(
9824 v: &mut flatbuffers::Verifier, pos: usize
9825 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9826 use self::flatbuffers::Verifiable;
9827 v.visit_table(pos)?
9828 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("line_indices", Self::VT_LINE_INDICES, false)?
9829 .visit_field::<flatbuffers::ForwardsUOffset<ElementBackground>>("background", Self::VT_BACKGROUND, false)?
9830 .visit_field::<flatbuffers::ForwardsUOffset<ElementStroke>>("stroke", Self::VT_STROKE, false)?
9831 .finish();
9832 Ok(())
9833 }
9834}
9835pub struct DucPathArgs<'a> {
9836 pub line_indices: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
9837 pub background: Option<flatbuffers::WIPOffset<ElementBackground<'a>>>,
9838 pub stroke: Option<flatbuffers::WIPOffset<ElementStroke<'a>>>,
9839}
9840impl<'a> Default for DucPathArgs<'a> {
9841 #[inline]
9842 fn default() -> Self {
9843 DucPathArgs {
9844 line_indices: None,
9845 background: None,
9846 stroke: None,
9847 }
9848 }
9849}
9850
9851pub struct DucPathBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
9852 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
9853 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9854}
9855impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucPathBuilder<'a, 'b, A> {
9856 #[inline]
9857 pub fn add_line_indices(&mut self, line_indices: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
9858 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucPath::VT_LINE_INDICES, line_indices);
9859 }
9860 #[inline]
9861 pub fn add_background(&mut self, background: flatbuffers::WIPOffset<ElementBackground<'b >>) {
9862 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ElementBackground>>(DucPath::VT_BACKGROUND, background);
9863 }
9864 #[inline]
9865 pub fn add_stroke(&mut self, stroke: flatbuffers::WIPOffset<ElementStroke<'b >>) {
9866 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ElementStroke>>(DucPath::VT_STROKE, stroke);
9867 }
9868 #[inline]
9869 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucPathBuilder<'a, 'b, A> {
9870 let start = _fbb.start_table();
9871 DucPathBuilder {
9872 fbb_: _fbb,
9873 start_: start,
9874 }
9875 }
9876 #[inline]
9877 pub fn finish(self) -> flatbuffers::WIPOffset<DucPath<'a>> {
9878 let o = self.fbb_.end_table(self.start_);
9879 flatbuffers::WIPOffset::new(o.value())
9880 }
9881}
9882
9883impl core::fmt::Debug for DucPath<'_> {
9884 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9885 let mut ds = f.debug_struct("DucPath");
9886 ds.field("line_indices", &self.line_indices());
9887 ds.field("background", &self.background());
9888 ds.field("stroke", &self.stroke());
9889 ds.finish()
9890 }
9891}
9892pub enum _DucLinearElementBaseOffset {}
9893#[derive(Copy, Clone, PartialEq)]
9894
9895pub struct _DucLinearElementBase<'a> {
9896 pub _tab: flatbuffers::Table<'a>,
9897}
9898
9899impl<'a> flatbuffers::Follow<'a> for _DucLinearElementBase<'a> {
9900 type Inner = _DucLinearElementBase<'a>;
9901 #[inline]
9902 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9903 Self { _tab: flatbuffers::Table::new(buf, loc) }
9904 }
9905}
9906
9907impl<'a> _DucLinearElementBase<'a> {
9908 pub const VT_BASE: flatbuffers::VOffsetT = 4;
9909 pub const VT_POINTS: flatbuffers::VOffsetT = 6;
9910 pub const VT_LINES: flatbuffers::VOffsetT = 8;
9911 pub const VT_PATH_OVERRIDES: flatbuffers::VOffsetT = 10;
9912 pub const VT_LAST_COMMITTED_POINT: flatbuffers::VOffsetT = 12;
9913 pub const VT_START_BINDING: flatbuffers::VOffsetT = 14;
9914 pub const VT_END_BINDING: flatbuffers::VOffsetT = 16;
9915
9916 #[inline]
9917 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9918 _DucLinearElementBase { _tab: table }
9919 }
9920 #[allow(unused_mut)]
9921 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
9922 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
9923 args: &'args _DucLinearElementBaseArgs<'args>
9924 ) -> flatbuffers::WIPOffset<_DucLinearElementBase<'bldr>> {
9925 let mut builder = _DucLinearElementBaseBuilder::new(_fbb);
9926 if let Some(x) = args.end_binding { builder.add_end_binding(x); }
9927 if let Some(x) = args.start_binding { builder.add_start_binding(x); }
9928 if let Some(x) = args.last_committed_point { builder.add_last_committed_point(x); }
9929 if let Some(x) = args.path_overrides { builder.add_path_overrides(x); }
9930 if let Some(x) = args.lines { builder.add_lines(x); }
9931 if let Some(x) = args.points { builder.add_points(x); }
9932 if let Some(x) = args.base { builder.add_base(x); }
9933 builder.finish()
9934 }
9935
9936
9937 #[inline]
9938 pub fn base(&self) -> Option<_DucElementBase<'a>> {
9939 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(_DucLinearElementBase::VT_BASE, None)}
9943 }
9944 #[inline]
9945 pub fn points(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucPoint<'a>>>> {
9946 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucPoint>>>>(_DucLinearElementBase::VT_POINTS, None)}
9950 }
9951 #[inline]
9952 pub fn lines(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucLine<'a>>>> {
9953 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucLine>>>>(_DucLinearElementBase::VT_LINES, None)}
9957 }
9958 #[inline]
9959 pub fn path_overrides(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucPath<'a>>>> {
9960 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucPath>>>>(_DucLinearElementBase::VT_PATH_OVERRIDES, None)}
9964 }
9965 #[inline]
9966 pub fn last_committed_point(&self) -> Option<DucPoint<'a>> {
9967 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucPoint>>(_DucLinearElementBase::VT_LAST_COMMITTED_POINT, None)}
9971 }
9972 #[inline]
9973 pub fn start_binding(&self) -> Option<DucPointBinding<'a>> {
9974 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucPointBinding>>(_DucLinearElementBase::VT_START_BINDING, None)}
9978 }
9979 #[inline]
9980 pub fn end_binding(&self) -> Option<DucPointBinding<'a>> {
9981 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucPointBinding>>(_DucLinearElementBase::VT_END_BINDING, None)}
9985 }
9986}
9987
9988impl flatbuffers::Verifiable for _DucLinearElementBase<'_> {
9989 #[inline]
9990 fn run_verifier(
9991 v: &mut flatbuffers::Verifier, pos: usize
9992 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9993 use self::flatbuffers::Verifiable;
9994 v.visit_table(pos)?
9995 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
9996 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucPoint>>>>("points", Self::VT_POINTS, false)?
9997 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucLine>>>>("lines", Self::VT_LINES, false)?
9998 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucPath>>>>("path_overrides", Self::VT_PATH_OVERRIDES, false)?
9999 .visit_field::<flatbuffers::ForwardsUOffset<DucPoint>>("last_committed_point", Self::VT_LAST_COMMITTED_POINT, false)?
10000 .visit_field::<flatbuffers::ForwardsUOffset<DucPointBinding>>("start_binding", Self::VT_START_BINDING, false)?
10001 .visit_field::<flatbuffers::ForwardsUOffset<DucPointBinding>>("end_binding", Self::VT_END_BINDING, false)?
10002 .finish();
10003 Ok(())
10004 }
10005}
10006pub struct _DucLinearElementBaseArgs<'a> {
10007 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
10008 pub points: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucPoint<'a>>>>>,
10009 pub lines: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucLine<'a>>>>>,
10010 pub path_overrides: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucPath<'a>>>>>,
10011 pub last_committed_point: Option<flatbuffers::WIPOffset<DucPoint<'a>>>,
10012 pub start_binding: Option<flatbuffers::WIPOffset<DucPointBinding<'a>>>,
10013 pub end_binding: Option<flatbuffers::WIPOffset<DucPointBinding<'a>>>,
10014}
10015impl<'a> Default for _DucLinearElementBaseArgs<'a> {
10016 #[inline]
10017 fn default() -> Self {
10018 _DucLinearElementBaseArgs {
10019 base: None,
10020 points: None,
10021 lines: None,
10022 path_overrides: None,
10023 last_committed_point: None,
10024 start_binding: None,
10025 end_binding: None,
10026 }
10027 }
10028}
10029
10030pub struct _DucLinearElementBaseBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
10031 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
10032 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10033}
10034impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> _DucLinearElementBaseBuilder<'a, 'b, A> {
10035 #[inline]
10036 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
10037 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(_DucLinearElementBase::VT_BASE, base);
10038 }
10039 #[inline]
10040 pub fn add_points(&mut self, points: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucPoint<'b >>>>) {
10041 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucLinearElementBase::VT_POINTS, points);
10042 }
10043 #[inline]
10044 pub fn add_lines(&mut self, lines: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucLine<'b >>>>) {
10045 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucLinearElementBase::VT_LINES, lines);
10046 }
10047 #[inline]
10048 pub fn add_path_overrides(&mut self, path_overrides: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucPath<'b >>>>) {
10049 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucLinearElementBase::VT_PATH_OVERRIDES, path_overrides);
10050 }
10051 #[inline]
10052 pub fn add_last_committed_point(&mut self, last_committed_point: flatbuffers::WIPOffset<DucPoint<'b >>) {
10053 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucPoint>>(_DucLinearElementBase::VT_LAST_COMMITTED_POINT, last_committed_point);
10054 }
10055 #[inline]
10056 pub fn add_start_binding(&mut self, start_binding: flatbuffers::WIPOffset<DucPointBinding<'b >>) {
10057 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucPointBinding>>(_DucLinearElementBase::VT_START_BINDING, start_binding);
10058 }
10059 #[inline]
10060 pub fn add_end_binding(&mut self, end_binding: flatbuffers::WIPOffset<DucPointBinding<'b >>) {
10061 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucPointBinding>>(_DucLinearElementBase::VT_END_BINDING, end_binding);
10062 }
10063 #[inline]
10064 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> _DucLinearElementBaseBuilder<'a, 'b, A> {
10065 let start = _fbb.start_table();
10066 _DucLinearElementBaseBuilder {
10067 fbb_: _fbb,
10068 start_: start,
10069 }
10070 }
10071 #[inline]
10072 pub fn finish(self) -> flatbuffers::WIPOffset<_DucLinearElementBase<'a>> {
10073 let o = self.fbb_.end_table(self.start_);
10074 flatbuffers::WIPOffset::new(o.value())
10075 }
10076}
10077
10078impl core::fmt::Debug for _DucLinearElementBase<'_> {
10079 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10080 let mut ds = f.debug_struct("_DucLinearElementBase");
10081 ds.field("base", &self.base());
10082 ds.field("points", &self.points());
10083 ds.field("lines", &self.lines());
10084 ds.field("path_overrides", &self.path_overrides());
10085 ds.field("last_committed_point", &self.last_committed_point());
10086 ds.field("start_binding", &self.start_binding());
10087 ds.field("end_binding", &self.end_binding());
10088 ds.finish()
10089 }
10090}
10091pub enum DucStackLikeStylesOffset {}
10092#[derive(Copy, Clone, PartialEq)]
10093
10094pub struct DucStackLikeStyles<'a> {
10095 pub _tab: flatbuffers::Table<'a>,
10096}
10097
10098impl<'a> flatbuffers::Follow<'a> for DucStackLikeStyles<'a> {
10099 type Inner = DucStackLikeStyles<'a>;
10100 #[inline]
10101 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10102 Self { _tab: flatbuffers::Table::new(buf, loc) }
10103 }
10104}
10105
10106impl<'a> DucStackLikeStyles<'a> {
10107 pub const VT_OPACITY: flatbuffers::VOffsetT = 4;
10108 pub const VT_LABELING_COLOR: flatbuffers::VOffsetT = 6;
10109
10110 #[inline]
10111 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10112 DucStackLikeStyles { _tab: table }
10113 }
10114 #[allow(unused_mut)]
10115 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
10116 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
10117 args: &'args DucStackLikeStylesArgs<'args>
10118 ) -> flatbuffers::WIPOffset<DucStackLikeStyles<'bldr>> {
10119 let mut builder = DucStackLikeStylesBuilder::new(_fbb);
10120 builder.add_opacity(args.opacity);
10121 if let Some(x) = args.labeling_color { builder.add_labeling_color(x); }
10122 builder.finish()
10123 }
10124
10125
10126 #[inline]
10127 pub fn opacity(&self) -> f64 {
10128 unsafe { self._tab.get::<f64>(DucStackLikeStyles::VT_OPACITY, Some(0.0)).unwrap()}
10132 }
10133 #[inline]
10134 pub fn labeling_color(&self) -> Option<&'a str> {
10135 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucStackLikeStyles::VT_LABELING_COLOR, None)}
10139 }
10140}
10141
10142impl flatbuffers::Verifiable for DucStackLikeStyles<'_> {
10143 #[inline]
10144 fn run_verifier(
10145 v: &mut flatbuffers::Verifier, pos: usize
10146 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
10147 use self::flatbuffers::Verifiable;
10148 v.visit_table(pos)?
10149 .visit_field::<f64>("opacity", Self::VT_OPACITY, false)?
10150 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("labeling_color", Self::VT_LABELING_COLOR, false)?
10151 .finish();
10152 Ok(())
10153 }
10154}
10155pub struct DucStackLikeStylesArgs<'a> {
10156 pub opacity: f64,
10157 pub labeling_color: Option<flatbuffers::WIPOffset<&'a str>>,
10158}
10159impl<'a> Default for DucStackLikeStylesArgs<'a> {
10160 #[inline]
10161 fn default() -> Self {
10162 DucStackLikeStylesArgs {
10163 opacity: 0.0,
10164 labeling_color: None,
10165 }
10166 }
10167}
10168
10169pub struct DucStackLikeStylesBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
10170 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
10171 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10172}
10173impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucStackLikeStylesBuilder<'a, 'b, A> {
10174 #[inline]
10175 pub fn add_opacity(&mut self, opacity: f64) {
10176 self.fbb_.push_slot::<f64>(DucStackLikeStyles::VT_OPACITY, opacity, 0.0);
10177 }
10178 #[inline]
10179 pub fn add_labeling_color(&mut self, labeling_color: flatbuffers::WIPOffset<&'b str>) {
10180 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucStackLikeStyles::VT_LABELING_COLOR, labeling_color);
10181 }
10182 #[inline]
10183 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucStackLikeStylesBuilder<'a, 'b, A> {
10184 let start = _fbb.start_table();
10185 DucStackLikeStylesBuilder {
10186 fbb_: _fbb,
10187 start_: start,
10188 }
10189 }
10190 #[inline]
10191 pub fn finish(self) -> flatbuffers::WIPOffset<DucStackLikeStyles<'a>> {
10192 let o = self.fbb_.end_table(self.start_);
10193 flatbuffers::WIPOffset::new(o.value())
10194 }
10195}
10196
10197impl core::fmt::Debug for DucStackLikeStyles<'_> {
10198 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10199 let mut ds = f.debug_struct("DucStackLikeStyles");
10200 ds.field("opacity", &self.opacity());
10201 ds.field("labeling_color", &self.labeling_color());
10202 ds.finish()
10203 }
10204}
10205pub enum _DucStackBaseOffset {}
10206#[derive(Copy, Clone, PartialEq)]
10207
10208pub struct _DucStackBase<'a> {
10209 pub _tab: flatbuffers::Table<'a>,
10210}
10211
10212impl<'a> flatbuffers::Follow<'a> for _DucStackBase<'a> {
10213 type Inner = _DucStackBase<'a>;
10214 #[inline]
10215 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10216 Self { _tab: flatbuffers::Table::new(buf, loc) }
10217 }
10218}
10219
10220impl<'a> _DucStackBase<'a> {
10221 pub const VT_LABEL: flatbuffers::VOffsetT = 4;
10222 pub const VT_DESCRIPTION: flatbuffers::VOffsetT = 6;
10223 pub const VT_IS_COLLAPSED: flatbuffers::VOffsetT = 8;
10224 pub const VT_IS_PLOT: flatbuffers::VOffsetT = 10;
10225 pub const VT_IS_VISIBLE: flatbuffers::VOffsetT = 12;
10226 pub const VT_LOCKED: flatbuffers::VOffsetT = 14;
10227 pub const VT_STYLES: flatbuffers::VOffsetT = 16;
10228
10229 #[inline]
10230 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10231 _DucStackBase { _tab: table }
10232 }
10233 #[allow(unused_mut)]
10234 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
10235 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
10236 args: &'args _DucStackBaseArgs<'args>
10237 ) -> flatbuffers::WIPOffset<_DucStackBase<'bldr>> {
10238 let mut builder = _DucStackBaseBuilder::new(_fbb);
10239 if let Some(x) = args.styles { builder.add_styles(x); }
10240 if let Some(x) = args.description { builder.add_description(x); }
10241 if let Some(x) = args.label { builder.add_label(x); }
10242 builder.add_locked(args.locked);
10243 builder.add_is_visible(args.is_visible);
10244 builder.add_is_plot(args.is_plot);
10245 builder.add_is_collapsed(args.is_collapsed);
10246 builder.finish()
10247 }
10248
10249
10250 #[inline]
10251 pub fn label(&self) -> Option<&'a str> {
10252 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(_DucStackBase::VT_LABEL, None)}
10256 }
10257 #[inline]
10258 pub fn description(&self) -> Option<&'a str> {
10259 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(_DucStackBase::VT_DESCRIPTION, None)}
10263 }
10264 #[inline]
10265 pub fn is_collapsed(&self) -> bool {
10266 unsafe { self._tab.get::<bool>(_DucStackBase::VT_IS_COLLAPSED, Some(false)).unwrap()}
10270 }
10271 #[inline]
10272 pub fn is_plot(&self) -> bool {
10273 unsafe { self._tab.get::<bool>(_DucStackBase::VT_IS_PLOT, Some(false)).unwrap()}
10277 }
10278 #[inline]
10279 pub fn is_visible(&self) -> bool {
10280 unsafe { self._tab.get::<bool>(_DucStackBase::VT_IS_VISIBLE, Some(false)).unwrap()}
10284 }
10285 #[inline]
10286 pub fn locked(&self) -> bool {
10287 unsafe { self._tab.get::<bool>(_DucStackBase::VT_LOCKED, Some(false)).unwrap()}
10291 }
10292 #[inline]
10293 pub fn styles(&self) -> Option<DucStackLikeStyles<'a>> {
10294 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucStackLikeStyles>>(_DucStackBase::VT_STYLES, None)}
10298 }
10299}
10300
10301impl flatbuffers::Verifiable for _DucStackBase<'_> {
10302 #[inline]
10303 fn run_verifier(
10304 v: &mut flatbuffers::Verifier, pos: usize
10305 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
10306 use self::flatbuffers::Verifiable;
10307 v.visit_table(pos)?
10308 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("label", Self::VT_LABEL, false)?
10309 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("description", Self::VT_DESCRIPTION, false)?
10310 .visit_field::<bool>("is_collapsed", Self::VT_IS_COLLAPSED, false)?
10311 .visit_field::<bool>("is_plot", Self::VT_IS_PLOT, false)?
10312 .visit_field::<bool>("is_visible", Self::VT_IS_VISIBLE, false)?
10313 .visit_field::<bool>("locked", Self::VT_LOCKED, false)?
10314 .visit_field::<flatbuffers::ForwardsUOffset<DucStackLikeStyles>>("styles", Self::VT_STYLES, false)?
10315 .finish();
10316 Ok(())
10317 }
10318}
10319pub struct _DucStackBaseArgs<'a> {
10320 pub label: Option<flatbuffers::WIPOffset<&'a str>>,
10321 pub description: Option<flatbuffers::WIPOffset<&'a str>>,
10322 pub is_collapsed: bool,
10323 pub is_plot: bool,
10324 pub is_visible: bool,
10325 pub locked: bool,
10326 pub styles: Option<flatbuffers::WIPOffset<DucStackLikeStyles<'a>>>,
10327}
10328impl<'a> Default for _DucStackBaseArgs<'a> {
10329 #[inline]
10330 fn default() -> Self {
10331 _DucStackBaseArgs {
10332 label: None,
10333 description: None,
10334 is_collapsed: false,
10335 is_plot: false,
10336 is_visible: false,
10337 locked: false,
10338 styles: None,
10339 }
10340 }
10341}
10342
10343pub struct _DucStackBaseBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
10344 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
10345 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10346}
10347impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> _DucStackBaseBuilder<'a, 'b, A> {
10348 #[inline]
10349 pub fn add_label(&mut self, label: flatbuffers::WIPOffset<&'b str>) {
10350 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucStackBase::VT_LABEL, label);
10351 }
10352 #[inline]
10353 pub fn add_description(&mut self, description: flatbuffers::WIPOffset<&'b str>) {
10354 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucStackBase::VT_DESCRIPTION, description);
10355 }
10356 #[inline]
10357 pub fn add_is_collapsed(&mut self, is_collapsed: bool) {
10358 self.fbb_.push_slot::<bool>(_DucStackBase::VT_IS_COLLAPSED, is_collapsed, false);
10359 }
10360 #[inline]
10361 pub fn add_is_plot(&mut self, is_plot: bool) {
10362 self.fbb_.push_slot::<bool>(_DucStackBase::VT_IS_PLOT, is_plot, false);
10363 }
10364 #[inline]
10365 pub fn add_is_visible(&mut self, is_visible: bool) {
10366 self.fbb_.push_slot::<bool>(_DucStackBase::VT_IS_VISIBLE, is_visible, false);
10367 }
10368 #[inline]
10369 pub fn add_locked(&mut self, locked: bool) {
10370 self.fbb_.push_slot::<bool>(_DucStackBase::VT_LOCKED, locked, false);
10371 }
10372 #[inline]
10373 pub fn add_styles(&mut self, styles: flatbuffers::WIPOffset<DucStackLikeStyles<'b >>) {
10374 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucStackLikeStyles>>(_DucStackBase::VT_STYLES, styles);
10375 }
10376 #[inline]
10377 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> _DucStackBaseBuilder<'a, 'b, A> {
10378 let start = _fbb.start_table();
10379 _DucStackBaseBuilder {
10380 fbb_: _fbb,
10381 start_: start,
10382 }
10383 }
10384 #[inline]
10385 pub fn finish(self) -> flatbuffers::WIPOffset<_DucStackBase<'a>> {
10386 let o = self.fbb_.end_table(self.start_);
10387 flatbuffers::WIPOffset::new(o.value())
10388 }
10389}
10390
10391impl core::fmt::Debug for _DucStackBase<'_> {
10392 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10393 let mut ds = f.debug_struct("_DucStackBase");
10394 ds.field("label", &self.label());
10395 ds.field("description", &self.description());
10396 ds.field("is_collapsed", &self.is_collapsed());
10397 ds.field("is_plot", &self.is_plot());
10398 ds.field("is_visible", &self.is_visible());
10399 ds.field("locked", &self.locked());
10400 ds.field("styles", &self.styles());
10401 ds.finish()
10402 }
10403}
10404pub enum _DucStackElementBaseOffset {}
10405#[derive(Copy, Clone, PartialEq)]
10406
10407pub struct _DucStackElementBase<'a> {
10408 pub _tab: flatbuffers::Table<'a>,
10409}
10410
10411impl<'a> flatbuffers::Follow<'a> for _DucStackElementBase<'a> {
10412 type Inner = _DucStackElementBase<'a>;
10413 #[inline]
10414 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10415 Self { _tab: flatbuffers::Table::new(buf, loc) }
10416 }
10417}
10418
10419impl<'a> _DucStackElementBase<'a> {
10420 pub const VT_BASE: flatbuffers::VOffsetT = 4;
10421 pub const VT_STACK_BASE: flatbuffers::VOffsetT = 6;
10422 pub const VT_CLIP: flatbuffers::VOffsetT = 8;
10423 pub const VT_LABEL_VISIBLE: flatbuffers::VOffsetT = 10;
10424 pub const VT_STANDARD_OVERRIDE: flatbuffers::VOffsetT = 12;
10425
10426 #[inline]
10427 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10428 _DucStackElementBase { _tab: table }
10429 }
10430 #[allow(unused_mut)]
10431 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
10432 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
10433 args: &'args _DucStackElementBaseArgs<'args>
10434 ) -> flatbuffers::WIPOffset<_DucStackElementBase<'bldr>> {
10435 let mut builder = _DucStackElementBaseBuilder::new(_fbb);
10436 if let Some(x) = args.standard_override { builder.add_standard_override(x); }
10437 if let Some(x) = args.stack_base { builder.add_stack_base(x); }
10438 if let Some(x) = args.base { builder.add_base(x); }
10439 builder.add_label_visible(args.label_visible);
10440 builder.add_clip(args.clip);
10441 builder.finish()
10442 }
10443
10444
10445 #[inline]
10446 pub fn base(&self) -> Option<_DucElementBase<'a>> {
10447 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(_DucStackElementBase::VT_BASE, None)}
10451 }
10452 #[inline]
10453 pub fn stack_base(&self) -> Option<_DucStackBase<'a>> {
10454 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucStackBase>>(_DucStackElementBase::VT_STACK_BASE, None)}
10458 }
10459 #[inline]
10460 pub fn clip(&self) -> bool {
10461 unsafe { self._tab.get::<bool>(_DucStackElementBase::VT_CLIP, Some(false)).unwrap()}
10465 }
10466 #[inline]
10467 pub fn label_visible(&self) -> bool {
10468 unsafe { self._tab.get::<bool>(_DucStackElementBase::VT_LABEL_VISIBLE, Some(false)).unwrap()}
10472 }
10473 #[inline]
10474 pub fn standard_override(&self) -> Option<&'a str> {
10475 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(_DucStackElementBase::VT_STANDARD_OVERRIDE, None)}
10479 }
10480}
10481
10482impl flatbuffers::Verifiable for _DucStackElementBase<'_> {
10483 #[inline]
10484 fn run_verifier(
10485 v: &mut flatbuffers::Verifier, pos: usize
10486 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
10487 use self::flatbuffers::Verifiable;
10488 v.visit_table(pos)?
10489 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
10490 .visit_field::<flatbuffers::ForwardsUOffset<_DucStackBase>>("stack_base", Self::VT_STACK_BASE, false)?
10491 .visit_field::<bool>("clip", Self::VT_CLIP, false)?
10492 .visit_field::<bool>("label_visible", Self::VT_LABEL_VISIBLE, false)?
10493 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("standard_override", Self::VT_STANDARD_OVERRIDE, false)?
10494 .finish();
10495 Ok(())
10496 }
10497}
10498pub struct _DucStackElementBaseArgs<'a> {
10499 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
10500 pub stack_base: Option<flatbuffers::WIPOffset<_DucStackBase<'a>>>,
10501 pub clip: bool,
10502 pub label_visible: bool,
10503 pub standard_override: Option<flatbuffers::WIPOffset<&'a str>>,
10504}
10505impl<'a> Default for _DucStackElementBaseArgs<'a> {
10506 #[inline]
10507 fn default() -> Self {
10508 _DucStackElementBaseArgs {
10509 base: None,
10510 stack_base: None,
10511 clip: false,
10512 label_visible: false,
10513 standard_override: None,
10514 }
10515 }
10516}
10517
10518pub struct _DucStackElementBaseBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
10519 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
10520 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10521}
10522impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> _DucStackElementBaseBuilder<'a, 'b, A> {
10523 #[inline]
10524 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
10525 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(_DucStackElementBase::VT_BASE, base);
10526 }
10527 #[inline]
10528 pub fn add_stack_base(&mut self, stack_base: flatbuffers::WIPOffset<_DucStackBase<'b >>) {
10529 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucStackBase>>(_DucStackElementBase::VT_STACK_BASE, stack_base);
10530 }
10531 #[inline]
10532 pub fn add_clip(&mut self, clip: bool) {
10533 self.fbb_.push_slot::<bool>(_DucStackElementBase::VT_CLIP, clip, false);
10534 }
10535 #[inline]
10536 pub fn add_label_visible(&mut self, label_visible: bool) {
10537 self.fbb_.push_slot::<bool>(_DucStackElementBase::VT_LABEL_VISIBLE, label_visible, false);
10538 }
10539 #[inline]
10540 pub fn add_standard_override(&mut self, standard_override: flatbuffers::WIPOffset<&'b str>) {
10541 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(_DucStackElementBase::VT_STANDARD_OVERRIDE, standard_override);
10542 }
10543 #[inline]
10544 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> _DucStackElementBaseBuilder<'a, 'b, A> {
10545 let start = _fbb.start_table();
10546 _DucStackElementBaseBuilder {
10547 fbb_: _fbb,
10548 start_: start,
10549 }
10550 }
10551 #[inline]
10552 pub fn finish(self) -> flatbuffers::WIPOffset<_DucStackElementBase<'a>> {
10553 let o = self.fbb_.end_table(self.start_);
10554 flatbuffers::WIPOffset::new(o.value())
10555 }
10556}
10557
10558impl core::fmt::Debug for _DucStackElementBase<'_> {
10559 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10560 let mut ds = f.debug_struct("_DucStackElementBase");
10561 ds.field("base", &self.base());
10562 ds.field("stack_base", &self.stack_base());
10563 ds.field("clip", &self.clip());
10564 ds.field("label_visible", &self.label_visible());
10565 ds.field("standard_override", &self.standard_override());
10566 ds.finish()
10567 }
10568}
10569pub enum LineSpacingOffset {}
10570#[derive(Copy, Clone, PartialEq)]
10571
10572pub struct LineSpacing<'a> {
10573 pub _tab: flatbuffers::Table<'a>,
10574}
10575
10576impl<'a> flatbuffers::Follow<'a> for LineSpacing<'a> {
10577 type Inner = LineSpacing<'a>;
10578 #[inline]
10579 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10580 Self { _tab: flatbuffers::Table::new(buf, loc) }
10581 }
10582}
10583
10584impl<'a> LineSpacing<'a> {
10585 pub const VT_VALUE: flatbuffers::VOffsetT = 4;
10586 pub const VT_TYPE_: flatbuffers::VOffsetT = 6;
10587
10588 #[inline]
10589 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10590 LineSpacing { _tab: table }
10591 }
10592 #[allow(unused_mut)]
10593 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
10594 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
10595 args: &'args LineSpacingArgs
10596 ) -> flatbuffers::WIPOffset<LineSpacing<'bldr>> {
10597 let mut builder = LineSpacingBuilder::new(_fbb);
10598 builder.add_value(args.value);
10599 if let Some(x) = args.type_ { builder.add_type_(x); }
10600 builder.finish()
10601 }
10602
10603
10604 #[inline]
10605 pub fn value(&self) -> f64 {
10606 unsafe { self._tab.get::<f64>(LineSpacing::VT_VALUE, Some(0.0)).unwrap()}
10610 }
10611 #[inline]
10612 pub fn type_(&self) -> Option<LINE_SPACING_TYPE> {
10613 unsafe { self._tab.get::<LINE_SPACING_TYPE>(LineSpacing::VT_TYPE_, None)}
10617 }
10618}
10619
10620impl flatbuffers::Verifiable for LineSpacing<'_> {
10621 #[inline]
10622 fn run_verifier(
10623 v: &mut flatbuffers::Verifier, pos: usize
10624 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
10625 use self::flatbuffers::Verifiable;
10626 v.visit_table(pos)?
10627 .visit_field::<f64>("value", Self::VT_VALUE, false)?
10628 .visit_field::<LINE_SPACING_TYPE>("type_", Self::VT_TYPE_, false)?
10629 .finish();
10630 Ok(())
10631 }
10632}
10633pub struct LineSpacingArgs {
10634 pub value: f64,
10635 pub type_: Option<LINE_SPACING_TYPE>,
10636}
10637impl<'a> Default for LineSpacingArgs {
10638 #[inline]
10639 fn default() -> Self {
10640 LineSpacingArgs {
10641 value: 0.0,
10642 type_: None,
10643 }
10644 }
10645}
10646
10647pub struct LineSpacingBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
10648 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
10649 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10650}
10651impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> LineSpacingBuilder<'a, 'b, A> {
10652 #[inline]
10653 pub fn add_value(&mut self, value: f64) {
10654 self.fbb_.push_slot::<f64>(LineSpacing::VT_VALUE, value, 0.0);
10655 }
10656 #[inline]
10657 pub fn add_type_(&mut self, type_: LINE_SPACING_TYPE) {
10658 self.fbb_.push_slot_always::<LINE_SPACING_TYPE>(LineSpacing::VT_TYPE_, type_);
10659 }
10660 #[inline]
10661 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> LineSpacingBuilder<'a, 'b, A> {
10662 let start = _fbb.start_table();
10663 LineSpacingBuilder {
10664 fbb_: _fbb,
10665 start_: start,
10666 }
10667 }
10668 #[inline]
10669 pub fn finish(self) -> flatbuffers::WIPOffset<LineSpacing<'a>> {
10670 let o = self.fbb_.end_table(self.start_);
10671 flatbuffers::WIPOffset::new(o.value())
10672 }
10673}
10674
10675impl core::fmt::Debug for LineSpacing<'_> {
10676 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10677 let mut ds = f.debug_struct("LineSpacing");
10678 ds.field("value", &self.value());
10679 ds.field("type_", &self.type_());
10680 ds.finish()
10681 }
10682}
10683pub enum DucTextStyleOffset {}
10684#[derive(Copy, Clone, PartialEq)]
10685
10686pub struct DucTextStyle<'a> {
10687 pub _tab: flatbuffers::Table<'a>,
10688}
10689
10690impl<'a> flatbuffers::Follow<'a> for DucTextStyle<'a> {
10691 type Inner = DucTextStyle<'a>;
10692 #[inline]
10693 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10694 Self { _tab: flatbuffers::Table::new(buf, loc) }
10695 }
10696}
10697
10698impl<'a> DucTextStyle<'a> {
10699 pub const VT_IS_LTR: flatbuffers::VOffsetT = 6;
10700 pub const VT_FONT_FAMILY: flatbuffers::VOffsetT = 8;
10701 pub const VT_BIG_FONT_FAMILY: flatbuffers::VOffsetT = 10;
10702 pub const VT_TEXT_ALIGN: flatbuffers::VOffsetT = 12;
10703 pub const VT_VERTICAL_ALIGN: flatbuffers::VOffsetT = 14;
10704 pub const VT_LINE_HEIGHT: flatbuffers::VOffsetT = 16;
10705 pub const VT_LINE_SPACING: flatbuffers::VOffsetT = 18;
10706 pub const VT_OBLIQUE_ANGLE: flatbuffers::VOffsetT = 20;
10707 pub const VT_FONT_SIZE: flatbuffers::VOffsetT = 22;
10708 pub const VT_PAPER_TEXT_HEIGHT: flatbuffers::VOffsetT = 24;
10709 pub const VT_WIDTH_FACTOR: flatbuffers::VOffsetT = 26;
10710 pub const VT_IS_UPSIDE_DOWN: flatbuffers::VOffsetT = 28;
10711 pub const VT_IS_BACKWARDS: flatbuffers::VOffsetT = 30;
10712
10713 #[inline]
10714 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10715 DucTextStyle { _tab: table }
10716 }
10717 #[allow(unused_mut)]
10718 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
10719 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
10720 args: &'args DucTextStyleArgs<'args>
10721 ) -> flatbuffers::WIPOffset<DucTextStyle<'bldr>> {
10722 let mut builder = DucTextStyleBuilder::new(_fbb);
10723 builder.add_paper_text_height(args.paper_text_height);
10724 builder.add_font_size(args.font_size);
10725 builder.add_oblique_angle(args.oblique_angle);
10726 builder.add_width_factor(args.width_factor);
10727 if let Some(x) = args.line_spacing { builder.add_line_spacing(x); }
10728 builder.add_line_height(args.line_height);
10729 if let Some(x) = args.big_font_family { builder.add_big_font_family(x); }
10730 if let Some(x) = args.font_family { builder.add_font_family(x); }
10731 builder.add_is_backwards(args.is_backwards);
10732 builder.add_is_upside_down(args.is_upside_down);
10733 if let Some(x) = args.vertical_align { builder.add_vertical_align(x); }
10734 if let Some(x) = args.text_align { builder.add_text_align(x); }
10735 builder.add_is_ltr(args.is_ltr);
10736 builder.finish()
10737 }
10738
10739
10740 #[inline]
10741 pub fn is_ltr(&self) -> bool {
10742 unsafe { self._tab.get::<bool>(DucTextStyle::VT_IS_LTR, Some(false)).unwrap()}
10746 }
10747 #[inline]
10748 pub fn font_family(&self) -> Option<&'a str> {
10749 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTextStyle::VT_FONT_FAMILY, None)}
10753 }
10754 #[inline]
10755 pub fn big_font_family(&self) -> Option<&'a str> {
10756 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTextStyle::VT_BIG_FONT_FAMILY, None)}
10760 }
10761 #[inline]
10762 pub fn text_align(&self) -> Option<TEXT_ALIGN> {
10763 unsafe { self._tab.get::<TEXT_ALIGN>(DucTextStyle::VT_TEXT_ALIGN, None)}
10767 }
10768 #[inline]
10769 pub fn vertical_align(&self) -> Option<VERTICAL_ALIGN> {
10770 unsafe { self._tab.get::<VERTICAL_ALIGN>(DucTextStyle::VT_VERTICAL_ALIGN, None)}
10774 }
10775 #[inline]
10776 pub fn line_height(&self) -> f32 {
10777 unsafe { self._tab.get::<f32>(DucTextStyle::VT_LINE_HEIGHT, Some(0.0)).unwrap()}
10781 }
10782 #[inline]
10783 pub fn line_spacing(&self) -> Option<LineSpacing<'a>> {
10784 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<LineSpacing>>(DucTextStyle::VT_LINE_SPACING, None)}
10788 }
10789 #[inline]
10790 pub fn oblique_angle(&self) -> f64 {
10791 unsafe { self._tab.get::<f64>(DucTextStyle::VT_OBLIQUE_ANGLE, Some(0.0)).unwrap()}
10795 }
10796 #[inline]
10797 pub fn font_size(&self) -> f64 {
10798 unsafe { self._tab.get::<f64>(DucTextStyle::VT_FONT_SIZE, Some(0.0)).unwrap()}
10802 }
10803 #[inline]
10804 pub fn paper_text_height(&self) -> f64 {
10805 unsafe { self._tab.get::<f64>(DucTextStyle::VT_PAPER_TEXT_HEIGHT, Some(0.0)).unwrap()}
10809 }
10810 #[inline]
10811 pub fn width_factor(&self) -> f32 {
10812 unsafe { self._tab.get::<f32>(DucTextStyle::VT_WIDTH_FACTOR, Some(0.0)).unwrap()}
10816 }
10817 #[inline]
10818 pub fn is_upside_down(&self) -> bool {
10819 unsafe { self._tab.get::<bool>(DucTextStyle::VT_IS_UPSIDE_DOWN, Some(false)).unwrap()}
10823 }
10824 #[inline]
10825 pub fn is_backwards(&self) -> bool {
10826 unsafe { self._tab.get::<bool>(DucTextStyle::VT_IS_BACKWARDS, Some(false)).unwrap()}
10830 }
10831}
10832
10833impl flatbuffers::Verifiable for DucTextStyle<'_> {
10834 #[inline]
10835 fn run_verifier(
10836 v: &mut flatbuffers::Verifier, pos: usize
10837 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
10838 use self::flatbuffers::Verifiable;
10839 v.visit_table(pos)?
10840 .visit_field::<bool>("is_ltr", Self::VT_IS_LTR, false)?
10841 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("font_family", Self::VT_FONT_FAMILY, false)?
10842 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("big_font_family", Self::VT_BIG_FONT_FAMILY, false)?
10843 .visit_field::<TEXT_ALIGN>("text_align", Self::VT_TEXT_ALIGN, false)?
10844 .visit_field::<VERTICAL_ALIGN>("vertical_align", Self::VT_VERTICAL_ALIGN, false)?
10845 .visit_field::<f32>("line_height", Self::VT_LINE_HEIGHT, false)?
10846 .visit_field::<flatbuffers::ForwardsUOffset<LineSpacing>>("line_spacing", Self::VT_LINE_SPACING, false)?
10847 .visit_field::<f64>("oblique_angle", Self::VT_OBLIQUE_ANGLE, false)?
10848 .visit_field::<f64>("font_size", Self::VT_FONT_SIZE, false)?
10849 .visit_field::<f64>("paper_text_height", Self::VT_PAPER_TEXT_HEIGHT, false)?
10850 .visit_field::<f32>("width_factor", Self::VT_WIDTH_FACTOR, false)?
10851 .visit_field::<bool>("is_upside_down", Self::VT_IS_UPSIDE_DOWN, false)?
10852 .visit_field::<bool>("is_backwards", Self::VT_IS_BACKWARDS, false)?
10853 .finish();
10854 Ok(())
10855 }
10856}
10857pub struct DucTextStyleArgs<'a> {
10858 pub is_ltr: bool,
10859 pub font_family: Option<flatbuffers::WIPOffset<&'a str>>,
10860 pub big_font_family: Option<flatbuffers::WIPOffset<&'a str>>,
10861 pub text_align: Option<TEXT_ALIGN>,
10862 pub vertical_align: Option<VERTICAL_ALIGN>,
10863 pub line_height: f32,
10864 pub line_spacing: Option<flatbuffers::WIPOffset<LineSpacing<'a>>>,
10865 pub oblique_angle: f64,
10866 pub font_size: f64,
10867 pub paper_text_height: f64,
10868 pub width_factor: f32,
10869 pub is_upside_down: bool,
10870 pub is_backwards: bool,
10871}
10872impl<'a> Default for DucTextStyleArgs<'a> {
10873 #[inline]
10874 fn default() -> Self {
10875 DucTextStyleArgs {
10876 is_ltr: false,
10877 font_family: None,
10878 big_font_family: None,
10879 text_align: None,
10880 vertical_align: None,
10881 line_height: 0.0,
10882 line_spacing: None,
10883 oblique_angle: 0.0,
10884 font_size: 0.0,
10885 paper_text_height: 0.0,
10886 width_factor: 0.0,
10887 is_upside_down: false,
10888 is_backwards: false,
10889 }
10890 }
10891}
10892
10893pub struct DucTextStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
10894 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
10895 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10896}
10897impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTextStyleBuilder<'a, 'b, A> {
10898 #[inline]
10899 pub fn add_is_ltr(&mut self, is_ltr: bool) {
10900 self.fbb_.push_slot::<bool>(DucTextStyle::VT_IS_LTR, is_ltr, false);
10901 }
10902 #[inline]
10903 pub fn add_font_family(&mut self, font_family: flatbuffers::WIPOffset<&'b str>) {
10904 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTextStyle::VT_FONT_FAMILY, font_family);
10905 }
10906 #[inline]
10907 pub fn add_big_font_family(&mut self, big_font_family: flatbuffers::WIPOffset<&'b str>) {
10908 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTextStyle::VT_BIG_FONT_FAMILY, big_font_family);
10909 }
10910 #[inline]
10911 pub fn add_text_align(&mut self, text_align: TEXT_ALIGN) {
10912 self.fbb_.push_slot_always::<TEXT_ALIGN>(DucTextStyle::VT_TEXT_ALIGN, text_align);
10913 }
10914 #[inline]
10915 pub fn add_vertical_align(&mut self, vertical_align: VERTICAL_ALIGN) {
10916 self.fbb_.push_slot_always::<VERTICAL_ALIGN>(DucTextStyle::VT_VERTICAL_ALIGN, vertical_align);
10917 }
10918 #[inline]
10919 pub fn add_line_height(&mut self, line_height: f32) {
10920 self.fbb_.push_slot::<f32>(DucTextStyle::VT_LINE_HEIGHT, line_height, 0.0);
10921 }
10922 #[inline]
10923 pub fn add_line_spacing(&mut self, line_spacing: flatbuffers::WIPOffset<LineSpacing<'b >>) {
10924 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<LineSpacing>>(DucTextStyle::VT_LINE_SPACING, line_spacing);
10925 }
10926 #[inline]
10927 pub fn add_oblique_angle(&mut self, oblique_angle: f64) {
10928 self.fbb_.push_slot::<f64>(DucTextStyle::VT_OBLIQUE_ANGLE, oblique_angle, 0.0);
10929 }
10930 #[inline]
10931 pub fn add_font_size(&mut self, font_size: f64) {
10932 self.fbb_.push_slot::<f64>(DucTextStyle::VT_FONT_SIZE, font_size, 0.0);
10933 }
10934 #[inline]
10935 pub fn add_paper_text_height(&mut self, paper_text_height: f64) {
10936 self.fbb_.push_slot::<f64>(DucTextStyle::VT_PAPER_TEXT_HEIGHT, paper_text_height, 0.0);
10937 }
10938 #[inline]
10939 pub fn add_width_factor(&mut self, width_factor: f32) {
10940 self.fbb_.push_slot::<f32>(DucTextStyle::VT_WIDTH_FACTOR, width_factor, 0.0);
10941 }
10942 #[inline]
10943 pub fn add_is_upside_down(&mut self, is_upside_down: bool) {
10944 self.fbb_.push_slot::<bool>(DucTextStyle::VT_IS_UPSIDE_DOWN, is_upside_down, false);
10945 }
10946 #[inline]
10947 pub fn add_is_backwards(&mut self, is_backwards: bool) {
10948 self.fbb_.push_slot::<bool>(DucTextStyle::VT_IS_BACKWARDS, is_backwards, false);
10949 }
10950 #[inline]
10951 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTextStyleBuilder<'a, 'b, A> {
10952 let start = _fbb.start_table();
10953 DucTextStyleBuilder {
10954 fbb_: _fbb,
10955 start_: start,
10956 }
10957 }
10958 #[inline]
10959 pub fn finish(self) -> flatbuffers::WIPOffset<DucTextStyle<'a>> {
10960 let o = self.fbb_.end_table(self.start_);
10961 flatbuffers::WIPOffset::new(o.value())
10962 }
10963}
10964
10965impl core::fmt::Debug for DucTextStyle<'_> {
10966 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10967 let mut ds = f.debug_struct("DucTextStyle");
10968 ds.field("is_ltr", &self.is_ltr());
10969 ds.field("font_family", &self.font_family());
10970 ds.field("big_font_family", &self.big_font_family());
10971 ds.field("text_align", &self.text_align());
10972 ds.field("vertical_align", &self.vertical_align());
10973 ds.field("line_height", &self.line_height());
10974 ds.field("line_spacing", &self.line_spacing());
10975 ds.field("oblique_angle", &self.oblique_angle());
10976 ds.field("font_size", &self.font_size());
10977 ds.field("paper_text_height", &self.paper_text_height());
10978 ds.field("width_factor", &self.width_factor());
10979 ds.field("is_upside_down", &self.is_upside_down());
10980 ds.field("is_backwards", &self.is_backwards());
10981 ds.finish()
10982 }
10983}
10984pub enum DucTableCellStyleOffset {}
10985#[derive(Copy, Clone, PartialEq)]
10986
10987pub struct DucTableCellStyle<'a> {
10988 pub _tab: flatbuffers::Table<'a>,
10989}
10990
10991impl<'a> flatbuffers::Follow<'a> for DucTableCellStyle<'a> {
10992 type Inner = DucTableCellStyle<'a>;
10993 #[inline]
10994 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10995 Self { _tab: flatbuffers::Table::new(buf, loc) }
10996 }
10997}
10998
10999impl<'a> DucTableCellStyle<'a> {
11000 pub const VT_BASE_STYLE: flatbuffers::VOffsetT = 4;
11001 pub const VT_TEXT_STYLE: flatbuffers::VOffsetT = 6;
11002 pub const VT_MARGINS: flatbuffers::VOffsetT = 8;
11003 pub const VT_ALIGNMENT: flatbuffers::VOffsetT = 10;
11004
11005 #[inline]
11006 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11007 DucTableCellStyle { _tab: table }
11008 }
11009 #[allow(unused_mut)]
11010 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
11011 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
11012 args: &'args DucTableCellStyleArgs<'args>
11013 ) -> flatbuffers::WIPOffset<DucTableCellStyle<'bldr>> {
11014 let mut builder = DucTableCellStyleBuilder::new(_fbb);
11015 if let Some(x) = args.margins { builder.add_margins(x); }
11016 if let Some(x) = args.text_style { builder.add_text_style(x); }
11017 if let Some(x) = args.base_style { builder.add_base_style(x); }
11018 if let Some(x) = args.alignment { builder.add_alignment(x); }
11019 builder.finish()
11020 }
11021
11022
11023 #[inline]
11024 pub fn base_style(&self) -> Option<_DucElementStylesBase<'a>> {
11025 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementStylesBase>>(DucTableCellStyle::VT_BASE_STYLE, None)}
11029 }
11030 #[inline]
11031 pub fn text_style(&self) -> Option<DucTextStyle<'a>> {
11032 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTextStyle>>(DucTableCellStyle::VT_TEXT_STYLE, None)}
11036 }
11037 #[inline]
11038 pub fn margins(&self) -> Option<Margins<'a>> {
11039 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Margins>>(DucTableCellStyle::VT_MARGINS, None)}
11043 }
11044 #[inline]
11045 pub fn alignment(&self) -> Option<TABLE_CELL_ALIGNMENT> {
11046 unsafe { self._tab.get::<TABLE_CELL_ALIGNMENT>(DucTableCellStyle::VT_ALIGNMENT, None)}
11050 }
11051}
11052
11053impl flatbuffers::Verifiable for DucTableCellStyle<'_> {
11054 #[inline]
11055 fn run_verifier(
11056 v: &mut flatbuffers::Verifier, pos: usize
11057 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11058 use self::flatbuffers::Verifiable;
11059 v.visit_table(pos)?
11060 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementStylesBase>>("base_style", Self::VT_BASE_STYLE, false)?
11061 .visit_field::<flatbuffers::ForwardsUOffset<DucTextStyle>>("text_style", Self::VT_TEXT_STYLE, false)?
11062 .visit_field::<flatbuffers::ForwardsUOffset<Margins>>("margins", Self::VT_MARGINS, false)?
11063 .visit_field::<TABLE_CELL_ALIGNMENT>("alignment", Self::VT_ALIGNMENT, false)?
11064 .finish();
11065 Ok(())
11066 }
11067}
11068pub struct DucTableCellStyleArgs<'a> {
11069 pub base_style: Option<flatbuffers::WIPOffset<_DucElementStylesBase<'a>>>,
11070 pub text_style: Option<flatbuffers::WIPOffset<DucTextStyle<'a>>>,
11071 pub margins: Option<flatbuffers::WIPOffset<Margins<'a>>>,
11072 pub alignment: Option<TABLE_CELL_ALIGNMENT>,
11073}
11074impl<'a> Default for DucTableCellStyleArgs<'a> {
11075 #[inline]
11076 fn default() -> Self {
11077 DucTableCellStyleArgs {
11078 base_style: None,
11079 text_style: None,
11080 margins: None,
11081 alignment: None,
11082 }
11083 }
11084}
11085
11086pub struct DucTableCellStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
11087 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
11088 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11089}
11090impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTableCellStyleBuilder<'a, 'b, A> {
11091 #[inline]
11092 pub fn add_base_style(&mut self, base_style: flatbuffers::WIPOffset<_DucElementStylesBase<'b >>) {
11093 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementStylesBase>>(DucTableCellStyle::VT_BASE_STYLE, base_style);
11094 }
11095 #[inline]
11096 pub fn add_text_style(&mut self, text_style: flatbuffers::WIPOffset<DucTextStyle<'b >>) {
11097 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTextStyle>>(DucTableCellStyle::VT_TEXT_STYLE, text_style);
11098 }
11099 #[inline]
11100 pub fn add_margins(&mut self, margins: flatbuffers::WIPOffset<Margins<'b >>) {
11101 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Margins>>(DucTableCellStyle::VT_MARGINS, margins);
11102 }
11103 #[inline]
11104 pub fn add_alignment(&mut self, alignment: TABLE_CELL_ALIGNMENT) {
11105 self.fbb_.push_slot_always::<TABLE_CELL_ALIGNMENT>(DucTableCellStyle::VT_ALIGNMENT, alignment);
11106 }
11107 #[inline]
11108 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTableCellStyleBuilder<'a, 'b, A> {
11109 let start = _fbb.start_table();
11110 DucTableCellStyleBuilder {
11111 fbb_: _fbb,
11112 start_: start,
11113 }
11114 }
11115 #[inline]
11116 pub fn finish(self) -> flatbuffers::WIPOffset<DucTableCellStyle<'a>> {
11117 let o = self.fbb_.end_table(self.start_);
11118 flatbuffers::WIPOffset::new(o.value())
11119 }
11120}
11121
11122impl core::fmt::Debug for DucTableCellStyle<'_> {
11123 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11124 let mut ds = f.debug_struct("DucTableCellStyle");
11125 ds.field("base_style", &self.base_style());
11126 ds.field("text_style", &self.text_style());
11127 ds.field("margins", &self.margins());
11128 ds.field("alignment", &self.alignment());
11129 ds.finish()
11130 }
11131}
11132pub enum DucTableStyleOffset {}
11133#[derive(Copy, Clone, PartialEq)]
11134
11135pub struct DucTableStyle<'a> {
11136 pub _tab: flatbuffers::Table<'a>,
11137}
11138
11139impl<'a> flatbuffers::Follow<'a> for DucTableStyle<'a> {
11140 type Inner = DucTableStyle<'a>;
11141 #[inline]
11142 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11143 Self { _tab: flatbuffers::Table::new(buf, loc) }
11144 }
11145}
11146
11147impl<'a> DucTableStyle<'a> {
11148 pub const VT_FLOW_DIRECTION: flatbuffers::VOffsetT = 6;
11149 pub const VT_HEADER_ROW_STYLE: flatbuffers::VOffsetT = 8;
11150 pub const VT_DATA_ROW_STYLE: flatbuffers::VOffsetT = 10;
11151 pub const VT_DATA_COLUMN_STYLE: flatbuffers::VOffsetT = 12;
11152
11153 #[inline]
11154 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11155 DucTableStyle { _tab: table }
11156 }
11157 #[allow(unused_mut)]
11158 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
11159 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
11160 args: &'args DucTableStyleArgs<'args>
11161 ) -> flatbuffers::WIPOffset<DucTableStyle<'bldr>> {
11162 let mut builder = DucTableStyleBuilder::new(_fbb);
11163 if let Some(x) = args.data_column_style { builder.add_data_column_style(x); }
11164 if let Some(x) = args.data_row_style { builder.add_data_row_style(x); }
11165 if let Some(x) = args.header_row_style { builder.add_header_row_style(x); }
11166 if let Some(x) = args.flow_direction { builder.add_flow_direction(x); }
11167 builder.finish()
11168 }
11169
11170
11171 #[inline]
11172 pub fn flow_direction(&self) -> Option<TABLE_FLOW_DIRECTION> {
11173 unsafe { self._tab.get::<TABLE_FLOW_DIRECTION>(DucTableStyle::VT_FLOW_DIRECTION, None)}
11177 }
11178 #[inline]
11179 pub fn header_row_style(&self) -> Option<DucTableCellStyle<'a>> {
11180 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTableCellStyle>>(DucTableStyle::VT_HEADER_ROW_STYLE, None)}
11184 }
11185 #[inline]
11186 pub fn data_row_style(&self) -> Option<DucTableCellStyle<'a>> {
11187 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTableCellStyle>>(DucTableStyle::VT_DATA_ROW_STYLE, None)}
11191 }
11192 #[inline]
11193 pub fn data_column_style(&self) -> Option<DucTableCellStyle<'a>> {
11194 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTableCellStyle>>(DucTableStyle::VT_DATA_COLUMN_STYLE, None)}
11198 }
11199}
11200
11201impl flatbuffers::Verifiable for DucTableStyle<'_> {
11202 #[inline]
11203 fn run_verifier(
11204 v: &mut flatbuffers::Verifier, pos: usize
11205 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11206 use self::flatbuffers::Verifiable;
11207 v.visit_table(pos)?
11208 .visit_field::<TABLE_FLOW_DIRECTION>("flow_direction", Self::VT_FLOW_DIRECTION, false)?
11209 .visit_field::<flatbuffers::ForwardsUOffset<DucTableCellStyle>>("header_row_style", Self::VT_HEADER_ROW_STYLE, false)?
11210 .visit_field::<flatbuffers::ForwardsUOffset<DucTableCellStyle>>("data_row_style", Self::VT_DATA_ROW_STYLE, false)?
11211 .visit_field::<flatbuffers::ForwardsUOffset<DucTableCellStyle>>("data_column_style", Self::VT_DATA_COLUMN_STYLE, false)?
11212 .finish();
11213 Ok(())
11214 }
11215}
11216pub struct DucTableStyleArgs<'a> {
11217 pub flow_direction: Option<TABLE_FLOW_DIRECTION>,
11218 pub header_row_style: Option<flatbuffers::WIPOffset<DucTableCellStyle<'a>>>,
11219 pub data_row_style: Option<flatbuffers::WIPOffset<DucTableCellStyle<'a>>>,
11220 pub data_column_style: Option<flatbuffers::WIPOffset<DucTableCellStyle<'a>>>,
11221}
11222impl<'a> Default for DucTableStyleArgs<'a> {
11223 #[inline]
11224 fn default() -> Self {
11225 DucTableStyleArgs {
11226 flow_direction: None,
11227 header_row_style: None,
11228 data_row_style: None,
11229 data_column_style: None,
11230 }
11231 }
11232}
11233
11234pub struct DucTableStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
11235 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
11236 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11237}
11238impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTableStyleBuilder<'a, 'b, A> {
11239 #[inline]
11240 pub fn add_flow_direction(&mut self, flow_direction: TABLE_FLOW_DIRECTION) {
11241 self.fbb_.push_slot_always::<TABLE_FLOW_DIRECTION>(DucTableStyle::VT_FLOW_DIRECTION, flow_direction);
11242 }
11243 #[inline]
11244 pub fn add_header_row_style(&mut self, header_row_style: flatbuffers::WIPOffset<DucTableCellStyle<'b >>) {
11245 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTableCellStyle>>(DucTableStyle::VT_HEADER_ROW_STYLE, header_row_style);
11246 }
11247 #[inline]
11248 pub fn add_data_row_style(&mut self, data_row_style: flatbuffers::WIPOffset<DucTableCellStyle<'b >>) {
11249 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTableCellStyle>>(DucTableStyle::VT_DATA_ROW_STYLE, data_row_style);
11250 }
11251 #[inline]
11252 pub fn add_data_column_style(&mut self, data_column_style: flatbuffers::WIPOffset<DucTableCellStyle<'b >>) {
11253 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTableCellStyle>>(DucTableStyle::VT_DATA_COLUMN_STYLE, data_column_style);
11254 }
11255 #[inline]
11256 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTableStyleBuilder<'a, 'b, A> {
11257 let start = _fbb.start_table();
11258 DucTableStyleBuilder {
11259 fbb_: _fbb,
11260 start_: start,
11261 }
11262 }
11263 #[inline]
11264 pub fn finish(self) -> flatbuffers::WIPOffset<DucTableStyle<'a>> {
11265 let o = self.fbb_.end_table(self.start_);
11266 flatbuffers::WIPOffset::new(o.value())
11267 }
11268}
11269
11270impl core::fmt::Debug for DucTableStyle<'_> {
11271 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11272 let mut ds = f.debug_struct("DucTableStyle");
11273 ds.field("flow_direction", &self.flow_direction());
11274 ds.field("header_row_style", &self.header_row_style());
11275 ds.field("data_row_style", &self.data_row_style());
11276 ds.field("data_column_style", &self.data_column_style());
11277 ds.finish()
11278 }
11279}
11280pub enum DucLeaderStyleOffset {}
11281#[derive(Copy, Clone, PartialEq)]
11282
11283pub struct DucLeaderStyle<'a> {
11284 pub _tab: flatbuffers::Table<'a>,
11285}
11286
11287impl<'a> flatbuffers::Follow<'a> for DucLeaderStyle<'a> {
11288 type Inner = DucLeaderStyle<'a>;
11289 #[inline]
11290 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11291 Self { _tab: flatbuffers::Table::new(buf, loc) }
11292 }
11293}
11294
11295impl<'a> DucLeaderStyle<'a> {
11296 pub const VT_HEADS_OVERRIDE: flatbuffers::VOffsetT = 6;
11297 pub const VT_DOGLEG: flatbuffers::VOffsetT = 8;
11298 pub const VT_TEXT_STYLE: flatbuffers::VOffsetT = 10;
11299 pub const VT_TEXT_ATTACHMENT: flatbuffers::VOffsetT = 12;
11300 pub const VT_BLOCK_ATTACHMENT: flatbuffers::VOffsetT = 14;
11301
11302 #[inline]
11303 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11304 DucLeaderStyle { _tab: table }
11305 }
11306 #[allow(unused_mut)]
11307 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
11308 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
11309 args: &'args DucLeaderStyleArgs<'args>
11310 ) -> flatbuffers::WIPOffset<DucLeaderStyle<'bldr>> {
11311 let mut builder = DucLeaderStyleBuilder::new(_fbb);
11312 builder.add_dogleg(args.dogleg);
11313 if let Some(x) = args.text_style { builder.add_text_style(x); }
11314 if let Some(x) = args.heads_override { builder.add_heads_override(x); }
11315 if let Some(x) = args.block_attachment { builder.add_block_attachment(x); }
11316 if let Some(x) = args.text_attachment { builder.add_text_attachment(x); }
11317 builder.finish()
11318 }
11319
11320
11321 #[inline]
11322 pub fn heads_override(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucHead<'a>>>> {
11323 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucHead>>>>(DucLeaderStyle::VT_HEADS_OVERRIDE, None)}
11327 }
11328 #[inline]
11329 pub fn dogleg(&self) -> f64 {
11330 unsafe { self._tab.get::<f64>(DucLeaderStyle::VT_DOGLEG, Some(0.0)).unwrap()}
11334 }
11335 #[inline]
11336 pub fn text_style(&self) -> Option<DucTextStyle<'a>> {
11337 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTextStyle>>(DucLeaderStyle::VT_TEXT_STYLE, None)}
11341 }
11342 #[inline]
11343 pub fn text_attachment(&self) -> Option<VERTICAL_ALIGN> {
11344 unsafe { self._tab.get::<VERTICAL_ALIGN>(DucLeaderStyle::VT_TEXT_ATTACHMENT, None)}
11348 }
11349 #[inline]
11350 pub fn block_attachment(&self) -> Option<BLOCK_ATTACHMENT> {
11351 unsafe { self._tab.get::<BLOCK_ATTACHMENT>(DucLeaderStyle::VT_BLOCK_ATTACHMENT, None)}
11355 }
11356}
11357
11358impl flatbuffers::Verifiable for DucLeaderStyle<'_> {
11359 #[inline]
11360 fn run_verifier(
11361 v: &mut flatbuffers::Verifier, pos: usize
11362 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11363 use self::flatbuffers::Verifiable;
11364 v.visit_table(pos)?
11365 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucHead>>>>("heads_override", Self::VT_HEADS_OVERRIDE, false)?
11366 .visit_field::<f64>("dogleg", Self::VT_DOGLEG, false)?
11367 .visit_field::<flatbuffers::ForwardsUOffset<DucTextStyle>>("text_style", Self::VT_TEXT_STYLE, false)?
11368 .visit_field::<VERTICAL_ALIGN>("text_attachment", Self::VT_TEXT_ATTACHMENT, false)?
11369 .visit_field::<BLOCK_ATTACHMENT>("block_attachment", Self::VT_BLOCK_ATTACHMENT, false)?
11370 .finish();
11371 Ok(())
11372 }
11373}
11374pub struct DucLeaderStyleArgs<'a> {
11375 pub heads_override: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucHead<'a>>>>>,
11376 pub dogleg: f64,
11377 pub text_style: Option<flatbuffers::WIPOffset<DucTextStyle<'a>>>,
11378 pub text_attachment: Option<VERTICAL_ALIGN>,
11379 pub block_attachment: Option<BLOCK_ATTACHMENT>,
11380}
11381impl<'a> Default for DucLeaderStyleArgs<'a> {
11382 #[inline]
11383 fn default() -> Self {
11384 DucLeaderStyleArgs {
11385 heads_override: None,
11386 dogleg: 0.0,
11387 text_style: None,
11388 text_attachment: None,
11389 block_attachment: None,
11390 }
11391 }
11392}
11393
11394pub struct DucLeaderStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
11395 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
11396 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11397}
11398impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucLeaderStyleBuilder<'a, 'b, A> {
11399 #[inline]
11400 pub fn add_heads_override(&mut self, heads_override: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucHead<'b >>>>) {
11401 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucLeaderStyle::VT_HEADS_OVERRIDE, heads_override);
11402 }
11403 #[inline]
11404 pub fn add_dogleg(&mut self, dogleg: f64) {
11405 self.fbb_.push_slot::<f64>(DucLeaderStyle::VT_DOGLEG, dogleg, 0.0);
11406 }
11407 #[inline]
11408 pub fn add_text_style(&mut self, text_style: flatbuffers::WIPOffset<DucTextStyle<'b >>) {
11409 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTextStyle>>(DucLeaderStyle::VT_TEXT_STYLE, text_style);
11410 }
11411 #[inline]
11412 pub fn add_text_attachment(&mut self, text_attachment: VERTICAL_ALIGN) {
11413 self.fbb_.push_slot_always::<VERTICAL_ALIGN>(DucLeaderStyle::VT_TEXT_ATTACHMENT, text_attachment);
11414 }
11415 #[inline]
11416 pub fn add_block_attachment(&mut self, block_attachment: BLOCK_ATTACHMENT) {
11417 self.fbb_.push_slot_always::<BLOCK_ATTACHMENT>(DucLeaderStyle::VT_BLOCK_ATTACHMENT, block_attachment);
11418 }
11419 #[inline]
11420 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucLeaderStyleBuilder<'a, 'b, A> {
11421 let start = _fbb.start_table();
11422 DucLeaderStyleBuilder {
11423 fbb_: _fbb,
11424 start_: start,
11425 }
11426 }
11427 #[inline]
11428 pub fn finish(self) -> flatbuffers::WIPOffset<DucLeaderStyle<'a>> {
11429 let o = self.fbb_.end_table(self.start_);
11430 flatbuffers::WIPOffset::new(o.value())
11431 }
11432}
11433
11434impl core::fmt::Debug for DucLeaderStyle<'_> {
11435 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11436 let mut ds = f.debug_struct("DucLeaderStyle");
11437 ds.field("heads_override", &self.heads_override());
11438 ds.field("dogleg", &self.dogleg());
11439 ds.field("text_style", &self.text_style());
11440 ds.field("text_attachment", &self.text_attachment());
11441 ds.field("block_attachment", &self.block_attachment());
11442 ds.finish()
11443 }
11444}
11445pub enum DimensionToleranceStyleOffset {}
11446#[derive(Copy, Clone, PartialEq)]
11447
11448pub struct DimensionToleranceStyle<'a> {
11449 pub _tab: flatbuffers::Table<'a>,
11450}
11451
11452impl<'a> flatbuffers::Follow<'a> for DimensionToleranceStyle<'a> {
11453 type Inner = DimensionToleranceStyle<'a>;
11454 #[inline]
11455 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11456 Self { _tab: flatbuffers::Table::new(buf, loc) }
11457 }
11458}
11459
11460impl<'a> DimensionToleranceStyle<'a> {
11461 pub const VT_ENABLED: flatbuffers::VOffsetT = 4;
11462 pub const VT_DISPLAY_METHOD: flatbuffers::VOffsetT = 6;
11463 pub const VT_UPPER_VALUE: flatbuffers::VOffsetT = 8;
11464 pub const VT_LOWER_VALUE: flatbuffers::VOffsetT = 10;
11465 pub const VT_PRECISION: flatbuffers::VOffsetT = 12;
11466 pub const VT_TEXT_STYLE: flatbuffers::VOffsetT = 14;
11467
11468 #[inline]
11469 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11470 DimensionToleranceStyle { _tab: table }
11471 }
11472 #[allow(unused_mut)]
11473 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
11474 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
11475 args: &'args DimensionToleranceStyleArgs<'args>
11476 ) -> flatbuffers::WIPOffset<DimensionToleranceStyle<'bldr>> {
11477 let mut builder = DimensionToleranceStyleBuilder::new(_fbb);
11478 builder.add_lower_value(args.lower_value);
11479 builder.add_upper_value(args.upper_value);
11480 if let Some(x) = args.text_style { builder.add_text_style(x); }
11481 builder.add_precision(args.precision);
11482 if let Some(x) = args.display_method { builder.add_display_method(x); }
11483 builder.add_enabled(args.enabled);
11484 builder.finish()
11485 }
11486
11487
11488 #[inline]
11489 pub fn enabled(&self) -> bool {
11490 unsafe { self._tab.get::<bool>(DimensionToleranceStyle::VT_ENABLED, Some(false)).unwrap()}
11494 }
11495 #[inline]
11496 pub fn display_method(&self) -> Option<TOLERANCE_DISPLAY> {
11497 unsafe { self._tab.get::<TOLERANCE_DISPLAY>(DimensionToleranceStyle::VT_DISPLAY_METHOD, None)}
11501 }
11502 #[inline]
11503 pub fn upper_value(&self) -> f64 {
11504 unsafe { self._tab.get::<f64>(DimensionToleranceStyle::VT_UPPER_VALUE, Some(0.0)).unwrap()}
11508 }
11509 #[inline]
11510 pub fn lower_value(&self) -> f64 {
11511 unsafe { self._tab.get::<f64>(DimensionToleranceStyle::VT_LOWER_VALUE, Some(0.0)).unwrap()}
11515 }
11516 #[inline]
11517 pub fn precision(&self) -> i32 {
11518 unsafe { self._tab.get::<i32>(DimensionToleranceStyle::VT_PRECISION, Some(0)).unwrap()}
11522 }
11523 #[inline]
11524 pub fn text_style(&self) -> Option<DucTextStyle<'a>> {
11525 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTextStyle>>(DimensionToleranceStyle::VT_TEXT_STYLE, None)}
11529 }
11530}
11531
11532impl flatbuffers::Verifiable for DimensionToleranceStyle<'_> {
11533 #[inline]
11534 fn run_verifier(
11535 v: &mut flatbuffers::Verifier, pos: usize
11536 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11537 use self::flatbuffers::Verifiable;
11538 v.visit_table(pos)?
11539 .visit_field::<bool>("enabled", Self::VT_ENABLED, false)?
11540 .visit_field::<TOLERANCE_DISPLAY>("display_method", Self::VT_DISPLAY_METHOD, false)?
11541 .visit_field::<f64>("upper_value", Self::VT_UPPER_VALUE, false)?
11542 .visit_field::<f64>("lower_value", Self::VT_LOWER_VALUE, false)?
11543 .visit_field::<i32>("precision", Self::VT_PRECISION, false)?
11544 .visit_field::<flatbuffers::ForwardsUOffset<DucTextStyle>>("text_style", Self::VT_TEXT_STYLE, false)?
11545 .finish();
11546 Ok(())
11547 }
11548}
11549pub struct DimensionToleranceStyleArgs<'a> {
11550 pub enabled: bool,
11551 pub display_method: Option<TOLERANCE_DISPLAY>,
11552 pub upper_value: f64,
11553 pub lower_value: f64,
11554 pub precision: i32,
11555 pub text_style: Option<flatbuffers::WIPOffset<DucTextStyle<'a>>>,
11556}
11557impl<'a> Default for DimensionToleranceStyleArgs<'a> {
11558 #[inline]
11559 fn default() -> Self {
11560 DimensionToleranceStyleArgs {
11561 enabled: false,
11562 display_method: None,
11563 upper_value: 0.0,
11564 lower_value: 0.0,
11565 precision: 0,
11566 text_style: None,
11567 }
11568 }
11569}
11570
11571pub struct DimensionToleranceStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
11572 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
11573 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11574}
11575impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DimensionToleranceStyleBuilder<'a, 'b, A> {
11576 #[inline]
11577 pub fn add_enabled(&mut self, enabled: bool) {
11578 self.fbb_.push_slot::<bool>(DimensionToleranceStyle::VT_ENABLED, enabled, false);
11579 }
11580 #[inline]
11581 pub fn add_display_method(&mut self, display_method: TOLERANCE_DISPLAY) {
11582 self.fbb_.push_slot_always::<TOLERANCE_DISPLAY>(DimensionToleranceStyle::VT_DISPLAY_METHOD, display_method);
11583 }
11584 #[inline]
11585 pub fn add_upper_value(&mut self, upper_value: f64) {
11586 self.fbb_.push_slot::<f64>(DimensionToleranceStyle::VT_UPPER_VALUE, upper_value, 0.0);
11587 }
11588 #[inline]
11589 pub fn add_lower_value(&mut self, lower_value: f64) {
11590 self.fbb_.push_slot::<f64>(DimensionToleranceStyle::VT_LOWER_VALUE, lower_value, 0.0);
11591 }
11592 #[inline]
11593 pub fn add_precision(&mut self, precision: i32) {
11594 self.fbb_.push_slot::<i32>(DimensionToleranceStyle::VT_PRECISION, precision, 0);
11595 }
11596 #[inline]
11597 pub fn add_text_style(&mut self, text_style: flatbuffers::WIPOffset<DucTextStyle<'b >>) {
11598 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTextStyle>>(DimensionToleranceStyle::VT_TEXT_STYLE, text_style);
11599 }
11600 #[inline]
11601 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DimensionToleranceStyleBuilder<'a, 'b, A> {
11602 let start = _fbb.start_table();
11603 DimensionToleranceStyleBuilder {
11604 fbb_: _fbb,
11605 start_: start,
11606 }
11607 }
11608 #[inline]
11609 pub fn finish(self) -> flatbuffers::WIPOffset<DimensionToleranceStyle<'a>> {
11610 let o = self.fbb_.end_table(self.start_);
11611 flatbuffers::WIPOffset::new(o.value())
11612 }
11613}
11614
11615impl core::fmt::Debug for DimensionToleranceStyle<'_> {
11616 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11617 let mut ds = f.debug_struct("DimensionToleranceStyle");
11618 ds.field("enabled", &self.enabled());
11619 ds.field("display_method", &self.display_method());
11620 ds.field("upper_value", &self.upper_value());
11621 ds.field("lower_value", &self.lower_value());
11622 ds.field("precision", &self.precision());
11623 ds.field("text_style", &self.text_style());
11624 ds.finish()
11625 }
11626}
11627pub enum DimensionFitStyleOffset {}
11628#[derive(Copy, Clone, PartialEq)]
11629
11630pub struct DimensionFitStyle<'a> {
11631 pub _tab: flatbuffers::Table<'a>,
11632}
11633
11634impl<'a> flatbuffers::Follow<'a> for DimensionFitStyle<'a> {
11635 type Inner = DimensionFitStyle<'a>;
11636 #[inline]
11637 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11638 Self { _tab: flatbuffers::Table::new(buf, loc) }
11639 }
11640}
11641
11642impl<'a> DimensionFitStyle<'a> {
11643 pub const VT_RULE: flatbuffers::VOffsetT = 4;
11644 pub const VT_TEXT_PLACEMENT: flatbuffers::VOffsetT = 6;
11645 pub const VT_FORCE_TEXT_INSIDE: flatbuffers::VOffsetT = 8;
11646
11647 #[inline]
11648 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11649 DimensionFitStyle { _tab: table }
11650 }
11651 #[allow(unused_mut)]
11652 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
11653 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
11654 args: &'args DimensionFitStyleArgs
11655 ) -> flatbuffers::WIPOffset<DimensionFitStyle<'bldr>> {
11656 let mut builder = DimensionFitStyleBuilder::new(_fbb);
11657 builder.add_force_text_inside(args.force_text_inside);
11658 if let Some(x) = args.text_placement { builder.add_text_placement(x); }
11659 if let Some(x) = args.rule { builder.add_rule(x); }
11660 builder.finish()
11661 }
11662
11663
11664 #[inline]
11665 pub fn rule(&self) -> Option<DIMENSION_FIT_RULE> {
11666 unsafe { self._tab.get::<DIMENSION_FIT_RULE>(DimensionFitStyle::VT_RULE, None)}
11670 }
11671 #[inline]
11672 pub fn text_placement(&self) -> Option<DIMENSION_TEXT_PLACEMENT> {
11673 unsafe { self._tab.get::<DIMENSION_TEXT_PLACEMENT>(DimensionFitStyle::VT_TEXT_PLACEMENT, None)}
11677 }
11678 #[inline]
11679 pub fn force_text_inside(&self) -> bool {
11680 unsafe { self._tab.get::<bool>(DimensionFitStyle::VT_FORCE_TEXT_INSIDE, Some(false)).unwrap()}
11684 }
11685}
11686
11687impl flatbuffers::Verifiable for DimensionFitStyle<'_> {
11688 #[inline]
11689 fn run_verifier(
11690 v: &mut flatbuffers::Verifier, pos: usize
11691 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11692 use self::flatbuffers::Verifiable;
11693 v.visit_table(pos)?
11694 .visit_field::<DIMENSION_FIT_RULE>("rule", Self::VT_RULE, false)?
11695 .visit_field::<DIMENSION_TEXT_PLACEMENT>("text_placement", Self::VT_TEXT_PLACEMENT, false)?
11696 .visit_field::<bool>("force_text_inside", Self::VT_FORCE_TEXT_INSIDE, false)?
11697 .finish();
11698 Ok(())
11699 }
11700}
11701pub struct DimensionFitStyleArgs {
11702 pub rule: Option<DIMENSION_FIT_RULE>,
11703 pub text_placement: Option<DIMENSION_TEXT_PLACEMENT>,
11704 pub force_text_inside: bool,
11705}
11706impl<'a> Default for DimensionFitStyleArgs {
11707 #[inline]
11708 fn default() -> Self {
11709 DimensionFitStyleArgs {
11710 rule: None,
11711 text_placement: None,
11712 force_text_inside: false,
11713 }
11714 }
11715}
11716
11717pub struct DimensionFitStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
11718 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
11719 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11720}
11721impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DimensionFitStyleBuilder<'a, 'b, A> {
11722 #[inline]
11723 pub fn add_rule(&mut self, rule: DIMENSION_FIT_RULE) {
11724 self.fbb_.push_slot_always::<DIMENSION_FIT_RULE>(DimensionFitStyle::VT_RULE, rule);
11725 }
11726 #[inline]
11727 pub fn add_text_placement(&mut self, text_placement: DIMENSION_TEXT_PLACEMENT) {
11728 self.fbb_.push_slot_always::<DIMENSION_TEXT_PLACEMENT>(DimensionFitStyle::VT_TEXT_PLACEMENT, text_placement);
11729 }
11730 #[inline]
11731 pub fn add_force_text_inside(&mut self, force_text_inside: bool) {
11732 self.fbb_.push_slot::<bool>(DimensionFitStyle::VT_FORCE_TEXT_INSIDE, force_text_inside, false);
11733 }
11734 #[inline]
11735 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DimensionFitStyleBuilder<'a, 'b, A> {
11736 let start = _fbb.start_table();
11737 DimensionFitStyleBuilder {
11738 fbb_: _fbb,
11739 start_: start,
11740 }
11741 }
11742 #[inline]
11743 pub fn finish(self) -> flatbuffers::WIPOffset<DimensionFitStyle<'a>> {
11744 let o = self.fbb_.end_table(self.start_);
11745 flatbuffers::WIPOffset::new(o.value())
11746 }
11747}
11748
11749impl core::fmt::Debug for DimensionFitStyle<'_> {
11750 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11751 let mut ds = f.debug_struct("DimensionFitStyle");
11752 ds.field("rule", &self.rule());
11753 ds.field("text_placement", &self.text_placement());
11754 ds.field("force_text_inside", &self.force_text_inside());
11755 ds.finish()
11756 }
11757}
11758pub enum DimensionLineStyleOffset {}
11759#[derive(Copy, Clone, PartialEq)]
11760
11761pub struct DimensionLineStyle<'a> {
11762 pub _tab: flatbuffers::Table<'a>,
11763}
11764
11765impl<'a> flatbuffers::Follow<'a> for DimensionLineStyle<'a> {
11766 type Inner = DimensionLineStyle<'a>;
11767 #[inline]
11768 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11769 Self { _tab: flatbuffers::Table::new(buf, loc) }
11770 }
11771}
11772
11773impl<'a> DimensionLineStyle<'a> {
11774 pub const VT_STROKE: flatbuffers::VOffsetT = 4;
11775 pub const VT_TEXT_GAP: flatbuffers::VOffsetT = 6;
11776
11777 #[inline]
11778 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11779 DimensionLineStyle { _tab: table }
11780 }
11781 #[allow(unused_mut)]
11782 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
11783 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
11784 args: &'args DimensionLineStyleArgs<'args>
11785 ) -> flatbuffers::WIPOffset<DimensionLineStyle<'bldr>> {
11786 let mut builder = DimensionLineStyleBuilder::new(_fbb);
11787 builder.add_text_gap(args.text_gap);
11788 if let Some(x) = args.stroke { builder.add_stroke(x); }
11789 builder.finish()
11790 }
11791
11792
11793 #[inline]
11794 pub fn stroke(&self) -> Option<ElementStroke<'a>> {
11795 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ElementStroke>>(DimensionLineStyle::VT_STROKE, None)}
11799 }
11800 #[inline]
11801 pub fn text_gap(&self) -> f64 {
11802 unsafe { self._tab.get::<f64>(DimensionLineStyle::VT_TEXT_GAP, Some(0.0)).unwrap()}
11806 }
11807}
11808
11809impl flatbuffers::Verifiable for DimensionLineStyle<'_> {
11810 #[inline]
11811 fn run_verifier(
11812 v: &mut flatbuffers::Verifier, pos: usize
11813 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11814 use self::flatbuffers::Verifiable;
11815 v.visit_table(pos)?
11816 .visit_field::<flatbuffers::ForwardsUOffset<ElementStroke>>("stroke", Self::VT_STROKE, false)?
11817 .visit_field::<f64>("text_gap", Self::VT_TEXT_GAP, false)?
11818 .finish();
11819 Ok(())
11820 }
11821}
11822pub struct DimensionLineStyleArgs<'a> {
11823 pub stroke: Option<flatbuffers::WIPOffset<ElementStroke<'a>>>,
11824 pub text_gap: f64,
11825}
11826impl<'a> Default for DimensionLineStyleArgs<'a> {
11827 #[inline]
11828 fn default() -> Self {
11829 DimensionLineStyleArgs {
11830 stroke: None,
11831 text_gap: 0.0,
11832 }
11833 }
11834}
11835
11836pub struct DimensionLineStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
11837 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
11838 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11839}
11840impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DimensionLineStyleBuilder<'a, 'b, A> {
11841 #[inline]
11842 pub fn add_stroke(&mut self, stroke: flatbuffers::WIPOffset<ElementStroke<'b >>) {
11843 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ElementStroke>>(DimensionLineStyle::VT_STROKE, stroke);
11844 }
11845 #[inline]
11846 pub fn add_text_gap(&mut self, text_gap: f64) {
11847 self.fbb_.push_slot::<f64>(DimensionLineStyle::VT_TEXT_GAP, text_gap, 0.0);
11848 }
11849 #[inline]
11850 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DimensionLineStyleBuilder<'a, 'b, A> {
11851 let start = _fbb.start_table();
11852 DimensionLineStyleBuilder {
11853 fbb_: _fbb,
11854 start_: start,
11855 }
11856 }
11857 #[inline]
11858 pub fn finish(self) -> flatbuffers::WIPOffset<DimensionLineStyle<'a>> {
11859 let o = self.fbb_.end_table(self.start_);
11860 flatbuffers::WIPOffset::new(o.value())
11861 }
11862}
11863
11864impl core::fmt::Debug for DimensionLineStyle<'_> {
11865 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11866 let mut ds = f.debug_struct("DimensionLineStyle");
11867 ds.field("stroke", &self.stroke());
11868 ds.field("text_gap", &self.text_gap());
11869 ds.finish()
11870 }
11871}
11872pub enum DimensionExtLineStyleOffset {}
11873#[derive(Copy, Clone, PartialEq)]
11874
11875pub struct DimensionExtLineStyle<'a> {
11876 pub _tab: flatbuffers::Table<'a>,
11877}
11878
11879impl<'a> flatbuffers::Follow<'a> for DimensionExtLineStyle<'a> {
11880 type Inner = DimensionExtLineStyle<'a>;
11881 #[inline]
11882 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11883 Self { _tab: flatbuffers::Table::new(buf, loc) }
11884 }
11885}
11886
11887impl<'a> DimensionExtLineStyle<'a> {
11888 pub const VT_STROKE: flatbuffers::VOffsetT = 4;
11889 pub const VT_OVERSHOOT: flatbuffers::VOffsetT = 6;
11890 pub const VT_OFFSET: flatbuffers::VOffsetT = 8;
11891
11892 #[inline]
11893 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11894 DimensionExtLineStyle { _tab: table }
11895 }
11896 #[allow(unused_mut)]
11897 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
11898 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
11899 args: &'args DimensionExtLineStyleArgs<'args>
11900 ) -> flatbuffers::WIPOffset<DimensionExtLineStyle<'bldr>> {
11901 let mut builder = DimensionExtLineStyleBuilder::new(_fbb);
11902 builder.add_offset(args.offset);
11903 builder.add_overshoot(args.overshoot);
11904 if let Some(x) = args.stroke { builder.add_stroke(x); }
11905 builder.finish()
11906 }
11907
11908
11909 #[inline]
11910 pub fn stroke(&self) -> Option<ElementStroke<'a>> {
11911 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ElementStroke>>(DimensionExtLineStyle::VT_STROKE, None)}
11915 }
11916 #[inline]
11917 pub fn overshoot(&self) -> f64 {
11918 unsafe { self._tab.get::<f64>(DimensionExtLineStyle::VT_OVERSHOOT, Some(0.0)).unwrap()}
11922 }
11923 #[inline]
11924 pub fn offset(&self) -> f64 {
11925 unsafe { self._tab.get::<f64>(DimensionExtLineStyle::VT_OFFSET, Some(0.0)).unwrap()}
11929 }
11930}
11931
11932impl flatbuffers::Verifiable for DimensionExtLineStyle<'_> {
11933 #[inline]
11934 fn run_verifier(
11935 v: &mut flatbuffers::Verifier, pos: usize
11936 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11937 use self::flatbuffers::Verifiable;
11938 v.visit_table(pos)?
11939 .visit_field::<flatbuffers::ForwardsUOffset<ElementStroke>>("stroke", Self::VT_STROKE, false)?
11940 .visit_field::<f64>("overshoot", Self::VT_OVERSHOOT, false)?
11941 .visit_field::<f64>("offset", Self::VT_OFFSET, false)?
11942 .finish();
11943 Ok(())
11944 }
11945}
11946pub struct DimensionExtLineStyleArgs<'a> {
11947 pub stroke: Option<flatbuffers::WIPOffset<ElementStroke<'a>>>,
11948 pub overshoot: f64,
11949 pub offset: f64,
11950}
11951impl<'a> Default for DimensionExtLineStyleArgs<'a> {
11952 #[inline]
11953 fn default() -> Self {
11954 DimensionExtLineStyleArgs {
11955 stroke: None,
11956 overshoot: 0.0,
11957 offset: 0.0,
11958 }
11959 }
11960}
11961
11962pub struct DimensionExtLineStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
11963 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
11964 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11965}
11966impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DimensionExtLineStyleBuilder<'a, 'b, A> {
11967 #[inline]
11968 pub fn add_stroke(&mut self, stroke: flatbuffers::WIPOffset<ElementStroke<'b >>) {
11969 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ElementStroke>>(DimensionExtLineStyle::VT_STROKE, stroke);
11970 }
11971 #[inline]
11972 pub fn add_overshoot(&mut self, overshoot: f64) {
11973 self.fbb_.push_slot::<f64>(DimensionExtLineStyle::VT_OVERSHOOT, overshoot, 0.0);
11974 }
11975 #[inline]
11976 pub fn add_offset(&mut self, offset: f64) {
11977 self.fbb_.push_slot::<f64>(DimensionExtLineStyle::VT_OFFSET, offset, 0.0);
11978 }
11979 #[inline]
11980 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DimensionExtLineStyleBuilder<'a, 'b, A> {
11981 let start = _fbb.start_table();
11982 DimensionExtLineStyleBuilder {
11983 fbb_: _fbb,
11984 start_: start,
11985 }
11986 }
11987 #[inline]
11988 pub fn finish(self) -> flatbuffers::WIPOffset<DimensionExtLineStyle<'a>> {
11989 let o = self.fbb_.end_table(self.start_);
11990 flatbuffers::WIPOffset::new(o.value())
11991 }
11992}
11993
11994impl core::fmt::Debug for DimensionExtLineStyle<'_> {
11995 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11996 let mut ds = f.debug_struct("DimensionExtLineStyle");
11997 ds.field("stroke", &self.stroke());
11998 ds.field("overshoot", &self.overshoot());
11999 ds.field("offset", &self.offset());
12000 ds.finish()
12001 }
12002}
12003pub enum DimensionSymbolStyleOffset {}
12004#[derive(Copy, Clone, PartialEq)]
12005
12006pub struct DimensionSymbolStyle<'a> {
12007 pub _tab: flatbuffers::Table<'a>,
12008}
12009
12010impl<'a> flatbuffers::Follow<'a> for DimensionSymbolStyle<'a> {
12011 type Inner = DimensionSymbolStyle<'a>;
12012 #[inline]
12013 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12014 Self { _tab: flatbuffers::Table::new(buf, loc) }
12015 }
12016}
12017
12018impl<'a> DimensionSymbolStyle<'a> {
12019 pub const VT_HEADS_OVERRIDE: flatbuffers::VOffsetT = 4;
12020 pub const VT_CENTER_MARK_TYPE: flatbuffers::VOffsetT = 6;
12021 pub const VT_CENTER_MARK_SIZE: flatbuffers::VOffsetT = 8;
12022
12023 #[inline]
12024 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12025 DimensionSymbolStyle { _tab: table }
12026 }
12027 #[allow(unused_mut)]
12028 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
12029 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
12030 args: &'args DimensionSymbolStyleArgs<'args>
12031 ) -> flatbuffers::WIPOffset<DimensionSymbolStyle<'bldr>> {
12032 let mut builder = DimensionSymbolStyleBuilder::new(_fbb);
12033 builder.add_center_mark_size(args.center_mark_size);
12034 if let Some(x) = args.heads_override { builder.add_heads_override(x); }
12035 if let Some(x) = args.center_mark_type { builder.add_center_mark_type(x); }
12036 builder.finish()
12037 }
12038
12039
12040 #[inline]
12041 pub fn heads_override(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucHead<'a>>>> {
12042 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucHead>>>>(DimensionSymbolStyle::VT_HEADS_OVERRIDE, None)}
12046 }
12047 #[inline]
12048 pub fn center_mark_type(&self) -> Option<MARK_ELLIPSE_CENTER> {
12049 unsafe { self._tab.get::<MARK_ELLIPSE_CENTER>(DimensionSymbolStyle::VT_CENTER_MARK_TYPE, None)}
12053 }
12054 #[inline]
12055 pub fn center_mark_size(&self) -> f64 {
12056 unsafe { self._tab.get::<f64>(DimensionSymbolStyle::VT_CENTER_MARK_SIZE, Some(0.0)).unwrap()}
12060 }
12061}
12062
12063impl flatbuffers::Verifiable for DimensionSymbolStyle<'_> {
12064 #[inline]
12065 fn run_verifier(
12066 v: &mut flatbuffers::Verifier, pos: usize
12067 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12068 use self::flatbuffers::Verifiable;
12069 v.visit_table(pos)?
12070 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucHead>>>>("heads_override", Self::VT_HEADS_OVERRIDE, false)?
12071 .visit_field::<MARK_ELLIPSE_CENTER>("center_mark_type", Self::VT_CENTER_MARK_TYPE, false)?
12072 .visit_field::<f64>("center_mark_size", Self::VT_CENTER_MARK_SIZE, false)?
12073 .finish();
12074 Ok(())
12075 }
12076}
12077pub struct DimensionSymbolStyleArgs<'a> {
12078 pub heads_override: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucHead<'a>>>>>,
12079 pub center_mark_type: Option<MARK_ELLIPSE_CENTER>,
12080 pub center_mark_size: f64,
12081}
12082impl<'a> Default for DimensionSymbolStyleArgs<'a> {
12083 #[inline]
12084 fn default() -> Self {
12085 DimensionSymbolStyleArgs {
12086 heads_override: None,
12087 center_mark_type: None,
12088 center_mark_size: 0.0,
12089 }
12090 }
12091}
12092
12093pub struct DimensionSymbolStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
12094 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
12095 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12096}
12097impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DimensionSymbolStyleBuilder<'a, 'b, A> {
12098 #[inline]
12099 pub fn add_heads_override(&mut self, heads_override: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucHead<'b >>>>) {
12100 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DimensionSymbolStyle::VT_HEADS_OVERRIDE, heads_override);
12101 }
12102 #[inline]
12103 pub fn add_center_mark_type(&mut self, center_mark_type: MARK_ELLIPSE_CENTER) {
12104 self.fbb_.push_slot_always::<MARK_ELLIPSE_CENTER>(DimensionSymbolStyle::VT_CENTER_MARK_TYPE, center_mark_type);
12105 }
12106 #[inline]
12107 pub fn add_center_mark_size(&mut self, center_mark_size: f64) {
12108 self.fbb_.push_slot::<f64>(DimensionSymbolStyle::VT_CENTER_MARK_SIZE, center_mark_size, 0.0);
12109 }
12110 #[inline]
12111 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DimensionSymbolStyleBuilder<'a, 'b, A> {
12112 let start = _fbb.start_table();
12113 DimensionSymbolStyleBuilder {
12114 fbb_: _fbb,
12115 start_: start,
12116 }
12117 }
12118 #[inline]
12119 pub fn finish(self) -> flatbuffers::WIPOffset<DimensionSymbolStyle<'a>> {
12120 let o = self.fbb_.end_table(self.start_);
12121 flatbuffers::WIPOffset::new(o.value())
12122 }
12123}
12124
12125impl core::fmt::Debug for DimensionSymbolStyle<'_> {
12126 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12127 let mut ds = f.debug_struct("DimensionSymbolStyle");
12128 ds.field("heads_override", &self.heads_override());
12129 ds.field("center_mark_type", &self.center_mark_type());
12130 ds.field("center_mark_size", &self.center_mark_size());
12131 ds.finish()
12132 }
12133}
12134pub enum DucDimensionStyleOffset {}
12135#[derive(Copy, Clone, PartialEq)]
12136
12137pub struct DucDimensionStyle<'a> {
12138 pub _tab: flatbuffers::Table<'a>,
12139}
12140
12141impl<'a> flatbuffers::Follow<'a> for DucDimensionStyle<'a> {
12142 type Inner = DucDimensionStyle<'a>;
12143 #[inline]
12144 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12145 Self { _tab: flatbuffers::Table::new(buf, loc) }
12146 }
12147}
12148
12149impl<'a> DucDimensionStyle<'a> {
12150 pub const VT_DIM_LINE: flatbuffers::VOffsetT = 4;
12151 pub const VT_EXT_LINE: flatbuffers::VOffsetT = 6;
12152 pub const VT_TEXT_STYLE: flatbuffers::VOffsetT = 8;
12153 pub const VT_SYMBOLS: flatbuffers::VOffsetT = 10;
12154 pub const VT_TOLERANCE: flatbuffers::VOffsetT = 12;
12155 pub const VT_FIT: flatbuffers::VOffsetT = 14;
12156
12157 #[inline]
12158 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12159 DucDimensionStyle { _tab: table }
12160 }
12161 #[allow(unused_mut)]
12162 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
12163 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
12164 args: &'args DucDimensionStyleArgs<'args>
12165 ) -> flatbuffers::WIPOffset<DucDimensionStyle<'bldr>> {
12166 let mut builder = DucDimensionStyleBuilder::new(_fbb);
12167 if let Some(x) = args.fit { builder.add_fit(x); }
12168 if let Some(x) = args.tolerance { builder.add_tolerance(x); }
12169 if let Some(x) = args.symbols { builder.add_symbols(x); }
12170 if let Some(x) = args.text_style { builder.add_text_style(x); }
12171 if let Some(x) = args.ext_line { builder.add_ext_line(x); }
12172 if let Some(x) = args.dim_line { builder.add_dim_line(x); }
12173 builder.finish()
12174 }
12175
12176
12177 #[inline]
12178 pub fn dim_line(&self) -> Option<DimensionLineStyle<'a>> {
12179 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DimensionLineStyle>>(DucDimensionStyle::VT_DIM_LINE, None)}
12183 }
12184 #[inline]
12185 pub fn ext_line(&self) -> Option<DimensionExtLineStyle<'a>> {
12186 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DimensionExtLineStyle>>(DucDimensionStyle::VT_EXT_LINE, None)}
12190 }
12191 #[inline]
12192 pub fn text_style(&self) -> Option<DucTextStyle<'a>> {
12193 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTextStyle>>(DucDimensionStyle::VT_TEXT_STYLE, None)}
12197 }
12198 #[inline]
12199 pub fn symbols(&self) -> Option<DimensionSymbolStyle<'a>> {
12200 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DimensionSymbolStyle>>(DucDimensionStyle::VT_SYMBOLS, None)}
12204 }
12205 #[inline]
12206 pub fn tolerance(&self) -> Option<DimensionToleranceStyle<'a>> {
12207 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DimensionToleranceStyle>>(DucDimensionStyle::VT_TOLERANCE, None)}
12211 }
12212 #[inline]
12213 pub fn fit(&self) -> Option<DimensionFitStyle<'a>> {
12214 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DimensionFitStyle>>(DucDimensionStyle::VT_FIT, None)}
12218 }
12219}
12220
12221impl flatbuffers::Verifiable for DucDimensionStyle<'_> {
12222 #[inline]
12223 fn run_verifier(
12224 v: &mut flatbuffers::Verifier, pos: usize
12225 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12226 use self::flatbuffers::Verifiable;
12227 v.visit_table(pos)?
12228 .visit_field::<flatbuffers::ForwardsUOffset<DimensionLineStyle>>("dim_line", Self::VT_DIM_LINE, false)?
12229 .visit_field::<flatbuffers::ForwardsUOffset<DimensionExtLineStyle>>("ext_line", Self::VT_EXT_LINE, false)?
12230 .visit_field::<flatbuffers::ForwardsUOffset<DucTextStyle>>("text_style", Self::VT_TEXT_STYLE, false)?
12231 .visit_field::<flatbuffers::ForwardsUOffset<DimensionSymbolStyle>>("symbols", Self::VT_SYMBOLS, false)?
12232 .visit_field::<flatbuffers::ForwardsUOffset<DimensionToleranceStyle>>("tolerance", Self::VT_TOLERANCE, false)?
12233 .visit_field::<flatbuffers::ForwardsUOffset<DimensionFitStyle>>("fit", Self::VT_FIT, false)?
12234 .finish();
12235 Ok(())
12236 }
12237}
12238pub struct DucDimensionStyleArgs<'a> {
12239 pub dim_line: Option<flatbuffers::WIPOffset<DimensionLineStyle<'a>>>,
12240 pub ext_line: Option<flatbuffers::WIPOffset<DimensionExtLineStyle<'a>>>,
12241 pub text_style: Option<flatbuffers::WIPOffset<DucTextStyle<'a>>>,
12242 pub symbols: Option<flatbuffers::WIPOffset<DimensionSymbolStyle<'a>>>,
12243 pub tolerance: Option<flatbuffers::WIPOffset<DimensionToleranceStyle<'a>>>,
12244 pub fit: Option<flatbuffers::WIPOffset<DimensionFitStyle<'a>>>,
12245}
12246impl<'a> Default for DucDimensionStyleArgs<'a> {
12247 #[inline]
12248 fn default() -> Self {
12249 DucDimensionStyleArgs {
12250 dim_line: None,
12251 ext_line: None,
12252 text_style: None,
12253 symbols: None,
12254 tolerance: None,
12255 fit: None,
12256 }
12257 }
12258}
12259
12260pub struct DucDimensionStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
12261 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
12262 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12263}
12264impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucDimensionStyleBuilder<'a, 'b, A> {
12265 #[inline]
12266 pub fn add_dim_line(&mut self, dim_line: flatbuffers::WIPOffset<DimensionLineStyle<'b >>) {
12267 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DimensionLineStyle>>(DucDimensionStyle::VT_DIM_LINE, dim_line);
12268 }
12269 #[inline]
12270 pub fn add_ext_line(&mut self, ext_line: flatbuffers::WIPOffset<DimensionExtLineStyle<'b >>) {
12271 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DimensionExtLineStyle>>(DucDimensionStyle::VT_EXT_LINE, ext_line);
12272 }
12273 #[inline]
12274 pub fn add_text_style(&mut self, text_style: flatbuffers::WIPOffset<DucTextStyle<'b >>) {
12275 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTextStyle>>(DucDimensionStyle::VT_TEXT_STYLE, text_style);
12276 }
12277 #[inline]
12278 pub fn add_symbols(&mut self, symbols: flatbuffers::WIPOffset<DimensionSymbolStyle<'b >>) {
12279 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DimensionSymbolStyle>>(DucDimensionStyle::VT_SYMBOLS, symbols);
12280 }
12281 #[inline]
12282 pub fn add_tolerance(&mut self, tolerance: flatbuffers::WIPOffset<DimensionToleranceStyle<'b >>) {
12283 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DimensionToleranceStyle>>(DucDimensionStyle::VT_TOLERANCE, tolerance);
12284 }
12285 #[inline]
12286 pub fn add_fit(&mut self, fit: flatbuffers::WIPOffset<DimensionFitStyle<'b >>) {
12287 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DimensionFitStyle>>(DucDimensionStyle::VT_FIT, fit);
12288 }
12289 #[inline]
12290 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucDimensionStyleBuilder<'a, 'b, A> {
12291 let start = _fbb.start_table();
12292 DucDimensionStyleBuilder {
12293 fbb_: _fbb,
12294 start_: start,
12295 }
12296 }
12297 #[inline]
12298 pub fn finish(self) -> flatbuffers::WIPOffset<DucDimensionStyle<'a>> {
12299 let o = self.fbb_.end_table(self.start_);
12300 flatbuffers::WIPOffset::new(o.value())
12301 }
12302}
12303
12304impl core::fmt::Debug for DucDimensionStyle<'_> {
12305 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12306 let mut ds = f.debug_struct("DucDimensionStyle");
12307 ds.field("dim_line", &self.dim_line());
12308 ds.field("ext_line", &self.ext_line());
12309 ds.field("text_style", &self.text_style());
12310 ds.field("symbols", &self.symbols());
12311 ds.field("tolerance", &self.tolerance());
12312 ds.field("fit", &self.fit());
12313 ds.finish()
12314 }
12315}
12316pub enum FCFLayoutStyleOffset {}
12317#[derive(Copy, Clone, PartialEq)]
12318
12319pub struct FCFLayoutStyle<'a> {
12320 pub _tab: flatbuffers::Table<'a>,
12321}
12322
12323impl<'a> flatbuffers::Follow<'a> for FCFLayoutStyle<'a> {
12324 type Inner = FCFLayoutStyle<'a>;
12325 #[inline]
12326 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12327 Self { _tab: flatbuffers::Table::new(buf, loc) }
12328 }
12329}
12330
12331impl<'a> FCFLayoutStyle<'a> {
12332 pub const VT_PADDING: flatbuffers::VOffsetT = 4;
12333 pub const VT_SEGMENT_SPACING: flatbuffers::VOffsetT = 6;
12334 pub const VT_ROW_SPACING: flatbuffers::VOffsetT = 8;
12335
12336 #[inline]
12337 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12338 FCFLayoutStyle { _tab: table }
12339 }
12340 #[allow(unused_mut)]
12341 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
12342 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
12343 args: &'args FCFLayoutStyleArgs
12344 ) -> flatbuffers::WIPOffset<FCFLayoutStyle<'bldr>> {
12345 let mut builder = FCFLayoutStyleBuilder::new(_fbb);
12346 builder.add_row_spacing(args.row_spacing);
12347 builder.add_segment_spacing(args.segment_spacing);
12348 builder.add_padding(args.padding);
12349 builder.finish()
12350 }
12351
12352
12353 #[inline]
12354 pub fn padding(&self) -> f64 {
12355 unsafe { self._tab.get::<f64>(FCFLayoutStyle::VT_PADDING, Some(0.0)).unwrap()}
12359 }
12360 #[inline]
12361 pub fn segment_spacing(&self) -> f64 {
12362 unsafe { self._tab.get::<f64>(FCFLayoutStyle::VT_SEGMENT_SPACING, Some(0.0)).unwrap()}
12366 }
12367 #[inline]
12368 pub fn row_spacing(&self) -> f64 {
12369 unsafe { self._tab.get::<f64>(FCFLayoutStyle::VT_ROW_SPACING, Some(0.0)).unwrap()}
12373 }
12374}
12375
12376impl flatbuffers::Verifiable for FCFLayoutStyle<'_> {
12377 #[inline]
12378 fn run_verifier(
12379 v: &mut flatbuffers::Verifier, pos: usize
12380 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12381 use self::flatbuffers::Verifiable;
12382 v.visit_table(pos)?
12383 .visit_field::<f64>("padding", Self::VT_PADDING, false)?
12384 .visit_field::<f64>("segment_spacing", Self::VT_SEGMENT_SPACING, false)?
12385 .visit_field::<f64>("row_spacing", Self::VT_ROW_SPACING, false)?
12386 .finish();
12387 Ok(())
12388 }
12389}
12390pub struct FCFLayoutStyleArgs {
12391 pub padding: f64,
12392 pub segment_spacing: f64,
12393 pub row_spacing: f64,
12394}
12395impl<'a> Default for FCFLayoutStyleArgs {
12396 #[inline]
12397 fn default() -> Self {
12398 FCFLayoutStyleArgs {
12399 padding: 0.0,
12400 segment_spacing: 0.0,
12401 row_spacing: 0.0,
12402 }
12403 }
12404}
12405
12406pub struct FCFLayoutStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
12407 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
12408 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12409}
12410impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> FCFLayoutStyleBuilder<'a, 'b, A> {
12411 #[inline]
12412 pub fn add_padding(&mut self, padding: f64) {
12413 self.fbb_.push_slot::<f64>(FCFLayoutStyle::VT_PADDING, padding, 0.0);
12414 }
12415 #[inline]
12416 pub fn add_segment_spacing(&mut self, segment_spacing: f64) {
12417 self.fbb_.push_slot::<f64>(FCFLayoutStyle::VT_SEGMENT_SPACING, segment_spacing, 0.0);
12418 }
12419 #[inline]
12420 pub fn add_row_spacing(&mut self, row_spacing: f64) {
12421 self.fbb_.push_slot::<f64>(FCFLayoutStyle::VT_ROW_SPACING, row_spacing, 0.0);
12422 }
12423 #[inline]
12424 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> FCFLayoutStyleBuilder<'a, 'b, A> {
12425 let start = _fbb.start_table();
12426 FCFLayoutStyleBuilder {
12427 fbb_: _fbb,
12428 start_: start,
12429 }
12430 }
12431 #[inline]
12432 pub fn finish(self) -> flatbuffers::WIPOffset<FCFLayoutStyle<'a>> {
12433 let o = self.fbb_.end_table(self.start_);
12434 flatbuffers::WIPOffset::new(o.value())
12435 }
12436}
12437
12438impl core::fmt::Debug for FCFLayoutStyle<'_> {
12439 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12440 let mut ds = f.debug_struct("FCFLayoutStyle");
12441 ds.field("padding", &self.padding());
12442 ds.field("segment_spacing", &self.segment_spacing());
12443 ds.field("row_spacing", &self.row_spacing());
12444 ds.finish()
12445 }
12446}
12447pub enum FCFSymbolStyleOffset {}
12448#[derive(Copy, Clone, PartialEq)]
12449
12450pub struct FCFSymbolStyle<'a> {
12451 pub _tab: flatbuffers::Table<'a>,
12452}
12453
12454impl<'a> flatbuffers::Follow<'a> for FCFSymbolStyle<'a> {
12455 type Inner = FCFSymbolStyle<'a>;
12456 #[inline]
12457 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12458 Self { _tab: flatbuffers::Table::new(buf, loc) }
12459 }
12460}
12461
12462impl<'a> FCFSymbolStyle<'a> {
12463 pub const VT_SCALE: flatbuffers::VOffsetT = 4;
12464
12465 #[inline]
12466 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12467 FCFSymbolStyle { _tab: table }
12468 }
12469 #[allow(unused_mut)]
12470 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
12471 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
12472 args: &'args FCFSymbolStyleArgs
12473 ) -> flatbuffers::WIPOffset<FCFSymbolStyle<'bldr>> {
12474 let mut builder = FCFSymbolStyleBuilder::new(_fbb);
12475 builder.add_scale(args.scale);
12476 builder.finish()
12477 }
12478
12479
12480 #[inline]
12481 pub fn scale(&self) -> f32 {
12482 unsafe { self._tab.get::<f32>(FCFSymbolStyle::VT_SCALE, Some(0.0)).unwrap()}
12486 }
12487}
12488
12489impl flatbuffers::Verifiable for FCFSymbolStyle<'_> {
12490 #[inline]
12491 fn run_verifier(
12492 v: &mut flatbuffers::Verifier, pos: usize
12493 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12494 use self::flatbuffers::Verifiable;
12495 v.visit_table(pos)?
12496 .visit_field::<f32>("scale", Self::VT_SCALE, false)?
12497 .finish();
12498 Ok(())
12499 }
12500}
12501pub struct FCFSymbolStyleArgs {
12502 pub scale: f32,
12503}
12504impl<'a> Default for FCFSymbolStyleArgs {
12505 #[inline]
12506 fn default() -> Self {
12507 FCFSymbolStyleArgs {
12508 scale: 0.0,
12509 }
12510 }
12511}
12512
12513pub struct FCFSymbolStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
12514 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
12515 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12516}
12517impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> FCFSymbolStyleBuilder<'a, 'b, A> {
12518 #[inline]
12519 pub fn add_scale(&mut self, scale: f32) {
12520 self.fbb_.push_slot::<f32>(FCFSymbolStyle::VT_SCALE, scale, 0.0);
12521 }
12522 #[inline]
12523 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> FCFSymbolStyleBuilder<'a, 'b, A> {
12524 let start = _fbb.start_table();
12525 FCFSymbolStyleBuilder {
12526 fbb_: _fbb,
12527 start_: start,
12528 }
12529 }
12530 #[inline]
12531 pub fn finish(self) -> flatbuffers::WIPOffset<FCFSymbolStyle<'a>> {
12532 let o = self.fbb_.end_table(self.start_);
12533 flatbuffers::WIPOffset::new(o.value())
12534 }
12535}
12536
12537impl core::fmt::Debug for FCFSymbolStyle<'_> {
12538 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12539 let mut ds = f.debug_struct("FCFSymbolStyle");
12540 ds.field("scale", &self.scale());
12541 ds.finish()
12542 }
12543}
12544pub enum FCFDatumStyleOffset {}
12545#[derive(Copy, Clone, PartialEq)]
12546
12547pub struct FCFDatumStyle<'a> {
12548 pub _tab: flatbuffers::Table<'a>,
12549}
12550
12551impl<'a> flatbuffers::Follow<'a> for FCFDatumStyle<'a> {
12552 type Inner = FCFDatumStyle<'a>;
12553 #[inline]
12554 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12555 Self { _tab: flatbuffers::Table::new(buf, loc) }
12556 }
12557}
12558
12559impl<'a> FCFDatumStyle<'a> {
12560 pub const VT_BRACKET_STYLE: flatbuffers::VOffsetT = 4;
12561
12562 #[inline]
12563 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12564 FCFDatumStyle { _tab: table }
12565 }
12566 #[allow(unused_mut)]
12567 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
12568 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
12569 args: &'args FCFDatumStyleArgs
12570 ) -> flatbuffers::WIPOffset<FCFDatumStyle<'bldr>> {
12571 let mut builder = FCFDatumStyleBuilder::new(_fbb);
12572 if let Some(x) = args.bracket_style { builder.add_bracket_style(x); }
12573 builder.finish()
12574 }
12575
12576
12577 #[inline]
12578 pub fn bracket_style(&self) -> Option<DATUM_BRACKET_STYLE> {
12579 unsafe { self._tab.get::<DATUM_BRACKET_STYLE>(FCFDatumStyle::VT_BRACKET_STYLE, None)}
12583 }
12584}
12585
12586impl flatbuffers::Verifiable for FCFDatumStyle<'_> {
12587 #[inline]
12588 fn run_verifier(
12589 v: &mut flatbuffers::Verifier, pos: usize
12590 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12591 use self::flatbuffers::Verifiable;
12592 v.visit_table(pos)?
12593 .visit_field::<DATUM_BRACKET_STYLE>("bracket_style", Self::VT_BRACKET_STYLE, false)?
12594 .finish();
12595 Ok(())
12596 }
12597}
12598pub struct FCFDatumStyleArgs {
12599 pub bracket_style: Option<DATUM_BRACKET_STYLE>,
12600}
12601impl<'a> Default for FCFDatumStyleArgs {
12602 #[inline]
12603 fn default() -> Self {
12604 FCFDatumStyleArgs {
12605 bracket_style: None,
12606 }
12607 }
12608}
12609
12610pub struct FCFDatumStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
12611 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
12612 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12613}
12614impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> FCFDatumStyleBuilder<'a, 'b, A> {
12615 #[inline]
12616 pub fn add_bracket_style(&mut self, bracket_style: DATUM_BRACKET_STYLE) {
12617 self.fbb_.push_slot_always::<DATUM_BRACKET_STYLE>(FCFDatumStyle::VT_BRACKET_STYLE, bracket_style);
12618 }
12619 #[inline]
12620 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> FCFDatumStyleBuilder<'a, 'b, A> {
12621 let start = _fbb.start_table();
12622 FCFDatumStyleBuilder {
12623 fbb_: _fbb,
12624 start_: start,
12625 }
12626 }
12627 #[inline]
12628 pub fn finish(self) -> flatbuffers::WIPOffset<FCFDatumStyle<'a>> {
12629 let o = self.fbb_.end_table(self.start_);
12630 flatbuffers::WIPOffset::new(o.value())
12631 }
12632}
12633
12634impl core::fmt::Debug for FCFDatumStyle<'_> {
12635 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12636 let mut ds = f.debug_struct("FCFDatumStyle");
12637 ds.field("bracket_style", &self.bracket_style());
12638 ds.finish()
12639 }
12640}
12641pub enum DucFeatureControlFrameStyleOffset {}
12642#[derive(Copy, Clone, PartialEq)]
12643
12644pub struct DucFeatureControlFrameStyle<'a> {
12645 pub _tab: flatbuffers::Table<'a>,
12646}
12647
12648impl<'a> flatbuffers::Follow<'a> for DucFeatureControlFrameStyle<'a> {
12649 type Inner = DucFeatureControlFrameStyle<'a>;
12650 #[inline]
12651 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12652 Self { _tab: flatbuffers::Table::new(buf, loc) }
12653 }
12654}
12655
12656impl<'a> DucFeatureControlFrameStyle<'a> {
12657 pub const VT_TEXT_STYLE: flatbuffers::VOffsetT = 6;
12658 pub const VT_LAYOUT: flatbuffers::VOffsetT = 8;
12659 pub const VT_SYMBOLS: flatbuffers::VOffsetT = 10;
12660 pub const VT_DATUM_STYLE: flatbuffers::VOffsetT = 12;
12661
12662 #[inline]
12663 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12664 DucFeatureControlFrameStyle { _tab: table }
12665 }
12666 #[allow(unused_mut)]
12667 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
12668 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
12669 args: &'args DucFeatureControlFrameStyleArgs<'args>
12670 ) -> flatbuffers::WIPOffset<DucFeatureControlFrameStyle<'bldr>> {
12671 let mut builder = DucFeatureControlFrameStyleBuilder::new(_fbb);
12672 if let Some(x) = args.datum_style { builder.add_datum_style(x); }
12673 if let Some(x) = args.symbols { builder.add_symbols(x); }
12674 if let Some(x) = args.layout { builder.add_layout(x); }
12675 if let Some(x) = args.text_style { builder.add_text_style(x); }
12676 builder.finish()
12677 }
12678
12679
12680 #[inline]
12681 pub fn text_style(&self) -> Option<DucTextStyle<'a>> {
12682 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTextStyle>>(DucFeatureControlFrameStyle::VT_TEXT_STYLE, None)}
12686 }
12687 #[inline]
12688 pub fn layout(&self) -> Option<FCFLayoutStyle<'a>> {
12689 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<FCFLayoutStyle>>(DucFeatureControlFrameStyle::VT_LAYOUT, None)}
12693 }
12694 #[inline]
12695 pub fn symbols(&self) -> Option<FCFSymbolStyle<'a>> {
12696 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<FCFSymbolStyle>>(DucFeatureControlFrameStyle::VT_SYMBOLS, None)}
12700 }
12701 #[inline]
12702 pub fn datum_style(&self) -> Option<FCFDatumStyle<'a>> {
12703 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<FCFDatumStyle>>(DucFeatureControlFrameStyle::VT_DATUM_STYLE, None)}
12707 }
12708}
12709
12710impl flatbuffers::Verifiable for DucFeatureControlFrameStyle<'_> {
12711 #[inline]
12712 fn run_verifier(
12713 v: &mut flatbuffers::Verifier, pos: usize
12714 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12715 use self::flatbuffers::Verifiable;
12716 v.visit_table(pos)?
12717 .visit_field::<flatbuffers::ForwardsUOffset<DucTextStyle>>("text_style", Self::VT_TEXT_STYLE, false)?
12718 .visit_field::<flatbuffers::ForwardsUOffset<FCFLayoutStyle>>("layout", Self::VT_LAYOUT, false)?
12719 .visit_field::<flatbuffers::ForwardsUOffset<FCFSymbolStyle>>("symbols", Self::VT_SYMBOLS, false)?
12720 .visit_field::<flatbuffers::ForwardsUOffset<FCFDatumStyle>>("datum_style", Self::VT_DATUM_STYLE, false)?
12721 .finish();
12722 Ok(())
12723 }
12724}
12725pub struct DucFeatureControlFrameStyleArgs<'a> {
12726 pub text_style: Option<flatbuffers::WIPOffset<DucTextStyle<'a>>>,
12727 pub layout: Option<flatbuffers::WIPOffset<FCFLayoutStyle<'a>>>,
12728 pub symbols: Option<flatbuffers::WIPOffset<FCFSymbolStyle<'a>>>,
12729 pub datum_style: Option<flatbuffers::WIPOffset<FCFDatumStyle<'a>>>,
12730}
12731impl<'a> Default for DucFeatureControlFrameStyleArgs<'a> {
12732 #[inline]
12733 fn default() -> Self {
12734 DucFeatureControlFrameStyleArgs {
12735 text_style: None,
12736 layout: None,
12737 symbols: None,
12738 datum_style: None,
12739 }
12740 }
12741}
12742
12743pub struct DucFeatureControlFrameStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
12744 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
12745 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12746}
12747impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucFeatureControlFrameStyleBuilder<'a, 'b, A> {
12748 #[inline]
12749 pub fn add_text_style(&mut self, text_style: flatbuffers::WIPOffset<DucTextStyle<'b >>) {
12750 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTextStyle>>(DucFeatureControlFrameStyle::VT_TEXT_STYLE, text_style);
12751 }
12752 #[inline]
12753 pub fn add_layout(&mut self, layout: flatbuffers::WIPOffset<FCFLayoutStyle<'b >>) {
12754 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<FCFLayoutStyle>>(DucFeatureControlFrameStyle::VT_LAYOUT, layout);
12755 }
12756 #[inline]
12757 pub fn add_symbols(&mut self, symbols: flatbuffers::WIPOffset<FCFSymbolStyle<'b >>) {
12758 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<FCFSymbolStyle>>(DucFeatureControlFrameStyle::VT_SYMBOLS, symbols);
12759 }
12760 #[inline]
12761 pub fn add_datum_style(&mut self, datum_style: flatbuffers::WIPOffset<FCFDatumStyle<'b >>) {
12762 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<FCFDatumStyle>>(DucFeatureControlFrameStyle::VT_DATUM_STYLE, datum_style);
12763 }
12764 #[inline]
12765 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucFeatureControlFrameStyleBuilder<'a, 'b, A> {
12766 let start = _fbb.start_table();
12767 DucFeatureControlFrameStyleBuilder {
12768 fbb_: _fbb,
12769 start_: start,
12770 }
12771 }
12772 #[inline]
12773 pub fn finish(self) -> flatbuffers::WIPOffset<DucFeatureControlFrameStyle<'a>> {
12774 let o = self.fbb_.end_table(self.start_);
12775 flatbuffers::WIPOffset::new(o.value())
12776 }
12777}
12778
12779impl core::fmt::Debug for DucFeatureControlFrameStyle<'_> {
12780 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12781 let mut ds = f.debug_struct("DucFeatureControlFrameStyle");
12782 ds.field("text_style", &self.text_style());
12783 ds.field("layout", &self.layout());
12784 ds.field("symbols", &self.symbols());
12785 ds.field("datum_style", &self.datum_style());
12786 ds.finish()
12787 }
12788}
12789pub enum ParagraphFormattingOffset {}
12790#[derive(Copy, Clone, PartialEq)]
12791
12792pub struct ParagraphFormatting<'a> {
12793 pub _tab: flatbuffers::Table<'a>,
12794}
12795
12796impl<'a> flatbuffers::Follow<'a> for ParagraphFormatting<'a> {
12797 type Inner = ParagraphFormatting<'a>;
12798 #[inline]
12799 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12800 Self { _tab: flatbuffers::Table::new(buf, loc) }
12801 }
12802}
12803
12804impl<'a> ParagraphFormatting<'a> {
12805 pub const VT_FIRST_LINE_INDENT: flatbuffers::VOffsetT = 4;
12806 pub const VT_HANGING_INDENT: flatbuffers::VOffsetT = 6;
12807 pub const VT_LEFT_INDENT: flatbuffers::VOffsetT = 8;
12808 pub const VT_RIGHT_INDENT: flatbuffers::VOffsetT = 10;
12809 pub const VT_SPACE_BEFORE: flatbuffers::VOffsetT = 12;
12810 pub const VT_SPACE_AFTER: flatbuffers::VOffsetT = 14;
12811 pub const VT_TAB_STOPS: flatbuffers::VOffsetT = 16;
12812
12813 #[inline]
12814 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12815 ParagraphFormatting { _tab: table }
12816 }
12817 #[allow(unused_mut)]
12818 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
12819 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
12820 args: &'args ParagraphFormattingArgs<'args>
12821 ) -> flatbuffers::WIPOffset<ParagraphFormatting<'bldr>> {
12822 let mut builder = ParagraphFormattingBuilder::new(_fbb);
12823 builder.add_space_after(args.space_after);
12824 builder.add_space_before(args.space_before);
12825 builder.add_right_indent(args.right_indent);
12826 builder.add_left_indent(args.left_indent);
12827 builder.add_hanging_indent(args.hanging_indent);
12828 builder.add_first_line_indent(args.first_line_indent);
12829 if let Some(x) = args.tab_stops { builder.add_tab_stops(x); }
12830 builder.finish()
12831 }
12832
12833
12834 #[inline]
12835 pub fn first_line_indent(&self) -> f64 {
12836 unsafe { self._tab.get::<f64>(ParagraphFormatting::VT_FIRST_LINE_INDENT, Some(0.0)).unwrap()}
12840 }
12841 #[inline]
12842 pub fn hanging_indent(&self) -> f64 {
12843 unsafe { self._tab.get::<f64>(ParagraphFormatting::VT_HANGING_INDENT, Some(0.0)).unwrap()}
12847 }
12848 #[inline]
12849 pub fn left_indent(&self) -> f64 {
12850 unsafe { self._tab.get::<f64>(ParagraphFormatting::VT_LEFT_INDENT, Some(0.0)).unwrap()}
12854 }
12855 #[inline]
12856 pub fn right_indent(&self) -> f64 {
12857 unsafe { self._tab.get::<f64>(ParagraphFormatting::VT_RIGHT_INDENT, Some(0.0)).unwrap()}
12861 }
12862 #[inline]
12863 pub fn space_before(&self) -> f64 {
12864 unsafe { self._tab.get::<f64>(ParagraphFormatting::VT_SPACE_BEFORE, Some(0.0)).unwrap()}
12868 }
12869 #[inline]
12870 pub fn space_after(&self) -> f64 {
12871 unsafe { self._tab.get::<f64>(ParagraphFormatting::VT_SPACE_AFTER, Some(0.0)).unwrap()}
12875 }
12876 #[inline]
12877 pub fn tab_stops(&self) -> Option<flatbuffers::Vector<'a, f64>> {
12878 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, f64>>>(ParagraphFormatting::VT_TAB_STOPS, None)}
12882 }
12883}
12884
12885impl flatbuffers::Verifiable for ParagraphFormatting<'_> {
12886 #[inline]
12887 fn run_verifier(
12888 v: &mut flatbuffers::Verifier, pos: usize
12889 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12890 use self::flatbuffers::Verifiable;
12891 v.visit_table(pos)?
12892 .visit_field::<f64>("first_line_indent", Self::VT_FIRST_LINE_INDENT, false)?
12893 .visit_field::<f64>("hanging_indent", Self::VT_HANGING_INDENT, false)?
12894 .visit_field::<f64>("left_indent", Self::VT_LEFT_INDENT, false)?
12895 .visit_field::<f64>("right_indent", Self::VT_RIGHT_INDENT, false)?
12896 .visit_field::<f64>("space_before", Self::VT_SPACE_BEFORE, false)?
12897 .visit_field::<f64>("space_after", Self::VT_SPACE_AFTER, false)?
12898 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, f64>>>("tab_stops", Self::VT_TAB_STOPS, false)?
12899 .finish();
12900 Ok(())
12901 }
12902}
12903pub struct ParagraphFormattingArgs<'a> {
12904 pub first_line_indent: f64,
12905 pub hanging_indent: f64,
12906 pub left_indent: f64,
12907 pub right_indent: f64,
12908 pub space_before: f64,
12909 pub space_after: f64,
12910 pub tab_stops: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, f64>>>,
12911}
12912impl<'a> Default for ParagraphFormattingArgs<'a> {
12913 #[inline]
12914 fn default() -> Self {
12915 ParagraphFormattingArgs {
12916 first_line_indent: 0.0,
12917 hanging_indent: 0.0,
12918 left_indent: 0.0,
12919 right_indent: 0.0,
12920 space_before: 0.0,
12921 space_after: 0.0,
12922 tab_stops: None,
12923 }
12924 }
12925}
12926
12927pub struct ParagraphFormattingBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
12928 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
12929 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12930}
12931impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> ParagraphFormattingBuilder<'a, 'b, A> {
12932 #[inline]
12933 pub fn add_first_line_indent(&mut self, first_line_indent: f64) {
12934 self.fbb_.push_slot::<f64>(ParagraphFormatting::VT_FIRST_LINE_INDENT, first_line_indent, 0.0);
12935 }
12936 #[inline]
12937 pub fn add_hanging_indent(&mut self, hanging_indent: f64) {
12938 self.fbb_.push_slot::<f64>(ParagraphFormatting::VT_HANGING_INDENT, hanging_indent, 0.0);
12939 }
12940 #[inline]
12941 pub fn add_left_indent(&mut self, left_indent: f64) {
12942 self.fbb_.push_slot::<f64>(ParagraphFormatting::VT_LEFT_INDENT, left_indent, 0.0);
12943 }
12944 #[inline]
12945 pub fn add_right_indent(&mut self, right_indent: f64) {
12946 self.fbb_.push_slot::<f64>(ParagraphFormatting::VT_RIGHT_INDENT, right_indent, 0.0);
12947 }
12948 #[inline]
12949 pub fn add_space_before(&mut self, space_before: f64) {
12950 self.fbb_.push_slot::<f64>(ParagraphFormatting::VT_SPACE_BEFORE, space_before, 0.0);
12951 }
12952 #[inline]
12953 pub fn add_space_after(&mut self, space_after: f64) {
12954 self.fbb_.push_slot::<f64>(ParagraphFormatting::VT_SPACE_AFTER, space_after, 0.0);
12955 }
12956 #[inline]
12957 pub fn add_tab_stops(&mut self, tab_stops: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f64>>) {
12958 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ParagraphFormatting::VT_TAB_STOPS, tab_stops);
12959 }
12960 #[inline]
12961 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> ParagraphFormattingBuilder<'a, 'b, A> {
12962 let start = _fbb.start_table();
12963 ParagraphFormattingBuilder {
12964 fbb_: _fbb,
12965 start_: start,
12966 }
12967 }
12968 #[inline]
12969 pub fn finish(self) -> flatbuffers::WIPOffset<ParagraphFormatting<'a>> {
12970 let o = self.fbb_.end_table(self.start_);
12971 flatbuffers::WIPOffset::new(o.value())
12972 }
12973}
12974
12975impl core::fmt::Debug for ParagraphFormatting<'_> {
12976 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12977 let mut ds = f.debug_struct("ParagraphFormatting");
12978 ds.field("first_line_indent", &self.first_line_indent());
12979 ds.field("hanging_indent", &self.hanging_indent());
12980 ds.field("left_indent", &self.left_indent());
12981 ds.field("right_indent", &self.right_indent());
12982 ds.field("space_before", &self.space_before());
12983 ds.field("space_after", &self.space_after());
12984 ds.field("tab_stops", &self.tab_stops());
12985 ds.finish()
12986 }
12987}
12988pub enum StackFormatPropertiesOffset {}
12989#[derive(Copy, Clone, PartialEq)]
12990
12991pub struct StackFormatProperties<'a> {
12992 pub _tab: flatbuffers::Table<'a>,
12993}
12994
12995impl<'a> flatbuffers::Follow<'a> for StackFormatProperties<'a> {
12996 type Inner = StackFormatProperties<'a>;
12997 #[inline]
12998 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12999 Self { _tab: flatbuffers::Table::new(buf, loc) }
13000 }
13001}
13002
13003impl<'a> StackFormatProperties<'a> {
13004 pub const VT_UPPER_SCALE: flatbuffers::VOffsetT = 4;
13005 pub const VT_LOWER_SCALE: flatbuffers::VOffsetT = 6;
13006 pub const VT_ALIGNMENT: flatbuffers::VOffsetT = 8;
13007
13008 #[inline]
13009 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13010 StackFormatProperties { _tab: table }
13011 }
13012 #[allow(unused_mut)]
13013 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
13014 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
13015 args: &'args StackFormatPropertiesArgs
13016 ) -> flatbuffers::WIPOffset<StackFormatProperties<'bldr>> {
13017 let mut builder = StackFormatPropertiesBuilder::new(_fbb);
13018 builder.add_lower_scale(args.lower_scale);
13019 builder.add_upper_scale(args.upper_scale);
13020 if let Some(x) = args.alignment { builder.add_alignment(x); }
13021 builder.finish()
13022 }
13023
13024
13025 #[inline]
13026 pub fn upper_scale(&self) -> f64 {
13027 unsafe { self._tab.get::<f64>(StackFormatProperties::VT_UPPER_SCALE, Some(0.0)).unwrap()}
13031 }
13032 #[inline]
13033 pub fn lower_scale(&self) -> f64 {
13034 unsafe { self._tab.get::<f64>(StackFormatProperties::VT_LOWER_SCALE, Some(0.0)).unwrap()}
13038 }
13039 #[inline]
13040 pub fn alignment(&self) -> Option<STACKED_TEXT_ALIGN> {
13041 unsafe { self._tab.get::<STACKED_TEXT_ALIGN>(StackFormatProperties::VT_ALIGNMENT, None)}
13045 }
13046}
13047
13048impl flatbuffers::Verifiable for StackFormatProperties<'_> {
13049 #[inline]
13050 fn run_verifier(
13051 v: &mut flatbuffers::Verifier, pos: usize
13052 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13053 use self::flatbuffers::Verifiable;
13054 v.visit_table(pos)?
13055 .visit_field::<f64>("upper_scale", Self::VT_UPPER_SCALE, false)?
13056 .visit_field::<f64>("lower_scale", Self::VT_LOWER_SCALE, false)?
13057 .visit_field::<STACKED_TEXT_ALIGN>("alignment", Self::VT_ALIGNMENT, false)?
13058 .finish();
13059 Ok(())
13060 }
13061}
13062pub struct StackFormatPropertiesArgs {
13063 pub upper_scale: f64,
13064 pub lower_scale: f64,
13065 pub alignment: Option<STACKED_TEXT_ALIGN>,
13066}
13067impl<'a> Default for StackFormatPropertiesArgs {
13068 #[inline]
13069 fn default() -> Self {
13070 StackFormatPropertiesArgs {
13071 upper_scale: 0.0,
13072 lower_scale: 0.0,
13073 alignment: None,
13074 }
13075 }
13076}
13077
13078pub struct StackFormatPropertiesBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
13079 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
13080 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13081}
13082impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> StackFormatPropertiesBuilder<'a, 'b, A> {
13083 #[inline]
13084 pub fn add_upper_scale(&mut self, upper_scale: f64) {
13085 self.fbb_.push_slot::<f64>(StackFormatProperties::VT_UPPER_SCALE, upper_scale, 0.0);
13086 }
13087 #[inline]
13088 pub fn add_lower_scale(&mut self, lower_scale: f64) {
13089 self.fbb_.push_slot::<f64>(StackFormatProperties::VT_LOWER_SCALE, lower_scale, 0.0);
13090 }
13091 #[inline]
13092 pub fn add_alignment(&mut self, alignment: STACKED_TEXT_ALIGN) {
13093 self.fbb_.push_slot_always::<STACKED_TEXT_ALIGN>(StackFormatProperties::VT_ALIGNMENT, alignment);
13094 }
13095 #[inline]
13096 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> StackFormatPropertiesBuilder<'a, 'b, A> {
13097 let start = _fbb.start_table();
13098 StackFormatPropertiesBuilder {
13099 fbb_: _fbb,
13100 start_: start,
13101 }
13102 }
13103 #[inline]
13104 pub fn finish(self) -> flatbuffers::WIPOffset<StackFormatProperties<'a>> {
13105 let o = self.fbb_.end_table(self.start_);
13106 flatbuffers::WIPOffset::new(o.value())
13107 }
13108}
13109
13110impl core::fmt::Debug for StackFormatProperties<'_> {
13111 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13112 let mut ds = f.debug_struct("StackFormatProperties");
13113 ds.field("upper_scale", &self.upper_scale());
13114 ds.field("lower_scale", &self.lower_scale());
13115 ds.field("alignment", &self.alignment());
13116 ds.finish()
13117 }
13118}
13119pub enum StackFormatOffset {}
13120#[derive(Copy, Clone, PartialEq)]
13121
13122pub struct StackFormat<'a> {
13123 pub _tab: flatbuffers::Table<'a>,
13124}
13125
13126impl<'a> flatbuffers::Follow<'a> for StackFormat<'a> {
13127 type Inner = StackFormat<'a>;
13128 #[inline]
13129 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13130 Self { _tab: flatbuffers::Table::new(buf, loc) }
13131 }
13132}
13133
13134impl<'a> StackFormat<'a> {
13135 pub const VT_AUTO_STACK: flatbuffers::VOffsetT = 4;
13136 pub const VT_STACK_CHARS: flatbuffers::VOffsetT = 6;
13137 pub const VT_PROPERTIES: flatbuffers::VOffsetT = 8;
13138
13139 #[inline]
13140 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13141 StackFormat { _tab: table }
13142 }
13143 #[allow(unused_mut)]
13144 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
13145 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
13146 args: &'args StackFormatArgs<'args>
13147 ) -> flatbuffers::WIPOffset<StackFormat<'bldr>> {
13148 let mut builder = StackFormatBuilder::new(_fbb);
13149 if let Some(x) = args.properties { builder.add_properties(x); }
13150 if let Some(x) = args.stack_chars { builder.add_stack_chars(x); }
13151 builder.add_auto_stack(args.auto_stack);
13152 builder.finish()
13153 }
13154
13155
13156 #[inline]
13157 pub fn auto_stack(&self) -> bool {
13158 unsafe { self._tab.get::<bool>(StackFormat::VT_AUTO_STACK, Some(false)).unwrap()}
13162 }
13163 #[inline]
13164 pub fn stack_chars(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
13165 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(StackFormat::VT_STACK_CHARS, None)}
13169 }
13170 #[inline]
13171 pub fn properties(&self) -> Option<StackFormatProperties<'a>> {
13172 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<StackFormatProperties>>(StackFormat::VT_PROPERTIES, None)}
13176 }
13177}
13178
13179impl flatbuffers::Verifiable for StackFormat<'_> {
13180 #[inline]
13181 fn run_verifier(
13182 v: &mut flatbuffers::Verifier, pos: usize
13183 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13184 use self::flatbuffers::Verifiable;
13185 v.visit_table(pos)?
13186 .visit_field::<bool>("auto_stack", Self::VT_AUTO_STACK, false)?
13187 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("stack_chars", Self::VT_STACK_CHARS, false)?
13188 .visit_field::<flatbuffers::ForwardsUOffset<StackFormatProperties>>("properties", Self::VT_PROPERTIES, false)?
13189 .finish();
13190 Ok(())
13191 }
13192}
13193pub struct StackFormatArgs<'a> {
13194 pub auto_stack: bool,
13195 pub stack_chars: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
13196 pub properties: Option<flatbuffers::WIPOffset<StackFormatProperties<'a>>>,
13197}
13198impl<'a> Default for StackFormatArgs<'a> {
13199 #[inline]
13200 fn default() -> Self {
13201 StackFormatArgs {
13202 auto_stack: false,
13203 stack_chars: None,
13204 properties: None,
13205 }
13206 }
13207}
13208
13209pub struct StackFormatBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
13210 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
13211 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13212}
13213impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> StackFormatBuilder<'a, 'b, A> {
13214 #[inline]
13215 pub fn add_auto_stack(&mut self, auto_stack: bool) {
13216 self.fbb_.push_slot::<bool>(StackFormat::VT_AUTO_STACK, auto_stack, false);
13217 }
13218 #[inline]
13219 pub fn add_stack_chars(&mut self, stack_chars: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
13220 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StackFormat::VT_STACK_CHARS, stack_chars);
13221 }
13222 #[inline]
13223 pub fn add_properties(&mut self, properties: flatbuffers::WIPOffset<StackFormatProperties<'b >>) {
13224 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<StackFormatProperties>>(StackFormat::VT_PROPERTIES, properties);
13225 }
13226 #[inline]
13227 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> StackFormatBuilder<'a, 'b, A> {
13228 let start = _fbb.start_table();
13229 StackFormatBuilder {
13230 fbb_: _fbb,
13231 start_: start,
13232 }
13233 }
13234 #[inline]
13235 pub fn finish(self) -> flatbuffers::WIPOffset<StackFormat<'a>> {
13236 let o = self.fbb_.end_table(self.start_);
13237 flatbuffers::WIPOffset::new(o.value())
13238 }
13239}
13240
13241impl core::fmt::Debug for StackFormat<'_> {
13242 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13243 let mut ds = f.debug_struct("StackFormat");
13244 ds.field("auto_stack", &self.auto_stack());
13245 ds.field("stack_chars", &self.stack_chars());
13246 ds.field("properties", &self.properties());
13247 ds.finish()
13248 }
13249}
13250pub enum DucDocStyleOffset {}
13251#[derive(Copy, Clone, PartialEq)]
13252
13253pub struct DucDocStyle<'a> {
13254 pub _tab: flatbuffers::Table<'a>,
13255}
13256
13257impl<'a> flatbuffers::Follow<'a> for DucDocStyle<'a> {
13258 type Inner = DucDocStyle<'a>;
13259 #[inline]
13260 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13261 Self { _tab: flatbuffers::Table::new(buf, loc) }
13262 }
13263}
13264
13265impl<'a> DucDocStyle<'a> {
13266 pub const VT_TEXT_STYLE: flatbuffers::VOffsetT = 4;
13267 pub const VT_PARAGRAPH: flatbuffers::VOffsetT = 6;
13268 pub const VT_STACK_FORMAT: flatbuffers::VOffsetT = 8;
13269
13270 #[inline]
13271 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13272 DucDocStyle { _tab: table }
13273 }
13274 #[allow(unused_mut)]
13275 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
13276 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
13277 args: &'args DucDocStyleArgs<'args>
13278 ) -> flatbuffers::WIPOffset<DucDocStyle<'bldr>> {
13279 let mut builder = DucDocStyleBuilder::new(_fbb);
13280 if let Some(x) = args.stack_format { builder.add_stack_format(x); }
13281 if let Some(x) = args.paragraph { builder.add_paragraph(x); }
13282 if let Some(x) = args.text_style { builder.add_text_style(x); }
13283 builder.finish()
13284 }
13285
13286
13287 #[inline]
13288 pub fn text_style(&self) -> Option<DucTextStyle<'a>> {
13289 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTextStyle>>(DucDocStyle::VT_TEXT_STYLE, None)}
13293 }
13294 #[inline]
13295 pub fn paragraph(&self) -> Option<ParagraphFormatting<'a>> {
13296 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ParagraphFormatting>>(DucDocStyle::VT_PARAGRAPH, None)}
13300 }
13301 #[inline]
13302 pub fn stack_format(&self) -> Option<StackFormat<'a>> {
13303 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<StackFormat>>(DucDocStyle::VT_STACK_FORMAT, None)}
13307 }
13308}
13309
13310impl flatbuffers::Verifiable for DucDocStyle<'_> {
13311 #[inline]
13312 fn run_verifier(
13313 v: &mut flatbuffers::Verifier, pos: usize
13314 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13315 use self::flatbuffers::Verifiable;
13316 v.visit_table(pos)?
13317 .visit_field::<flatbuffers::ForwardsUOffset<DucTextStyle>>("text_style", Self::VT_TEXT_STYLE, false)?
13318 .visit_field::<flatbuffers::ForwardsUOffset<ParagraphFormatting>>("paragraph", Self::VT_PARAGRAPH, false)?
13319 .visit_field::<flatbuffers::ForwardsUOffset<StackFormat>>("stack_format", Self::VT_STACK_FORMAT, false)?
13320 .finish();
13321 Ok(())
13322 }
13323}
13324pub struct DucDocStyleArgs<'a> {
13325 pub text_style: Option<flatbuffers::WIPOffset<DucTextStyle<'a>>>,
13326 pub paragraph: Option<flatbuffers::WIPOffset<ParagraphFormatting<'a>>>,
13327 pub stack_format: Option<flatbuffers::WIPOffset<StackFormat<'a>>>,
13328}
13329impl<'a> Default for DucDocStyleArgs<'a> {
13330 #[inline]
13331 fn default() -> Self {
13332 DucDocStyleArgs {
13333 text_style: None,
13334 paragraph: None,
13335 stack_format: None,
13336 }
13337 }
13338}
13339
13340pub struct DucDocStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
13341 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
13342 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13343}
13344impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucDocStyleBuilder<'a, 'b, A> {
13345 #[inline]
13346 pub fn add_text_style(&mut self, text_style: flatbuffers::WIPOffset<DucTextStyle<'b >>) {
13347 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTextStyle>>(DucDocStyle::VT_TEXT_STYLE, text_style);
13348 }
13349 #[inline]
13350 pub fn add_paragraph(&mut self, paragraph: flatbuffers::WIPOffset<ParagraphFormatting<'b >>) {
13351 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ParagraphFormatting>>(DucDocStyle::VT_PARAGRAPH, paragraph);
13352 }
13353 #[inline]
13354 pub fn add_stack_format(&mut self, stack_format: flatbuffers::WIPOffset<StackFormat<'b >>) {
13355 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<StackFormat>>(DucDocStyle::VT_STACK_FORMAT, stack_format);
13356 }
13357 #[inline]
13358 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucDocStyleBuilder<'a, 'b, A> {
13359 let start = _fbb.start_table();
13360 DucDocStyleBuilder {
13361 fbb_: _fbb,
13362 start_: start,
13363 }
13364 }
13365 #[inline]
13366 pub fn finish(self) -> flatbuffers::WIPOffset<DucDocStyle<'a>> {
13367 let o = self.fbb_.end_table(self.start_);
13368 flatbuffers::WIPOffset::new(o.value())
13369 }
13370}
13371
13372impl core::fmt::Debug for DucDocStyle<'_> {
13373 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13374 let mut ds = f.debug_struct("DucDocStyle");
13375 ds.field("text_style", &self.text_style());
13376 ds.field("paragraph", &self.paragraph());
13377 ds.field("stack_format", &self.stack_format());
13378 ds.finish()
13379 }
13380}
13381pub enum DucViewportStyleOffset {}
13382#[derive(Copy, Clone, PartialEq)]
13383
13384pub struct DucViewportStyle<'a> {
13385 pub _tab: flatbuffers::Table<'a>,
13386}
13387
13388impl<'a> flatbuffers::Follow<'a> for DucViewportStyle<'a> {
13389 type Inner = DucViewportStyle<'a>;
13390 #[inline]
13391 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13392 Self { _tab: flatbuffers::Table::new(buf, loc) }
13393 }
13394}
13395
13396impl<'a> DucViewportStyle<'a> {
13397 pub const VT_SCALE_INDICATOR_VISIBLE: flatbuffers::VOffsetT = 6;
13398
13399 #[inline]
13400 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13401 DucViewportStyle { _tab: table }
13402 }
13403 #[allow(unused_mut)]
13404 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
13405 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
13406 args: &'args DucViewportStyleArgs
13407 ) -> flatbuffers::WIPOffset<DucViewportStyle<'bldr>> {
13408 let mut builder = DucViewportStyleBuilder::new(_fbb);
13409 builder.add_scale_indicator_visible(args.scale_indicator_visible);
13410 builder.finish()
13411 }
13412
13413
13414 #[inline]
13415 pub fn scale_indicator_visible(&self) -> bool {
13416 unsafe { self._tab.get::<bool>(DucViewportStyle::VT_SCALE_INDICATOR_VISIBLE, Some(false)).unwrap()}
13420 }
13421}
13422
13423impl flatbuffers::Verifiable for DucViewportStyle<'_> {
13424 #[inline]
13425 fn run_verifier(
13426 v: &mut flatbuffers::Verifier, pos: usize
13427 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13428 use self::flatbuffers::Verifiable;
13429 v.visit_table(pos)?
13430 .visit_field::<bool>("scale_indicator_visible", Self::VT_SCALE_INDICATOR_VISIBLE, false)?
13431 .finish();
13432 Ok(())
13433 }
13434}
13435pub struct DucViewportStyleArgs {
13436 pub scale_indicator_visible: bool,
13437}
13438impl<'a> Default for DucViewportStyleArgs {
13439 #[inline]
13440 fn default() -> Self {
13441 DucViewportStyleArgs {
13442 scale_indicator_visible: false,
13443 }
13444 }
13445}
13446
13447pub struct DucViewportStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
13448 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
13449 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13450}
13451impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucViewportStyleBuilder<'a, 'b, A> {
13452 #[inline]
13453 pub fn add_scale_indicator_visible(&mut self, scale_indicator_visible: bool) {
13454 self.fbb_.push_slot::<bool>(DucViewportStyle::VT_SCALE_INDICATOR_VISIBLE, scale_indicator_visible, false);
13455 }
13456 #[inline]
13457 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucViewportStyleBuilder<'a, 'b, A> {
13458 let start = _fbb.start_table();
13459 DucViewportStyleBuilder {
13460 fbb_: _fbb,
13461 start_: start,
13462 }
13463 }
13464 #[inline]
13465 pub fn finish(self) -> flatbuffers::WIPOffset<DucViewportStyle<'a>> {
13466 let o = self.fbb_.end_table(self.start_);
13467 flatbuffers::WIPOffset::new(o.value())
13468 }
13469}
13470
13471impl core::fmt::Debug for DucViewportStyle<'_> {
13472 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13473 let mut ds = f.debug_struct("DucViewportStyle");
13474 ds.field("scale_indicator_visible", &self.scale_indicator_visible());
13475 ds.finish()
13476 }
13477}
13478pub enum DucPlotStyleOffset {}
13479#[derive(Copy, Clone, PartialEq)]
13480
13481pub struct DucPlotStyle<'a> {
13482 pub _tab: flatbuffers::Table<'a>,
13483}
13484
13485impl<'a> flatbuffers::Follow<'a> for DucPlotStyle<'a> {
13486 type Inner = DucPlotStyle<'a>;
13487 #[inline]
13488 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13489 Self { _tab: flatbuffers::Table::new(buf, loc) }
13490 }
13491}
13492
13493impl<'a> DucPlotStyle<'a> {
13494
13495 #[inline]
13496 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13497 DucPlotStyle { _tab: table }
13498 }
13499 #[allow(unused_mut)]
13500 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
13501 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
13502 args: &'args DucPlotStyleArgs
13503 ) -> flatbuffers::WIPOffset<DucPlotStyle<'bldr>> {
13504 let mut builder = DucPlotStyleBuilder::new(_fbb);
13505 builder.finish()
13506 }
13507
13508
13509}
13510
13511impl flatbuffers::Verifiable for DucPlotStyle<'_> {
13512 #[inline]
13513 fn run_verifier(
13514 v: &mut flatbuffers::Verifier, pos: usize
13515 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13516 use self::flatbuffers::Verifiable;
13517 v.visit_table(pos)?
13518 .finish();
13519 Ok(())
13520 }
13521}
13522pub struct DucPlotStyleArgs {
13523}
13524impl<'a> Default for DucPlotStyleArgs {
13525 #[inline]
13526 fn default() -> Self {
13527 DucPlotStyleArgs {
13528 }
13529 }
13530}
13531
13532pub struct DucPlotStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
13533 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
13534 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13535}
13536impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucPlotStyleBuilder<'a, 'b, A> {
13537 #[inline]
13538 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucPlotStyleBuilder<'a, 'b, A> {
13539 let start = _fbb.start_table();
13540 DucPlotStyleBuilder {
13541 fbb_: _fbb,
13542 start_: start,
13543 }
13544 }
13545 #[inline]
13546 pub fn finish(self) -> flatbuffers::WIPOffset<DucPlotStyle<'a>> {
13547 let o = self.fbb_.end_table(self.start_);
13548 flatbuffers::WIPOffset::new(o.value())
13549 }
13550}
13551
13552impl core::fmt::Debug for DucPlotStyle<'_> {
13553 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13554 let mut ds = f.debug_struct("DucPlotStyle");
13555 ds.finish()
13556 }
13557}
13558pub enum DucXRayStyleOffset {}
13559#[derive(Copy, Clone, PartialEq)]
13560
13561pub struct DucXRayStyle<'a> {
13562 pub _tab: flatbuffers::Table<'a>,
13563}
13564
13565impl<'a> flatbuffers::Follow<'a> for DucXRayStyle<'a> {
13566 type Inner = DucXRayStyle<'a>;
13567 #[inline]
13568 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13569 Self { _tab: flatbuffers::Table::new(buf, loc) }
13570 }
13571}
13572
13573impl<'a> DucXRayStyle<'a> {
13574 pub const VT_COLOR: flatbuffers::VOffsetT = 6;
13575
13576 #[inline]
13577 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13578 DucXRayStyle { _tab: table }
13579 }
13580 #[allow(unused_mut)]
13581 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
13582 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
13583 args: &'args DucXRayStyleArgs<'args>
13584 ) -> flatbuffers::WIPOffset<DucXRayStyle<'bldr>> {
13585 let mut builder = DucXRayStyleBuilder::new(_fbb);
13586 if let Some(x) = args.color { builder.add_color(x); }
13587 builder.finish()
13588 }
13589
13590
13591 #[inline]
13592 pub fn color(&self) -> Option<&'a str> {
13593 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucXRayStyle::VT_COLOR, None)}
13597 }
13598}
13599
13600impl flatbuffers::Verifiable for DucXRayStyle<'_> {
13601 #[inline]
13602 fn run_verifier(
13603 v: &mut flatbuffers::Verifier, pos: usize
13604 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13605 use self::flatbuffers::Verifiable;
13606 v.visit_table(pos)?
13607 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("color", Self::VT_COLOR, false)?
13608 .finish();
13609 Ok(())
13610 }
13611}
13612pub struct DucXRayStyleArgs<'a> {
13613 pub color: Option<flatbuffers::WIPOffset<&'a str>>,
13614}
13615impl<'a> Default for DucXRayStyleArgs<'a> {
13616 #[inline]
13617 fn default() -> Self {
13618 DucXRayStyleArgs {
13619 color: None,
13620 }
13621 }
13622}
13623
13624pub struct DucXRayStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
13625 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
13626 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13627}
13628impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucXRayStyleBuilder<'a, 'b, A> {
13629 #[inline]
13630 pub fn add_color(&mut self, color: flatbuffers::WIPOffset<&'b str>) {
13631 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucXRayStyle::VT_COLOR, color);
13632 }
13633 #[inline]
13634 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucXRayStyleBuilder<'a, 'b, A> {
13635 let start = _fbb.start_table();
13636 DucXRayStyleBuilder {
13637 fbb_: _fbb,
13638 start_: start,
13639 }
13640 }
13641 #[inline]
13642 pub fn finish(self) -> flatbuffers::WIPOffset<DucXRayStyle<'a>> {
13643 let o = self.fbb_.end_table(self.start_);
13644 flatbuffers::WIPOffset::new(o.value())
13645 }
13646}
13647
13648impl core::fmt::Debug for DucXRayStyle<'_> {
13649 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13650 let mut ds = f.debug_struct("DucXRayStyle");
13651 ds.field("color", &self.color());
13652 ds.finish()
13653 }
13654}
13655pub enum DucRectangleElementOffset {}
13656#[derive(Copy, Clone, PartialEq)]
13657
13658pub struct DucRectangleElement<'a> {
13659 pub _tab: flatbuffers::Table<'a>,
13660}
13661
13662impl<'a> flatbuffers::Follow<'a> for DucRectangleElement<'a> {
13663 type Inner = DucRectangleElement<'a>;
13664 #[inline]
13665 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13666 Self { _tab: flatbuffers::Table::new(buf, loc) }
13667 }
13668}
13669
13670impl<'a> DucRectangleElement<'a> {
13671 pub const VT_BASE: flatbuffers::VOffsetT = 4;
13672
13673 #[inline]
13674 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13675 DucRectangleElement { _tab: table }
13676 }
13677 #[allow(unused_mut)]
13678 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
13679 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
13680 args: &'args DucRectangleElementArgs<'args>
13681 ) -> flatbuffers::WIPOffset<DucRectangleElement<'bldr>> {
13682 let mut builder = DucRectangleElementBuilder::new(_fbb);
13683 if let Some(x) = args.base { builder.add_base(x); }
13684 builder.finish()
13685 }
13686
13687
13688 #[inline]
13689 pub fn base(&self) -> Option<_DucElementBase<'a>> {
13690 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(DucRectangleElement::VT_BASE, None)}
13694 }
13695}
13696
13697impl flatbuffers::Verifiable for DucRectangleElement<'_> {
13698 #[inline]
13699 fn run_verifier(
13700 v: &mut flatbuffers::Verifier, pos: usize
13701 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13702 use self::flatbuffers::Verifiable;
13703 v.visit_table(pos)?
13704 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
13705 .finish();
13706 Ok(())
13707 }
13708}
13709pub struct DucRectangleElementArgs<'a> {
13710 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
13711}
13712impl<'a> Default for DucRectangleElementArgs<'a> {
13713 #[inline]
13714 fn default() -> Self {
13715 DucRectangleElementArgs {
13716 base: None,
13717 }
13718 }
13719}
13720
13721pub struct DucRectangleElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
13722 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
13723 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13724}
13725impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucRectangleElementBuilder<'a, 'b, A> {
13726 #[inline]
13727 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
13728 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(DucRectangleElement::VT_BASE, base);
13729 }
13730 #[inline]
13731 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucRectangleElementBuilder<'a, 'b, A> {
13732 let start = _fbb.start_table();
13733 DucRectangleElementBuilder {
13734 fbb_: _fbb,
13735 start_: start,
13736 }
13737 }
13738 #[inline]
13739 pub fn finish(self) -> flatbuffers::WIPOffset<DucRectangleElement<'a>> {
13740 let o = self.fbb_.end_table(self.start_);
13741 flatbuffers::WIPOffset::new(o.value())
13742 }
13743}
13744
13745impl core::fmt::Debug for DucRectangleElement<'_> {
13746 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13747 let mut ds = f.debug_struct("DucRectangleElement");
13748 ds.field("base", &self.base());
13749 ds.finish()
13750 }
13751}
13752pub enum DucPolygonElementOffset {}
13753#[derive(Copy, Clone, PartialEq)]
13754
13755pub struct DucPolygonElement<'a> {
13756 pub _tab: flatbuffers::Table<'a>,
13757}
13758
13759impl<'a> flatbuffers::Follow<'a> for DucPolygonElement<'a> {
13760 type Inner = DucPolygonElement<'a>;
13761 #[inline]
13762 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13763 Self { _tab: flatbuffers::Table::new(buf, loc) }
13764 }
13765}
13766
13767impl<'a> DucPolygonElement<'a> {
13768 pub const VT_BASE: flatbuffers::VOffsetT = 4;
13769 pub const VT_SIDES: flatbuffers::VOffsetT = 6;
13770
13771 #[inline]
13772 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13773 DucPolygonElement { _tab: table }
13774 }
13775 #[allow(unused_mut)]
13776 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
13777 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
13778 args: &'args DucPolygonElementArgs<'args>
13779 ) -> flatbuffers::WIPOffset<DucPolygonElement<'bldr>> {
13780 let mut builder = DucPolygonElementBuilder::new(_fbb);
13781 builder.add_sides(args.sides);
13782 if let Some(x) = args.base { builder.add_base(x); }
13783 builder.finish()
13784 }
13785
13786
13787 #[inline]
13788 pub fn base(&self) -> Option<_DucElementBase<'a>> {
13789 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(DucPolygonElement::VT_BASE, None)}
13793 }
13794 #[inline]
13795 pub fn sides(&self) -> i32 {
13796 unsafe { self._tab.get::<i32>(DucPolygonElement::VT_SIDES, Some(0)).unwrap()}
13800 }
13801}
13802
13803impl flatbuffers::Verifiable for DucPolygonElement<'_> {
13804 #[inline]
13805 fn run_verifier(
13806 v: &mut flatbuffers::Verifier, pos: usize
13807 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13808 use self::flatbuffers::Verifiable;
13809 v.visit_table(pos)?
13810 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
13811 .visit_field::<i32>("sides", Self::VT_SIDES, false)?
13812 .finish();
13813 Ok(())
13814 }
13815}
13816pub struct DucPolygonElementArgs<'a> {
13817 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
13818 pub sides: i32,
13819}
13820impl<'a> Default for DucPolygonElementArgs<'a> {
13821 #[inline]
13822 fn default() -> Self {
13823 DucPolygonElementArgs {
13824 base: None,
13825 sides: 0,
13826 }
13827 }
13828}
13829
13830pub struct DucPolygonElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
13831 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
13832 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13833}
13834impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucPolygonElementBuilder<'a, 'b, A> {
13835 #[inline]
13836 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
13837 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(DucPolygonElement::VT_BASE, base);
13838 }
13839 #[inline]
13840 pub fn add_sides(&mut self, sides: i32) {
13841 self.fbb_.push_slot::<i32>(DucPolygonElement::VT_SIDES, sides, 0);
13842 }
13843 #[inline]
13844 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucPolygonElementBuilder<'a, 'b, A> {
13845 let start = _fbb.start_table();
13846 DucPolygonElementBuilder {
13847 fbb_: _fbb,
13848 start_: start,
13849 }
13850 }
13851 #[inline]
13852 pub fn finish(self) -> flatbuffers::WIPOffset<DucPolygonElement<'a>> {
13853 let o = self.fbb_.end_table(self.start_);
13854 flatbuffers::WIPOffset::new(o.value())
13855 }
13856}
13857
13858impl core::fmt::Debug for DucPolygonElement<'_> {
13859 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13860 let mut ds = f.debug_struct("DucPolygonElement");
13861 ds.field("base", &self.base());
13862 ds.field("sides", &self.sides());
13863 ds.finish()
13864 }
13865}
13866pub enum DucEllipseElementOffset {}
13867#[derive(Copy, Clone, PartialEq)]
13868
13869pub struct DucEllipseElement<'a> {
13870 pub _tab: flatbuffers::Table<'a>,
13871}
13872
13873impl<'a> flatbuffers::Follow<'a> for DucEllipseElement<'a> {
13874 type Inner = DucEllipseElement<'a>;
13875 #[inline]
13876 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13877 Self { _tab: flatbuffers::Table::new(buf, loc) }
13878 }
13879}
13880
13881impl<'a> DucEllipseElement<'a> {
13882 pub const VT_BASE: flatbuffers::VOffsetT = 4;
13883 pub const VT_RATIO: flatbuffers::VOffsetT = 6;
13884 pub const VT_START_ANGLE: flatbuffers::VOffsetT = 8;
13885 pub const VT_END_ANGLE: flatbuffers::VOffsetT = 10;
13886 pub const VT_SHOW_AUX_CROSSHAIR: flatbuffers::VOffsetT = 12;
13887
13888 #[inline]
13889 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13890 DucEllipseElement { _tab: table }
13891 }
13892 #[allow(unused_mut)]
13893 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
13894 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
13895 args: &'args DucEllipseElementArgs<'args>
13896 ) -> flatbuffers::WIPOffset<DucEllipseElement<'bldr>> {
13897 let mut builder = DucEllipseElementBuilder::new(_fbb);
13898 builder.add_end_angle(args.end_angle);
13899 builder.add_start_angle(args.start_angle);
13900 builder.add_ratio(args.ratio);
13901 if let Some(x) = args.base { builder.add_base(x); }
13902 builder.add_show_aux_crosshair(args.show_aux_crosshair);
13903 builder.finish()
13904 }
13905
13906
13907 #[inline]
13908 pub fn base(&self) -> Option<_DucElementBase<'a>> {
13909 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(DucEllipseElement::VT_BASE, None)}
13913 }
13914 #[inline]
13915 pub fn ratio(&self) -> f32 {
13916 unsafe { self._tab.get::<f32>(DucEllipseElement::VT_RATIO, Some(0.0)).unwrap()}
13920 }
13921 #[inline]
13922 pub fn start_angle(&self) -> f64 {
13923 unsafe { self._tab.get::<f64>(DucEllipseElement::VT_START_ANGLE, Some(0.0)).unwrap()}
13927 }
13928 #[inline]
13929 pub fn end_angle(&self) -> f64 {
13930 unsafe { self._tab.get::<f64>(DucEllipseElement::VT_END_ANGLE, Some(0.0)).unwrap()}
13934 }
13935 #[inline]
13936 pub fn show_aux_crosshair(&self) -> bool {
13937 unsafe { self._tab.get::<bool>(DucEllipseElement::VT_SHOW_AUX_CROSSHAIR, Some(false)).unwrap()}
13941 }
13942}
13943
13944impl flatbuffers::Verifiable for DucEllipseElement<'_> {
13945 #[inline]
13946 fn run_verifier(
13947 v: &mut flatbuffers::Verifier, pos: usize
13948 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13949 use self::flatbuffers::Verifiable;
13950 v.visit_table(pos)?
13951 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
13952 .visit_field::<f32>("ratio", Self::VT_RATIO, false)?
13953 .visit_field::<f64>("start_angle", Self::VT_START_ANGLE, false)?
13954 .visit_field::<f64>("end_angle", Self::VT_END_ANGLE, false)?
13955 .visit_field::<bool>("show_aux_crosshair", Self::VT_SHOW_AUX_CROSSHAIR, false)?
13956 .finish();
13957 Ok(())
13958 }
13959}
13960pub struct DucEllipseElementArgs<'a> {
13961 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
13962 pub ratio: f32,
13963 pub start_angle: f64,
13964 pub end_angle: f64,
13965 pub show_aux_crosshair: bool,
13966}
13967impl<'a> Default for DucEllipseElementArgs<'a> {
13968 #[inline]
13969 fn default() -> Self {
13970 DucEllipseElementArgs {
13971 base: None,
13972 ratio: 0.0,
13973 start_angle: 0.0,
13974 end_angle: 0.0,
13975 show_aux_crosshair: false,
13976 }
13977 }
13978}
13979
13980pub struct DucEllipseElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
13981 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
13982 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13983}
13984impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucEllipseElementBuilder<'a, 'b, A> {
13985 #[inline]
13986 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
13987 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(DucEllipseElement::VT_BASE, base);
13988 }
13989 #[inline]
13990 pub fn add_ratio(&mut self, ratio: f32) {
13991 self.fbb_.push_slot::<f32>(DucEllipseElement::VT_RATIO, ratio, 0.0);
13992 }
13993 #[inline]
13994 pub fn add_start_angle(&mut self, start_angle: f64) {
13995 self.fbb_.push_slot::<f64>(DucEllipseElement::VT_START_ANGLE, start_angle, 0.0);
13996 }
13997 #[inline]
13998 pub fn add_end_angle(&mut self, end_angle: f64) {
13999 self.fbb_.push_slot::<f64>(DucEllipseElement::VT_END_ANGLE, end_angle, 0.0);
14000 }
14001 #[inline]
14002 pub fn add_show_aux_crosshair(&mut self, show_aux_crosshair: bool) {
14003 self.fbb_.push_slot::<bool>(DucEllipseElement::VT_SHOW_AUX_CROSSHAIR, show_aux_crosshair, false);
14004 }
14005 #[inline]
14006 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucEllipseElementBuilder<'a, 'b, A> {
14007 let start = _fbb.start_table();
14008 DucEllipseElementBuilder {
14009 fbb_: _fbb,
14010 start_: start,
14011 }
14012 }
14013 #[inline]
14014 pub fn finish(self) -> flatbuffers::WIPOffset<DucEllipseElement<'a>> {
14015 let o = self.fbb_.end_table(self.start_);
14016 flatbuffers::WIPOffset::new(o.value())
14017 }
14018}
14019
14020impl core::fmt::Debug for DucEllipseElement<'_> {
14021 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14022 let mut ds = f.debug_struct("DucEllipseElement");
14023 ds.field("base", &self.base());
14024 ds.field("ratio", &self.ratio());
14025 ds.field("start_angle", &self.start_angle());
14026 ds.field("end_angle", &self.end_angle());
14027 ds.field("show_aux_crosshair", &self.show_aux_crosshair());
14028 ds.finish()
14029 }
14030}
14031pub enum DucEmbeddableElementOffset {}
14032#[derive(Copy, Clone, PartialEq)]
14033
14034pub struct DucEmbeddableElement<'a> {
14035 pub _tab: flatbuffers::Table<'a>,
14036}
14037
14038impl<'a> flatbuffers::Follow<'a> for DucEmbeddableElement<'a> {
14039 type Inner = DucEmbeddableElement<'a>;
14040 #[inline]
14041 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14042 Self { _tab: flatbuffers::Table::new(buf, loc) }
14043 }
14044}
14045
14046impl<'a> DucEmbeddableElement<'a> {
14047 pub const VT_BASE: flatbuffers::VOffsetT = 4;
14048
14049 #[inline]
14050 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14051 DucEmbeddableElement { _tab: table }
14052 }
14053 #[allow(unused_mut)]
14054 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
14055 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
14056 args: &'args DucEmbeddableElementArgs<'args>
14057 ) -> flatbuffers::WIPOffset<DucEmbeddableElement<'bldr>> {
14058 let mut builder = DucEmbeddableElementBuilder::new(_fbb);
14059 if let Some(x) = args.base { builder.add_base(x); }
14060 builder.finish()
14061 }
14062
14063
14064 #[inline]
14065 pub fn base(&self) -> Option<_DucElementBase<'a>> {
14066 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(DucEmbeddableElement::VT_BASE, None)}
14070 }
14071}
14072
14073impl flatbuffers::Verifiable for DucEmbeddableElement<'_> {
14074 #[inline]
14075 fn run_verifier(
14076 v: &mut flatbuffers::Verifier, pos: usize
14077 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14078 use self::flatbuffers::Verifiable;
14079 v.visit_table(pos)?
14080 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
14081 .finish();
14082 Ok(())
14083 }
14084}
14085pub struct DucEmbeddableElementArgs<'a> {
14086 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
14087}
14088impl<'a> Default for DucEmbeddableElementArgs<'a> {
14089 #[inline]
14090 fn default() -> Self {
14091 DucEmbeddableElementArgs {
14092 base: None,
14093 }
14094 }
14095}
14096
14097pub struct DucEmbeddableElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
14098 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
14099 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14100}
14101impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucEmbeddableElementBuilder<'a, 'b, A> {
14102 #[inline]
14103 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
14104 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(DucEmbeddableElement::VT_BASE, base);
14105 }
14106 #[inline]
14107 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucEmbeddableElementBuilder<'a, 'b, A> {
14108 let start = _fbb.start_table();
14109 DucEmbeddableElementBuilder {
14110 fbb_: _fbb,
14111 start_: start,
14112 }
14113 }
14114 #[inline]
14115 pub fn finish(self) -> flatbuffers::WIPOffset<DucEmbeddableElement<'a>> {
14116 let o = self.fbb_.end_table(self.start_);
14117 flatbuffers::WIPOffset::new(o.value())
14118 }
14119}
14120
14121impl core::fmt::Debug for DucEmbeddableElement<'_> {
14122 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14123 let mut ds = f.debug_struct("DucEmbeddableElement");
14124 ds.field("base", &self.base());
14125 ds.finish()
14126 }
14127}
14128pub enum DocumentGridConfigOffset {}
14129#[derive(Copy, Clone, PartialEq)]
14130
14131pub struct DocumentGridConfig<'a> {
14132 pub _tab: flatbuffers::Table<'a>,
14133}
14134
14135impl<'a> flatbuffers::Follow<'a> for DocumentGridConfig<'a> {
14136 type Inner = DocumentGridConfig<'a>;
14137 #[inline]
14138 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14139 Self { _tab: flatbuffers::Table::new(buf, loc) }
14140 }
14141}
14142
14143impl<'a> DocumentGridConfig<'a> {
14144 pub const VT_COLUMNS: flatbuffers::VOffsetT = 4;
14145 pub const VT_GAP_X: flatbuffers::VOffsetT = 6;
14146 pub const VT_GAP_Y: flatbuffers::VOffsetT = 8;
14147 pub const VT_ALIGN_ITEMS: flatbuffers::VOffsetT = 10;
14148 pub const VT_FIRST_PAGE_ALONE: flatbuffers::VOffsetT = 12;
14149
14150 #[inline]
14151 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14152 DocumentGridConfig { _tab: table }
14153 }
14154 #[allow(unused_mut)]
14155 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
14156 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
14157 args: &'args DocumentGridConfigArgs
14158 ) -> flatbuffers::WIPOffset<DocumentGridConfig<'bldr>> {
14159 let mut builder = DocumentGridConfigBuilder::new(_fbb);
14160 builder.add_gap_y(args.gap_y);
14161 builder.add_gap_x(args.gap_x);
14162 builder.add_columns(args.columns);
14163 builder.add_first_page_alone(args.first_page_alone);
14164 if let Some(x) = args.align_items { builder.add_align_items(x); }
14165 builder.finish()
14166 }
14167
14168
14169 #[inline]
14170 pub fn columns(&self) -> i32 {
14171 unsafe { self._tab.get::<i32>(DocumentGridConfig::VT_COLUMNS, Some(0)).unwrap()}
14175 }
14176 #[inline]
14177 pub fn gap_x(&self) -> f64 {
14178 unsafe { self._tab.get::<f64>(DocumentGridConfig::VT_GAP_X, Some(0.0)).unwrap()}
14182 }
14183 #[inline]
14184 pub fn gap_y(&self) -> f64 {
14185 unsafe { self._tab.get::<f64>(DocumentGridConfig::VT_GAP_Y, Some(0.0)).unwrap()}
14189 }
14190 #[inline]
14191 pub fn align_items(&self) -> Option<DOCUMENT_GRID_ALIGN_ITEMS> {
14192 unsafe { self._tab.get::<DOCUMENT_GRID_ALIGN_ITEMS>(DocumentGridConfig::VT_ALIGN_ITEMS, None)}
14196 }
14197 #[inline]
14198 pub fn first_page_alone(&self) -> bool {
14199 unsafe { self._tab.get::<bool>(DocumentGridConfig::VT_FIRST_PAGE_ALONE, Some(false)).unwrap()}
14203 }
14204}
14205
14206impl flatbuffers::Verifiable for DocumentGridConfig<'_> {
14207 #[inline]
14208 fn run_verifier(
14209 v: &mut flatbuffers::Verifier, pos: usize
14210 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14211 use self::flatbuffers::Verifiable;
14212 v.visit_table(pos)?
14213 .visit_field::<i32>("columns", Self::VT_COLUMNS, false)?
14214 .visit_field::<f64>("gap_x", Self::VT_GAP_X, false)?
14215 .visit_field::<f64>("gap_y", Self::VT_GAP_Y, false)?
14216 .visit_field::<DOCUMENT_GRID_ALIGN_ITEMS>("align_items", Self::VT_ALIGN_ITEMS, false)?
14217 .visit_field::<bool>("first_page_alone", Self::VT_FIRST_PAGE_ALONE, false)?
14218 .finish();
14219 Ok(())
14220 }
14221}
14222pub struct DocumentGridConfigArgs {
14223 pub columns: i32,
14224 pub gap_x: f64,
14225 pub gap_y: f64,
14226 pub align_items: Option<DOCUMENT_GRID_ALIGN_ITEMS>,
14227 pub first_page_alone: bool,
14228}
14229impl<'a> Default for DocumentGridConfigArgs {
14230 #[inline]
14231 fn default() -> Self {
14232 DocumentGridConfigArgs {
14233 columns: 0,
14234 gap_x: 0.0,
14235 gap_y: 0.0,
14236 align_items: None,
14237 first_page_alone: false,
14238 }
14239 }
14240}
14241
14242pub struct DocumentGridConfigBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
14243 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
14244 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14245}
14246impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DocumentGridConfigBuilder<'a, 'b, A> {
14247 #[inline]
14248 pub fn add_columns(&mut self, columns: i32) {
14249 self.fbb_.push_slot::<i32>(DocumentGridConfig::VT_COLUMNS, columns, 0);
14250 }
14251 #[inline]
14252 pub fn add_gap_x(&mut self, gap_x: f64) {
14253 self.fbb_.push_slot::<f64>(DocumentGridConfig::VT_GAP_X, gap_x, 0.0);
14254 }
14255 #[inline]
14256 pub fn add_gap_y(&mut self, gap_y: f64) {
14257 self.fbb_.push_slot::<f64>(DocumentGridConfig::VT_GAP_Y, gap_y, 0.0);
14258 }
14259 #[inline]
14260 pub fn add_align_items(&mut self, align_items: DOCUMENT_GRID_ALIGN_ITEMS) {
14261 self.fbb_.push_slot_always::<DOCUMENT_GRID_ALIGN_ITEMS>(DocumentGridConfig::VT_ALIGN_ITEMS, align_items);
14262 }
14263 #[inline]
14264 pub fn add_first_page_alone(&mut self, first_page_alone: bool) {
14265 self.fbb_.push_slot::<bool>(DocumentGridConfig::VT_FIRST_PAGE_ALONE, first_page_alone, false);
14266 }
14267 #[inline]
14268 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DocumentGridConfigBuilder<'a, 'b, A> {
14269 let start = _fbb.start_table();
14270 DocumentGridConfigBuilder {
14271 fbb_: _fbb,
14272 start_: start,
14273 }
14274 }
14275 #[inline]
14276 pub fn finish(self) -> flatbuffers::WIPOffset<DocumentGridConfig<'a>> {
14277 let o = self.fbb_.end_table(self.start_);
14278 flatbuffers::WIPOffset::new(o.value())
14279 }
14280}
14281
14282impl core::fmt::Debug for DocumentGridConfig<'_> {
14283 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14284 let mut ds = f.debug_struct("DocumentGridConfig");
14285 ds.field("columns", &self.columns());
14286 ds.field("gap_x", &self.gap_x());
14287 ds.field("gap_y", &self.gap_y());
14288 ds.field("align_items", &self.align_items());
14289 ds.field("first_page_alone", &self.first_page_alone());
14290 ds.finish()
14291 }
14292}
14293pub enum DucPdfElementOffset {}
14294#[derive(Copy, Clone, PartialEq)]
14295
14296pub struct DucPdfElement<'a> {
14297 pub _tab: flatbuffers::Table<'a>,
14298}
14299
14300impl<'a> flatbuffers::Follow<'a> for DucPdfElement<'a> {
14301 type Inner = DucPdfElement<'a>;
14302 #[inline]
14303 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14304 Self { _tab: flatbuffers::Table::new(buf, loc) }
14305 }
14306}
14307
14308impl<'a> DucPdfElement<'a> {
14309 pub const VT_BASE: flatbuffers::VOffsetT = 4;
14310 pub const VT_FILE_ID: flatbuffers::VOffsetT = 6;
14311 pub const VT_GRID_CONFIG: flatbuffers::VOffsetT = 8;
14312
14313 #[inline]
14314 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14315 DucPdfElement { _tab: table }
14316 }
14317 #[allow(unused_mut)]
14318 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
14319 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
14320 args: &'args DucPdfElementArgs<'args>
14321 ) -> flatbuffers::WIPOffset<DucPdfElement<'bldr>> {
14322 let mut builder = DucPdfElementBuilder::new(_fbb);
14323 if let Some(x) = args.grid_config { builder.add_grid_config(x); }
14324 if let Some(x) = args.file_id { builder.add_file_id(x); }
14325 if let Some(x) = args.base { builder.add_base(x); }
14326 builder.finish()
14327 }
14328
14329
14330 #[inline]
14331 pub fn base(&self) -> Option<_DucElementBase<'a>> {
14332 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(DucPdfElement::VT_BASE, None)}
14336 }
14337 #[inline]
14338 pub fn file_id(&self) -> Option<&'a str> {
14339 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucPdfElement::VT_FILE_ID, None)}
14343 }
14344 #[inline]
14345 pub fn grid_config(&self) -> Option<DocumentGridConfig<'a>> {
14346 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DocumentGridConfig>>(DucPdfElement::VT_GRID_CONFIG, None)}
14350 }
14351}
14352
14353impl flatbuffers::Verifiable for DucPdfElement<'_> {
14354 #[inline]
14355 fn run_verifier(
14356 v: &mut flatbuffers::Verifier, pos: usize
14357 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14358 use self::flatbuffers::Verifiable;
14359 v.visit_table(pos)?
14360 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
14361 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("file_id", Self::VT_FILE_ID, false)?
14362 .visit_field::<flatbuffers::ForwardsUOffset<DocumentGridConfig>>("grid_config", Self::VT_GRID_CONFIG, false)?
14363 .finish();
14364 Ok(())
14365 }
14366}
14367pub struct DucPdfElementArgs<'a> {
14368 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
14369 pub file_id: Option<flatbuffers::WIPOffset<&'a str>>,
14370 pub grid_config: Option<flatbuffers::WIPOffset<DocumentGridConfig<'a>>>,
14371}
14372impl<'a> Default for DucPdfElementArgs<'a> {
14373 #[inline]
14374 fn default() -> Self {
14375 DucPdfElementArgs {
14376 base: None,
14377 file_id: None,
14378 grid_config: None,
14379 }
14380 }
14381}
14382
14383pub struct DucPdfElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
14384 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
14385 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14386}
14387impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucPdfElementBuilder<'a, 'b, A> {
14388 #[inline]
14389 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
14390 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(DucPdfElement::VT_BASE, base);
14391 }
14392 #[inline]
14393 pub fn add_file_id(&mut self, file_id: flatbuffers::WIPOffset<&'b str>) {
14394 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucPdfElement::VT_FILE_ID, file_id);
14395 }
14396 #[inline]
14397 pub fn add_grid_config(&mut self, grid_config: flatbuffers::WIPOffset<DocumentGridConfig<'b >>) {
14398 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DocumentGridConfig>>(DucPdfElement::VT_GRID_CONFIG, grid_config);
14399 }
14400 #[inline]
14401 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucPdfElementBuilder<'a, 'b, A> {
14402 let start = _fbb.start_table();
14403 DucPdfElementBuilder {
14404 fbb_: _fbb,
14405 start_: start,
14406 }
14407 }
14408 #[inline]
14409 pub fn finish(self) -> flatbuffers::WIPOffset<DucPdfElement<'a>> {
14410 let o = self.fbb_.end_table(self.start_);
14411 flatbuffers::WIPOffset::new(o.value())
14412 }
14413}
14414
14415impl core::fmt::Debug for DucPdfElement<'_> {
14416 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14417 let mut ds = f.debug_struct("DucPdfElement");
14418 ds.field("base", &self.base());
14419 ds.field("file_id", &self.file_id());
14420 ds.field("grid_config", &self.grid_config());
14421 ds.finish()
14422 }
14423}
14424pub enum DucMermaidElementOffset {}
14425#[derive(Copy, Clone, PartialEq)]
14426
14427pub struct DucMermaidElement<'a> {
14428 pub _tab: flatbuffers::Table<'a>,
14429}
14430
14431impl<'a> flatbuffers::Follow<'a> for DucMermaidElement<'a> {
14432 type Inner = DucMermaidElement<'a>;
14433 #[inline]
14434 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14435 Self { _tab: flatbuffers::Table::new(buf, loc) }
14436 }
14437}
14438
14439impl<'a> DucMermaidElement<'a> {
14440 pub const VT_BASE: flatbuffers::VOffsetT = 4;
14441 pub const VT_SOURCE: flatbuffers::VOffsetT = 6;
14442 pub const VT_THEME: flatbuffers::VOffsetT = 8;
14443 pub const VT_SVG_PATH: flatbuffers::VOffsetT = 10;
14444
14445 #[inline]
14446 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14447 DucMermaidElement { _tab: table }
14448 }
14449 #[allow(unused_mut)]
14450 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
14451 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
14452 args: &'args DucMermaidElementArgs<'args>
14453 ) -> flatbuffers::WIPOffset<DucMermaidElement<'bldr>> {
14454 let mut builder = DucMermaidElementBuilder::new(_fbb);
14455 if let Some(x) = args.svg_path { builder.add_svg_path(x); }
14456 if let Some(x) = args.theme { builder.add_theme(x); }
14457 if let Some(x) = args.source { builder.add_source(x); }
14458 if let Some(x) = args.base { builder.add_base(x); }
14459 builder.finish()
14460 }
14461
14462
14463 #[inline]
14464 pub fn base(&self) -> Option<_DucElementBase<'a>> {
14465 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(DucMermaidElement::VT_BASE, None)}
14469 }
14470 #[inline]
14471 pub fn source(&self) -> Option<&'a str> {
14472 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucMermaidElement::VT_SOURCE, None)}
14476 }
14477 #[inline]
14478 pub fn theme(&self) -> Option<&'a str> {
14479 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucMermaidElement::VT_THEME, None)}
14483 }
14484 #[inline]
14485 pub fn svg_path(&self) -> Option<&'a str> {
14486 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucMermaidElement::VT_SVG_PATH, None)}
14490 }
14491}
14492
14493impl flatbuffers::Verifiable for DucMermaidElement<'_> {
14494 #[inline]
14495 fn run_verifier(
14496 v: &mut flatbuffers::Verifier, pos: usize
14497 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14498 use self::flatbuffers::Verifiable;
14499 v.visit_table(pos)?
14500 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
14501 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("source", Self::VT_SOURCE, false)?
14502 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("theme", Self::VT_THEME, false)?
14503 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("svg_path", Self::VT_SVG_PATH, false)?
14504 .finish();
14505 Ok(())
14506 }
14507}
14508pub struct DucMermaidElementArgs<'a> {
14509 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
14510 pub source: Option<flatbuffers::WIPOffset<&'a str>>,
14511 pub theme: Option<flatbuffers::WIPOffset<&'a str>>,
14512 pub svg_path: Option<flatbuffers::WIPOffset<&'a str>>,
14513}
14514impl<'a> Default for DucMermaidElementArgs<'a> {
14515 #[inline]
14516 fn default() -> Self {
14517 DucMermaidElementArgs {
14518 base: None,
14519 source: None,
14520 theme: None,
14521 svg_path: None,
14522 }
14523 }
14524}
14525
14526pub struct DucMermaidElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
14527 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
14528 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14529}
14530impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucMermaidElementBuilder<'a, 'b, A> {
14531 #[inline]
14532 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
14533 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(DucMermaidElement::VT_BASE, base);
14534 }
14535 #[inline]
14536 pub fn add_source(&mut self, source: flatbuffers::WIPOffset<&'b str>) {
14537 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucMermaidElement::VT_SOURCE, source);
14538 }
14539 #[inline]
14540 pub fn add_theme(&mut self, theme: flatbuffers::WIPOffset<&'b str>) {
14541 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucMermaidElement::VT_THEME, theme);
14542 }
14543 #[inline]
14544 pub fn add_svg_path(&mut self, svg_path: flatbuffers::WIPOffset<&'b str>) {
14545 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucMermaidElement::VT_SVG_PATH, svg_path);
14546 }
14547 #[inline]
14548 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucMermaidElementBuilder<'a, 'b, A> {
14549 let start = _fbb.start_table();
14550 DucMermaidElementBuilder {
14551 fbb_: _fbb,
14552 start_: start,
14553 }
14554 }
14555 #[inline]
14556 pub fn finish(self) -> flatbuffers::WIPOffset<DucMermaidElement<'a>> {
14557 let o = self.fbb_.end_table(self.start_);
14558 flatbuffers::WIPOffset::new(o.value())
14559 }
14560}
14561
14562impl core::fmt::Debug for DucMermaidElement<'_> {
14563 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14564 let mut ds = f.debug_struct("DucMermaidElement");
14565 ds.field("base", &self.base());
14566 ds.field("source", &self.source());
14567 ds.field("theme", &self.theme());
14568 ds.field("svg_path", &self.svg_path());
14569 ds.finish()
14570 }
14571}
14572pub enum DucTableColumnOffset {}
14573#[derive(Copy, Clone, PartialEq)]
14574
14575pub struct DucTableColumn<'a> {
14576 pub _tab: flatbuffers::Table<'a>,
14577}
14578
14579impl<'a> flatbuffers::Follow<'a> for DucTableColumn<'a> {
14580 type Inner = DucTableColumn<'a>;
14581 #[inline]
14582 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14583 Self { _tab: flatbuffers::Table::new(buf, loc) }
14584 }
14585}
14586
14587impl<'a> DucTableColumn<'a> {
14588 pub const VT_ID: flatbuffers::VOffsetT = 4;
14589 pub const VT_WIDTH: flatbuffers::VOffsetT = 6;
14590 pub const VT_STYLE_OVERRIDES: flatbuffers::VOffsetT = 8;
14591
14592 #[inline]
14593 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14594 DucTableColumn { _tab: table }
14595 }
14596 #[allow(unused_mut)]
14597 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
14598 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
14599 args: &'args DucTableColumnArgs<'args>
14600 ) -> flatbuffers::WIPOffset<DucTableColumn<'bldr>> {
14601 let mut builder = DucTableColumnBuilder::new(_fbb);
14602 builder.add_width(args.width);
14603 if let Some(x) = args.style_overrides { builder.add_style_overrides(x); }
14604 if let Some(x) = args.id { builder.add_id(x); }
14605 builder.finish()
14606 }
14607
14608
14609 #[inline]
14610 pub fn id(&self) -> &'a str {
14611 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTableColumn::VT_ID, None).unwrap()}
14615 }
14616 #[inline]
14617 pub fn key_compare_less_than(&self, o: &DucTableColumn) -> bool {
14618 self.id() < o.id()
14619 }
14620
14621 #[inline]
14622 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
14623 let key = self.id();
14624 key.cmp(val)
14625 }
14626 #[inline]
14627 pub fn width(&self) -> f64 {
14628 unsafe { self._tab.get::<f64>(DucTableColumn::VT_WIDTH, Some(0.0)).unwrap()}
14632 }
14633 #[inline]
14634 pub fn style_overrides(&self) -> Option<DucTableCellStyle<'a>> {
14635 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTableCellStyle>>(DucTableColumn::VT_STYLE_OVERRIDES, None)}
14639 }
14640}
14641
14642impl flatbuffers::Verifiable for DucTableColumn<'_> {
14643 #[inline]
14644 fn run_verifier(
14645 v: &mut flatbuffers::Verifier, pos: usize
14646 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14647 use self::flatbuffers::Verifiable;
14648 v.visit_table(pos)?
14649 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("id", Self::VT_ID, true)?
14650 .visit_field::<f64>("width", Self::VT_WIDTH, false)?
14651 .visit_field::<flatbuffers::ForwardsUOffset<DucTableCellStyle>>("style_overrides", Self::VT_STYLE_OVERRIDES, false)?
14652 .finish();
14653 Ok(())
14654 }
14655}
14656pub struct DucTableColumnArgs<'a> {
14657 pub id: Option<flatbuffers::WIPOffset<&'a str>>,
14658 pub width: f64,
14659 pub style_overrides: Option<flatbuffers::WIPOffset<DucTableCellStyle<'a>>>,
14660}
14661impl<'a> Default for DucTableColumnArgs<'a> {
14662 #[inline]
14663 fn default() -> Self {
14664 DucTableColumnArgs {
14665 id: None, width: 0.0,
14667 style_overrides: None,
14668 }
14669 }
14670}
14671
14672pub struct DucTableColumnBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
14673 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
14674 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14675}
14676impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTableColumnBuilder<'a, 'b, A> {
14677 #[inline]
14678 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<&'b str>) {
14679 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTableColumn::VT_ID, id);
14680 }
14681 #[inline]
14682 pub fn add_width(&mut self, width: f64) {
14683 self.fbb_.push_slot::<f64>(DucTableColumn::VT_WIDTH, width, 0.0);
14684 }
14685 #[inline]
14686 pub fn add_style_overrides(&mut self, style_overrides: flatbuffers::WIPOffset<DucTableCellStyle<'b >>) {
14687 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTableCellStyle>>(DucTableColumn::VT_STYLE_OVERRIDES, style_overrides);
14688 }
14689 #[inline]
14690 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTableColumnBuilder<'a, 'b, A> {
14691 let start = _fbb.start_table();
14692 DucTableColumnBuilder {
14693 fbb_: _fbb,
14694 start_: start,
14695 }
14696 }
14697 #[inline]
14698 pub fn finish(self) -> flatbuffers::WIPOffset<DucTableColumn<'a>> {
14699 let o = self.fbb_.end_table(self.start_);
14700 self.fbb_.required(o, DucTableColumn::VT_ID,"id");
14701 flatbuffers::WIPOffset::new(o.value())
14702 }
14703}
14704
14705impl core::fmt::Debug for DucTableColumn<'_> {
14706 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14707 let mut ds = f.debug_struct("DucTableColumn");
14708 ds.field("id", &self.id());
14709 ds.field("width", &self.width());
14710 ds.field("style_overrides", &self.style_overrides());
14711 ds.finish()
14712 }
14713}
14714pub enum DucTableRowOffset {}
14715#[derive(Copy, Clone, PartialEq)]
14716
14717pub struct DucTableRow<'a> {
14718 pub _tab: flatbuffers::Table<'a>,
14719}
14720
14721impl<'a> flatbuffers::Follow<'a> for DucTableRow<'a> {
14722 type Inner = DucTableRow<'a>;
14723 #[inline]
14724 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14725 Self { _tab: flatbuffers::Table::new(buf, loc) }
14726 }
14727}
14728
14729impl<'a> DucTableRow<'a> {
14730 pub const VT_ID: flatbuffers::VOffsetT = 4;
14731 pub const VT_HEIGHT: flatbuffers::VOffsetT = 6;
14732 pub const VT_STYLE_OVERRIDES: flatbuffers::VOffsetT = 8;
14733
14734 #[inline]
14735 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14736 DucTableRow { _tab: table }
14737 }
14738 #[allow(unused_mut)]
14739 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
14740 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
14741 args: &'args DucTableRowArgs<'args>
14742 ) -> flatbuffers::WIPOffset<DucTableRow<'bldr>> {
14743 let mut builder = DucTableRowBuilder::new(_fbb);
14744 builder.add_height(args.height);
14745 if let Some(x) = args.style_overrides { builder.add_style_overrides(x); }
14746 if let Some(x) = args.id { builder.add_id(x); }
14747 builder.finish()
14748 }
14749
14750
14751 #[inline]
14752 pub fn id(&self) -> &'a str {
14753 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTableRow::VT_ID, None).unwrap()}
14757 }
14758 #[inline]
14759 pub fn key_compare_less_than(&self, o: &DucTableRow) -> bool {
14760 self.id() < o.id()
14761 }
14762
14763 #[inline]
14764 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
14765 let key = self.id();
14766 key.cmp(val)
14767 }
14768 #[inline]
14769 pub fn height(&self) -> f64 {
14770 unsafe { self._tab.get::<f64>(DucTableRow::VT_HEIGHT, Some(0.0)).unwrap()}
14774 }
14775 #[inline]
14776 pub fn style_overrides(&self) -> Option<DucTableCellStyle<'a>> {
14777 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTableCellStyle>>(DucTableRow::VT_STYLE_OVERRIDES, None)}
14781 }
14782}
14783
14784impl flatbuffers::Verifiable for DucTableRow<'_> {
14785 #[inline]
14786 fn run_verifier(
14787 v: &mut flatbuffers::Verifier, pos: usize
14788 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14789 use self::flatbuffers::Verifiable;
14790 v.visit_table(pos)?
14791 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("id", Self::VT_ID, true)?
14792 .visit_field::<f64>("height", Self::VT_HEIGHT, false)?
14793 .visit_field::<flatbuffers::ForwardsUOffset<DucTableCellStyle>>("style_overrides", Self::VT_STYLE_OVERRIDES, false)?
14794 .finish();
14795 Ok(())
14796 }
14797}
14798pub struct DucTableRowArgs<'a> {
14799 pub id: Option<flatbuffers::WIPOffset<&'a str>>,
14800 pub height: f64,
14801 pub style_overrides: Option<flatbuffers::WIPOffset<DucTableCellStyle<'a>>>,
14802}
14803impl<'a> Default for DucTableRowArgs<'a> {
14804 #[inline]
14805 fn default() -> Self {
14806 DucTableRowArgs {
14807 id: None, height: 0.0,
14809 style_overrides: None,
14810 }
14811 }
14812}
14813
14814pub struct DucTableRowBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
14815 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
14816 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14817}
14818impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTableRowBuilder<'a, 'b, A> {
14819 #[inline]
14820 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<&'b str>) {
14821 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTableRow::VT_ID, id);
14822 }
14823 #[inline]
14824 pub fn add_height(&mut self, height: f64) {
14825 self.fbb_.push_slot::<f64>(DucTableRow::VT_HEIGHT, height, 0.0);
14826 }
14827 #[inline]
14828 pub fn add_style_overrides(&mut self, style_overrides: flatbuffers::WIPOffset<DucTableCellStyle<'b >>) {
14829 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTableCellStyle>>(DucTableRow::VT_STYLE_OVERRIDES, style_overrides);
14830 }
14831 #[inline]
14832 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTableRowBuilder<'a, 'b, A> {
14833 let start = _fbb.start_table();
14834 DucTableRowBuilder {
14835 fbb_: _fbb,
14836 start_: start,
14837 }
14838 }
14839 #[inline]
14840 pub fn finish(self) -> flatbuffers::WIPOffset<DucTableRow<'a>> {
14841 let o = self.fbb_.end_table(self.start_);
14842 self.fbb_.required(o, DucTableRow::VT_ID,"id");
14843 flatbuffers::WIPOffset::new(o.value())
14844 }
14845}
14846
14847impl core::fmt::Debug for DucTableRow<'_> {
14848 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14849 let mut ds = f.debug_struct("DucTableRow");
14850 ds.field("id", &self.id());
14851 ds.field("height", &self.height());
14852 ds.field("style_overrides", &self.style_overrides());
14853 ds.finish()
14854 }
14855}
14856pub enum DucTableCellSpanOffset {}
14857#[derive(Copy, Clone, PartialEq)]
14858
14859pub struct DucTableCellSpan<'a> {
14860 pub _tab: flatbuffers::Table<'a>,
14861}
14862
14863impl<'a> flatbuffers::Follow<'a> for DucTableCellSpan<'a> {
14864 type Inner = DucTableCellSpan<'a>;
14865 #[inline]
14866 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14867 Self { _tab: flatbuffers::Table::new(buf, loc) }
14868 }
14869}
14870
14871impl<'a> DucTableCellSpan<'a> {
14872 pub const VT_COLUMNS: flatbuffers::VOffsetT = 4;
14873 pub const VT_ROWS: flatbuffers::VOffsetT = 6;
14874
14875 #[inline]
14876 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14877 DucTableCellSpan { _tab: table }
14878 }
14879 #[allow(unused_mut)]
14880 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
14881 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
14882 args: &'args DucTableCellSpanArgs
14883 ) -> flatbuffers::WIPOffset<DucTableCellSpan<'bldr>> {
14884 let mut builder = DucTableCellSpanBuilder::new(_fbb);
14885 builder.add_rows(args.rows);
14886 builder.add_columns(args.columns);
14887 builder.finish()
14888 }
14889
14890
14891 #[inline]
14892 pub fn columns(&self) -> i32 {
14893 unsafe { self._tab.get::<i32>(DucTableCellSpan::VT_COLUMNS, Some(0)).unwrap()}
14897 }
14898 #[inline]
14899 pub fn rows(&self) -> i32 {
14900 unsafe { self._tab.get::<i32>(DucTableCellSpan::VT_ROWS, Some(0)).unwrap()}
14904 }
14905}
14906
14907impl flatbuffers::Verifiable for DucTableCellSpan<'_> {
14908 #[inline]
14909 fn run_verifier(
14910 v: &mut flatbuffers::Verifier, pos: usize
14911 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14912 use self::flatbuffers::Verifiable;
14913 v.visit_table(pos)?
14914 .visit_field::<i32>("columns", Self::VT_COLUMNS, false)?
14915 .visit_field::<i32>("rows", Self::VT_ROWS, false)?
14916 .finish();
14917 Ok(())
14918 }
14919}
14920pub struct DucTableCellSpanArgs {
14921 pub columns: i32,
14922 pub rows: i32,
14923}
14924impl<'a> Default for DucTableCellSpanArgs {
14925 #[inline]
14926 fn default() -> Self {
14927 DucTableCellSpanArgs {
14928 columns: 0,
14929 rows: 0,
14930 }
14931 }
14932}
14933
14934pub struct DucTableCellSpanBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
14935 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
14936 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14937}
14938impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTableCellSpanBuilder<'a, 'b, A> {
14939 #[inline]
14940 pub fn add_columns(&mut self, columns: i32) {
14941 self.fbb_.push_slot::<i32>(DucTableCellSpan::VT_COLUMNS, columns, 0);
14942 }
14943 #[inline]
14944 pub fn add_rows(&mut self, rows: i32) {
14945 self.fbb_.push_slot::<i32>(DucTableCellSpan::VT_ROWS, rows, 0);
14946 }
14947 #[inline]
14948 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTableCellSpanBuilder<'a, 'b, A> {
14949 let start = _fbb.start_table();
14950 DucTableCellSpanBuilder {
14951 fbb_: _fbb,
14952 start_: start,
14953 }
14954 }
14955 #[inline]
14956 pub fn finish(self) -> flatbuffers::WIPOffset<DucTableCellSpan<'a>> {
14957 let o = self.fbb_.end_table(self.start_);
14958 flatbuffers::WIPOffset::new(o.value())
14959 }
14960}
14961
14962impl core::fmt::Debug for DucTableCellSpan<'_> {
14963 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14964 let mut ds = f.debug_struct("DucTableCellSpan");
14965 ds.field("columns", &self.columns());
14966 ds.field("rows", &self.rows());
14967 ds.finish()
14968 }
14969}
14970pub enum DucTableCellOffset {}
14971#[derive(Copy, Clone, PartialEq)]
14972
14973pub struct DucTableCell<'a> {
14974 pub _tab: flatbuffers::Table<'a>,
14975}
14976
14977impl<'a> flatbuffers::Follow<'a> for DucTableCell<'a> {
14978 type Inner = DucTableCell<'a>;
14979 #[inline]
14980 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14981 Self { _tab: flatbuffers::Table::new(buf, loc) }
14982 }
14983}
14984
14985impl<'a> DucTableCell<'a> {
14986 pub const VT_ROW_ID: flatbuffers::VOffsetT = 4;
14987 pub const VT_COLUMN_ID: flatbuffers::VOffsetT = 6;
14988 pub const VT_DATA: flatbuffers::VOffsetT = 8;
14989 pub const VT_SPAN: flatbuffers::VOffsetT = 10;
14990 pub const VT_LOCKED: flatbuffers::VOffsetT = 12;
14991 pub const VT_STYLE_OVERRIDES: flatbuffers::VOffsetT = 14;
14992
14993 #[inline]
14994 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14995 DucTableCell { _tab: table }
14996 }
14997 #[allow(unused_mut)]
14998 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
14999 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
15000 args: &'args DucTableCellArgs<'args>
15001 ) -> flatbuffers::WIPOffset<DucTableCell<'bldr>> {
15002 let mut builder = DucTableCellBuilder::new(_fbb);
15003 if let Some(x) = args.style_overrides { builder.add_style_overrides(x); }
15004 if let Some(x) = args.span { builder.add_span(x); }
15005 if let Some(x) = args.data { builder.add_data(x); }
15006 if let Some(x) = args.column_id { builder.add_column_id(x); }
15007 if let Some(x) = args.row_id { builder.add_row_id(x); }
15008 builder.add_locked(args.locked);
15009 builder.finish()
15010 }
15011
15012
15013 #[inline]
15014 pub fn row_id(&self) -> Option<&'a str> {
15015 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTableCell::VT_ROW_ID, None)}
15019 }
15020 #[inline]
15021 pub fn column_id(&self) -> Option<&'a str> {
15022 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTableCell::VT_COLUMN_ID, None)}
15026 }
15027 #[inline]
15028 pub fn data(&self) -> Option<&'a str> {
15029 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTableCell::VT_DATA, None)}
15033 }
15034 #[inline]
15035 pub fn span(&self) -> Option<DucTableCellSpan<'a>> {
15036 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTableCellSpan>>(DucTableCell::VT_SPAN, None)}
15040 }
15041 #[inline]
15042 pub fn locked(&self) -> bool {
15043 unsafe { self._tab.get::<bool>(DucTableCell::VT_LOCKED, Some(false)).unwrap()}
15047 }
15048 #[inline]
15049 pub fn style_overrides(&self) -> Option<DucTableCellStyle<'a>> {
15050 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTableCellStyle>>(DucTableCell::VT_STYLE_OVERRIDES, None)}
15054 }
15055}
15056
15057impl flatbuffers::Verifiable for DucTableCell<'_> {
15058 #[inline]
15059 fn run_verifier(
15060 v: &mut flatbuffers::Verifier, pos: usize
15061 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15062 use self::flatbuffers::Verifiable;
15063 v.visit_table(pos)?
15064 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("row_id", Self::VT_ROW_ID, false)?
15065 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("column_id", Self::VT_COLUMN_ID, false)?
15066 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("data", Self::VT_DATA, false)?
15067 .visit_field::<flatbuffers::ForwardsUOffset<DucTableCellSpan>>("span", Self::VT_SPAN, false)?
15068 .visit_field::<bool>("locked", Self::VT_LOCKED, false)?
15069 .visit_field::<flatbuffers::ForwardsUOffset<DucTableCellStyle>>("style_overrides", Self::VT_STYLE_OVERRIDES, false)?
15070 .finish();
15071 Ok(())
15072 }
15073}
15074pub struct DucTableCellArgs<'a> {
15075 pub row_id: Option<flatbuffers::WIPOffset<&'a str>>,
15076 pub column_id: Option<flatbuffers::WIPOffset<&'a str>>,
15077 pub data: Option<flatbuffers::WIPOffset<&'a str>>,
15078 pub span: Option<flatbuffers::WIPOffset<DucTableCellSpan<'a>>>,
15079 pub locked: bool,
15080 pub style_overrides: Option<flatbuffers::WIPOffset<DucTableCellStyle<'a>>>,
15081}
15082impl<'a> Default for DucTableCellArgs<'a> {
15083 #[inline]
15084 fn default() -> Self {
15085 DucTableCellArgs {
15086 row_id: None,
15087 column_id: None,
15088 data: None,
15089 span: None,
15090 locked: false,
15091 style_overrides: None,
15092 }
15093 }
15094}
15095
15096pub struct DucTableCellBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
15097 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
15098 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15099}
15100impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTableCellBuilder<'a, 'b, A> {
15101 #[inline]
15102 pub fn add_row_id(&mut self, row_id: flatbuffers::WIPOffset<&'b str>) {
15103 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTableCell::VT_ROW_ID, row_id);
15104 }
15105 #[inline]
15106 pub fn add_column_id(&mut self, column_id: flatbuffers::WIPOffset<&'b str>) {
15107 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTableCell::VT_COLUMN_ID, column_id);
15108 }
15109 #[inline]
15110 pub fn add_data(&mut self, data: flatbuffers::WIPOffset<&'b str>) {
15111 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTableCell::VT_DATA, data);
15112 }
15113 #[inline]
15114 pub fn add_span(&mut self, span: flatbuffers::WIPOffset<DucTableCellSpan<'b >>) {
15115 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTableCellSpan>>(DucTableCell::VT_SPAN, span);
15116 }
15117 #[inline]
15118 pub fn add_locked(&mut self, locked: bool) {
15119 self.fbb_.push_slot::<bool>(DucTableCell::VT_LOCKED, locked, false);
15120 }
15121 #[inline]
15122 pub fn add_style_overrides(&mut self, style_overrides: flatbuffers::WIPOffset<DucTableCellStyle<'b >>) {
15123 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTableCellStyle>>(DucTableCell::VT_STYLE_OVERRIDES, style_overrides);
15124 }
15125 #[inline]
15126 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTableCellBuilder<'a, 'b, A> {
15127 let start = _fbb.start_table();
15128 DucTableCellBuilder {
15129 fbb_: _fbb,
15130 start_: start,
15131 }
15132 }
15133 #[inline]
15134 pub fn finish(self) -> flatbuffers::WIPOffset<DucTableCell<'a>> {
15135 let o = self.fbb_.end_table(self.start_);
15136 flatbuffers::WIPOffset::new(o.value())
15137 }
15138}
15139
15140impl core::fmt::Debug for DucTableCell<'_> {
15141 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15142 let mut ds = f.debug_struct("DucTableCell");
15143 ds.field("row_id", &self.row_id());
15144 ds.field("column_id", &self.column_id());
15145 ds.field("data", &self.data());
15146 ds.field("span", &self.span());
15147 ds.field("locked", &self.locked());
15148 ds.field("style_overrides", &self.style_overrides());
15149 ds.finish()
15150 }
15151}
15152pub enum DucTableColumnEntryOffset {}
15153#[derive(Copy, Clone, PartialEq)]
15154
15155pub struct DucTableColumnEntry<'a> {
15156 pub _tab: flatbuffers::Table<'a>,
15157}
15158
15159impl<'a> flatbuffers::Follow<'a> for DucTableColumnEntry<'a> {
15160 type Inner = DucTableColumnEntry<'a>;
15161 #[inline]
15162 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15163 Self { _tab: flatbuffers::Table::new(buf, loc) }
15164 }
15165}
15166
15167impl<'a> DucTableColumnEntry<'a> {
15168 pub const VT_KEY: flatbuffers::VOffsetT = 4;
15169 pub const VT_VALUE: flatbuffers::VOffsetT = 6;
15170
15171 #[inline]
15172 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15173 DucTableColumnEntry { _tab: table }
15174 }
15175 #[allow(unused_mut)]
15176 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
15177 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
15178 args: &'args DucTableColumnEntryArgs<'args>
15179 ) -> flatbuffers::WIPOffset<DucTableColumnEntry<'bldr>> {
15180 let mut builder = DucTableColumnEntryBuilder::new(_fbb);
15181 if let Some(x) = args.value { builder.add_value(x); }
15182 if let Some(x) = args.key { builder.add_key(x); }
15183 builder.finish()
15184 }
15185
15186
15187 #[inline]
15188 pub fn key(&self) -> &'a str {
15189 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTableColumnEntry::VT_KEY, None).unwrap()}
15193 }
15194 #[inline]
15195 pub fn key_compare_less_than(&self, o: &DucTableColumnEntry) -> bool {
15196 self.key() < o.key()
15197 }
15198
15199 #[inline]
15200 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
15201 let key = self.key();
15202 key.cmp(val)
15203 }
15204 #[inline]
15205 pub fn value(&self) -> Option<DucTableColumn<'a>> {
15206 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTableColumn>>(DucTableColumnEntry::VT_VALUE, None)}
15210 }
15211}
15212
15213impl flatbuffers::Verifiable for DucTableColumnEntry<'_> {
15214 #[inline]
15215 fn run_verifier(
15216 v: &mut flatbuffers::Verifier, pos: usize
15217 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15218 use self::flatbuffers::Verifiable;
15219 v.visit_table(pos)?
15220 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("key", Self::VT_KEY, true)?
15221 .visit_field::<flatbuffers::ForwardsUOffset<DucTableColumn>>("value", Self::VT_VALUE, false)?
15222 .finish();
15223 Ok(())
15224 }
15225}
15226pub struct DucTableColumnEntryArgs<'a> {
15227 pub key: Option<flatbuffers::WIPOffset<&'a str>>,
15228 pub value: Option<flatbuffers::WIPOffset<DucTableColumn<'a>>>,
15229}
15230impl<'a> Default for DucTableColumnEntryArgs<'a> {
15231 #[inline]
15232 fn default() -> Self {
15233 DucTableColumnEntryArgs {
15234 key: None, value: None,
15236 }
15237 }
15238}
15239
15240pub struct DucTableColumnEntryBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
15241 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
15242 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15243}
15244impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTableColumnEntryBuilder<'a, 'b, A> {
15245 #[inline]
15246 pub fn add_key(&mut self, key: flatbuffers::WIPOffset<&'b str>) {
15247 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTableColumnEntry::VT_KEY, key);
15248 }
15249 #[inline]
15250 pub fn add_value(&mut self, value: flatbuffers::WIPOffset<DucTableColumn<'b >>) {
15251 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTableColumn>>(DucTableColumnEntry::VT_VALUE, value);
15252 }
15253 #[inline]
15254 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTableColumnEntryBuilder<'a, 'b, A> {
15255 let start = _fbb.start_table();
15256 DucTableColumnEntryBuilder {
15257 fbb_: _fbb,
15258 start_: start,
15259 }
15260 }
15261 #[inline]
15262 pub fn finish(self) -> flatbuffers::WIPOffset<DucTableColumnEntry<'a>> {
15263 let o = self.fbb_.end_table(self.start_);
15264 self.fbb_.required(o, DucTableColumnEntry::VT_KEY,"key");
15265 flatbuffers::WIPOffset::new(o.value())
15266 }
15267}
15268
15269impl core::fmt::Debug for DucTableColumnEntry<'_> {
15270 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15271 let mut ds = f.debug_struct("DucTableColumnEntry");
15272 ds.field("key", &self.key());
15273 ds.field("value", &self.value());
15274 ds.finish()
15275 }
15276}
15277pub enum DucTableRowEntryOffset {}
15278#[derive(Copy, Clone, PartialEq)]
15279
15280pub struct DucTableRowEntry<'a> {
15281 pub _tab: flatbuffers::Table<'a>,
15282}
15283
15284impl<'a> flatbuffers::Follow<'a> for DucTableRowEntry<'a> {
15285 type Inner = DucTableRowEntry<'a>;
15286 #[inline]
15287 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15288 Self { _tab: flatbuffers::Table::new(buf, loc) }
15289 }
15290}
15291
15292impl<'a> DucTableRowEntry<'a> {
15293 pub const VT_KEY: flatbuffers::VOffsetT = 4;
15294 pub const VT_VALUE: flatbuffers::VOffsetT = 6;
15295
15296 #[inline]
15297 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15298 DucTableRowEntry { _tab: table }
15299 }
15300 #[allow(unused_mut)]
15301 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
15302 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
15303 args: &'args DucTableRowEntryArgs<'args>
15304 ) -> flatbuffers::WIPOffset<DucTableRowEntry<'bldr>> {
15305 let mut builder = DucTableRowEntryBuilder::new(_fbb);
15306 if let Some(x) = args.value { builder.add_value(x); }
15307 if let Some(x) = args.key { builder.add_key(x); }
15308 builder.finish()
15309 }
15310
15311
15312 #[inline]
15313 pub fn key(&self) -> &'a str {
15314 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTableRowEntry::VT_KEY, None).unwrap()}
15318 }
15319 #[inline]
15320 pub fn key_compare_less_than(&self, o: &DucTableRowEntry) -> bool {
15321 self.key() < o.key()
15322 }
15323
15324 #[inline]
15325 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
15326 let key = self.key();
15327 key.cmp(val)
15328 }
15329 #[inline]
15330 pub fn value(&self) -> Option<DucTableRow<'a>> {
15331 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTableRow>>(DucTableRowEntry::VT_VALUE, None)}
15335 }
15336}
15337
15338impl flatbuffers::Verifiable for DucTableRowEntry<'_> {
15339 #[inline]
15340 fn run_verifier(
15341 v: &mut flatbuffers::Verifier, pos: usize
15342 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15343 use self::flatbuffers::Verifiable;
15344 v.visit_table(pos)?
15345 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("key", Self::VT_KEY, true)?
15346 .visit_field::<flatbuffers::ForwardsUOffset<DucTableRow>>("value", Self::VT_VALUE, false)?
15347 .finish();
15348 Ok(())
15349 }
15350}
15351pub struct DucTableRowEntryArgs<'a> {
15352 pub key: Option<flatbuffers::WIPOffset<&'a str>>,
15353 pub value: Option<flatbuffers::WIPOffset<DucTableRow<'a>>>,
15354}
15355impl<'a> Default for DucTableRowEntryArgs<'a> {
15356 #[inline]
15357 fn default() -> Self {
15358 DucTableRowEntryArgs {
15359 key: None, value: None,
15361 }
15362 }
15363}
15364
15365pub struct DucTableRowEntryBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
15366 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
15367 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15368}
15369impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTableRowEntryBuilder<'a, 'b, A> {
15370 #[inline]
15371 pub fn add_key(&mut self, key: flatbuffers::WIPOffset<&'b str>) {
15372 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTableRowEntry::VT_KEY, key);
15373 }
15374 #[inline]
15375 pub fn add_value(&mut self, value: flatbuffers::WIPOffset<DucTableRow<'b >>) {
15376 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTableRow>>(DucTableRowEntry::VT_VALUE, value);
15377 }
15378 #[inline]
15379 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTableRowEntryBuilder<'a, 'b, A> {
15380 let start = _fbb.start_table();
15381 DucTableRowEntryBuilder {
15382 fbb_: _fbb,
15383 start_: start,
15384 }
15385 }
15386 #[inline]
15387 pub fn finish(self) -> flatbuffers::WIPOffset<DucTableRowEntry<'a>> {
15388 let o = self.fbb_.end_table(self.start_);
15389 self.fbb_.required(o, DucTableRowEntry::VT_KEY,"key");
15390 flatbuffers::WIPOffset::new(o.value())
15391 }
15392}
15393
15394impl core::fmt::Debug for DucTableRowEntry<'_> {
15395 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15396 let mut ds = f.debug_struct("DucTableRowEntry");
15397 ds.field("key", &self.key());
15398 ds.field("value", &self.value());
15399 ds.finish()
15400 }
15401}
15402pub enum DucTableCellEntryOffset {}
15403#[derive(Copy, Clone, PartialEq)]
15404
15405pub struct DucTableCellEntry<'a> {
15406 pub _tab: flatbuffers::Table<'a>,
15407}
15408
15409impl<'a> flatbuffers::Follow<'a> for DucTableCellEntry<'a> {
15410 type Inner = DucTableCellEntry<'a>;
15411 #[inline]
15412 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15413 Self { _tab: flatbuffers::Table::new(buf, loc) }
15414 }
15415}
15416
15417impl<'a> DucTableCellEntry<'a> {
15418 pub const VT_KEY: flatbuffers::VOffsetT = 4;
15419 pub const VT_VALUE: flatbuffers::VOffsetT = 6;
15420
15421 #[inline]
15422 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15423 DucTableCellEntry { _tab: table }
15424 }
15425 #[allow(unused_mut)]
15426 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
15427 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
15428 args: &'args DucTableCellEntryArgs<'args>
15429 ) -> flatbuffers::WIPOffset<DucTableCellEntry<'bldr>> {
15430 let mut builder = DucTableCellEntryBuilder::new(_fbb);
15431 if let Some(x) = args.value { builder.add_value(x); }
15432 if let Some(x) = args.key { builder.add_key(x); }
15433 builder.finish()
15434 }
15435
15436
15437 #[inline]
15438 pub fn key(&self) -> &'a str {
15439 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTableCellEntry::VT_KEY, None).unwrap()}
15443 }
15444 #[inline]
15445 pub fn key_compare_less_than(&self, o: &DucTableCellEntry) -> bool {
15446 self.key() < o.key()
15447 }
15448
15449 #[inline]
15450 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
15451 let key = self.key();
15452 key.cmp(val)
15453 }
15454 #[inline]
15455 pub fn value(&self) -> Option<DucTableCell<'a>> {
15456 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTableCell>>(DucTableCellEntry::VT_VALUE, None)}
15460 }
15461}
15462
15463impl flatbuffers::Verifiable for DucTableCellEntry<'_> {
15464 #[inline]
15465 fn run_verifier(
15466 v: &mut flatbuffers::Verifier, pos: usize
15467 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15468 use self::flatbuffers::Verifiable;
15469 v.visit_table(pos)?
15470 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("key", Self::VT_KEY, true)?
15471 .visit_field::<flatbuffers::ForwardsUOffset<DucTableCell>>("value", Self::VT_VALUE, false)?
15472 .finish();
15473 Ok(())
15474 }
15475}
15476pub struct DucTableCellEntryArgs<'a> {
15477 pub key: Option<flatbuffers::WIPOffset<&'a str>>,
15478 pub value: Option<flatbuffers::WIPOffset<DucTableCell<'a>>>,
15479}
15480impl<'a> Default for DucTableCellEntryArgs<'a> {
15481 #[inline]
15482 fn default() -> Self {
15483 DucTableCellEntryArgs {
15484 key: None, value: None,
15486 }
15487 }
15488}
15489
15490pub struct DucTableCellEntryBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
15491 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
15492 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15493}
15494impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTableCellEntryBuilder<'a, 'b, A> {
15495 #[inline]
15496 pub fn add_key(&mut self, key: flatbuffers::WIPOffset<&'b str>) {
15497 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTableCellEntry::VT_KEY, key);
15498 }
15499 #[inline]
15500 pub fn add_value(&mut self, value: flatbuffers::WIPOffset<DucTableCell<'b >>) {
15501 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTableCell>>(DucTableCellEntry::VT_VALUE, value);
15502 }
15503 #[inline]
15504 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTableCellEntryBuilder<'a, 'b, A> {
15505 let start = _fbb.start_table();
15506 DucTableCellEntryBuilder {
15507 fbb_: _fbb,
15508 start_: start,
15509 }
15510 }
15511 #[inline]
15512 pub fn finish(self) -> flatbuffers::WIPOffset<DucTableCellEntry<'a>> {
15513 let o = self.fbb_.end_table(self.start_);
15514 self.fbb_.required(o, DucTableCellEntry::VT_KEY,"key");
15515 flatbuffers::WIPOffset::new(o.value())
15516 }
15517}
15518
15519impl core::fmt::Debug for DucTableCellEntry<'_> {
15520 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15521 let mut ds = f.debug_struct("DucTableCellEntry");
15522 ds.field("key", &self.key());
15523 ds.field("value", &self.value());
15524 ds.finish()
15525 }
15526}
15527pub enum DucTableAutoSizeOffset {}
15528#[derive(Copy, Clone, PartialEq)]
15529
15530pub struct DucTableAutoSize<'a> {
15531 pub _tab: flatbuffers::Table<'a>,
15532}
15533
15534impl<'a> flatbuffers::Follow<'a> for DucTableAutoSize<'a> {
15535 type Inner = DucTableAutoSize<'a>;
15536 #[inline]
15537 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15538 Self { _tab: flatbuffers::Table::new(buf, loc) }
15539 }
15540}
15541
15542impl<'a> DucTableAutoSize<'a> {
15543 pub const VT_COLUMNS: flatbuffers::VOffsetT = 4;
15544 pub const VT_ROWS: flatbuffers::VOffsetT = 6;
15545
15546 #[inline]
15547 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15548 DucTableAutoSize { _tab: table }
15549 }
15550 #[allow(unused_mut)]
15551 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
15552 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
15553 args: &'args DucTableAutoSizeArgs
15554 ) -> flatbuffers::WIPOffset<DucTableAutoSize<'bldr>> {
15555 let mut builder = DucTableAutoSizeBuilder::new(_fbb);
15556 builder.add_rows(args.rows);
15557 builder.add_columns(args.columns);
15558 builder.finish()
15559 }
15560
15561
15562 #[inline]
15563 pub fn columns(&self) -> bool {
15564 unsafe { self._tab.get::<bool>(DucTableAutoSize::VT_COLUMNS, Some(false)).unwrap()}
15568 }
15569 #[inline]
15570 pub fn rows(&self) -> bool {
15571 unsafe { self._tab.get::<bool>(DucTableAutoSize::VT_ROWS, Some(false)).unwrap()}
15575 }
15576}
15577
15578impl flatbuffers::Verifiable for DucTableAutoSize<'_> {
15579 #[inline]
15580 fn run_verifier(
15581 v: &mut flatbuffers::Verifier, pos: usize
15582 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15583 use self::flatbuffers::Verifiable;
15584 v.visit_table(pos)?
15585 .visit_field::<bool>("columns", Self::VT_COLUMNS, false)?
15586 .visit_field::<bool>("rows", Self::VT_ROWS, false)?
15587 .finish();
15588 Ok(())
15589 }
15590}
15591pub struct DucTableAutoSizeArgs {
15592 pub columns: bool,
15593 pub rows: bool,
15594}
15595impl<'a> Default for DucTableAutoSizeArgs {
15596 #[inline]
15597 fn default() -> Self {
15598 DucTableAutoSizeArgs {
15599 columns: false,
15600 rows: false,
15601 }
15602 }
15603}
15604
15605pub struct DucTableAutoSizeBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
15606 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
15607 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15608}
15609impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTableAutoSizeBuilder<'a, 'b, A> {
15610 #[inline]
15611 pub fn add_columns(&mut self, columns: bool) {
15612 self.fbb_.push_slot::<bool>(DucTableAutoSize::VT_COLUMNS, columns, false);
15613 }
15614 #[inline]
15615 pub fn add_rows(&mut self, rows: bool) {
15616 self.fbb_.push_slot::<bool>(DucTableAutoSize::VT_ROWS, rows, false);
15617 }
15618 #[inline]
15619 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTableAutoSizeBuilder<'a, 'b, A> {
15620 let start = _fbb.start_table();
15621 DucTableAutoSizeBuilder {
15622 fbb_: _fbb,
15623 start_: start,
15624 }
15625 }
15626 #[inline]
15627 pub fn finish(self) -> flatbuffers::WIPOffset<DucTableAutoSize<'a>> {
15628 let o = self.fbb_.end_table(self.start_);
15629 flatbuffers::WIPOffset::new(o.value())
15630 }
15631}
15632
15633impl core::fmt::Debug for DucTableAutoSize<'_> {
15634 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15635 let mut ds = f.debug_struct("DucTableAutoSize");
15636 ds.field("columns", &self.columns());
15637 ds.field("rows", &self.rows());
15638 ds.finish()
15639 }
15640}
15641pub enum DucTableElementOffset {}
15642#[derive(Copy, Clone, PartialEq)]
15643
15644pub struct DucTableElement<'a> {
15645 pub _tab: flatbuffers::Table<'a>,
15646}
15647
15648impl<'a> flatbuffers::Follow<'a> for DucTableElement<'a> {
15649 type Inner = DucTableElement<'a>;
15650 #[inline]
15651 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15652 Self { _tab: flatbuffers::Table::new(buf, loc) }
15653 }
15654}
15655
15656impl<'a> DucTableElement<'a> {
15657 pub const VT_BASE: flatbuffers::VOffsetT = 4;
15658 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
15659 pub const VT_COLUMN_ORDER: flatbuffers::VOffsetT = 8;
15660 pub const VT_ROW_ORDER: flatbuffers::VOffsetT = 10;
15661 pub const VT_COLUMNS: flatbuffers::VOffsetT = 12;
15662 pub const VT_ROWS: flatbuffers::VOffsetT = 14;
15663 pub const VT_CELLS: flatbuffers::VOffsetT = 16;
15664 pub const VT_HEADER_ROW_COUNT: flatbuffers::VOffsetT = 18;
15665 pub const VT_AUTO_SIZE: flatbuffers::VOffsetT = 20;
15666
15667 #[inline]
15668 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15669 DucTableElement { _tab: table }
15670 }
15671 #[allow(unused_mut)]
15672 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
15673 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
15674 args: &'args DucTableElementArgs<'args>
15675 ) -> flatbuffers::WIPOffset<DucTableElement<'bldr>> {
15676 let mut builder = DucTableElementBuilder::new(_fbb);
15677 if let Some(x) = args.auto_size { builder.add_auto_size(x); }
15678 builder.add_header_row_count(args.header_row_count);
15679 if let Some(x) = args.cells { builder.add_cells(x); }
15680 if let Some(x) = args.rows { builder.add_rows(x); }
15681 if let Some(x) = args.columns { builder.add_columns(x); }
15682 if let Some(x) = args.row_order { builder.add_row_order(x); }
15683 if let Some(x) = args.column_order { builder.add_column_order(x); }
15684 if let Some(x) = args.style { builder.add_style(x); }
15685 if let Some(x) = args.base { builder.add_base(x); }
15686 builder.finish()
15687 }
15688
15689
15690 #[inline]
15691 pub fn base(&self) -> Option<_DucElementBase<'a>> {
15692 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(DucTableElement::VT_BASE, None)}
15696 }
15697 #[inline]
15698 pub fn style(&self) -> Option<DucTableStyle<'a>> {
15699 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTableStyle>>(DucTableElement::VT_STYLE, None)}
15703 }
15704 #[inline]
15705 pub fn column_order(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
15706 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(DucTableElement::VT_COLUMN_ORDER, None)}
15710 }
15711 #[inline]
15712 pub fn row_order(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
15713 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(DucTableElement::VT_ROW_ORDER, None)}
15717 }
15718 #[inline]
15719 pub fn columns(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucTableColumnEntry<'a>>>> {
15720 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucTableColumnEntry>>>>(DucTableElement::VT_COLUMNS, None)}
15724 }
15725 #[inline]
15726 pub fn rows(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucTableRowEntry<'a>>>> {
15727 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucTableRowEntry>>>>(DucTableElement::VT_ROWS, None)}
15731 }
15732 #[inline]
15733 pub fn cells(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucTableCellEntry<'a>>>> {
15734 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucTableCellEntry>>>>(DucTableElement::VT_CELLS, None)}
15738 }
15739 #[inline]
15740 pub fn header_row_count(&self) -> i32 {
15741 unsafe { self._tab.get::<i32>(DucTableElement::VT_HEADER_ROW_COUNT, Some(0)).unwrap()}
15745 }
15746 #[inline]
15747 pub fn auto_size(&self) -> Option<DucTableAutoSize<'a>> {
15748 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTableAutoSize>>(DucTableElement::VT_AUTO_SIZE, None)}
15752 }
15753}
15754
15755impl flatbuffers::Verifiable for DucTableElement<'_> {
15756 #[inline]
15757 fn run_verifier(
15758 v: &mut flatbuffers::Verifier, pos: usize
15759 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15760 use self::flatbuffers::Verifiable;
15761 v.visit_table(pos)?
15762 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
15763 .visit_field::<flatbuffers::ForwardsUOffset<DucTableStyle>>("style", Self::VT_STYLE, false)?
15764 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("column_order", Self::VT_COLUMN_ORDER, false)?
15765 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("row_order", Self::VT_ROW_ORDER, false)?
15766 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucTableColumnEntry>>>>("columns", Self::VT_COLUMNS, false)?
15767 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucTableRowEntry>>>>("rows", Self::VT_ROWS, false)?
15768 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucTableCellEntry>>>>("cells", Self::VT_CELLS, false)?
15769 .visit_field::<i32>("header_row_count", Self::VT_HEADER_ROW_COUNT, false)?
15770 .visit_field::<flatbuffers::ForwardsUOffset<DucTableAutoSize>>("auto_size", Self::VT_AUTO_SIZE, false)?
15771 .finish();
15772 Ok(())
15773 }
15774}
15775pub struct DucTableElementArgs<'a> {
15776 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
15777 pub style: Option<flatbuffers::WIPOffset<DucTableStyle<'a>>>,
15778 pub column_order: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
15779 pub row_order: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
15780 pub columns: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucTableColumnEntry<'a>>>>>,
15781 pub rows: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucTableRowEntry<'a>>>>>,
15782 pub cells: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucTableCellEntry<'a>>>>>,
15783 pub header_row_count: i32,
15784 pub auto_size: Option<flatbuffers::WIPOffset<DucTableAutoSize<'a>>>,
15785}
15786impl<'a> Default for DucTableElementArgs<'a> {
15787 #[inline]
15788 fn default() -> Self {
15789 DucTableElementArgs {
15790 base: None,
15791 style: None,
15792 column_order: None,
15793 row_order: None,
15794 columns: None,
15795 rows: None,
15796 cells: None,
15797 header_row_count: 0,
15798 auto_size: None,
15799 }
15800 }
15801}
15802
15803pub struct DucTableElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
15804 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
15805 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15806}
15807impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTableElementBuilder<'a, 'b, A> {
15808 #[inline]
15809 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
15810 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(DucTableElement::VT_BASE, base);
15811 }
15812 #[inline]
15813 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucTableStyle<'b >>) {
15814 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTableStyle>>(DucTableElement::VT_STYLE, style);
15815 }
15816 #[inline]
15817 pub fn add_column_order(&mut self, column_order: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
15818 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTableElement::VT_COLUMN_ORDER, column_order);
15819 }
15820 #[inline]
15821 pub fn add_row_order(&mut self, row_order: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
15822 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTableElement::VT_ROW_ORDER, row_order);
15823 }
15824 #[inline]
15825 pub fn add_columns(&mut self, columns: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucTableColumnEntry<'b >>>>) {
15826 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTableElement::VT_COLUMNS, columns);
15827 }
15828 #[inline]
15829 pub fn add_rows(&mut self, rows: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucTableRowEntry<'b >>>>) {
15830 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTableElement::VT_ROWS, rows);
15831 }
15832 #[inline]
15833 pub fn add_cells(&mut self, cells: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucTableCellEntry<'b >>>>) {
15834 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTableElement::VT_CELLS, cells);
15835 }
15836 #[inline]
15837 pub fn add_header_row_count(&mut self, header_row_count: i32) {
15838 self.fbb_.push_slot::<i32>(DucTableElement::VT_HEADER_ROW_COUNT, header_row_count, 0);
15839 }
15840 #[inline]
15841 pub fn add_auto_size(&mut self, auto_size: flatbuffers::WIPOffset<DucTableAutoSize<'b >>) {
15842 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTableAutoSize>>(DucTableElement::VT_AUTO_SIZE, auto_size);
15843 }
15844 #[inline]
15845 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTableElementBuilder<'a, 'b, A> {
15846 let start = _fbb.start_table();
15847 DucTableElementBuilder {
15848 fbb_: _fbb,
15849 start_: start,
15850 }
15851 }
15852 #[inline]
15853 pub fn finish(self) -> flatbuffers::WIPOffset<DucTableElement<'a>> {
15854 let o = self.fbb_.end_table(self.start_);
15855 flatbuffers::WIPOffset::new(o.value())
15856 }
15857}
15858
15859impl core::fmt::Debug for DucTableElement<'_> {
15860 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15861 let mut ds = f.debug_struct("DucTableElement");
15862 ds.field("base", &self.base());
15863 ds.field("style", &self.style());
15864 ds.field("column_order", &self.column_order());
15865 ds.field("row_order", &self.row_order());
15866 ds.field("columns", &self.columns());
15867 ds.field("rows", &self.rows());
15868 ds.field("cells", &self.cells());
15869 ds.field("header_row_count", &self.header_row_count());
15870 ds.field("auto_size", &self.auto_size());
15871 ds.finish()
15872 }
15873}
15874pub enum ImageCropOffset {}
15875#[derive(Copy, Clone, PartialEq)]
15876
15877pub struct ImageCrop<'a> {
15878 pub _tab: flatbuffers::Table<'a>,
15879}
15880
15881impl<'a> flatbuffers::Follow<'a> for ImageCrop<'a> {
15882 type Inner = ImageCrop<'a>;
15883 #[inline]
15884 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15885 Self { _tab: flatbuffers::Table::new(buf, loc) }
15886 }
15887}
15888
15889impl<'a> ImageCrop<'a> {
15890 pub const VT_X: flatbuffers::VOffsetT = 4;
15891 pub const VT_Y: flatbuffers::VOffsetT = 6;
15892 pub const VT_WIDTH: flatbuffers::VOffsetT = 8;
15893 pub const VT_HEIGHT: flatbuffers::VOffsetT = 10;
15894 pub const VT_NATURAL_WIDTH: flatbuffers::VOffsetT = 12;
15895 pub const VT_NATURAL_HEIGHT: flatbuffers::VOffsetT = 14;
15896
15897 #[inline]
15898 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15899 ImageCrop { _tab: table }
15900 }
15901 #[allow(unused_mut)]
15902 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
15903 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
15904 args: &'args ImageCropArgs
15905 ) -> flatbuffers::WIPOffset<ImageCrop<'bldr>> {
15906 let mut builder = ImageCropBuilder::new(_fbb);
15907 builder.add_natural_height(args.natural_height);
15908 builder.add_natural_width(args.natural_width);
15909 builder.add_height(args.height);
15910 builder.add_width(args.width);
15911 builder.add_y(args.y);
15912 builder.add_x(args.x);
15913 builder.finish()
15914 }
15915
15916
15917 #[inline]
15918 pub fn x(&self) -> f64 {
15919 unsafe { self._tab.get::<f64>(ImageCrop::VT_X, Some(0.0)).unwrap()}
15923 }
15924 #[inline]
15925 pub fn y(&self) -> f64 {
15926 unsafe { self._tab.get::<f64>(ImageCrop::VT_Y, Some(0.0)).unwrap()}
15930 }
15931 #[inline]
15932 pub fn width(&self) -> f64 {
15933 unsafe { self._tab.get::<f64>(ImageCrop::VT_WIDTH, Some(0.0)).unwrap()}
15937 }
15938 #[inline]
15939 pub fn height(&self) -> f64 {
15940 unsafe { self._tab.get::<f64>(ImageCrop::VT_HEIGHT, Some(0.0)).unwrap()}
15944 }
15945 #[inline]
15946 pub fn natural_width(&self) -> f64 {
15947 unsafe { self._tab.get::<f64>(ImageCrop::VT_NATURAL_WIDTH, Some(0.0)).unwrap()}
15951 }
15952 #[inline]
15953 pub fn natural_height(&self) -> f64 {
15954 unsafe { self._tab.get::<f64>(ImageCrop::VT_NATURAL_HEIGHT, Some(0.0)).unwrap()}
15958 }
15959}
15960
15961impl flatbuffers::Verifiable for ImageCrop<'_> {
15962 #[inline]
15963 fn run_verifier(
15964 v: &mut flatbuffers::Verifier, pos: usize
15965 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15966 use self::flatbuffers::Verifiable;
15967 v.visit_table(pos)?
15968 .visit_field::<f64>("x", Self::VT_X, false)?
15969 .visit_field::<f64>("y", Self::VT_Y, false)?
15970 .visit_field::<f64>("width", Self::VT_WIDTH, false)?
15971 .visit_field::<f64>("height", Self::VT_HEIGHT, false)?
15972 .visit_field::<f64>("natural_width", Self::VT_NATURAL_WIDTH, false)?
15973 .visit_field::<f64>("natural_height", Self::VT_NATURAL_HEIGHT, false)?
15974 .finish();
15975 Ok(())
15976 }
15977}
15978pub struct ImageCropArgs {
15979 pub x: f64,
15980 pub y: f64,
15981 pub width: f64,
15982 pub height: f64,
15983 pub natural_width: f64,
15984 pub natural_height: f64,
15985}
15986impl<'a> Default for ImageCropArgs {
15987 #[inline]
15988 fn default() -> Self {
15989 ImageCropArgs {
15990 x: 0.0,
15991 y: 0.0,
15992 width: 0.0,
15993 height: 0.0,
15994 natural_width: 0.0,
15995 natural_height: 0.0,
15996 }
15997 }
15998}
15999
16000pub struct ImageCropBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
16001 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
16002 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
16003}
16004impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> ImageCropBuilder<'a, 'b, A> {
16005 #[inline]
16006 pub fn add_x(&mut self, x: f64) {
16007 self.fbb_.push_slot::<f64>(ImageCrop::VT_X, x, 0.0);
16008 }
16009 #[inline]
16010 pub fn add_y(&mut self, y: f64) {
16011 self.fbb_.push_slot::<f64>(ImageCrop::VT_Y, y, 0.0);
16012 }
16013 #[inline]
16014 pub fn add_width(&mut self, width: f64) {
16015 self.fbb_.push_slot::<f64>(ImageCrop::VT_WIDTH, width, 0.0);
16016 }
16017 #[inline]
16018 pub fn add_height(&mut self, height: f64) {
16019 self.fbb_.push_slot::<f64>(ImageCrop::VT_HEIGHT, height, 0.0);
16020 }
16021 #[inline]
16022 pub fn add_natural_width(&mut self, natural_width: f64) {
16023 self.fbb_.push_slot::<f64>(ImageCrop::VT_NATURAL_WIDTH, natural_width, 0.0);
16024 }
16025 #[inline]
16026 pub fn add_natural_height(&mut self, natural_height: f64) {
16027 self.fbb_.push_slot::<f64>(ImageCrop::VT_NATURAL_HEIGHT, natural_height, 0.0);
16028 }
16029 #[inline]
16030 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> ImageCropBuilder<'a, 'b, A> {
16031 let start = _fbb.start_table();
16032 ImageCropBuilder {
16033 fbb_: _fbb,
16034 start_: start,
16035 }
16036 }
16037 #[inline]
16038 pub fn finish(self) -> flatbuffers::WIPOffset<ImageCrop<'a>> {
16039 let o = self.fbb_.end_table(self.start_);
16040 flatbuffers::WIPOffset::new(o.value())
16041 }
16042}
16043
16044impl core::fmt::Debug for ImageCrop<'_> {
16045 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
16046 let mut ds = f.debug_struct("ImageCrop");
16047 ds.field("x", &self.x());
16048 ds.field("y", &self.y());
16049 ds.field("width", &self.width());
16050 ds.field("height", &self.height());
16051 ds.field("natural_width", &self.natural_width());
16052 ds.field("natural_height", &self.natural_height());
16053 ds.finish()
16054 }
16055}
16056pub enum DucImageElementOffset {}
16057#[derive(Copy, Clone, PartialEq)]
16058
16059pub struct DucImageElement<'a> {
16060 pub _tab: flatbuffers::Table<'a>,
16061}
16062
16063impl<'a> flatbuffers::Follow<'a> for DucImageElement<'a> {
16064 type Inner = DucImageElement<'a>;
16065 #[inline]
16066 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
16067 Self { _tab: flatbuffers::Table::new(buf, loc) }
16068 }
16069}
16070
16071impl<'a> DucImageElement<'a> {
16072 pub const VT_BASE: flatbuffers::VOffsetT = 4;
16073 pub const VT_FILE_ID: flatbuffers::VOffsetT = 6;
16074 pub const VT_STATUS: flatbuffers::VOffsetT = 8;
16075 pub const VT_SCALE: flatbuffers::VOffsetT = 10;
16076 pub const VT_CROP: flatbuffers::VOffsetT = 12;
16077 pub const VT_FILTER: flatbuffers::VOffsetT = 14;
16078
16079 #[inline]
16080 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
16081 DucImageElement { _tab: table }
16082 }
16083 #[allow(unused_mut)]
16084 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
16085 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
16086 args: &'args DucImageElementArgs<'args>
16087 ) -> flatbuffers::WIPOffset<DucImageElement<'bldr>> {
16088 let mut builder = DucImageElementBuilder::new(_fbb);
16089 if let Some(x) = args.filter { builder.add_filter(x); }
16090 if let Some(x) = args.crop { builder.add_crop(x); }
16091 if let Some(x) = args.scale { builder.add_scale(x); }
16092 if let Some(x) = args.file_id { builder.add_file_id(x); }
16093 if let Some(x) = args.base { builder.add_base(x); }
16094 if let Some(x) = args.status { builder.add_status(x); }
16095 builder.finish()
16096 }
16097
16098
16099 #[inline]
16100 pub fn base(&self) -> Option<_DucElementBase<'a>> {
16101 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(DucImageElement::VT_BASE, None)}
16105 }
16106 #[inline]
16107 pub fn file_id(&self) -> Option<&'a str> {
16108 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucImageElement::VT_FILE_ID, None)}
16112 }
16113 #[inline]
16114 pub fn status(&self) -> Option<IMAGE_STATUS> {
16115 unsafe { self._tab.get::<IMAGE_STATUS>(DucImageElement::VT_STATUS, None)}
16119 }
16120 #[inline]
16121 pub fn scale(&self) -> Option<flatbuffers::Vector<'a, f64>> {
16122 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, f64>>>(DucImageElement::VT_SCALE, None)}
16126 }
16127 #[inline]
16128 pub fn crop(&self) -> Option<ImageCrop<'a>> {
16129 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ImageCrop>>(DucImageElement::VT_CROP, None)}
16133 }
16134 #[inline]
16135 pub fn filter(&self) -> Option<DucImageFilter<'a>> {
16136 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucImageFilter>>(DucImageElement::VT_FILTER, None)}
16140 }
16141}
16142
16143impl flatbuffers::Verifiable for DucImageElement<'_> {
16144 #[inline]
16145 fn run_verifier(
16146 v: &mut flatbuffers::Verifier, pos: usize
16147 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
16148 use self::flatbuffers::Verifiable;
16149 v.visit_table(pos)?
16150 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
16151 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("file_id", Self::VT_FILE_ID, false)?
16152 .visit_field::<IMAGE_STATUS>("status", Self::VT_STATUS, false)?
16153 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, f64>>>("scale", Self::VT_SCALE, false)?
16154 .visit_field::<flatbuffers::ForwardsUOffset<ImageCrop>>("crop", Self::VT_CROP, false)?
16155 .visit_field::<flatbuffers::ForwardsUOffset<DucImageFilter>>("filter", Self::VT_FILTER, false)?
16156 .finish();
16157 Ok(())
16158 }
16159}
16160pub struct DucImageElementArgs<'a> {
16161 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
16162 pub file_id: Option<flatbuffers::WIPOffset<&'a str>>,
16163 pub status: Option<IMAGE_STATUS>,
16164 pub scale: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, f64>>>,
16165 pub crop: Option<flatbuffers::WIPOffset<ImageCrop<'a>>>,
16166 pub filter: Option<flatbuffers::WIPOffset<DucImageFilter<'a>>>,
16167}
16168impl<'a> Default for DucImageElementArgs<'a> {
16169 #[inline]
16170 fn default() -> Self {
16171 DucImageElementArgs {
16172 base: None,
16173 file_id: None,
16174 status: None,
16175 scale: None,
16176 crop: None,
16177 filter: None,
16178 }
16179 }
16180}
16181
16182pub struct DucImageElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
16183 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
16184 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
16185}
16186impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucImageElementBuilder<'a, 'b, A> {
16187 #[inline]
16188 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
16189 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(DucImageElement::VT_BASE, base);
16190 }
16191 #[inline]
16192 pub fn add_file_id(&mut self, file_id: flatbuffers::WIPOffset<&'b str>) {
16193 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucImageElement::VT_FILE_ID, file_id);
16194 }
16195 #[inline]
16196 pub fn add_status(&mut self, status: IMAGE_STATUS) {
16197 self.fbb_.push_slot_always::<IMAGE_STATUS>(DucImageElement::VT_STATUS, status);
16198 }
16199 #[inline]
16200 pub fn add_scale(&mut self, scale: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f64>>) {
16201 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucImageElement::VT_SCALE, scale);
16202 }
16203 #[inline]
16204 pub fn add_crop(&mut self, crop: flatbuffers::WIPOffset<ImageCrop<'b >>) {
16205 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ImageCrop>>(DucImageElement::VT_CROP, crop);
16206 }
16207 #[inline]
16208 pub fn add_filter(&mut self, filter: flatbuffers::WIPOffset<DucImageFilter<'b >>) {
16209 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucImageFilter>>(DucImageElement::VT_FILTER, filter);
16210 }
16211 #[inline]
16212 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucImageElementBuilder<'a, 'b, A> {
16213 let start = _fbb.start_table();
16214 DucImageElementBuilder {
16215 fbb_: _fbb,
16216 start_: start,
16217 }
16218 }
16219 #[inline]
16220 pub fn finish(self) -> flatbuffers::WIPOffset<DucImageElement<'a>> {
16221 let o = self.fbb_.end_table(self.start_);
16222 flatbuffers::WIPOffset::new(o.value())
16223 }
16224}
16225
16226impl core::fmt::Debug for DucImageElement<'_> {
16227 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
16228 let mut ds = f.debug_struct("DucImageElement");
16229 ds.field("base", &self.base());
16230 ds.field("file_id", &self.file_id());
16231 ds.field("status", &self.status());
16232 ds.field("scale", &self.scale());
16233 ds.field("crop", &self.crop());
16234 ds.field("filter", &self.filter());
16235 ds.finish()
16236 }
16237}
16238pub enum DucTextDynamicElementSourceOffset {}
16239#[derive(Copy, Clone, PartialEq)]
16240
16241pub struct DucTextDynamicElementSource<'a> {
16242 pub _tab: flatbuffers::Table<'a>,
16243}
16244
16245impl<'a> flatbuffers::Follow<'a> for DucTextDynamicElementSource<'a> {
16246 type Inner = DucTextDynamicElementSource<'a>;
16247 #[inline]
16248 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
16249 Self { _tab: flatbuffers::Table::new(buf, loc) }
16250 }
16251}
16252
16253impl<'a> DucTextDynamicElementSource<'a> {
16254 pub const VT_ELEMENT_ID: flatbuffers::VOffsetT = 4;
16255 pub const VT_PROPERTY: flatbuffers::VOffsetT = 6;
16256
16257 #[inline]
16258 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
16259 DucTextDynamicElementSource { _tab: table }
16260 }
16261 #[allow(unused_mut)]
16262 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
16263 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
16264 args: &'args DucTextDynamicElementSourceArgs<'args>
16265 ) -> flatbuffers::WIPOffset<DucTextDynamicElementSource<'bldr>> {
16266 let mut builder = DucTextDynamicElementSourceBuilder::new(_fbb);
16267 if let Some(x) = args.element_id { builder.add_element_id(x); }
16268 if let Some(x) = args.property { builder.add_property(x); }
16269 builder.finish()
16270 }
16271
16272
16273 #[inline]
16274 pub fn element_id(&self) -> Option<&'a str> {
16275 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTextDynamicElementSource::VT_ELEMENT_ID, None)}
16279 }
16280 #[inline]
16281 pub fn property(&self) -> Option<TEXT_FIELD_SOURCE_PROPERTY> {
16282 unsafe { self._tab.get::<TEXT_FIELD_SOURCE_PROPERTY>(DucTextDynamicElementSource::VT_PROPERTY, None)}
16286 }
16287}
16288
16289impl flatbuffers::Verifiable for DucTextDynamicElementSource<'_> {
16290 #[inline]
16291 fn run_verifier(
16292 v: &mut flatbuffers::Verifier, pos: usize
16293 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
16294 use self::flatbuffers::Verifiable;
16295 v.visit_table(pos)?
16296 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("element_id", Self::VT_ELEMENT_ID, false)?
16297 .visit_field::<TEXT_FIELD_SOURCE_PROPERTY>("property", Self::VT_PROPERTY, false)?
16298 .finish();
16299 Ok(())
16300 }
16301}
16302pub struct DucTextDynamicElementSourceArgs<'a> {
16303 pub element_id: Option<flatbuffers::WIPOffset<&'a str>>,
16304 pub property: Option<TEXT_FIELD_SOURCE_PROPERTY>,
16305}
16306impl<'a> Default for DucTextDynamicElementSourceArgs<'a> {
16307 #[inline]
16308 fn default() -> Self {
16309 DucTextDynamicElementSourceArgs {
16310 element_id: None,
16311 property: None,
16312 }
16313 }
16314}
16315
16316pub struct DucTextDynamicElementSourceBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
16317 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
16318 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
16319}
16320impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTextDynamicElementSourceBuilder<'a, 'b, A> {
16321 #[inline]
16322 pub fn add_element_id(&mut self, element_id: flatbuffers::WIPOffset<&'b str>) {
16323 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTextDynamicElementSource::VT_ELEMENT_ID, element_id);
16324 }
16325 #[inline]
16326 pub fn add_property(&mut self, property: TEXT_FIELD_SOURCE_PROPERTY) {
16327 self.fbb_.push_slot_always::<TEXT_FIELD_SOURCE_PROPERTY>(DucTextDynamicElementSource::VT_PROPERTY, property);
16328 }
16329 #[inline]
16330 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTextDynamicElementSourceBuilder<'a, 'b, A> {
16331 let start = _fbb.start_table();
16332 DucTextDynamicElementSourceBuilder {
16333 fbb_: _fbb,
16334 start_: start,
16335 }
16336 }
16337 #[inline]
16338 pub fn finish(self) -> flatbuffers::WIPOffset<DucTextDynamicElementSource<'a>> {
16339 let o = self.fbb_.end_table(self.start_);
16340 flatbuffers::WIPOffset::new(o.value())
16341 }
16342}
16343
16344impl core::fmt::Debug for DucTextDynamicElementSource<'_> {
16345 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
16346 let mut ds = f.debug_struct("DucTextDynamicElementSource");
16347 ds.field("element_id", &self.element_id());
16348 ds.field("property", &self.property());
16349 ds.finish()
16350 }
16351}
16352pub enum DucTextDynamicDictionarySourceOffset {}
16353#[derive(Copy, Clone, PartialEq)]
16354
16355pub struct DucTextDynamicDictionarySource<'a> {
16356 pub _tab: flatbuffers::Table<'a>,
16357}
16358
16359impl<'a> flatbuffers::Follow<'a> for DucTextDynamicDictionarySource<'a> {
16360 type Inner = DucTextDynamicDictionarySource<'a>;
16361 #[inline]
16362 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
16363 Self { _tab: flatbuffers::Table::new(buf, loc) }
16364 }
16365}
16366
16367impl<'a> DucTextDynamicDictionarySource<'a> {
16368 pub const VT_KEY: flatbuffers::VOffsetT = 4;
16369
16370 #[inline]
16371 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
16372 DucTextDynamicDictionarySource { _tab: table }
16373 }
16374 #[allow(unused_mut)]
16375 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
16376 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
16377 args: &'args DucTextDynamicDictionarySourceArgs<'args>
16378 ) -> flatbuffers::WIPOffset<DucTextDynamicDictionarySource<'bldr>> {
16379 let mut builder = DucTextDynamicDictionarySourceBuilder::new(_fbb);
16380 if let Some(x) = args.key { builder.add_key(x); }
16381 builder.finish()
16382 }
16383
16384
16385 #[inline]
16386 pub fn key(&self) -> Option<&'a str> {
16387 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTextDynamicDictionarySource::VT_KEY, None)}
16391 }
16392}
16393
16394impl flatbuffers::Verifiable for DucTextDynamicDictionarySource<'_> {
16395 #[inline]
16396 fn run_verifier(
16397 v: &mut flatbuffers::Verifier, pos: usize
16398 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
16399 use self::flatbuffers::Verifiable;
16400 v.visit_table(pos)?
16401 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("key", Self::VT_KEY, false)?
16402 .finish();
16403 Ok(())
16404 }
16405}
16406pub struct DucTextDynamicDictionarySourceArgs<'a> {
16407 pub key: Option<flatbuffers::WIPOffset<&'a str>>,
16408}
16409impl<'a> Default for DucTextDynamicDictionarySourceArgs<'a> {
16410 #[inline]
16411 fn default() -> Self {
16412 DucTextDynamicDictionarySourceArgs {
16413 key: None,
16414 }
16415 }
16416}
16417
16418pub struct DucTextDynamicDictionarySourceBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
16419 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
16420 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
16421}
16422impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTextDynamicDictionarySourceBuilder<'a, 'b, A> {
16423 #[inline]
16424 pub fn add_key(&mut self, key: flatbuffers::WIPOffset<&'b str>) {
16425 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTextDynamicDictionarySource::VT_KEY, key);
16426 }
16427 #[inline]
16428 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTextDynamicDictionarySourceBuilder<'a, 'b, A> {
16429 let start = _fbb.start_table();
16430 DucTextDynamicDictionarySourceBuilder {
16431 fbb_: _fbb,
16432 start_: start,
16433 }
16434 }
16435 #[inline]
16436 pub fn finish(self) -> flatbuffers::WIPOffset<DucTextDynamicDictionarySource<'a>> {
16437 let o = self.fbb_.end_table(self.start_);
16438 flatbuffers::WIPOffset::new(o.value())
16439 }
16440}
16441
16442impl core::fmt::Debug for DucTextDynamicDictionarySource<'_> {
16443 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
16444 let mut ds = f.debug_struct("DucTextDynamicDictionarySource");
16445 ds.field("key", &self.key());
16446 ds.finish()
16447 }
16448}
16449pub enum DucTextDynamicSourceOffset {}
16450#[derive(Copy, Clone, PartialEq)]
16451
16452pub struct DucTextDynamicSource<'a> {
16453 pub _tab: flatbuffers::Table<'a>,
16454}
16455
16456impl<'a> flatbuffers::Follow<'a> for DucTextDynamicSource<'a> {
16457 type Inner = DucTextDynamicSource<'a>;
16458 #[inline]
16459 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
16460 Self { _tab: flatbuffers::Table::new(buf, loc) }
16461 }
16462}
16463
16464impl<'a> DucTextDynamicSource<'a> {
16465 pub const VT_TEXT_SOURCE_TYPE: flatbuffers::VOffsetT = 4;
16466 pub const VT_SOURCE_TYPE: flatbuffers::VOffsetT = 6;
16467 pub const VT_SOURCE: flatbuffers::VOffsetT = 8;
16468
16469 #[inline]
16470 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
16471 DucTextDynamicSource { _tab: table }
16472 }
16473 #[allow(unused_mut)]
16474 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
16475 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
16476 args: &'args DucTextDynamicSourceArgs
16477 ) -> flatbuffers::WIPOffset<DucTextDynamicSource<'bldr>> {
16478 let mut builder = DucTextDynamicSourceBuilder::new(_fbb);
16479 if let Some(x) = args.source { builder.add_source(x); }
16480 builder.add_source_type(args.source_type);
16481 if let Some(x) = args.text_source_type { builder.add_text_source_type(x); }
16482 builder.finish()
16483 }
16484
16485
16486 #[inline]
16487 pub fn text_source_type(&self) -> Option<TEXT_FIELD_SOURCE_TYPE> {
16488 unsafe { self._tab.get::<TEXT_FIELD_SOURCE_TYPE>(DucTextDynamicSource::VT_TEXT_SOURCE_TYPE, None)}
16492 }
16493 #[inline]
16494 pub fn source_type(&self) -> DucTextDynamicSourceData {
16495 unsafe { self._tab.get::<DucTextDynamicSourceData>(DucTextDynamicSource::VT_SOURCE_TYPE, Some(DucTextDynamicSourceData::NONE)).unwrap()}
16499 }
16500 #[inline]
16501 pub fn source(&self) -> Option<flatbuffers::Table<'a>> {
16502 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Table<'a>>>(DucTextDynamicSource::VT_SOURCE, None)}
16506 }
16507 #[inline]
16508 #[allow(non_snake_case)]
16509 pub fn source_as_duc_text_dynamic_element_source(&self) -> Option<DucTextDynamicElementSource<'a>> {
16510 if self.source_type() == DucTextDynamicSourceData::DucTextDynamicElementSource {
16511 self.source().map(|t| {
16512 unsafe { DucTextDynamicElementSource::init_from_table(t) }
16516 })
16517 } else {
16518 None
16519 }
16520 }
16521
16522 #[inline]
16523 #[allow(non_snake_case)]
16524 pub fn source_as_duc_text_dynamic_dictionary_source(&self) -> Option<DucTextDynamicDictionarySource<'a>> {
16525 if self.source_type() == DucTextDynamicSourceData::DucTextDynamicDictionarySource {
16526 self.source().map(|t| {
16527 unsafe { DucTextDynamicDictionarySource::init_from_table(t) }
16531 })
16532 } else {
16533 None
16534 }
16535 }
16536
16537}
16538
16539impl flatbuffers::Verifiable for DucTextDynamicSource<'_> {
16540 #[inline]
16541 fn run_verifier(
16542 v: &mut flatbuffers::Verifier, pos: usize
16543 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
16544 use self::flatbuffers::Verifiable;
16545 v.visit_table(pos)?
16546 .visit_field::<TEXT_FIELD_SOURCE_TYPE>("text_source_type", Self::VT_TEXT_SOURCE_TYPE, false)?
16547 .visit_union::<DucTextDynamicSourceData, _>("source_type", Self::VT_SOURCE_TYPE, "source", Self::VT_SOURCE, false, |key, v, pos| {
16548 match key {
16549 DucTextDynamicSourceData::DucTextDynamicElementSource => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucTextDynamicElementSource>>("DucTextDynamicSourceData::DucTextDynamicElementSource", pos),
16550 DucTextDynamicSourceData::DucTextDynamicDictionarySource => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucTextDynamicDictionarySource>>("DucTextDynamicSourceData::DucTextDynamicDictionarySource", pos),
16551 _ => Ok(()),
16552 }
16553 })?
16554 .finish();
16555 Ok(())
16556 }
16557}
16558pub struct DucTextDynamicSourceArgs {
16559 pub text_source_type: Option<TEXT_FIELD_SOURCE_TYPE>,
16560 pub source_type: DucTextDynamicSourceData,
16561 pub source: Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>>,
16562}
16563impl<'a> Default for DucTextDynamicSourceArgs {
16564 #[inline]
16565 fn default() -> Self {
16566 DucTextDynamicSourceArgs {
16567 text_source_type: None,
16568 source_type: DucTextDynamicSourceData::NONE,
16569 source: None,
16570 }
16571 }
16572}
16573
16574pub struct DucTextDynamicSourceBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
16575 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
16576 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
16577}
16578impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTextDynamicSourceBuilder<'a, 'b, A> {
16579 #[inline]
16580 pub fn add_text_source_type(&mut self, text_source_type: TEXT_FIELD_SOURCE_TYPE) {
16581 self.fbb_.push_slot_always::<TEXT_FIELD_SOURCE_TYPE>(DucTextDynamicSource::VT_TEXT_SOURCE_TYPE, text_source_type);
16582 }
16583 #[inline]
16584 pub fn add_source_type(&mut self, source_type: DucTextDynamicSourceData) {
16585 self.fbb_.push_slot::<DucTextDynamicSourceData>(DucTextDynamicSource::VT_SOURCE_TYPE, source_type, DucTextDynamicSourceData::NONE);
16586 }
16587 #[inline]
16588 pub fn add_source(&mut self, source: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>) {
16589 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTextDynamicSource::VT_SOURCE, source);
16590 }
16591 #[inline]
16592 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTextDynamicSourceBuilder<'a, 'b, A> {
16593 let start = _fbb.start_table();
16594 DucTextDynamicSourceBuilder {
16595 fbb_: _fbb,
16596 start_: start,
16597 }
16598 }
16599 #[inline]
16600 pub fn finish(self) -> flatbuffers::WIPOffset<DucTextDynamicSource<'a>> {
16601 let o = self.fbb_.end_table(self.start_);
16602 flatbuffers::WIPOffset::new(o.value())
16603 }
16604}
16605
16606impl core::fmt::Debug for DucTextDynamicSource<'_> {
16607 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
16608 let mut ds = f.debug_struct("DucTextDynamicSource");
16609 ds.field("text_source_type", &self.text_source_type());
16610 ds.field("source_type", &self.source_type());
16611 match self.source_type() {
16612 DucTextDynamicSourceData::DucTextDynamicElementSource => {
16613 if let Some(x) = self.source_as_duc_text_dynamic_element_source() {
16614 ds.field("source", &x)
16615 } else {
16616 ds.field("source", &"InvalidFlatbuffer: Union discriminant does not match value.")
16617 }
16618 },
16619 DucTextDynamicSourceData::DucTextDynamicDictionarySource => {
16620 if let Some(x) = self.source_as_duc_text_dynamic_dictionary_source() {
16621 ds.field("source", &x)
16622 } else {
16623 ds.field("source", &"InvalidFlatbuffer: Union discriminant does not match value.")
16624 }
16625 },
16626 _ => {
16627 let x: Option<()> = None;
16628 ds.field("source", &x)
16629 },
16630 };
16631 ds.finish()
16632 }
16633}
16634pub enum DucTextDynamicPartOffset {}
16635#[derive(Copy, Clone, PartialEq)]
16636
16637pub struct DucTextDynamicPart<'a> {
16638 pub _tab: flatbuffers::Table<'a>,
16639}
16640
16641impl<'a> flatbuffers::Follow<'a> for DucTextDynamicPart<'a> {
16642 type Inner = DucTextDynamicPart<'a>;
16643 #[inline]
16644 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
16645 Self { _tab: flatbuffers::Table::new(buf, loc) }
16646 }
16647}
16648
16649impl<'a> DucTextDynamicPart<'a> {
16650 pub const VT_TAG: flatbuffers::VOffsetT = 4;
16651 pub const VT_SOURCE: flatbuffers::VOffsetT = 6;
16652 pub const VT_FORMATTING: flatbuffers::VOffsetT = 8;
16653 pub const VT_CACHED_VALUE: flatbuffers::VOffsetT = 10;
16654
16655 #[inline]
16656 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
16657 DucTextDynamicPart { _tab: table }
16658 }
16659 #[allow(unused_mut)]
16660 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
16661 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
16662 args: &'args DucTextDynamicPartArgs<'args>
16663 ) -> flatbuffers::WIPOffset<DucTextDynamicPart<'bldr>> {
16664 let mut builder = DucTextDynamicPartBuilder::new(_fbb);
16665 if let Some(x) = args.cached_value { builder.add_cached_value(x); }
16666 if let Some(x) = args.formatting { builder.add_formatting(x); }
16667 if let Some(x) = args.source { builder.add_source(x); }
16668 if let Some(x) = args.tag { builder.add_tag(x); }
16669 builder.finish()
16670 }
16671
16672
16673 #[inline]
16674 pub fn tag(&self) -> Option<&'a str> {
16675 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTextDynamicPart::VT_TAG, None)}
16679 }
16680 #[inline]
16681 pub fn source(&self) -> Option<DucTextDynamicSource<'a>> {
16682 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTextDynamicSource>>(DucTextDynamicPart::VT_SOURCE, None)}
16686 }
16687 #[inline]
16688 pub fn formatting(&self) -> Option<PrimaryUnits<'a>> {
16689 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<PrimaryUnits>>(DucTextDynamicPart::VT_FORMATTING, None)}
16693 }
16694 #[inline]
16695 pub fn cached_value(&self) -> Option<&'a str> {
16696 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTextDynamicPart::VT_CACHED_VALUE, None)}
16700 }
16701}
16702
16703impl flatbuffers::Verifiable for DucTextDynamicPart<'_> {
16704 #[inline]
16705 fn run_verifier(
16706 v: &mut flatbuffers::Verifier, pos: usize
16707 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
16708 use self::flatbuffers::Verifiable;
16709 v.visit_table(pos)?
16710 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("tag", Self::VT_TAG, false)?
16711 .visit_field::<flatbuffers::ForwardsUOffset<DucTextDynamicSource>>("source", Self::VT_SOURCE, false)?
16712 .visit_field::<flatbuffers::ForwardsUOffset<PrimaryUnits>>("formatting", Self::VT_FORMATTING, false)?
16713 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("cached_value", Self::VT_CACHED_VALUE, false)?
16714 .finish();
16715 Ok(())
16716 }
16717}
16718pub struct DucTextDynamicPartArgs<'a> {
16719 pub tag: Option<flatbuffers::WIPOffset<&'a str>>,
16720 pub source: Option<flatbuffers::WIPOffset<DucTextDynamicSource<'a>>>,
16721 pub formatting: Option<flatbuffers::WIPOffset<PrimaryUnits<'a>>>,
16722 pub cached_value: Option<flatbuffers::WIPOffset<&'a str>>,
16723}
16724impl<'a> Default for DucTextDynamicPartArgs<'a> {
16725 #[inline]
16726 fn default() -> Self {
16727 DucTextDynamicPartArgs {
16728 tag: None,
16729 source: None,
16730 formatting: None,
16731 cached_value: None,
16732 }
16733 }
16734}
16735
16736pub struct DucTextDynamicPartBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
16737 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
16738 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
16739}
16740impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTextDynamicPartBuilder<'a, 'b, A> {
16741 #[inline]
16742 pub fn add_tag(&mut self, tag: flatbuffers::WIPOffset<&'b str>) {
16743 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTextDynamicPart::VT_TAG, tag);
16744 }
16745 #[inline]
16746 pub fn add_source(&mut self, source: flatbuffers::WIPOffset<DucTextDynamicSource<'b >>) {
16747 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTextDynamicSource>>(DucTextDynamicPart::VT_SOURCE, source);
16748 }
16749 #[inline]
16750 pub fn add_formatting(&mut self, formatting: flatbuffers::WIPOffset<PrimaryUnits<'b >>) {
16751 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<PrimaryUnits>>(DucTextDynamicPart::VT_FORMATTING, formatting);
16752 }
16753 #[inline]
16754 pub fn add_cached_value(&mut self, cached_value: flatbuffers::WIPOffset<&'b str>) {
16755 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTextDynamicPart::VT_CACHED_VALUE, cached_value);
16756 }
16757 #[inline]
16758 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTextDynamicPartBuilder<'a, 'b, A> {
16759 let start = _fbb.start_table();
16760 DucTextDynamicPartBuilder {
16761 fbb_: _fbb,
16762 start_: start,
16763 }
16764 }
16765 #[inline]
16766 pub fn finish(self) -> flatbuffers::WIPOffset<DucTextDynamicPart<'a>> {
16767 let o = self.fbb_.end_table(self.start_);
16768 flatbuffers::WIPOffset::new(o.value())
16769 }
16770}
16771
16772impl core::fmt::Debug for DucTextDynamicPart<'_> {
16773 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
16774 let mut ds = f.debug_struct("DucTextDynamicPart");
16775 ds.field("tag", &self.tag());
16776 ds.field("source", &self.source());
16777 ds.field("formatting", &self.formatting());
16778 ds.field("cached_value", &self.cached_value());
16779 ds.finish()
16780 }
16781}
16782pub enum DucTextElementOffset {}
16783#[derive(Copy, Clone, PartialEq)]
16784
16785pub struct DucTextElement<'a> {
16786 pub _tab: flatbuffers::Table<'a>,
16787}
16788
16789impl<'a> flatbuffers::Follow<'a> for DucTextElement<'a> {
16790 type Inner = DucTextElement<'a>;
16791 #[inline]
16792 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
16793 Self { _tab: flatbuffers::Table::new(buf, loc) }
16794 }
16795}
16796
16797impl<'a> DucTextElement<'a> {
16798 pub const VT_BASE: flatbuffers::VOffsetT = 4;
16799 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
16800 pub const VT_TEXT: flatbuffers::VOffsetT = 8;
16801 pub const VT_DYNAMIC: flatbuffers::VOffsetT = 10;
16802 pub const VT_AUTO_RESIZE: flatbuffers::VOffsetT = 12;
16803 pub const VT_CONTAINER_ID: flatbuffers::VOffsetT = 14;
16804 pub const VT_ORIGINAL_TEXT: flatbuffers::VOffsetT = 16;
16805
16806 #[inline]
16807 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
16808 DucTextElement { _tab: table }
16809 }
16810 #[allow(unused_mut)]
16811 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
16812 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
16813 args: &'args DucTextElementArgs<'args>
16814 ) -> flatbuffers::WIPOffset<DucTextElement<'bldr>> {
16815 let mut builder = DucTextElementBuilder::new(_fbb);
16816 if let Some(x) = args.original_text { builder.add_original_text(x); }
16817 if let Some(x) = args.container_id { builder.add_container_id(x); }
16818 if let Some(x) = args.dynamic { builder.add_dynamic(x); }
16819 if let Some(x) = args.text { builder.add_text(x); }
16820 if let Some(x) = args.style { builder.add_style(x); }
16821 if let Some(x) = args.base { builder.add_base(x); }
16822 builder.add_auto_resize(args.auto_resize);
16823 builder.finish()
16824 }
16825
16826
16827 #[inline]
16828 pub fn base(&self) -> Option<_DucElementBase<'a>> {
16829 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(DucTextElement::VT_BASE, None)}
16833 }
16834 #[inline]
16835 pub fn style(&self) -> Option<DucTextStyle<'a>> {
16836 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTextStyle>>(DucTextElement::VT_STYLE, None)}
16840 }
16841 #[inline]
16842 pub fn text(&self) -> Option<&'a str> {
16843 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTextElement::VT_TEXT, None)}
16847 }
16848 #[inline]
16849 pub fn dynamic(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucTextDynamicPart<'a>>>> {
16850 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucTextDynamicPart>>>>(DucTextElement::VT_DYNAMIC, None)}
16854 }
16855 #[inline]
16856 pub fn auto_resize(&self) -> bool {
16857 unsafe { self._tab.get::<bool>(DucTextElement::VT_AUTO_RESIZE, Some(false)).unwrap()}
16861 }
16862 #[inline]
16863 pub fn container_id(&self) -> Option<&'a str> {
16864 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTextElement::VT_CONTAINER_ID, None)}
16868 }
16869 #[inline]
16870 pub fn original_text(&self) -> Option<&'a str> {
16871 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucTextElement::VT_ORIGINAL_TEXT, None)}
16875 }
16876}
16877
16878impl flatbuffers::Verifiable for DucTextElement<'_> {
16879 #[inline]
16880 fn run_verifier(
16881 v: &mut flatbuffers::Verifier, pos: usize
16882 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
16883 use self::flatbuffers::Verifiable;
16884 v.visit_table(pos)?
16885 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
16886 .visit_field::<flatbuffers::ForwardsUOffset<DucTextStyle>>("style", Self::VT_STYLE, false)?
16887 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("text", Self::VT_TEXT, false)?
16888 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucTextDynamicPart>>>>("dynamic", Self::VT_DYNAMIC, false)?
16889 .visit_field::<bool>("auto_resize", Self::VT_AUTO_RESIZE, false)?
16890 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("container_id", Self::VT_CONTAINER_ID, false)?
16891 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("original_text", Self::VT_ORIGINAL_TEXT, false)?
16892 .finish();
16893 Ok(())
16894 }
16895}
16896pub struct DucTextElementArgs<'a> {
16897 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
16898 pub style: Option<flatbuffers::WIPOffset<DucTextStyle<'a>>>,
16899 pub text: Option<flatbuffers::WIPOffset<&'a str>>,
16900 pub dynamic: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucTextDynamicPart<'a>>>>>,
16901 pub auto_resize: bool,
16902 pub container_id: Option<flatbuffers::WIPOffset<&'a str>>,
16903 pub original_text: Option<flatbuffers::WIPOffset<&'a str>>,
16904}
16905impl<'a> Default for DucTextElementArgs<'a> {
16906 #[inline]
16907 fn default() -> Self {
16908 DucTextElementArgs {
16909 base: None,
16910 style: None,
16911 text: None,
16912 dynamic: None,
16913 auto_resize: false,
16914 container_id: None,
16915 original_text: None,
16916 }
16917 }
16918}
16919
16920pub struct DucTextElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
16921 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
16922 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
16923}
16924impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucTextElementBuilder<'a, 'b, A> {
16925 #[inline]
16926 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
16927 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(DucTextElement::VT_BASE, base);
16928 }
16929 #[inline]
16930 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucTextStyle<'b >>) {
16931 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTextStyle>>(DucTextElement::VT_STYLE, style);
16932 }
16933 #[inline]
16934 pub fn add_text(&mut self, text: flatbuffers::WIPOffset<&'b str>) {
16935 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTextElement::VT_TEXT, text);
16936 }
16937 #[inline]
16938 pub fn add_dynamic(&mut self, dynamic: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucTextDynamicPart<'b >>>>) {
16939 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTextElement::VT_DYNAMIC, dynamic);
16940 }
16941 #[inline]
16942 pub fn add_auto_resize(&mut self, auto_resize: bool) {
16943 self.fbb_.push_slot::<bool>(DucTextElement::VT_AUTO_RESIZE, auto_resize, false);
16944 }
16945 #[inline]
16946 pub fn add_container_id(&mut self, container_id: flatbuffers::WIPOffset<&'b str>) {
16947 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTextElement::VT_CONTAINER_ID, container_id);
16948 }
16949 #[inline]
16950 pub fn add_original_text(&mut self, original_text: flatbuffers::WIPOffset<&'b str>) {
16951 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucTextElement::VT_ORIGINAL_TEXT, original_text);
16952 }
16953 #[inline]
16954 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucTextElementBuilder<'a, 'b, A> {
16955 let start = _fbb.start_table();
16956 DucTextElementBuilder {
16957 fbb_: _fbb,
16958 start_: start,
16959 }
16960 }
16961 #[inline]
16962 pub fn finish(self) -> flatbuffers::WIPOffset<DucTextElement<'a>> {
16963 let o = self.fbb_.end_table(self.start_);
16964 flatbuffers::WIPOffset::new(o.value())
16965 }
16966}
16967
16968impl core::fmt::Debug for DucTextElement<'_> {
16969 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
16970 let mut ds = f.debug_struct("DucTextElement");
16971 ds.field("base", &self.base());
16972 ds.field("style", &self.style());
16973 ds.field("text", &self.text());
16974 ds.field("dynamic", &self.dynamic());
16975 ds.field("auto_resize", &self.auto_resize());
16976 ds.field("container_id", &self.container_id());
16977 ds.field("original_text", &self.original_text());
16978 ds.finish()
16979 }
16980}
16981pub enum DucLinearElementOffset {}
16982#[derive(Copy, Clone, PartialEq)]
16983
16984pub struct DucLinearElement<'a> {
16985 pub _tab: flatbuffers::Table<'a>,
16986}
16987
16988impl<'a> flatbuffers::Follow<'a> for DucLinearElement<'a> {
16989 type Inner = DucLinearElement<'a>;
16990 #[inline]
16991 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
16992 Self { _tab: flatbuffers::Table::new(buf, loc) }
16993 }
16994}
16995
16996impl<'a> DucLinearElement<'a> {
16997 pub const VT_LINEAR_BASE: flatbuffers::VOffsetT = 4;
16998 pub const VT_WIPEOUT_BELOW: flatbuffers::VOffsetT = 6;
16999
17000 #[inline]
17001 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
17002 DucLinearElement { _tab: table }
17003 }
17004 #[allow(unused_mut)]
17005 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
17006 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
17007 args: &'args DucLinearElementArgs<'args>
17008 ) -> flatbuffers::WIPOffset<DucLinearElement<'bldr>> {
17009 let mut builder = DucLinearElementBuilder::new(_fbb);
17010 if let Some(x) = args.linear_base { builder.add_linear_base(x); }
17011 builder.add_wipeout_below(args.wipeout_below);
17012 builder.finish()
17013 }
17014
17015
17016 #[inline]
17017 pub fn linear_base(&self) -> Option<_DucLinearElementBase<'a>> {
17018 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucLinearElementBase>>(DucLinearElement::VT_LINEAR_BASE, None)}
17022 }
17023 #[inline]
17024 pub fn wipeout_below(&self) -> bool {
17025 unsafe { self._tab.get::<bool>(DucLinearElement::VT_WIPEOUT_BELOW, Some(false)).unwrap()}
17029 }
17030}
17031
17032impl flatbuffers::Verifiable for DucLinearElement<'_> {
17033 #[inline]
17034 fn run_verifier(
17035 v: &mut flatbuffers::Verifier, pos: usize
17036 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
17037 use self::flatbuffers::Verifiable;
17038 v.visit_table(pos)?
17039 .visit_field::<flatbuffers::ForwardsUOffset<_DucLinearElementBase>>("linear_base", Self::VT_LINEAR_BASE, false)?
17040 .visit_field::<bool>("wipeout_below", Self::VT_WIPEOUT_BELOW, false)?
17041 .finish();
17042 Ok(())
17043 }
17044}
17045pub struct DucLinearElementArgs<'a> {
17046 pub linear_base: Option<flatbuffers::WIPOffset<_DucLinearElementBase<'a>>>,
17047 pub wipeout_below: bool,
17048}
17049impl<'a> Default for DucLinearElementArgs<'a> {
17050 #[inline]
17051 fn default() -> Self {
17052 DucLinearElementArgs {
17053 linear_base: None,
17054 wipeout_below: false,
17055 }
17056 }
17057}
17058
17059pub struct DucLinearElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
17060 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
17061 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
17062}
17063impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucLinearElementBuilder<'a, 'b, A> {
17064 #[inline]
17065 pub fn add_linear_base(&mut self, linear_base: flatbuffers::WIPOffset<_DucLinearElementBase<'b >>) {
17066 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucLinearElementBase>>(DucLinearElement::VT_LINEAR_BASE, linear_base);
17067 }
17068 #[inline]
17069 pub fn add_wipeout_below(&mut self, wipeout_below: bool) {
17070 self.fbb_.push_slot::<bool>(DucLinearElement::VT_WIPEOUT_BELOW, wipeout_below, false);
17071 }
17072 #[inline]
17073 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucLinearElementBuilder<'a, 'b, A> {
17074 let start = _fbb.start_table();
17075 DucLinearElementBuilder {
17076 fbb_: _fbb,
17077 start_: start,
17078 }
17079 }
17080 #[inline]
17081 pub fn finish(self) -> flatbuffers::WIPOffset<DucLinearElement<'a>> {
17082 let o = self.fbb_.end_table(self.start_);
17083 flatbuffers::WIPOffset::new(o.value())
17084 }
17085}
17086
17087impl core::fmt::Debug for DucLinearElement<'_> {
17088 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
17089 let mut ds = f.debug_struct("DucLinearElement");
17090 ds.field("linear_base", &self.linear_base());
17091 ds.field("wipeout_below", &self.wipeout_below());
17092 ds.finish()
17093 }
17094}
17095pub enum DucArrowElementOffset {}
17096#[derive(Copy, Clone, PartialEq)]
17097
17098pub struct DucArrowElement<'a> {
17099 pub _tab: flatbuffers::Table<'a>,
17100}
17101
17102impl<'a> flatbuffers::Follow<'a> for DucArrowElement<'a> {
17103 type Inner = DucArrowElement<'a>;
17104 #[inline]
17105 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
17106 Self { _tab: flatbuffers::Table::new(buf, loc) }
17107 }
17108}
17109
17110impl<'a> DucArrowElement<'a> {
17111 pub const VT_LINEAR_BASE: flatbuffers::VOffsetT = 4;
17112 pub const VT_ELBOWED: flatbuffers::VOffsetT = 6;
17113
17114 #[inline]
17115 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
17116 DucArrowElement { _tab: table }
17117 }
17118 #[allow(unused_mut)]
17119 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
17120 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
17121 args: &'args DucArrowElementArgs<'args>
17122 ) -> flatbuffers::WIPOffset<DucArrowElement<'bldr>> {
17123 let mut builder = DucArrowElementBuilder::new(_fbb);
17124 if let Some(x) = args.linear_base { builder.add_linear_base(x); }
17125 builder.add_elbowed(args.elbowed);
17126 builder.finish()
17127 }
17128
17129
17130 #[inline]
17131 pub fn linear_base(&self) -> Option<_DucLinearElementBase<'a>> {
17132 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucLinearElementBase>>(DucArrowElement::VT_LINEAR_BASE, None)}
17136 }
17137 #[inline]
17138 pub fn elbowed(&self) -> bool {
17139 unsafe { self._tab.get::<bool>(DucArrowElement::VT_ELBOWED, Some(false)).unwrap()}
17143 }
17144}
17145
17146impl flatbuffers::Verifiable for DucArrowElement<'_> {
17147 #[inline]
17148 fn run_verifier(
17149 v: &mut flatbuffers::Verifier, pos: usize
17150 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
17151 use self::flatbuffers::Verifiable;
17152 v.visit_table(pos)?
17153 .visit_field::<flatbuffers::ForwardsUOffset<_DucLinearElementBase>>("linear_base", Self::VT_LINEAR_BASE, false)?
17154 .visit_field::<bool>("elbowed", Self::VT_ELBOWED, false)?
17155 .finish();
17156 Ok(())
17157 }
17158}
17159pub struct DucArrowElementArgs<'a> {
17160 pub linear_base: Option<flatbuffers::WIPOffset<_DucLinearElementBase<'a>>>,
17161 pub elbowed: bool,
17162}
17163impl<'a> Default for DucArrowElementArgs<'a> {
17164 #[inline]
17165 fn default() -> Self {
17166 DucArrowElementArgs {
17167 linear_base: None,
17168 elbowed: false,
17169 }
17170 }
17171}
17172
17173pub struct DucArrowElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
17174 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
17175 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
17176}
17177impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucArrowElementBuilder<'a, 'b, A> {
17178 #[inline]
17179 pub fn add_linear_base(&mut self, linear_base: flatbuffers::WIPOffset<_DucLinearElementBase<'b >>) {
17180 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucLinearElementBase>>(DucArrowElement::VT_LINEAR_BASE, linear_base);
17181 }
17182 #[inline]
17183 pub fn add_elbowed(&mut self, elbowed: bool) {
17184 self.fbb_.push_slot::<bool>(DucArrowElement::VT_ELBOWED, elbowed, false);
17185 }
17186 #[inline]
17187 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucArrowElementBuilder<'a, 'b, A> {
17188 let start = _fbb.start_table();
17189 DucArrowElementBuilder {
17190 fbb_: _fbb,
17191 start_: start,
17192 }
17193 }
17194 #[inline]
17195 pub fn finish(self) -> flatbuffers::WIPOffset<DucArrowElement<'a>> {
17196 let o = self.fbb_.end_table(self.start_);
17197 flatbuffers::WIPOffset::new(o.value())
17198 }
17199}
17200
17201impl core::fmt::Debug for DucArrowElement<'_> {
17202 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
17203 let mut ds = f.debug_struct("DucArrowElement");
17204 ds.field("linear_base", &self.linear_base());
17205 ds.field("elbowed", &self.elbowed());
17206 ds.finish()
17207 }
17208}
17209pub enum DucFreeDrawEndsOffset {}
17210#[derive(Copy, Clone, PartialEq)]
17211
17212pub struct DucFreeDrawEnds<'a> {
17213 pub _tab: flatbuffers::Table<'a>,
17214}
17215
17216impl<'a> flatbuffers::Follow<'a> for DucFreeDrawEnds<'a> {
17217 type Inner = DucFreeDrawEnds<'a>;
17218 #[inline]
17219 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
17220 Self { _tab: flatbuffers::Table::new(buf, loc) }
17221 }
17222}
17223
17224impl<'a> DucFreeDrawEnds<'a> {
17225 pub const VT_CAP: flatbuffers::VOffsetT = 4;
17226 pub const VT_TAPER: flatbuffers::VOffsetT = 6;
17227 pub const VT_EASING: flatbuffers::VOffsetT = 8;
17228
17229 #[inline]
17230 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
17231 DucFreeDrawEnds { _tab: table }
17232 }
17233 #[allow(unused_mut)]
17234 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
17235 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
17236 args: &'args DucFreeDrawEndsArgs<'args>
17237 ) -> flatbuffers::WIPOffset<DucFreeDrawEnds<'bldr>> {
17238 let mut builder = DucFreeDrawEndsBuilder::new(_fbb);
17239 if let Some(x) = args.easing { builder.add_easing(x); }
17240 builder.add_taper(args.taper);
17241 builder.add_cap(args.cap);
17242 builder.finish()
17243 }
17244
17245
17246 #[inline]
17247 pub fn cap(&self) -> bool {
17248 unsafe { self._tab.get::<bool>(DucFreeDrawEnds::VT_CAP, Some(false)).unwrap()}
17252 }
17253 #[inline]
17254 pub fn taper(&self) -> f32 {
17255 unsafe { self._tab.get::<f32>(DucFreeDrawEnds::VT_TAPER, Some(0.0)).unwrap()}
17259 }
17260 #[inline]
17261 pub fn easing(&self) -> Option<&'a str> {
17262 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucFreeDrawEnds::VT_EASING, None)}
17266 }
17267}
17268
17269impl flatbuffers::Verifiable for DucFreeDrawEnds<'_> {
17270 #[inline]
17271 fn run_verifier(
17272 v: &mut flatbuffers::Verifier, pos: usize
17273 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
17274 use self::flatbuffers::Verifiable;
17275 v.visit_table(pos)?
17276 .visit_field::<bool>("cap", Self::VT_CAP, false)?
17277 .visit_field::<f32>("taper", Self::VT_TAPER, false)?
17278 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("easing", Self::VT_EASING, false)?
17279 .finish();
17280 Ok(())
17281 }
17282}
17283pub struct DucFreeDrawEndsArgs<'a> {
17284 pub cap: bool,
17285 pub taper: f32,
17286 pub easing: Option<flatbuffers::WIPOffset<&'a str>>,
17287}
17288impl<'a> Default for DucFreeDrawEndsArgs<'a> {
17289 #[inline]
17290 fn default() -> Self {
17291 DucFreeDrawEndsArgs {
17292 cap: false,
17293 taper: 0.0,
17294 easing: None,
17295 }
17296 }
17297}
17298
17299pub struct DucFreeDrawEndsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
17300 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
17301 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
17302}
17303impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucFreeDrawEndsBuilder<'a, 'b, A> {
17304 #[inline]
17305 pub fn add_cap(&mut self, cap: bool) {
17306 self.fbb_.push_slot::<bool>(DucFreeDrawEnds::VT_CAP, cap, false);
17307 }
17308 #[inline]
17309 pub fn add_taper(&mut self, taper: f32) {
17310 self.fbb_.push_slot::<f32>(DucFreeDrawEnds::VT_TAPER, taper, 0.0);
17311 }
17312 #[inline]
17313 pub fn add_easing(&mut self, easing: flatbuffers::WIPOffset<&'b str>) {
17314 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucFreeDrawEnds::VT_EASING, easing);
17315 }
17316 #[inline]
17317 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucFreeDrawEndsBuilder<'a, 'b, A> {
17318 let start = _fbb.start_table();
17319 DucFreeDrawEndsBuilder {
17320 fbb_: _fbb,
17321 start_: start,
17322 }
17323 }
17324 #[inline]
17325 pub fn finish(self) -> flatbuffers::WIPOffset<DucFreeDrawEnds<'a>> {
17326 let o = self.fbb_.end_table(self.start_);
17327 flatbuffers::WIPOffset::new(o.value())
17328 }
17329}
17330
17331impl core::fmt::Debug for DucFreeDrawEnds<'_> {
17332 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
17333 let mut ds = f.debug_struct("DucFreeDrawEnds");
17334 ds.field("cap", &self.cap());
17335 ds.field("taper", &self.taper());
17336 ds.field("easing", &self.easing());
17337 ds.finish()
17338 }
17339}
17340pub enum DucFreeDrawElementOffset {}
17341#[derive(Copy, Clone, PartialEq)]
17342
17343pub struct DucFreeDrawElement<'a> {
17344 pub _tab: flatbuffers::Table<'a>,
17345}
17346
17347impl<'a> flatbuffers::Follow<'a> for DucFreeDrawElement<'a> {
17348 type Inner = DucFreeDrawElement<'a>;
17349 #[inline]
17350 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
17351 Self { _tab: flatbuffers::Table::new(buf, loc) }
17352 }
17353}
17354
17355impl<'a> DucFreeDrawElement<'a> {
17356 pub const VT_BASE: flatbuffers::VOffsetT = 4;
17357 pub const VT_POINTS: flatbuffers::VOffsetT = 6;
17358 pub const VT_SIZE: flatbuffers::VOffsetT = 8;
17359 pub const VT_THINNING: flatbuffers::VOffsetT = 10;
17360 pub const VT_SMOOTHING: flatbuffers::VOffsetT = 12;
17361 pub const VT_STREAMLINE: flatbuffers::VOffsetT = 14;
17362 pub const VT_EASING: flatbuffers::VOffsetT = 16;
17363 pub const VT_START: flatbuffers::VOffsetT = 18;
17364 pub const VT_END: flatbuffers::VOffsetT = 20;
17365 pub const VT_PRESSURES: flatbuffers::VOffsetT = 22;
17366 pub const VT_SIMULATE_PRESSURE: flatbuffers::VOffsetT = 24;
17367 pub const VT_LAST_COMMITTED_POINT: flatbuffers::VOffsetT = 26;
17368 pub const VT_SVG_PATH: flatbuffers::VOffsetT = 28;
17369
17370 #[inline]
17371 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
17372 DucFreeDrawElement { _tab: table }
17373 }
17374 #[allow(unused_mut)]
17375 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
17376 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
17377 args: &'args DucFreeDrawElementArgs<'args>
17378 ) -> flatbuffers::WIPOffset<DucFreeDrawElement<'bldr>> {
17379 let mut builder = DucFreeDrawElementBuilder::new(_fbb);
17380 builder.add_size(args.size);
17381 if let Some(x) = args.svg_path { builder.add_svg_path(x); }
17382 if let Some(x) = args.last_committed_point { builder.add_last_committed_point(x); }
17383 if let Some(x) = args.pressures { builder.add_pressures(x); }
17384 if let Some(x) = args.end { builder.add_end(x); }
17385 if let Some(x) = args.start { builder.add_start(x); }
17386 if let Some(x) = args.easing { builder.add_easing(x); }
17387 builder.add_streamline(args.streamline);
17388 builder.add_smoothing(args.smoothing);
17389 builder.add_thinning(args.thinning);
17390 if let Some(x) = args.points { builder.add_points(x); }
17391 if let Some(x) = args.base { builder.add_base(x); }
17392 builder.add_simulate_pressure(args.simulate_pressure);
17393 builder.finish()
17394 }
17395
17396
17397 #[inline]
17398 pub fn base(&self) -> Option<_DucElementBase<'a>> {
17399 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(DucFreeDrawElement::VT_BASE, None)}
17403 }
17404 #[inline]
17405 pub fn points(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucPoint<'a>>>> {
17406 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucPoint>>>>(DucFreeDrawElement::VT_POINTS, None)}
17410 }
17411 #[inline]
17412 pub fn size(&self) -> f64 {
17413 unsafe { self._tab.get::<f64>(DucFreeDrawElement::VT_SIZE, Some(0.0)).unwrap()}
17417 }
17418 #[inline]
17419 pub fn thinning(&self) -> f32 {
17420 unsafe { self._tab.get::<f32>(DucFreeDrawElement::VT_THINNING, Some(0.0)).unwrap()}
17424 }
17425 #[inline]
17426 pub fn smoothing(&self) -> f32 {
17427 unsafe { self._tab.get::<f32>(DucFreeDrawElement::VT_SMOOTHING, Some(0.0)).unwrap()}
17431 }
17432 #[inline]
17433 pub fn streamline(&self) -> f32 {
17434 unsafe { self._tab.get::<f32>(DucFreeDrawElement::VT_STREAMLINE, Some(0.0)).unwrap()}
17438 }
17439 #[inline]
17440 pub fn easing(&self) -> Option<&'a str> {
17441 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucFreeDrawElement::VT_EASING, None)}
17445 }
17446 #[inline]
17447 pub fn start(&self) -> Option<DucFreeDrawEnds<'a>> {
17448 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucFreeDrawEnds>>(DucFreeDrawElement::VT_START, None)}
17452 }
17453 #[inline]
17454 pub fn end(&self) -> Option<DucFreeDrawEnds<'a>> {
17455 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucFreeDrawEnds>>(DucFreeDrawElement::VT_END, None)}
17459 }
17460 #[inline]
17461 pub fn pressures(&self) -> Option<flatbuffers::Vector<'a, f32>> {
17462 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, f32>>>(DucFreeDrawElement::VT_PRESSURES, None)}
17466 }
17467 #[inline]
17468 pub fn simulate_pressure(&self) -> bool {
17469 unsafe { self._tab.get::<bool>(DucFreeDrawElement::VT_SIMULATE_PRESSURE, Some(false)).unwrap()}
17473 }
17474 #[inline]
17475 pub fn last_committed_point(&self) -> Option<DucPoint<'a>> {
17476 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucPoint>>(DucFreeDrawElement::VT_LAST_COMMITTED_POINT, None)}
17480 }
17481 #[inline]
17482 pub fn svg_path(&self) -> Option<&'a str> {
17483 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucFreeDrawElement::VT_SVG_PATH, None)}
17487 }
17488}
17489
17490impl flatbuffers::Verifiable for DucFreeDrawElement<'_> {
17491 #[inline]
17492 fn run_verifier(
17493 v: &mut flatbuffers::Verifier, pos: usize
17494 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
17495 use self::flatbuffers::Verifiable;
17496 v.visit_table(pos)?
17497 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
17498 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucPoint>>>>("points", Self::VT_POINTS, false)?
17499 .visit_field::<f64>("size", Self::VT_SIZE, false)?
17500 .visit_field::<f32>("thinning", Self::VT_THINNING, false)?
17501 .visit_field::<f32>("smoothing", Self::VT_SMOOTHING, false)?
17502 .visit_field::<f32>("streamline", Self::VT_STREAMLINE, false)?
17503 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("easing", Self::VT_EASING, false)?
17504 .visit_field::<flatbuffers::ForwardsUOffset<DucFreeDrawEnds>>("start", Self::VT_START, false)?
17505 .visit_field::<flatbuffers::ForwardsUOffset<DucFreeDrawEnds>>("end", Self::VT_END, false)?
17506 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, f32>>>("pressures", Self::VT_PRESSURES, false)?
17507 .visit_field::<bool>("simulate_pressure", Self::VT_SIMULATE_PRESSURE, false)?
17508 .visit_field::<flatbuffers::ForwardsUOffset<DucPoint>>("last_committed_point", Self::VT_LAST_COMMITTED_POINT, false)?
17509 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("svg_path", Self::VT_SVG_PATH, false)?
17510 .finish();
17511 Ok(())
17512 }
17513}
17514pub struct DucFreeDrawElementArgs<'a> {
17515 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
17516 pub points: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucPoint<'a>>>>>,
17517 pub size: f64,
17518 pub thinning: f32,
17519 pub smoothing: f32,
17520 pub streamline: f32,
17521 pub easing: Option<flatbuffers::WIPOffset<&'a str>>,
17522 pub start: Option<flatbuffers::WIPOffset<DucFreeDrawEnds<'a>>>,
17523 pub end: Option<flatbuffers::WIPOffset<DucFreeDrawEnds<'a>>>,
17524 pub pressures: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, f32>>>,
17525 pub simulate_pressure: bool,
17526 pub last_committed_point: Option<flatbuffers::WIPOffset<DucPoint<'a>>>,
17527 pub svg_path: Option<flatbuffers::WIPOffset<&'a str>>,
17528}
17529impl<'a> Default for DucFreeDrawElementArgs<'a> {
17530 #[inline]
17531 fn default() -> Self {
17532 DucFreeDrawElementArgs {
17533 base: None,
17534 points: None,
17535 size: 0.0,
17536 thinning: 0.0,
17537 smoothing: 0.0,
17538 streamline: 0.0,
17539 easing: None,
17540 start: None,
17541 end: None,
17542 pressures: None,
17543 simulate_pressure: false,
17544 last_committed_point: None,
17545 svg_path: None,
17546 }
17547 }
17548}
17549
17550pub struct DucFreeDrawElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
17551 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
17552 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
17553}
17554impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucFreeDrawElementBuilder<'a, 'b, A> {
17555 #[inline]
17556 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
17557 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(DucFreeDrawElement::VT_BASE, base);
17558 }
17559 #[inline]
17560 pub fn add_points(&mut self, points: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucPoint<'b >>>>) {
17561 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucFreeDrawElement::VT_POINTS, points);
17562 }
17563 #[inline]
17564 pub fn add_size(&mut self, size: f64) {
17565 self.fbb_.push_slot::<f64>(DucFreeDrawElement::VT_SIZE, size, 0.0);
17566 }
17567 #[inline]
17568 pub fn add_thinning(&mut self, thinning: f32) {
17569 self.fbb_.push_slot::<f32>(DucFreeDrawElement::VT_THINNING, thinning, 0.0);
17570 }
17571 #[inline]
17572 pub fn add_smoothing(&mut self, smoothing: f32) {
17573 self.fbb_.push_slot::<f32>(DucFreeDrawElement::VT_SMOOTHING, smoothing, 0.0);
17574 }
17575 #[inline]
17576 pub fn add_streamline(&mut self, streamline: f32) {
17577 self.fbb_.push_slot::<f32>(DucFreeDrawElement::VT_STREAMLINE, streamline, 0.0);
17578 }
17579 #[inline]
17580 pub fn add_easing(&mut self, easing: flatbuffers::WIPOffset<&'b str>) {
17581 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucFreeDrawElement::VT_EASING, easing);
17582 }
17583 #[inline]
17584 pub fn add_start(&mut self, start: flatbuffers::WIPOffset<DucFreeDrawEnds<'b >>) {
17585 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucFreeDrawEnds>>(DucFreeDrawElement::VT_START, start);
17586 }
17587 #[inline]
17588 pub fn add_end(&mut self, end: flatbuffers::WIPOffset<DucFreeDrawEnds<'b >>) {
17589 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucFreeDrawEnds>>(DucFreeDrawElement::VT_END, end);
17590 }
17591 #[inline]
17592 pub fn add_pressures(&mut self, pressures: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f32>>) {
17593 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucFreeDrawElement::VT_PRESSURES, pressures);
17594 }
17595 #[inline]
17596 pub fn add_simulate_pressure(&mut self, simulate_pressure: bool) {
17597 self.fbb_.push_slot::<bool>(DucFreeDrawElement::VT_SIMULATE_PRESSURE, simulate_pressure, false);
17598 }
17599 #[inline]
17600 pub fn add_last_committed_point(&mut self, last_committed_point: flatbuffers::WIPOffset<DucPoint<'b >>) {
17601 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucPoint>>(DucFreeDrawElement::VT_LAST_COMMITTED_POINT, last_committed_point);
17602 }
17603 #[inline]
17604 pub fn add_svg_path(&mut self, svg_path: flatbuffers::WIPOffset<&'b str>) {
17605 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucFreeDrawElement::VT_SVG_PATH, svg_path);
17606 }
17607 #[inline]
17608 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucFreeDrawElementBuilder<'a, 'b, A> {
17609 let start = _fbb.start_table();
17610 DucFreeDrawElementBuilder {
17611 fbb_: _fbb,
17612 start_: start,
17613 }
17614 }
17615 #[inline]
17616 pub fn finish(self) -> flatbuffers::WIPOffset<DucFreeDrawElement<'a>> {
17617 let o = self.fbb_.end_table(self.start_);
17618 flatbuffers::WIPOffset::new(o.value())
17619 }
17620}
17621
17622impl core::fmt::Debug for DucFreeDrawElement<'_> {
17623 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
17624 let mut ds = f.debug_struct("DucFreeDrawElement");
17625 ds.field("base", &self.base());
17626 ds.field("points", &self.points());
17627 ds.field("size", &self.size());
17628 ds.field("thinning", &self.thinning());
17629 ds.field("smoothing", &self.smoothing());
17630 ds.field("streamline", &self.streamline());
17631 ds.field("easing", &self.easing());
17632 ds.field("start", &self.start());
17633 ds.field("end", &self.end());
17634 ds.field("pressures", &self.pressures());
17635 ds.field("simulate_pressure", &self.simulate_pressure());
17636 ds.field("last_committed_point", &self.last_committed_point());
17637 ds.field("svg_path", &self.svg_path());
17638 ds.finish()
17639 }
17640}
17641pub enum DucBlockAttributeDefinitionOffset {}
17642#[derive(Copy, Clone, PartialEq)]
17643
17644pub struct DucBlockAttributeDefinition<'a> {
17645 pub _tab: flatbuffers::Table<'a>,
17646}
17647
17648impl<'a> flatbuffers::Follow<'a> for DucBlockAttributeDefinition<'a> {
17649 type Inner = DucBlockAttributeDefinition<'a>;
17650 #[inline]
17651 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
17652 Self { _tab: flatbuffers::Table::new(buf, loc) }
17653 }
17654}
17655
17656impl<'a> DucBlockAttributeDefinition<'a> {
17657 pub const VT_TAG: flatbuffers::VOffsetT = 4;
17658 pub const VT_PROMPT: flatbuffers::VOffsetT = 6;
17659 pub const VT_DEFAULT_VALUE: flatbuffers::VOffsetT = 8;
17660 pub const VT_IS_CONSTANT: flatbuffers::VOffsetT = 10;
17661
17662 #[inline]
17663 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
17664 DucBlockAttributeDefinition { _tab: table }
17665 }
17666 #[allow(unused_mut)]
17667 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
17668 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
17669 args: &'args DucBlockAttributeDefinitionArgs<'args>
17670 ) -> flatbuffers::WIPOffset<DucBlockAttributeDefinition<'bldr>> {
17671 let mut builder = DucBlockAttributeDefinitionBuilder::new(_fbb);
17672 if let Some(x) = args.default_value { builder.add_default_value(x); }
17673 if let Some(x) = args.prompt { builder.add_prompt(x); }
17674 if let Some(x) = args.tag { builder.add_tag(x); }
17675 builder.add_is_constant(args.is_constant);
17676 builder.finish()
17677 }
17678
17679
17680 #[inline]
17681 pub fn tag(&self) -> Option<&'a str> {
17682 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucBlockAttributeDefinition::VT_TAG, None)}
17686 }
17687 #[inline]
17688 pub fn prompt(&self) -> Option<&'a str> {
17689 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucBlockAttributeDefinition::VT_PROMPT, None)}
17693 }
17694 #[inline]
17695 pub fn default_value(&self) -> Option<&'a str> {
17696 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucBlockAttributeDefinition::VT_DEFAULT_VALUE, None)}
17700 }
17701 #[inline]
17702 pub fn is_constant(&self) -> bool {
17703 unsafe { self._tab.get::<bool>(DucBlockAttributeDefinition::VT_IS_CONSTANT, Some(false)).unwrap()}
17707 }
17708}
17709
17710impl flatbuffers::Verifiable for DucBlockAttributeDefinition<'_> {
17711 #[inline]
17712 fn run_verifier(
17713 v: &mut flatbuffers::Verifier, pos: usize
17714 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
17715 use self::flatbuffers::Verifiable;
17716 v.visit_table(pos)?
17717 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("tag", Self::VT_TAG, false)?
17718 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("prompt", Self::VT_PROMPT, false)?
17719 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("default_value", Self::VT_DEFAULT_VALUE, false)?
17720 .visit_field::<bool>("is_constant", Self::VT_IS_CONSTANT, false)?
17721 .finish();
17722 Ok(())
17723 }
17724}
17725pub struct DucBlockAttributeDefinitionArgs<'a> {
17726 pub tag: Option<flatbuffers::WIPOffset<&'a str>>,
17727 pub prompt: Option<flatbuffers::WIPOffset<&'a str>>,
17728 pub default_value: Option<flatbuffers::WIPOffset<&'a str>>,
17729 pub is_constant: bool,
17730}
17731impl<'a> Default for DucBlockAttributeDefinitionArgs<'a> {
17732 #[inline]
17733 fn default() -> Self {
17734 DucBlockAttributeDefinitionArgs {
17735 tag: None,
17736 prompt: None,
17737 default_value: None,
17738 is_constant: false,
17739 }
17740 }
17741}
17742
17743pub struct DucBlockAttributeDefinitionBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
17744 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
17745 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
17746}
17747impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucBlockAttributeDefinitionBuilder<'a, 'b, A> {
17748 #[inline]
17749 pub fn add_tag(&mut self, tag: flatbuffers::WIPOffset<&'b str>) {
17750 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlockAttributeDefinition::VT_TAG, tag);
17751 }
17752 #[inline]
17753 pub fn add_prompt(&mut self, prompt: flatbuffers::WIPOffset<&'b str>) {
17754 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlockAttributeDefinition::VT_PROMPT, prompt);
17755 }
17756 #[inline]
17757 pub fn add_default_value(&mut self, default_value: flatbuffers::WIPOffset<&'b str>) {
17758 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlockAttributeDefinition::VT_DEFAULT_VALUE, default_value);
17759 }
17760 #[inline]
17761 pub fn add_is_constant(&mut self, is_constant: bool) {
17762 self.fbb_.push_slot::<bool>(DucBlockAttributeDefinition::VT_IS_CONSTANT, is_constant, false);
17763 }
17764 #[inline]
17765 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucBlockAttributeDefinitionBuilder<'a, 'b, A> {
17766 let start = _fbb.start_table();
17767 DucBlockAttributeDefinitionBuilder {
17768 fbb_: _fbb,
17769 start_: start,
17770 }
17771 }
17772 #[inline]
17773 pub fn finish(self) -> flatbuffers::WIPOffset<DucBlockAttributeDefinition<'a>> {
17774 let o = self.fbb_.end_table(self.start_);
17775 flatbuffers::WIPOffset::new(o.value())
17776 }
17777}
17778
17779impl core::fmt::Debug for DucBlockAttributeDefinition<'_> {
17780 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
17781 let mut ds = f.debug_struct("DucBlockAttributeDefinition");
17782 ds.field("tag", &self.tag());
17783 ds.field("prompt", &self.prompt());
17784 ds.field("default_value", &self.default_value());
17785 ds.field("is_constant", &self.is_constant());
17786 ds.finish()
17787 }
17788}
17789pub enum DucBlockAttributeDefinitionEntryOffset {}
17790#[derive(Copy, Clone, PartialEq)]
17791
17792pub struct DucBlockAttributeDefinitionEntry<'a> {
17793 pub _tab: flatbuffers::Table<'a>,
17794}
17795
17796impl<'a> flatbuffers::Follow<'a> for DucBlockAttributeDefinitionEntry<'a> {
17797 type Inner = DucBlockAttributeDefinitionEntry<'a>;
17798 #[inline]
17799 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
17800 Self { _tab: flatbuffers::Table::new(buf, loc) }
17801 }
17802}
17803
17804impl<'a> DucBlockAttributeDefinitionEntry<'a> {
17805 pub const VT_KEY: flatbuffers::VOffsetT = 4;
17806 pub const VT_VALUE: flatbuffers::VOffsetT = 6;
17807
17808 #[inline]
17809 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
17810 DucBlockAttributeDefinitionEntry { _tab: table }
17811 }
17812 #[allow(unused_mut)]
17813 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
17814 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
17815 args: &'args DucBlockAttributeDefinitionEntryArgs<'args>
17816 ) -> flatbuffers::WIPOffset<DucBlockAttributeDefinitionEntry<'bldr>> {
17817 let mut builder = DucBlockAttributeDefinitionEntryBuilder::new(_fbb);
17818 if let Some(x) = args.value { builder.add_value(x); }
17819 if let Some(x) = args.key { builder.add_key(x); }
17820 builder.finish()
17821 }
17822
17823
17824 #[inline]
17825 pub fn key(&self) -> &'a str {
17826 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucBlockAttributeDefinitionEntry::VT_KEY, None).unwrap()}
17830 }
17831 #[inline]
17832 pub fn key_compare_less_than(&self, o: &DucBlockAttributeDefinitionEntry) -> bool {
17833 self.key() < o.key()
17834 }
17835
17836 #[inline]
17837 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
17838 let key = self.key();
17839 key.cmp(val)
17840 }
17841 #[inline]
17842 pub fn value(&self) -> Option<DucBlockAttributeDefinition<'a>> {
17843 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucBlockAttributeDefinition>>(DucBlockAttributeDefinitionEntry::VT_VALUE, None)}
17847 }
17848}
17849
17850impl flatbuffers::Verifiable for DucBlockAttributeDefinitionEntry<'_> {
17851 #[inline]
17852 fn run_verifier(
17853 v: &mut flatbuffers::Verifier, pos: usize
17854 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
17855 use self::flatbuffers::Verifiable;
17856 v.visit_table(pos)?
17857 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("key", Self::VT_KEY, true)?
17858 .visit_field::<flatbuffers::ForwardsUOffset<DucBlockAttributeDefinition>>("value", Self::VT_VALUE, false)?
17859 .finish();
17860 Ok(())
17861 }
17862}
17863pub struct DucBlockAttributeDefinitionEntryArgs<'a> {
17864 pub key: Option<flatbuffers::WIPOffset<&'a str>>,
17865 pub value: Option<flatbuffers::WIPOffset<DucBlockAttributeDefinition<'a>>>,
17866}
17867impl<'a> Default for DucBlockAttributeDefinitionEntryArgs<'a> {
17868 #[inline]
17869 fn default() -> Self {
17870 DucBlockAttributeDefinitionEntryArgs {
17871 key: None, value: None,
17873 }
17874 }
17875}
17876
17877pub struct DucBlockAttributeDefinitionEntryBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
17878 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
17879 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
17880}
17881impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucBlockAttributeDefinitionEntryBuilder<'a, 'b, A> {
17882 #[inline]
17883 pub fn add_key(&mut self, key: flatbuffers::WIPOffset<&'b str>) {
17884 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlockAttributeDefinitionEntry::VT_KEY, key);
17885 }
17886 #[inline]
17887 pub fn add_value(&mut self, value: flatbuffers::WIPOffset<DucBlockAttributeDefinition<'b >>) {
17888 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucBlockAttributeDefinition>>(DucBlockAttributeDefinitionEntry::VT_VALUE, value);
17889 }
17890 #[inline]
17891 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucBlockAttributeDefinitionEntryBuilder<'a, 'b, A> {
17892 let start = _fbb.start_table();
17893 DucBlockAttributeDefinitionEntryBuilder {
17894 fbb_: _fbb,
17895 start_: start,
17896 }
17897 }
17898 #[inline]
17899 pub fn finish(self) -> flatbuffers::WIPOffset<DucBlockAttributeDefinitionEntry<'a>> {
17900 let o = self.fbb_.end_table(self.start_);
17901 self.fbb_.required(o, DucBlockAttributeDefinitionEntry::VT_KEY,"key");
17902 flatbuffers::WIPOffset::new(o.value())
17903 }
17904}
17905
17906impl core::fmt::Debug for DucBlockAttributeDefinitionEntry<'_> {
17907 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
17908 let mut ds = f.debug_struct("DucBlockAttributeDefinitionEntry");
17909 ds.field("key", &self.key());
17910 ds.field("value", &self.value());
17911 ds.finish()
17912 }
17913}
17914pub enum DucBlockOffset {}
17915#[derive(Copy, Clone, PartialEq)]
17916
17917pub struct DucBlock<'a> {
17918 pub _tab: flatbuffers::Table<'a>,
17919}
17920
17921impl<'a> flatbuffers::Follow<'a> for DucBlock<'a> {
17922 type Inner = DucBlock<'a>;
17923 #[inline]
17924 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
17925 Self { _tab: flatbuffers::Table::new(buf, loc) }
17926 }
17927}
17928
17929impl<'a> DucBlock<'a> {
17930 pub const VT_ID: flatbuffers::VOffsetT = 4;
17931 pub const VT_LABEL: flatbuffers::VOffsetT = 6;
17932 pub const VT_DESCRIPTION: flatbuffers::VOffsetT = 8;
17933 pub const VT_VERSION: flatbuffers::VOffsetT = 10;
17934 pub const VT_ATTRIBUTE_DEFINITIONS: flatbuffers::VOffsetT = 12;
17935 pub const VT_METADATA: flatbuffers::VOffsetT = 14;
17936 pub const VT_THUMBNAIL: flatbuffers::VOffsetT = 16;
17937
17938 #[inline]
17939 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
17940 DucBlock { _tab: table }
17941 }
17942 #[allow(unused_mut)]
17943 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
17944 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
17945 args: &'args DucBlockArgs<'args>
17946 ) -> flatbuffers::WIPOffset<DucBlock<'bldr>> {
17947 let mut builder = DucBlockBuilder::new(_fbb);
17948 if let Some(x) = args.thumbnail { builder.add_thumbnail(x); }
17949 if let Some(x) = args.metadata { builder.add_metadata(x); }
17950 if let Some(x) = args.attribute_definitions { builder.add_attribute_definitions(x); }
17951 builder.add_version(args.version);
17952 if let Some(x) = args.description { builder.add_description(x); }
17953 if let Some(x) = args.label { builder.add_label(x); }
17954 if let Some(x) = args.id { builder.add_id(x); }
17955 builder.finish()
17956 }
17957
17958
17959 #[inline]
17960 pub fn id(&self) -> &'a str {
17961 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucBlock::VT_ID, None).unwrap()}
17965 }
17966 #[inline]
17967 pub fn key_compare_less_than(&self, o: &DucBlock) -> bool {
17968 self.id() < o.id()
17969 }
17970
17971 #[inline]
17972 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
17973 let key = self.id();
17974 key.cmp(val)
17975 }
17976 #[inline]
17977 pub fn label(&self) -> Option<&'a str> {
17978 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucBlock::VT_LABEL, None)}
17982 }
17983 #[inline]
17984 pub fn description(&self) -> Option<&'a str> {
17985 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucBlock::VT_DESCRIPTION, None)}
17989 }
17990 #[inline]
17991 pub fn version(&self) -> i32 {
17992 unsafe { self._tab.get::<i32>(DucBlock::VT_VERSION, Some(0)).unwrap()}
17996 }
17997 #[inline]
17998 pub fn attribute_definitions(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucBlockAttributeDefinitionEntry<'a>>>> {
17999 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucBlockAttributeDefinitionEntry>>>>(DucBlock::VT_ATTRIBUTE_DEFINITIONS, None)}
18003 }
18004 #[inline]
18005 pub fn metadata(&self) -> Option<DucBlockMetadata<'a>> {
18006 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucBlockMetadata>>(DucBlock::VT_METADATA, None)}
18010 }
18011 #[inline]
18012 pub fn thumbnail(&self) -> Option<flatbuffers::Vector<'a, u8>> {
18013 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(DucBlock::VT_THUMBNAIL, None)}
18017 }
18018}
18019
18020impl flatbuffers::Verifiable for DucBlock<'_> {
18021 #[inline]
18022 fn run_verifier(
18023 v: &mut flatbuffers::Verifier, pos: usize
18024 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
18025 use self::flatbuffers::Verifiable;
18026 v.visit_table(pos)?
18027 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("id", Self::VT_ID, true)?
18028 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("label", Self::VT_LABEL, false)?
18029 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("description", Self::VT_DESCRIPTION, false)?
18030 .visit_field::<i32>("version", Self::VT_VERSION, false)?
18031 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucBlockAttributeDefinitionEntry>>>>("attribute_definitions", Self::VT_ATTRIBUTE_DEFINITIONS, false)?
18032 .visit_field::<flatbuffers::ForwardsUOffset<DucBlockMetadata>>("metadata", Self::VT_METADATA, false)?
18033 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("thumbnail", Self::VT_THUMBNAIL, false)?
18034 .finish();
18035 Ok(())
18036 }
18037}
18038pub struct DucBlockArgs<'a> {
18039 pub id: Option<flatbuffers::WIPOffset<&'a str>>,
18040 pub label: Option<flatbuffers::WIPOffset<&'a str>>,
18041 pub description: Option<flatbuffers::WIPOffset<&'a str>>,
18042 pub version: i32,
18043 pub attribute_definitions: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucBlockAttributeDefinitionEntry<'a>>>>>,
18044 pub metadata: Option<flatbuffers::WIPOffset<DucBlockMetadata<'a>>>,
18045 pub thumbnail: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
18046}
18047impl<'a> Default for DucBlockArgs<'a> {
18048 #[inline]
18049 fn default() -> Self {
18050 DucBlockArgs {
18051 id: None, label: None,
18053 description: None,
18054 version: 0,
18055 attribute_definitions: None,
18056 metadata: None,
18057 thumbnail: None,
18058 }
18059 }
18060}
18061
18062pub struct DucBlockBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
18063 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
18064 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
18065}
18066impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucBlockBuilder<'a, 'b, A> {
18067 #[inline]
18068 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<&'b str>) {
18069 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlock::VT_ID, id);
18070 }
18071 #[inline]
18072 pub fn add_label(&mut self, label: flatbuffers::WIPOffset<&'b str>) {
18073 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlock::VT_LABEL, label);
18074 }
18075 #[inline]
18076 pub fn add_description(&mut self, description: flatbuffers::WIPOffset<&'b str>) {
18077 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlock::VT_DESCRIPTION, description);
18078 }
18079 #[inline]
18080 pub fn add_version(&mut self, version: i32) {
18081 self.fbb_.push_slot::<i32>(DucBlock::VT_VERSION, version, 0);
18082 }
18083 #[inline]
18084 pub fn add_attribute_definitions(&mut self, attribute_definitions: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucBlockAttributeDefinitionEntry<'b >>>>) {
18085 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlock::VT_ATTRIBUTE_DEFINITIONS, attribute_definitions);
18086 }
18087 #[inline]
18088 pub fn add_metadata(&mut self, metadata: flatbuffers::WIPOffset<DucBlockMetadata<'b >>) {
18089 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucBlockMetadata>>(DucBlock::VT_METADATA, metadata);
18090 }
18091 #[inline]
18092 pub fn add_thumbnail(&mut self, thumbnail: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
18093 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlock::VT_THUMBNAIL, thumbnail);
18094 }
18095 #[inline]
18096 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucBlockBuilder<'a, 'b, A> {
18097 let start = _fbb.start_table();
18098 DucBlockBuilder {
18099 fbb_: _fbb,
18100 start_: start,
18101 }
18102 }
18103 #[inline]
18104 pub fn finish(self) -> flatbuffers::WIPOffset<DucBlock<'a>> {
18105 let o = self.fbb_.end_table(self.start_);
18106 self.fbb_.required(o, DucBlock::VT_ID,"id");
18107 flatbuffers::WIPOffset::new(o.value())
18108 }
18109}
18110
18111impl core::fmt::Debug for DucBlock<'_> {
18112 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
18113 let mut ds = f.debug_struct("DucBlock");
18114 ds.field("id", &self.id());
18115 ds.field("label", &self.label());
18116 ds.field("description", &self.description());
18117 ds.field("version", &self.version());
18118 ds.field("attribute_definitions", &self.attribute_definitions());
18119 ds.field("metadata", &self.metadata());
18120 ds.field("thumbnail", &self.thumbnail());
18121 ds.finish()
18122 }
18123}
18124pub enum DucBlockMetadataOffset {}
18125#[derive(Copy, Clone, PartialEq)]
18126
18127pub struct DucBlockMetadata<'a> {
18128 pub _tab: flatbuffers::Table<'a>,
18129}
18130
18131impl<'a> flatbuffers::Follow<'a> for DucBlockMetadata<'a> {
18132 type Inner = DucBlockMetadata<'a>;
18133 #[inline]
18134 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
18135 Self { _tab: flatbuffers::Table::new(buf, loc) }
18136 }
18137}
18138
18139impl<'a> DucBlockMetadata<'a> {
18140 pub const VT_SOURCE: flatbuffers::VOffsetT = 4;
18141 pub const VT_USAGE_COUNT: flatbuffers::VOffsetT = 6;
18142 pub const VT_CREATED_AT: flatbuffers::VOffsetT = 8;
18143 pub const VT_UPDATED_AT: flatbuffers::VOffsetT = 10;
18144 pub const VT_LOCALIZATION: flatbuffers::VOffsetT = 14;
18145
18146 #[inline]
18147 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
18148 DucBlockMetadata { _tab: table }
18149 }
18150 #[allow(unused_mut)]
18151 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
18152 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
18153 args: &'args DucBlockMetadataArgs<'args>
18154 ) -> flatbuffers::WIPOffset<DucBlockMetadata<'bldr>> {
18155 let mut builder = DucBlockMetadataBuilder::new(_fbb);
18156 builder.add_updated_at(args.updated_at);
18157 builder.add_created_at(args.created_at);
18158 if let Some(x) = args.localization { builder.add_localization(x); }
18159 builder.add_usage_count(args.usage_count);
18160 if let Some(x) = args.source { builder.add_source(x); }
18161 builder.finish()
18162 }
18163
18164
18165 #[inline]
18166 pub fn source(&self) -> Option<&'a str> {
18167 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucBlockMetadata::VT_SOURCE, None)}
18171 }
18172 #[inline]
18173 pub fn usage_count(&self) -> i32 {
18174 unsafe { self._tab.get::<i32>(DucBlockMetadata::VT_USAGE_COUNT, Some(0)).unwrap()}
18178 }
18179 #[inline]
18180 pub fn created_at(&self) -> i64 {
18181 unsafe { self._tab.get::<i64>(DucBlockMetadata::VT_CREATED_AT, Some(0)).unwrap()}
18185 }
18186 #[inline]
18187 pub fn updated_at(&self) -> i64 {
18188 unsafe { self._tab.get::<i64>(DucBlockMetadata::VT_UPDATED_AT, Some(0)).unwrap()}
18192 }
18193 #[inline]
18194 pub fn localization(&self) -> Option<flatbuffers::Vector<'a, u8>> {
18195 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(DucBlockMetadata::VT_LOCALIZATION, None)}
18199 }
18200}
18201
18202impl flatbuffers::Verifiable for DucBlockMetadata<'_> {
18203 #[inline]
18204 fn run_verifier(
18205 v: &mut flatbuffers::Verifier, pos: usize
18206 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
18207 use self::flatbuffers::Verifiable;
18208 v.visit_table(pos)?
18209 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("source", Self::VT_SOURCE, false)?
18210 .visit_field::<i32>("usage_count", Self::VT_USAGE_COUNT, false)?
18211 .visit_field::<i64>("created_at", Self::VT_CREATED_AT, false)?
18212 .visit_field::<i64>("updated_at", Self::VT_UPDATED_AT, false)?
18213 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("localization", Self::VT_LOCALIZATION, false)?
18214 .finish();
18215 Ok(())
18216 }
18217}
18218pub struct DucBlockMetadataArgs<'a> {
18219 pub source: Option<flatbuffers::WIPOffset<&'a str>>,
18220 pub usage_count: i32,
18221 pub created_at: i64,
18222 pub updated_at: i64,
18223 pub localization: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
18224}
18225impl<'a> Default for DucBlockMetadataArgs<'a> {
18226 #[inline]
18227 fn default() -> Self {
18228 DucBlockMetadataArgs {
18229 source: None,
18230 usage_count: 0,
18231 created_at: 0,
18232 updated_at: 0,
18233 localization: None,
18234 }
18235 }
18236}
18237
18238pub struct DucBlockMetadataBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
18239 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
18240 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
18241}
18242impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucBlockMetadataBuilder<'a, 'b, A> {
18243 #[inline]
18244 pub fn add_source(&mut self, source: flatbuffers::WIPOffset<&'b str>) {
18245 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlockMetadata::VT_SOURCE, source);
18246 }
18247 #[inline]
18248 pub fn add_usage_count(&mut self, usage_count: i32) {
18249 self.fbb_.push_slot::<i32>(DucBlockMetadata::VT_USAGE_COUNT, usage_count, 0);
18250 }
18251 #[inline]
18252 pub fn add_created_at(&mut self, created_at: i64) {
18253 self.fbb_.push_slot::<i64>(DucBlockMetadata::VT_CREATED_AT, created_at, 0);
18254 }
18255 #[inline]
18256 pub fn add_updated_at(&mut self, updated_at: i64) {
18257 self.fbb_.push_slot::<i64>(DucBlockMetadata::VT_UPDATED_AT, updated_at, 0);
18258 }
18259 #[inline]
18260 pub fn add_localization(&mut self, localization: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
18261 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlockMetadata::VT_LOCALIZATION, localization);
18262 }
18263 #[inline]
18264 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucBlockMetadataBuilder<'a, 'b, A> {
18265 let start = _fbb.start_table();
18266 DucBlockMetadataBuilder {
18267 fbb_: _fbb,
18268 start_: start,
18269 }
18270 }
18271 #[inline]
18272 pub fn finish(self) -> flatbuffers::WIPOffset<DucBlockMetadata<'a>> {
18273 let o = self.fbb_.end_table(self.start_);
18274 flatbuffers::WIPOffset::new(o.value())
18275 }
18276}
18277
18278impl core::fmt::Debug for DucBlockMetadata<'_> {
18279 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
18280 let mut ds = f.debug_struct("DucBlockMetadata");
18281 ds.field("source", &self.source());
18282 ds.field("usage_count", &self.usage_count());
18283 ds.field("created_at", &self.created_at());
18284 ds.field("updated_at", &self.updated_at());
18285 ds.field("localization", &self.localization());
18286 ds.finish()
18287 }
18288}
18289pub enum DucBlockDuplicationArrayOffset {}
18290#[derive(Copy, Clone, PartialEq)]
18291
18292pub struct DucBlockDuplicationArray<'a> {
18293 pub _tab: flatbuffers::Table<'a>,
18294}
18295
18296impl<'a> flatbuffers::Follow<'a> for DucBlockDuplicationArray<'a> {
18297 type Inner = DucBlockDuplicationArray<'a>;
18298 #[inline]
18299 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
18300 Self { _tab: flatbuffers::Table::new(buf, loc) }
18301 }
18302}
18303
18304impl<'a> DucBlockDuplicationArray<'a> {
18305 pub const VT_ROWS: flatbuffers::VOffsetT = 4;
18306 pub const VT_COLS: flatbuffers::VOffsetT = 6;
18307 pub const VT_ROW_SPACING: flatbuffers::VOffsetT = 8;
18308 pub const VT_COL_SPACING: flatbuffers::VOffsetT = 10;
18309
18310 #[inline]
18311 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
18312 DucBlockDuplicationArray { _tab: table }
18313 }
18314 #[allow(unused_mut)]
18315 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
18316 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
18317 args: &'args DucBlockDuplicationArrayArgs
18318 ) -> flatbuffers::WIPOffset<DucBlockDuplicationArray<'bldr>> {
18319 let mut builder = DucBlockDuplicationArrayBuilder::new(_fbb);
18320 builder.add_col_spacing(args.col_spacing);
18321 builder.add_row_spacing(args.row_spacing);
18322 builder.add_cols(args.cols);
18323 builder.add_rows(args.rows);
18324 builder.finish()
18325 }
18326
18327
18328 #[inline]
18329 pub fn rows(&self) -> i32 {
18330 unsafe { self._tab.get::<i32>(DucBlockDuplicationArray::VT_ROWS, Some(0)).unwrap()}
18334 }
18335 #[inline]
18336 pub fn cols(&self) -> i32 {
18337 unsafe { self._tab.get::<i32>(DucBlockDuplicationArray::VT_COLS, Some(0)).unwrap()}
18341 }
18342 #[inline]
18343 pub fn row_spacing(&self) -> f64 {
18344 unsafe { self._tab.get::<f64>(DucBlockDuplicationArray::VT_ROW_SPACING, Some(0.0)).unwrap()}
18348 }
18349 #[inline]
18350 pub fn col_spacing(&self) -> f64 {
18351 unsafe { self._tab.get::<f64>(DucBlockDuplicationArray::VT_COL_SPACING, Some(0.0)).unwrap()}
18355 }
18356}
18357
18358impl flatbuffers::Verifiable for DucBlockDuplicationArray<'_> {
18359 #[inline]
18360 fn run_verifier(
18361 v: &mut flatbuffers::Verifier, pos: usize
18362 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
18363 use self::flatbuffers::Verifiable;
18364 v.visit_table(pos)?
18365 .visit_field::<i32>("rows", Self::VT_ROWS, false)?
18366 .visit_field::<i32>("cols", Self::VT_COLS, false)?
18367 .visit_field::<f64>("row_spacing", Self::VT_ROW_SPACING, false)?
18368 .visit_field::<f64>("col_spacing", Self::VT_COL_SPACING, false)?
18369 .finish();
18370 Ok(())
18371 }
18372}
18373pub struct DucBlockDuplicationArrayArgs {
18374 pub rows: i32,
18375 pub cols: i32,
18376 pub row_spacing: f64,
18377 pub col_spacing: f64,
18378}
18379impl<'a> Default for DucBlockDuplicationArrayArgs {
18380 #[inline]
18381 fn default() -> Self {
18382 DucBlockDuplicationArrayArgs {
18383 rows: 0,
18384 cols: 0,
18385 row_spacing: 0.0,
18386 col_spacing: 0.0,
18387 }
18388 }
18389}
18390
18391pub struct DucBlockDuplicationArrayBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
18392 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
18393 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
18394}
18395impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucBlockDuplicationArrayBuilder<'a, 'b, A> {
18396 #[inline]
18397 pub fn add_rows(&mut self, rows: i32) {
18398 self.fbb_.push_slot::<i32>(DucBlockDuplicationArray::VT_ROWS, rows, 0);
18399 }
18400 #[inline]
18401 pub fn add_cols(&mut self, cols: i32) {
18402 self.fbb_.push_slot::<i32>(DucBlockDuplicationArray::VT_COLS, cols, 0);
18403 }
18404 #[inline]
18405 pub fn add_row_spacing(&mut self, row_spacing: f64) {
18406 self.fbb_.push_slot::<f64>(DucBlockDuplicationArray::VT_ROW_SPACING, row_spacing, 0.0);
18407 }
18408 #[inline]
18409 pub fn add_col_spacing(&mut self, col_spacing: f64) {
18410 self.fbb_.push_slot::<f64>(DucBlockDuplicationArray::VT_COL_SPACING, col_spacing, 0.0);
18411 }
18412 #[inline]
18413 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucBlockDuplicationArrayBuilder<'a, 'b, A> {
18414 let start = _fbb.start_table();
18415 DucBlockDuplicationArrayBuilder {
18416 fbb_: _fbb,
18417 start_: start,
18418 }
18419 }
18420 #[inline]
18421 pub fn finish(self) -> flatbuffers::WIPOffset<DucBlockDuplicationArray<'a>> {
18422 let o = self.fbb_.end_table(self.start_);
18423 flatbuffers::WIPOffset::new(o.value())
18424 }
18425}
18426
18427impl core::fmt::Debug for DucBlockDuplicationArray<'_> {
18428 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
18429 let mut ds = f.debug_struct("DucBlockDuplicationArray");
18430 ds.field("rows", &self.rows());
18431 ds.field("cols", &self.cols());
18432 ds.field("row_spacing", &self.row_spacing());
18433 ds.field("col_spacing", &self.col_spacing());
18434 ds.finish()
18435 }
18436}
18437pub enum DucBlockInstanceElementOffset {}
18438#[derive(Copy, Clone, PartialEq)]
18439
18440pub struct DucBlockInstanceElement<'a> {
18441 pub _tab: flatbuffers::Table<'a>,
18442}
18443
18444impl<'a> flatbuffers::Follow<'a> for DucBlockInstanceElement<'a> {
18445 type Inner = DucBlockInstanceElement<'a>;
18446 #[inline]
18447 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
18448 Self { _tab: flatbuffers::Table::new(buf, loc) }
18449 }
18450}
18451
18452impl<'a> DucBlockInstanceElement<'a> {
18453
18454 #[inline]
18455 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
18456 DucBlockInstanceElement { _tab: table }
18457 }
18458 #[allow(unused_mut)]
18459 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
18460 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
18461 args: &'args DucBlockInstanceElementArgs
18462 ) -> flatbuffers::WIPOffset<DucBlockInstanceElement<'bldr>> {
18463 let mut builder = DucBlockInstanceElementBuilder::new(_fbb);
18464 builder.finish()
18465 }
18466
18467
18468}
18469
18470impl flatbuffers::Verifiable for DucBlockInstanceElement<'_> {
18471 #[inline]
18472 fn run_verifier(
18473 v: &mut flatbuffers::Verifier, pos: usize
18474 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
18475 use self::flatbuffers::Verifiable;
18476 v.visit_table(pos)?
18477 .finish();
18478 Ok(())
18479 }
18480}
18481pub struct DucBlockInstanceElementArgs {
18482}
18483impl<'a> Default for DucBlockInstanceElementArgs {
18484 #[inline]
18485 fn default() -> Self {
18486 DucBlockInstanceElementArgs {
18487 }
18488 }
18489}
18490
18491pub struct DucBlockInstanceElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
18492 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
18493 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
18494}
18495impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucBlockInstanceElementBuilder<'a, 'b, A> {
18496 #[inline]
18497 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucBlockInstanceElementBuilder<'a, 'b, A> {
18498 let start = _fbb.start_table();
18499 DucBlockInstanceElementBuilder {
18500 fbb_: _fbb,
18501 start_: start,
18502 }
18503 }
18504 #[inline]
18505 pub fn finish(self) -> flatbuffers::WIPOffset<DucBlockInstanceElement<'a>> {
18506 let o = self.fbb_.end_table(self.start_);
18507 flatbuffers::WIPOffset::new(o.value())
18508 }
18509}
18510
18511impl core::fmt::Debug for DucBlockInstanceElement<'_> {
18512 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
18513 let mut ds = f.debug_struct("DucBlockInstanceElement");
18514 ds.finish()
18515 }
18516}
18517pub enum DucBlockInstanceOffset {}
18518#[derive(Copy, Clone, PartialEq)]
18519
18520pub struct DucBlockInstance<'a> {
18521 pub _tab: flatbuffers::Table<'a>,
18522}
18523
18524impl<'a> flatbuffers::Follow<'a> for DucBlockInstance<'a> {
18525 type Inner = DucBlockInstance<'a>;
18526 #[inline]
18527 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
18528 Self { _tab: flatbuffers::Table::new(buf, loc) }
18529 }
18530}
18531
18532impl<'a> DucBlockInstance<'a> {
18533 pub const VT_ID: flatbuffers::VOffsetT = 4;
18534 pub const VT_BLOCK_ID: flatbuffers::VOffsetT = 6;
18535 pub const VT_ELEMENT_OVERRIDES: flatbuffers::VOffsetT = 8;
18536 pub const VT_ATTRIBUTE_VALUES: flatbuffers::VOffsetT = 10;
18537 pub const VT_DUPLICATION_ARRAY: flatbuffers::VOffsetT = 12;
18538 pub const VT_VERSION: flatbuffers::VOffsetT = 14;
18539
18540 #[inline]
18541 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
18542 DucBlockInstance { _tab: table }
18543 }
18544 #[allow(unused_mut)]
18545 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
18546 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
18547 args: &'args DucBlockInstanceArgs<'args>
18548 ) -> flatbuffers::WIPOffset<DucBlockInstance<'bldr>> {
18549 let mut builder = DucBlockInstanceBuilder::new(_fbb);
18550 builder.add_version(args.version);
18551 if let Some(x) = args.duplication_array { builder.add_duplication_array(x); }
18552 if let Some(x) = args.attribute_values { builder.add_attribute_values(x); }
18553 if let Some(x) = args.element_overrides { builder.add_element_overrides(x); }
18554 if let Some(x) = args.block_id { builder.add_block_id(x); }
18555 if let Some(x) = args.id { builder.add_id(x); }
18556 builder.finish()
18557 }
18558
18559
18560 #[inline]
18561 pub fn id(&self) -> Option<&'a str> {
18562 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucBlockInstance::VT_ID, None)}
18566 }
18567 #[inline]
18568 pub fn block_id(&self) -> Option<&'a str> {
18569 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucBlockInstance::VT_BLOCK_ID, None)}
18573 }
18574 #[inline]
18575 pub fn element_overrides(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<StringValueEntry<'a>>>> {
18576 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<StringValueEntry>>>>(DucBlockInstance::VT_ELEMENT_OVERRIDES, None)}
18580 }
18581 #[inline]
18582 pub fn attribute_values(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<StringValueEntry<'a>>>> {
18583 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<StringValueEntry>>>>(DucBlockInstance::VT_ATTRIBUTE_VALUES, None)}
18587 }
18588 #[inline]
18589 pub fn duplication_array(&self) -> Option<DucBlockDuplicationArray<'a>> {
18590 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucBlockDuplicationArray>>(DucBlockInstance::VT_DUPLICATION_ARRAY, None)}
18594 }
18595 #[inline]
18596 pub fn version(&self) -> i32 {
18597 unsafe { self._tab.get::<i32>(DucBlockInstance::VT_VERSION, Some(0)).unwrap()}
18601 }
18602}
18603
18604impl flatbuffers::Verifiable for DucBlockInstance<'_> {
18605 #[inline]
18606 fn run_verifier(
18607 v: &mut flatbuffers::Verifier, pos: usize
18608 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
18609 use self::flatbuffers::Verifiable;
18610 v.visit_table(pos)?
18611 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("id", Self::VT_ID, false)?
18612 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("block_id", Self::VT_BLOCK_ID, false)?
18613 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<StringValueEntry>>>>("element_overrides", Self::VT_ELEMENT_OVERRIDES, false)?
18614 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<StringValueEntry>>>>("attribute_values", Self::VT_ATTRIBUTE_VALUES, false)?
18615 .visit_field::<flatbuffers::ForwardsUOffset<DucBlockDuplicationArray>>("duplication_array", Self::VT_DUPLICATION_ARRAY, false)?
18616 .visit_field::<i32>("version", Self::VT_VERSION, false)?
18617 .finish();
18618 Ok(())
18619 }
18620}
18621pub struct DucBlockInstanceArgs<'a> {
18622 pub id: Option<flatbuffers::WIPOffset<&'a str>>,
18623 pub block_id: Option<flatbuffers::WIPOffset<&'a str>>,
18624 pub element_overrides: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<StringValueEntry<'a>>>>>,
18625 pub attribute_values: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<StringValueEntry<'a>>>>>,
18626 pub duplication_array: Option<flatbuffers::WIPOffset<DucBlockDuplicationArray<'a>>>,
18627 pub version: i32,
18628}
18629impl<'a> Default for DucBlockInstanceArgs<'a> {
18630 #[inline]
18631 fn default() -> Self {
18632 DucBlockInstanceArgs {
18633 id: None,
18634 block_id: None,
18635 element_overrides: None,
18636 attribute_values: None,
18637 duplication_array: None,
18638 version: 0,
18639 }
18640 }
18641}
18642
18643pub struct DucBlockInstanceBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
18644 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
18645 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
18646}
18647impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucBlockInstanceBuilder<'a, 'b, A> {
18648 #[inline]
18649 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<&'b str>) {
18650 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlockInstance::VT_ID, id);
18651 }
18652 #[inline]
18653 pub fn add_block_id(&mut self, block_id: flatbuffers::WIPOffset<&'b str>) {
18654 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlockInstance::VT_BLOCK_ID, block_id);
18655 }
18656 #[inline]
18657 pub fn add_element_overrides(&mut self, element_overrides: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<StringValueEntry<'b >>>>) {
18658 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlockInstance::VT_ELEMENT_OVERRIDES, element_overrides);
18659 }
18660 #[inline]
18661 pub fn add_attribute_values(&mut self, attribute_values: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<StringValueEntry<'b >>>>) {
18662 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlockInstance::VT_ATTRIBUTE_VALUES, attribute_values);
18663 }
18664 #[inline]
18665 pub fn add_duplication_array(&mut self, duplication_array: flatbuffers::WIPOffset<DucBlockDuplicationArray<'b >>) {
18666 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucBlockDuplicationArray>>(DucBlockInstance::VT_DUPLICATION_ARRAY, duplication_array);
18667 }
18668 #[inline]
18669 pub fn add_version(&mut self, version: i32) {
18670 self.fbb_.push_slot::<i32>(DucBlockInstance::VT_VERSION, version, 0);
18671 }
18672 #[inline]
18673 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucBlockInstanceBuilder<'a, 'b, A> {
18674 let start = _fbb.start_table();
18675 DucBlockInstanceBuilder {
18676 fbb_: _fbb,
18677 start_: start,
18678 }
18679 }
18680 #[inline]
18681 pub fn finish(self) -> flatbuffers::WIPOffset<DucBlockInstance<'a>> {
18682 let o = self.fbb_.end_table(self.start_);
18683 flatbuffers::WIPOffset::new(o.value())
18684 }
18685}
18686
18687impl core::fmt::Debug for DucBlockInstance<'_> {
18688 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
18689 let mut ds = f.debug_struct("DucBlockInstance");
18690 ds.field("id", &self.id());
18691 ds.field("block_id", &self.block_id());
18692 ds.field("element_overrides", &self.element_overrides());
18693 ds.field("attribute_values", &self.attribute_values());
18694 ds.field("duplication_array", &self.duplication_array());
18695 ds.field("version", &self.version());
18696 ds.finish()
18697 }
18698}
18699pub enum DucBlockCollectionOffset {}
18700#[derive(Copy, Clone, PartialEq)]
18701
18702pub struct DucBlockCollection<'a> {
18703 pub _tab: flatbuffers::Table<'a>,
18704}
18705
18706impl<'a> flatbuffers::Follow<'a> for DucBlockCollection<'a> {
18707 type Inner = DucBlockCollection<'a>;
18708 #[inline]
18709 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
18710 Self { _tab: flatbuffers::Table::new(buf, loc) }
18711 }
18712}
18713
18714impl<'a> DucBlockCollection<'a> {
18715 pub const VT_ID: flatbuffers::VOffsetT = 4;
18716 pub const VT_LABEL: flatbuffers::VOffsetT = 6;
18717 pub const VT_CHILDREN: flatbuffers::VOffsetT = 8;
18718 pub const VT_METADATA: flatbuffers::VOffsetT = 10;
18719 pub const VT_THUMBNAIL: flatbuffers::VOffsetT = 12;
18720
18721 #[inline]
18722 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
18723 DucBlockCollection { _tab: table }
18724 }
18725 #[allow(unused_mut)]
18726 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
18727 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
18728 args: &'args DucBlockCollectionArgs<'args>
18729 ) -> flatbuffers::WIPOffset<DucBlockCollection<'bldr>> {
18730 let mut builder = DucBlockCollectionBuilder::new(_fbb);
18731 if let Some(x) = args.thumbnail { builder.add_thumbnail(x); }
18732 if let Some(x) = args.metadata { builder.add_metadata(x); }
18733 if let Some(x) = args.children { builder.add_children(x); }
18734 if let Some(x) = args.label { builder.add_label(x); }
18735 if let Some(x) = args.id { builder.add_id(x); }
18736 builder.finish()
18737 }
18738
18739
18740 #[inline]
18741 pub fn id(&self) -> Option<&'a str> {
18742 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucBlockCollection::VT_ID, None)}
18746 }
18747 #[inline]
18748 pub fn label(&self) -> Option<&'a str> {
18749 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucBlockCollection::VT_LABEL, None)}
18753 }
18754 #[inline]
18755 pub fn children(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucBlockCollectionEntry<'a>>>> {
18756 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucBlockCollectionEntry>>>>(DucBlockCollection::VT_CHILDREN, None)}
18760 }
18761 #[inline]
18762 pub fn metadata(&self) -> Option<DucBlockMetadata<'a>> {
18763 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucBlockMetadata>>(DucBlockCollection::VT_METADATA, None)}
18767 }
18768 #[inline]
18769 pub fn thumbnail(&self) -> Option<flatbuffers::Vector<'a, u8>> {
18770 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(DucBlockCollection::VT_THUMBNAIL, None)}
18774 }
18775}
18776
18777impl flatbuffers::Verifiable for DucBlockCollection<'_> {
18778 #[inline]
18779 fn run_verifier(
18780 v: &mut flatbuffers::Verifier, pos: usize
18781 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
18782 use self::flatbuffers::Verifiable;
18783 v.visit_table(pos)?
18784 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("id", Self::VT_ID, false)?
18785 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("label", Self::VT_LABEL, false)?
18786 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucBlockCollectionEntry>>>>("children", Self::VT_CHILDREN, false)?
18787 .visit_field::<flatbuffers::ForwardsUOffset<DucBlockMetadata>>("metadata", Self::VT_METADATA, false)?
18788 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("thumbnail", Self::VT_THUMBNAIL, false)?
18789 .finish();
18790 Ok(())
18791 }
18792}
18793pub struct DucBlockCollectionArgs<'a> {
18794 pub id: Option<flatbuffers::WIPOffset<&'a str>>,
18795 pub label: Option<flatbuffers::WIPOffset<&'a str>>,
18796 pub children: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucBlockCollectionEntry<'a>>>>>,
18797 pub metadata: Option<flatbuffers::WIPOffset<DucBlockMetadata<'a>>>,
18798 pub thumbnail: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
18799}
18800impl<'a> Default for DucBlockCollectionArgs<'a> {
18801 #[inline]
18802 fn default() -> Self {
18803 DucBlockCollectionArgs {
18804 id: None,
18805 label: None,
18806 children: None,
18807 metadata: None,
18808 thumbnail: None,
18809 }
18810 }
18811}
18812
18813pub struct DucBlockCollectionBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
18814 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
18815 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
18816}
18817impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucBlockCollectionBuilder<'a, 'b, A> {
18818 #[inline]
18819 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<&'b str>) {
18820 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlockCollection::VT_ID, id);
18821 }
18822 #[inline]
18823 pub fn add_label(&mut self, label: flatbuffers::WIPOffset<&'b str>) {
18824 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlockCollection::VT_LABEL, label);
18825 }
18826 #[inline]
18827 pub fn add_children(&mut self, children: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucBlockCollectionEntry<'b >>>>) {
18828 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlockCollection::VT_CHILDREN, children);
18829 }
18830 #[inline]
18831 pub fn add_metadata(&mut self, metadata: flatbuffers::WIPOffset<DucBlockMetadata<'b >>) {
18832 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucBlockMetadata>>(DucBlockCollection::VT_METADATA, metadata);
18833 }
18834 #[inline]
18835 pub fn add_thumbnail(&mut self, thumbnail: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
18836 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlockCollection::VT_THUMBNAIL, thumbnail);
18837 }
18838 #[inline]
18839 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucBlockCollectionBuilder<'a, 'b, A> {
18840 let start = _fbb.start_table();
18841 DucBlockCollectionBuilder {
18842 fbb_: _fbb,
18843 start_: start,
18844 }
18845 }
18846 #[inline]
18847 pub fn finish(self) -> flatbuffers::WIPOffset<DucBlockCollection<'a>> {
18848 let o = self.fbb_.end_table(self.start_);
18849 flatbuffers::WIPOffset::new(o.value())
18850 }
18851}
18852
18853impl core::fmt::Debug for DucBlockCollection<'_> {
18854 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
18855 let mut ds = f.debug_struct("DucBlockCollection");
18856 ds.field("id", &self.id());
18857 ds.field("label", &self.label());
18858 ds.field("children", &self.children());
18859 ds.field("metadata", &self.metadata());
18860 ds.field("thumbnail", &self.thumbnail());
18861 ds.finish()
18862 }
18863}
18864pub enum DucBlockCollectionEntryOffset {}
18865#[derive(Copy, Clone, PartialEq)]
18866
18867pub struct DucBlockCollectionEntry<'a> {
18868 pub _tab: flatbuffers::Table<'a>,
18869}
18870
18871impl<'a> flatbuffers::Follow<'a> for DucBlockCollectionEntry<'a> {
18872 type Inner = DucBlockCollectionEntry<'a>;
18873 #[inline]
18874 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
18875 Self { _tab: flatbuffers::Table::new(buf, loc) }
18876 }
18877}
18878
18879impl<'a> DucBlockCollectionEntry<'a> {
18880 pub const VT_ID: flatbuffers::VOffsetT = 4;
18881 pub const VT_IS_COLLECTION: flatbuffers::VOffsetT = 6;
18882
18883 #[inline]
18884 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
18885 DucBlockCollectionEntry { _tab: table }
18886 }
18887 #[allow(unused_mut)]
18888 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
18889 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
18890 args: &'args DucBlockCollectionEntryArgs<'args>
18891 ) -> flatbuffers::WIPOffset<DucBlockCollectionEntry<'bldr>> {
18892 let mut builder = DucBlockCollectionEntryBuilder::new(_fbb);
18893 if let Some(x) = args.id { builder.add_id(x); }
18894 builder.add_is_collection(args.is_collection);
18895 builder.finish()
18896 }
18897
18898
18899 #[inline]
18900 pub fn id(&self) -> Option<&'a str> {
18901 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucBlockCollectionEntry::VT_ID, None)}
18905 }
18906 #[inline]
18907 pub fn is_collection(&self) -> bool {
18908 unsafe { self._tab.get::<bool>(DucBlockCollectionEntry::VT_IS_COLLECTION, Some(false)).unwrap()}
18912 }
18913}
18914
18915impl flatbuffers::Verifiable for DucBlockCollectionEntry<'_> {
18916 #[inline]
18917 fn run_verifier(
18918 v: &mut flatbuffers::Verifier, pos: usize
18919 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
18920 use self::flatbuffers::Verifiable;
18921 v.visit_table(pos)?
18922 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("id", Self::VT_ID, false)?
18923 .visit_field::<bool>("is_collection", Self::VT_IS_COLLECTION, false)?
18924 .finish();
18925 Ok(())
18926 }
18927}
18928pub struct DucBlockCollectionEntryArgs<'a> {
18929 pub id: Option<flatbuffers::WIPOffset<&'a str>>,
18930 pub is_collection: bool,
18931}
18932impl<'a> Default for DucBlockCollectionEntryArgs<'a> {
18933 #[inline]
18934 fn default() -> Self {
18935 DucBlockCollectionEntryArgs {
18936 id: None,
18937 is_collection: false,
18938 }
18939 }
18940}
18941
18942pub struct DucBlockCollectionEntryBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
18943 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
18944 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
18945}
18946impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucBlockCollectionEntryBuilder<'a, 'b, A> {
18947 #[inline]
18948 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<&'b str>) {
18949 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucBlockCollectionEntry::VT_ID, id);
18950 }
18951 #[inline]
18952 pub fn add_is_collection(&mut self, is_collection: bool) {
18953 self.fbb_.push_slot::<bool>(DucBlockCollectionEntry::VT_IS_COLLECTION, is_collection, false);
18954 }
18955 #[inline]
18956 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucBlockCollectionEntryBuilder<'a, 'b, A> {
18957 let start = _fbb.start_table();
18958 DucBlockCollectionEntryBuilder {
18959 fbb_: _fbb,
18960 start_: start,
18961 }
18962 }
18963 #[inline]
18964 pub fn finish(self) -> flatbuffers::WIPOffset<DucBlockCollectionEntry<'a>> {
18965 let o = self.fbb_.end_table(self.start_);
18966 flatbuffers::WIPOffset::new(o.value())
18967 }
18968}
18969
18970impl core::fmt::Debug for DucBlockCollectionEntry<'_> {
18971 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
18972 let mut ds = f.debug_struct("DucBlockCollectionEntry");
18973 ds.field("id", &self.id());
18974 ds.field("is_collection", &self.is_collection());
18975 ds.finish()
18976 }
18977}
18978pub enum DucFrameElementOffset {}
18979#[derive(Copy, Clone, PartialEq)]
18980
18981pub struct DucFrameElement<'a> {
18982 pub _tab: flatbuffers::Table<'a>,
18983}
18984
18985impl<'a> flatbuffers::Follow<'a> for DucFrameElement<'a> {
18986 type Inner = DucFrameElement<'a>;
18987 #[inline]
18988 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
18989 Self { _tab: flatbuffers::Table::new(buf, loc) }
18990 }
18991}
18992
18993impl<'a> DucFrameElement<'a> {
18994 pub const VT_STACK_ELEMENT_BASE: flatbuffers::VOffsetT = 4;
18995
18996 #[inline]
18997 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
18998 DucFrameElement { _tab: table }
18999 }
19000 #[allow(unused_mut)]
19001 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
19002 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
19003 args: &'args DucFrameElementArgs<'args>
19004 ) -> flatbuffers::WIPOffset<DucFrameElement<'bldr>> {
19005 let mut builder = DucFrameElementBuilder::new(_fbb);
19006 if let Some(x) = args.stack_element_base { builder.add_stack_element_base(x); }
19007 builder.finish()
19008 }
19009
19010
19011 #[inline]
19012 pub fn stack_element_base(&self) -> Option<_DucStackElementBase<'a>> {
19013 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucStackElementBase>>(DucFrameElement::VT_STACK_ELEMENT_BASE, None)}
19017 }
19018}
19019
19020impl flatbuffers::Verifiable for DucFrameElement<'_> {
19021 #[inline]
19022 fn run_verifier(
19023 v: &mut flatbuffers::Verifier, pos: usize
19024 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
19025 use self::flatbuffers::Verifiable;
19026 v.visit_table(pos)?
19027 .visit_field::<flatbuffers::ForwardsUOffset<_DucStackElementBase>>("stack_element_base", Self::VT_STACK_ELEMENT_BASE, false)?
19028 .finish();
19029 Ok(())
19030 }
19031}
19032pub struct DucFrameElementArgs<'a> {
19033 pub stack_element_base: Option<flatbuffers::WIPOffset<_DucStackElementBase<'a>>>,
19034}
19035impl<'a> Default for DucFrameElementArgs<'a> {
19036 #[inline]
19037 fn default() -> Self {
19038 DucFrameElementArgs {
19039 stack_element_base: None,
19040 }
19041 }
19042}
19043
19044pub struct DucFrameElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
19045 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
19046 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
19047}
19048impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucFrameElementBuilder<'a, 'b, A> {
19049 #[inline]
19050 pub fn add_stack_element_base(&mut self, stack_element_base: flatbuffers::WIPOffset<_DucStackElementBase<'b >>) {
19051 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucStackElementBase>>(DucFrameElement::VT_STACK_ELEMENT_BASE, stack_element_base);
19052 }
19053 #[inline]
19054 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucFrameElementBuilder<'a, 'b, A> {
19055 let start = _fbb.start_table();
19056 DucFrameElementBuilder {
19057 fbb_: _fbb,
19058 start_: start,
19059 }
19060 }
19061 #[inline]
19062 pub fn finish(self) -> flatbuffers::WIPOffset<DucFrameElement<'a>> {
19063 let o = self.fbb_.end_table(self.start_);
19064 flatbuffers::WIPOffset::new(o.value())
19065 }
19066}
19067
19068impl core::fmt::Debug for DucFrameElement<'_> {
19069 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
19070 let mut ds = f.debug_struct("DucFrameElement");
19071 ds.field("stack_element_base", &self.stack_element_base());
19072 ds.finish()
19073 }
19074}
19075pub enum PlotLayoutOffset {}
19076#[derive(Copy, Clone, PartialEq)]
19077
19078pub struct PlotLayout<'a> {
19079 pub _tab: flatbuffers::Table<'a>,
19080}
19081
19082impl<'a> flatbuffers::Follow<'a> for PlotLayout<'a> {
19083 type Inner = PlotLayout<'a>;
19084 #[inline]
19085 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
19086 Self { _tab: flatbuffers::Table::new(buf, loc) }
19087 }
19088}
19089
19090impl<'a> PlotLayout<'a> {
19091 pub const VT_MARGINS: flatbuffers::VOffsetT = 4;
19092
19093 #[inline]
19094 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
19095 PlotLayout { _tab: table }
19096 }
19097 #[allow(unused_mut)]
19098 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
19099 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
19100 args: &'args PlotLayoutArgs<'args>
19101 ) -> flatbuffers::WIPOffset<PlotLayout<'bldr>> {
19102 let mut builder = PlotLayoutBuilder::new(_fbb);
19103 if let Some(x) = args.margins { builder.add_margins(x); }
19104 builder.finish()
19105 }
19106
19107
19108 #[inline]
19109 pub fn margins(&self) -> Option<Margins<'a>> {
19110 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Margins>>(PlotLayout::VT_MARGINS, None)}
19114 }
19115}
19116
19117impl flatbuffers::Verifiable for PlotLayout<'_> {
19118 #[inline]
19119 fn run_verifier(
19120 v: &mut flatbuffers::Verifier, pos: usize
19121 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
19122 use self::flatbuffers::Verifiable;
19123 v.visit_table(pos)?
19124 .visit_field::<flatbuffers::ForwardsUOffset<Margins>>("margins", Self::VT_MARGINS, false)?
19125 .finish();
19126 Ok(())
19127 }
19128}
19129pub struct PlotLayoutArgs<'a> {
19130 pub margins: Option<flatbuffers::WIPOffset<Margins<'a>>>,
19131}
19132impl<'a> Default for PlotLayoutArgs<'a> {
19133 #[inline]
19134 fn default() -> Self {
19135 PlotLayoutArgs {
19136 margins: None,
19137 }
19138 }
19139}
19140
19141pub struct PlotLayoutBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
19142 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
19143 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
19144}
19145impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> PlotLayoutBuilder<'a, 'b, A> {
19146 #[inline]
19147 pub fn add_margins(&mut self, margins: flatbuffers::WIPOffset<Margins<'b >>) {
19148 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Margins>>(PlotLayout::VT_MARGINS, margins);
19149 }
19150 #[inline]
19151 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> PlotLayoutBuilder<'a, 'b, A> {
19152 let start = _fbb.start_table();
19153 PlotLayoutBuilder {
19154 fbb_: _fbb,
19155 start_: start,
19156 }
19157 }
19158 #[inline]
19159 pub fn finish(self) -> flatbuffers::WIPOffset<PlotLayout<'a>> {
19160 let o = self.fbb_.end_table(self.start_);
19161 flatbuffers::WIPOffset::new(o.value())
19162 }
19163}
19164
19165impl core::fmt::Debug for PlotLayout<'_> {
19166 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
19167 let mut ds = f.debug_struct("PlotLayout");
19168 ds.field("margins", &self.margins());
19169 ds.finish()
19170 }
19171}
19172pub enum DucPlotElementOffset {}
19173#[derive(Copy, Clone, PartialEq)]
19174
19175pub struct DucPlotElement<'a> {
19176 pub _tab: flatbuffers::Table<'a>,
19177}
19178
19179impl<'a> flatbuffers::Follow<'a> for DucPlotElement<'a> {
19180 type Inner = DucPlotElement<'a>;
19181 #[inline]
19182 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
19183 Self { _tab: flatbuffers::Table::new(buf, loc) }
19184 }
19185}
19186
19187impl<'a> DucPlotElement<'a> {
19188 pub const VT_STACK_ELEMENT_BASE: flatbuffers::VOffsetT = 4;
19189 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
19190 pub const VT_LAYOUT: flatbuffers::VOffsetT = 8;
19191
19192 #[inline]
19193 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
19194 DucPlotElement { _tab: table }
19195 }
19196 #[allow(unused_mut)]
19197 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
19198 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
19199 args: &'args DucPlotElementArgs<'args>
19200 ) -> flatbuffers::WIPOffset<DucPlotElement<'bldr>> {
19201 let mut builder = DucPlotElementBuilder::new(_fbb);
19202 if let Some(x) = args.layout { builder.add_layout(x); }
19203 if let Some(x) = args.style { builder.add_style(x); }
19204 if let Some(x) = args.stack_element_base { builder.add_stack_element_base(x); }
19205 builder.finish()
19206 }
19207
19208
19209 #[inline]
19210 pub fn stack_element_base(&self) -> Option<_DucStackElementBase<'a>> {
19211 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucStackElementBase>>(DucPlotElement::VT_STACK_ELEMENT_BASE, None)}
19215 }
19216 #[inline]
19217 pub fn style(&self) -> Option<DucPlotStyle<'a>> {
19218 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucPlotStyle>>(DucPlotElement::VT_STYLE, None)}
19222 }
19223 #[inline]
19224 pub fn layout(&self) -> Option<PlotLayout<'a>> {
19225 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<PlotLayout>>(DucPlotElement::VT_LAYOUT, None)}
19229 }
19230}
19231
19232impl flatbuffers::Verifiable for DucPlotElement<'_> {
19233 #[inline]
19234 fn run_verifier(
19235 v: &mut flatbuffers::Verifier, pos: usize
19236 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
19237 use self::flatbuffers::Verifiable;
19238 v.visit_table(pos)?
19239 .visit_field::<flatbuffers::ForwardsUOffset<_DucStackElementBase>>("stack_element_base", Self::VT_STACK_ELEMENT_BASE, false)?
19240 .visit_field::<flatbuffers::ForwardsUOffset<DucPlotStyle>>("style", Self::VT_STYLE, false)?
19241 .visit_field::<flatbuffers::ForwardsUOffset<PlotLayout>>("layout", Self::VT_LAYOUT, false)?
19242 .finish();
19243 Ok(())
19244 }
19245}
19246pub struct DucPlotElementArgs<'a> {
19247 pub stack_element_base: Option<flatbuffers::WIPOffset<_DucStackElementBase<'a>>>,
19248 pub style: Option<flatbuffers::WIPOffset<DucPlotStyle<'a>>>,
19249 pub layout: Option<flatbuffers::WIPOffset<PlotLayout<'a>>>,
19250}
19251impl<'a> Default for DucPlotElementArgs<'a> {
19252 #[inline]
19253 fn default() -> Self {
19254 DucPlotElementArgs {
19255 stack_element_base: None,
19256 style: None,
19257 layout: None,
19258 }
19259 }
19260}
19261
19262pub struct DucPlotElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
19263 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
19264 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
19265}
19266impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucPlotElementBuilder<'a, 'b, A> {
19267 #[inline]
19268 pub fn add_stack_element_base(&mut self, stack_element_base: flatbuffers::WIPOffset<_DucStackElementBase<'b >>) {
19269 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucStackElementBase>>(DucPlotElement::VT_STACK_ELEMENT_BASE, stack_element_base);
19270 }
19271 #[inline]
19272 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucPlotStyle<'b >>) {
19273 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucPlotStyle>>(DucPlotElement::VT_STYLE, style);
19274 }
19275 #[inline]
19276 pub fn add_layout(&mut self, layout: flatbuffers::WIPOffset<PlotLayout<'b >>) {
19277 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<PlotLayout>>(DucPlotElement::VT_LAYOUT, layout);
19278 }
19279 #[inline]
19280 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucPlotElementBuilder<'a, 'b, A> {
19281 let start = _fbb.start_table();
19282 DucPlotElementBuilder {
19283 fbb_: _fbb,
19284 start_: start,
19285 }
19286 }
19287 #[inline]
19288 pub fn finish(self) -> flatbuffers::WIPOffset<DucPlotElement<'a>> {
19289 let o = self.fbb_.end_table(self.start_);
19290 flatbuffers::WIPOffset::new(o.value())
19291 }
19292}
19293
19294impl core::fmt::Debug for DucPlotElement<'_> {
19295 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
19296 let mut ds = f.debug_struct("DucPlotElement");
19297 ds.field("stack_element_base", &self.stack_element_base());
19298 ds.field("style", &self.style());
19299 ds.field("layout", &self.layout());
19300 ds.finish()
19301 }
19302}
19303pub enum DucViewportElementOffset {}
19304#[derive(Copy, Clone, PartialEq)]
19305
19306pub struct DucViewportElement<'a> {
19307 pub _tab: flatbuffers::Table<'a>,
19308}
19309
19310impl<'a> flatbuffers::Follow<'a> for DucViewportElement<'a> {
19311 type Inner = DucViewportElement<'a>;
19312 #[inline]
19313 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
19314 Self { _tab: flatbuffers::Table::new(buf, loc) }
19315 }
19316}
19317
19318impl<'a> DucViewportElement<'a> {
19319 pub const VT_LINEAR_BASE: flatbuffers::VOffsetT = 4;
19320 pub const VT_STACK_BASE: flatbuffers::VOffsetT = 6;
19321 pub const VT_STYLE: flatbuffers::VOffsetT = 8;
19322 pub const VT_VIEW: flatbuffers::VOffsetT = 10;
19323 pub const VT_SCALE: flatbuffers::VOffsetT = 12;
19324 pub const VT_SHADE_PLOT: flatbuffers::VOffsetT = 14;
19325 pub const VT_FROZEN_GROUP_IDS: flatbuffers::VOffsetT = 16;
19326 pub const VT_STANDARD_OVERRIDE: flatbuffers::VOffsetT = 18;
19327
19328 #[inline]
19329 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
19330 DucViewportElement { _tab: table }
19331 }
19332 #[allow(unused_mut)]
19333 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
19334 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
19335 args: &'args DucViewportElementArgs<'args>
19336 ) -> flatbuffers::WIPOffset<DucViewportElement<'bldr>> {
19337 let mut builder = DucViewportElementBuilder::new(_fbb);
19338 if let Some(x) = args.standard_override { builder.add_standard_override(x); }
19339 if let Some(x) = args.frozen_group_ids { builder.add_frozen_group_ids(x); }
19340 builder.add_scale(args.scale);
19341 if let Some(x) = args.view { builder.add_view(x); }
19342 if let Some(x) = args.style { builder.add_style(x); }
19343 if let Some(x) = args.stack_base { builder.add_stack_base(x); }
19344 if let Some(x) = args.linear_base { builder.add_linear_base(x); }
19345 if let Some(x) = args.shade_plot { builder.add_shade_plot(x); }
19346 builder.finish()
19347 }
19348
19349
19350 #[inline]
19351 pub fn linear_base(&self) -> Option<_DucLinearElementBase<'a>> {
19352 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucLinearElementBase>>(DucViewportElement::VT_LINEAR_BASE, None)}
19356 }
19357 #[inline]
19358 pub fn stack_base(&self) -> Option<_DucStackBase<'a>> {
19359 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucStackBase>>(DucViewportElement::VT_STACK_BASE, None)}
19363 }
19364 #[inline]
19365 pub fn style(&self) -> Option<DucViewportStyle<'a>> {
19366 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucViewportStyle>>(DucViewportElement::VT_STYLE, None)}
19370 }
19371 #[inline]
19372 pub fn view(&self) -> Option<DucView<'a>> {
19373 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucView>>(DucViewportElement::VT_VIEW, None)}
19377 }
19378 #[inline]
19379 pub fn scale(&self) -> f32 {
19380 unsafe { self._tab.get::<f32>(DucViewportElement::VT_SCALE, Some(0.0)).unwrap()}
19384 }
19385 #[inline]
19386 pub fn shade_plot(&self) -> Option<VIEWPORT_SHADE_PLOT> {
19387 unsafe { self._tab.get::<VIEWPORT_SHADE_PLOT>(DucViewportElement::VT_SHADE_PLOT, None)}
19391 }
19392 #[inline]
19393 pub fn frozen_group_ids(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
19394 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(DucViewportElement::VT_FROZEN_GROUP_IDS, None)}
19398 }
19399 #[inline]
19400 pub fn standard_override(&self) -> Option<&'a str> {
19401 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucViewportElement::VT_STANDARD_OVERRIDE, None)}
19405 }
19406}
19407
19408impl flatbuffers::Verifiable for DucViewportElement<'_> {
19409 #[inline]
19410 fn run_verifier(
19411 v: &mut flatbuffers::Verifier, pos: usize
19412 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
19413 use self::flatbuffers::Verifiable;
19414 v.visit_table(pos)?
19415 .visit_field::<flatbuffers::ForwardsUOffset<_DucLinearElementBase>>("linear_base", Self::VT_LINEAR_BASE, false)?
19416 .visit_field::<flatbuffers::ForwardsUOffset<_DucStackBase>>("stack_base", Self::VT_STACK_BASE, false)?
19417 .visit_field::<flatbuffers::ForwardsUOffset<DucViewportStyle>>("style", Self::VT_STYLE, false)?
19418 .visit_field::<flatbuffers::ForwardsUOffset<DucView>>("view", Self::VT_VIEW, false)?
19419 .visit_field::<f32>("scale", Self::VT_SCALE, false)?
19420 .visit_field::<VIEWPORT_SHADE_PLOT>("shade_plot", Self::VT_SHADE_PLOT, false)?
19421 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("frozen_group_ids", Self::VT_FROZEN_GROUP_IDS, false)?
19422 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("standard_override", Self::VT_STANDARD_OVERRIDE, false)?
19423 .finish();
19424 Ok(())
19425 }
19426}
19427pub struct DucViewportElementArgs<'a> {
19428 pub linear_base: Option<flatbuffers::WIPOffset<_DucLinearElementBase<'a>>>,
19429 pub stack_base: Option<flatbuffers::WIPOffset<_DucStackBase<'a>>>,
19430 pub style: Option<flatbuffers::WIPOffset<DucViewportStyle<'a>>>,
19431 pub view: Option<flatbuffers::WIPOffset<DucView<'a>>>,
19432 pub scale: f32,
19433 pub shade_plot: Option<VIEWPORT_SHADE_PLOT>,
19434 pub frozen_group_ids: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
19435 pub standard_override: Option<flatbuffers::WIPOffset<&'a str>>,
19436}
19437impl<'a> Default for DucViewportElementArgs<'a> {
19438 #[inline]
19439 fn default() -> Self {
19440 DucViewportElementArgs {
19441 linear_base: None,
19442 stack_base: None,
19443 style: None,
19444 view: None,
19445 scale: 0.0,
19446 shade_plot: None,
19447 frozen_group_ids: None,
19448 standard_override: None,
19449 }
19450 }
19451}
19452
19453pub struct DucViewportElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
19454 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
19455 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
19456}
19457impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucViewportElementBuilder<'a, 'b, A> {
19458 #[inline]
19459 pub fn add_linear_base(&mut self, linear_base: flatbuffers::WIPOffset<_DucLinearElementBase<'b >>) {
19460 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucLinearElementBase>>(DucViewportElement::VT_LINEAR_BASE, linear_base);
19461 }
19462 #[inline]
19463 pub fn add_stack_base(&mut self, stack_base: flatbuffers::WIPOffset<_DucStackBase<'b >>) {
19464 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucStackBase>>(DucViewportElement::VT_STACK_BASE, stack_base);
19465 }
19466 #[inline]
19467 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucViewportStyle<'b >>) {
19468 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucViewportStyle>>(DucViewportElement::VT_STYLE, style);
19469 }
19470 #[inline]
19471 pub fn add_view(&mut self, view: flatbuffers::WIPOffset<DucView<'b >>) {
19472 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucView>>(DucViewportElement::VT_VIEW, view);
19473 }
19474 #[inline]
19475 pub fn add_scale(&mut self, scale: f32) {
19476 self.fbb_.push_slot::<f32>(DucViewportElement::VT_SCALE, scale, 0.0);
19477 }
19478 #[inline]
19479 pub fn add_shade_plot(&mut self, shade_plot: VIEWPORT_SHADE_PLOT) {
19480 self.fbb_.push_slot_always::<VIEWPORT_SHADE_PLOT>(DucViewportElement::VT_SHADE_PLOT, shade_plot);
19481 }
19482 #[inline]
19483 pub fn add_frozen_group_ids(&mut self, frozen_group_ids: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
19484 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucViewportElement::VT_FROZEN_GROUP_IDS, frozen_group_ids);
19485 }
19486 #[inline]
19487 pub fn add_standard_override(&mut self, standard_override: flatbuffers::WIPOffset<&'b str>) {
19488 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucViewportElement::VT_STANDARD_OVERRIDE, standard_override);
19489 }
19490 #[inline]
19491 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucViewportElementBuilder<'a, 'b, A> {
19492 let start = _fbb.start_table();
19493 DucViewportElementBuilder {
19494 fbb_: _fbb,
19495 start_: start,
19496 }
19497 }
19498 #[inline]
19499 pub fn finish(self) -> flatbuffers::WIPOffset<DucViewportElement<'a>> {
19500 let o = self.fbb_.end_table(self.start_);
19501 flatbuffers::WIPOffset::new(o.value())
19502 }
19503}
19504
19505impl core::fmt::Debug for DucViewportElement<'_> {
19506 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
19507 let mut ds = f.debug_struct("DucViewportElement");
19508 ds.field("linear_base", &self.linear_base());
19509 ds.field("stack_base", &self.stack_base());
19510 ds.field("style", &self.style());
19511 ds.field("view", &self.view());
19512 ds.field("scale", &self.scale());
19513 ds.field("shade_plot", &self.shade_plot());
19514 ds.field("frozen_group_ids", &self.frozen_group_ids());
19515 ds.field("standard_override", &self.standard_override());
19516 ds.finish()
19517 }
19518}
19519pub enum DucXRayElementOffset {}
19520#[derive(Copy, Clone, PartialEq)]
19521
19522pub struct DucXRayElement<'a> {
19523 pub _tab: flatbuffers::Table<'a>,
19524}
19525
19526impl<'a> flatbuffers::Follow<'a> for DucXRayElement<'a> {
19527 type Inner = DucXRayElement<'a>;
19528 #[inline]
19529 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
19530 Self { _tab: flatbuffers::Table::new(buf, loc) }
19531 }
19532}
19533
19534impl<'a> DucXRayElement<'a> {
19535 pub const VT_BASE: flatbuffers::VOffsetT = 4;
19536 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
19537 pub const VT_ORIGIN: flatbuffers::VOffsetT = 8;
19538 pub const VT_DIRECTION: flatbuffers::VOffsetT = 10;
19539 pub const VT_START_FROM_ORIGIN: flatbuffers::VOffsetT = 12;
19540
19541 #[inline]
19542 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
19543 DucXRayElement { _tab: table }
19544 }
19545 #[allow(unused_mut)]
19546 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
19547 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
19548 args: &'args DucXRayElementArgs<'args>
19549 ) -> flatbuffers::WIPOffset<DucXRayElement<'bldr>> {
19550 let mut builder = DucXRayElementBuilder::new(_fbb);
19551 if let Some(x) = args.direction { builder.add_direction(x); }
19552 if let Some(x) = args.origin { builder.add_origin(x); }
19553 if let Some(x) = args.style { builder.add_style(x); }
19554 if let Some(x) = args.base { builder.add_base(x); }
19555 builder.add_start_from_origin(args.start_from_origin);
19556 builder.finish()
19557 }
19558
19559
19560 #[inline]
19561 pub fn base(&self) -> Option<_DucElementBase<'a>> {
19562 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(DucXRayElement::VT_BASE, None)}
19566 }
19567 #[inline]
19568 pub fn style(&self) -> Option<DucXRayStyle<'a>> {
19569 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucXRayStyle>>(DucXRayElement::VT_STYLE, None)}
19573 }
19574 #[inline]
19575 pub fn origin(&self) -> Option<DucPoint<'a>> {
19576 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucPoint>>(DucXRayElement::VT_ORIGIN, None)}
19580 }
19581 #[inline]
19582 pub fn direction(&self) -> Option<DucPoint<'a>> {
19583 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucPoint>>(DucXRayElement::VT_DIRECTION, None)}
19587 }
19588 #[inline]
19589 pub fn start_from_origin(&self) -> bool {
19590 unsafe { self._tab.get::<bool>(DucXRayElement::VT_START_FROM_ORIGIN, Some(false)).unwrap()}
19594 }
19595}
19596
19597impl flatbuffers::Verifiable for DucXRayElement<'_> {
19598 #[inline]
19599 fn run_verifier(
19600 v: &mut flatbuffers::Verifier, pos: usize
19601 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
19602 use self::flatbuffers::Verifiable;
19603 v.visit_table(pos)?
19604 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
19605 .visit_field::<flatbuffers::ForwardsUOffset<DucXRayStyle>>("style", Self::VT_STYLE, false)?
19606 .visit_field::<flatbuffers::ForwardsUOffset<DucPoint>>("origin", Self::VT_ORIGIN, false)?
19607 .visit_field::<flatbuffers::ForwardsUOffset<DucPoint>>("direction", Self::VT_DIRECTION, false)?
19608 .visit_field::<bool>("start_from_origin", Self::VT_START_FROM_ORIGIN, false)?
19609 .finish();
19610 Ok(())
19611 }
19612}
19613pub struct DucXRayElementArgs<'a> {
19614 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
19615 pub style: Option<flatbuffers::WIPOffset<DucXRayStyle<'a>>>,
19616 pub origin: Option<flatbuffers::WIPOffset<DucPoint<'a>>>,
19617 pub direction: Option<flatbuffers::WIPOffset<DucPoint<'a>>>,
19618 pub start_from_origin: bool,
19619}
19620impl<'a> Default for DucXRayElementArgs<'a> {
19621 #[inline]
19622 fn default() -> Self {
19623 DucXRayElementArgs {
19624 base: None,
19625 style: None,
19626 origin: None,
19627 direction: None,
19628 start_from_origin: false,
19629 }
19630 }
19631}
19632
19633pub struct DucXRayElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
19634 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
19635 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
19636}
19637impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucXRayElementBuilder<'a, 'b, A> {
19638 #[inline]
19639 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
19640 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(DucXRayElement::VT_BASE, base);
19641 }
19642 #[inline]
19643 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucXRayStyle<'b >>) {
19644 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucXRayStyle>>(DucXRayElement::VT_STYLE, style);
19645 }
19646 #[inline]
19647 pub fn add_origin(&mut self, origin: flatbuffers::WIPOffset<DucPoint<'b >>) {
19648 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucPoint>>(DucXRayElement::VT_ORIGIN, origin);
19649 }
19650 #[inline]
19651 pub fn add_direction(&mut self, direction: flatbuffers::WIPOffset<DucPoint<'b >>) {
19652 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucPoint>>(DucXRayElement::VT_DIRECTION, direction);
19653 }
19654 #[inline]
19655 pub fn add_start_from_origin(&mut self, start_from_origin: bool) {
19656 self.fbb_.push_slot::<bool>(DucXRayElement::VT_START_FROM_ORIGIN, start_from_origin, false);
19657 }
19658 #[inline]
19659 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucXRayElementBuilder<'a, 'b, A> {
19660 let start = _fbb.start_table();
19661 DucXRayElementBuilder {
19662 fbb_: _fbb,
19663 start_: start,
19664 }
19665 }
19666 #[inline]
19667 pub fn finish(self) -> flatbuffers::WIPOffset<DucXRayElement<'a>> {
19668 let o = self.fbb_.end_table(self.start_);
19669 flatbuffers::WIPOffset::new(o.value())
19670 }
19671}
19672
19673impl core::fmt::Debug for DucXRayElement<'_> {
19674 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
19675 let mut ds = f.debug_struct("DucXRayElement");
19676 ds.field("base", &self.base());
19677 ds.field("style", &self.style());
19678 ds.field("origin", &self.origin());
19679 ds.field("direction", &self.direction());
19680 ds.field("start_from_origin", &self.start_from_origin());
19681 ds.finish()
19682 }
19683}
19684pub enum LeaderTextBlockContentOffset {}
19685#[derive(Copy, Clone, PartialEq)]
19686
19687pub struct LeaderTextBlockContent<'a> {
19688 pub _tab: flatbuffers::Table<'a>,
19689}
19690
19691impl<'a> flatbuffers::Follow<'a> for LeaderTextBlockContent<'a> {
19692 type Inner = LeaderTextBlockContent<'a>;
19693 #[inline]
19694 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
19695 Self { _tab: flatbuffers::Table::new(buf, loc) }
19696 }
19697}
19698
19699impl<'a> LeaderTextBlockContent<'a> {
19700 pub const VT_TEXT: flatbuffers::VOffsetT = 4;
19701
19702 #[inline]
19703 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
19704 LeaderTextBlockContent { _tab: table }
19705 }
19706 #[allow(unused_mut)]
19707 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
19708 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
19709 args: &'args LeaderTextBlockContentArgs<'args>
19710 ) -> flatbuffers::WIPOffset<LeaderTextBlockContent<'bldr>> {
19711 let mut builder = LeaderTextBlockContentBuilder::new(_fbb);
19712 if let Some(x) = args.text { builder.add_text(x); }
19713 builder.finish()
19714 }
19715
19716
19717 #[inline]
19718 pub fn text(&self) -> Option<&'a str> {
19719 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LeaderTextBlockContent::VT_TEXT, None)}
19723 }
19724}
19725
19726impl flatbuffers::Verifiable for LeaderTextBlockContent<'_> {
19727 #[inline]
19728 fn run_verifier(
19729 v: &mut flatbuffers::Verifier, pos: usize
19730 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
19731 use self::flatbuffers::Verifiable;
19732 v.visit_table(pos)?
19733 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("text", Self::VT_TEXT, false)?
19734 .finish();
19735 Ok(())
19736 }
19737}
19738pub struct LeaderTextBlockContentArgs<'a> {
19739 pub text: Option<flatbuffers::WIPOffset<&'a str>>,
19740}
19741impl<'a> Default for LeaderTextBlockContentArgs<'a> {
19742 #[inline]
19743 fn default() -> Self {
19744 LeaderTextBlockContentArgs {
19745 text: None,
19746 }
19747 }
19748}
19749
19750pub struct LeaderTextBlockContentBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
19751 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
19752 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
19753}
19754impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> LeaderTextBlockContentBuilder<'a, 'b, A> {
19755 #[inline]
19756 pub fn add_text(&mut self, text: flatbuffers::WIPOffset<&'b str>) {
19757 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LeaderTextBlockContent::VT_TEXT, text);
19758 }
19759 #[inline]
19760 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> LeaderTextBlockContentBuilder<'a, 'b, A> {
19761 let start = _fbb.start_table();
19762 LeaderTextBlockContentBuilder {
19763 fbb_: _fbb,
19764 start_: start,
19765 }
19766 }
19767 #[inline]
19768 pub fn finish(self) -> flatbuffers::WIPOffset<LeaderTextBlockContent<'a>> {
19769 let o = self.fbb_.end_table(self.start_);
19770 flatbuffers::WIPOffset::new(o.value())
19771 }
19772}
19773
19774impl core::fmt::Debug for LeaderTextBlockContent<'_> {
19775 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
19776 let mut ds = f.debug_struct("LeaderTextBlockContent");
19777 ds.field("text", &self.text());
19778 ds.finish()
19779 }
19780}
19781pub enum LeaderBlockContentOffset {}
19782#[derive(Copy, Clone, PartialEq)]
19783
19784pub struct LeaderBlockContent<'a> {
19785 pub _tab: flatbuffers::Table<'a>,
19786}
19787
19788impl<'a> flatbuffers::Follow<'a> for LeaderBlockContent<'a> {
19789 type Inner = LeaderBlockContent<'a>;
19790 #[inline]
19791 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
19792 Self { _tab: flatbuffers::Table::new(buf, loc) }
19793 }
19794}
19795
19796impl<'a> LeaderBlockContent<'a> {
19797 pub const VT_BLOCK_ID: flatbuffers::VOffsetT = 4;
19798 pub const VT_ATTRIBUTE_VALUES: flatbuffers::VOffsetT = 6;
19799 pub const VT_ELEMENT_OVERRIDES: flatbuffers::VOffsetT = 8;
19800
19801 #[inline]
19802 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
19803 LeaderBlockContent { _tab: table }
19804 }
19805 #[allow(unused_mut)]
19806 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
19807 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
19808 args: &'args LeaderBlockContentArgs<'args>
19809 ) -> flatbuffers::WIPOffset<LeaderBlockContent<'bldr>> {
19810 let mut builder = LeaderBlockContentBuilder::new(_fbb);
19811 if let Some(x) = args.element_overrides { builder.add_element_overrides(x); }
19812 if let Some(x) = args.attribute_values { builder.add_attribute_values(x); }
19813 if let Some(x) = args.block_id { builder.add_block_id(x); }
19814 builder.finish()
19815 }
19816
19817
19818 #[inline]
19819 pub fn block_id(&self) -> Option<&'a str> {
19820 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(LeaderBlockContent::VT_BLOCK_ID, None)}
19824 }
19825 #[inline]
19826 pub fn attribute_values(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<StringValueEntry<'a>>>> {
19827 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<StringValueEntry>>>>(LeaderBlockContent::VT_ATTRIBUTE_VALUES, None)}
19831 }
19832 #[inline]
19833 pub fn element_overrides(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<StringValueEntry<'a>>>> {
19834 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<StringValueEntry>>>>(LeaderBlockContent::VT_ELEMENT_OVERRIDES, None)}
19838 }
19839}
19840
19841impl flatbuffers::Verifiable for LeaderBlockContent<'_> {
19842 #[inline]
19843 fn run_verifier(
19844 v: &mut flatbuffers::Verifier, pos: usize
19845 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
19846 use self::flatbuffers::Verifiable;
19847 v.visit_table(pos)?
19848 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("block_id", Self::VT_BLOCK_ID, false)?
19849 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<StringValueEntry>>>>("attribute_values", Self::VT_ATTRIBUTE_VALUES, false)?
19850 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<StringValueEntry>>>>("element_overrides", Self::VT_ELEMENT_OVERRIDES, false)?
19851 .finish();
19852 Ok(())
19853 }
19854}
19855pub struct LeaderBlockContentArgs<'a> {
19856 pub block_id: Option<flatbuffers::WIPOffset<&'a str>>,
19857 pub attribute_values: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<StringValueEntry<'a>>>>>,
19858 pub element_overrides: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<StringValueEntry<'a>>>>>,
19859}
19860impl<'a> Default for LeaderBlockContentArgs<'a> {
19861 #[inline]
19862 fn default() -> Self {
19863 LeaderBlockContentArgs {
19864 block_id: None,
19865 attribute_values: None,
19866 element_overrides: None,
19867 }
19868 }
19869}
19870
19871pub struct LeaderBlockContentBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
19872 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
19873 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
19874}
19875impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> LeaderBlockContentBuilder<'a, 'b, A> {
19876 #[inline]
19877 pub fn add_block_id(&mut self, block_id: flatbuffers::WIPOffset<&'b str>) {
19878 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LeaderBlockContent::VT_BLOCK_ID, block_id);
19879 }
19880 #[inline]
19881 pub fn add_attribute_values(&mut self, attribute_values: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<StringValueEntry<'b >>>>) {
19882 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LeaderBlockContent::VT_ATTRIBUTE_VALUES, attribute_values);
19883 }
19884 #[inline]
19885 pub fn add_element_overrides(&mut self, element_overrides: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<StringValueEntry<'b >>>>) {
19886 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LeaderBlockContent::VT_ELEMENT_OVERRIDES, element_overrides);
19887 }
19888 #[inline]
19889 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> LeaderBlockContentBuilder<'a, 'b, A> {
19890 let start = _fbb.start_table();
19891 LeaderBlockContentBuilder {
19892 fbb_: _fbb,
19893 start_: start,
19894 }
19895 }
19896 #[inline]
19897 pub fn finish(self) -> flatbuffers::WIPOffset<LeaderBlockContent<'a>> {
19898 let o = self.fbb_.end_table(self.start_);
19899 flatbuffers::WIPOffset::new(o.value())
19900 }
19901}
19902
19903impl core::fmt::Debug for LeaderBlockContent<'_> {
19904 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
19905 let mut ds = f.debug_struct("LeaderBlockContent");
19906 ds.field("block_id", &self.block_id());
19907 ds.field("attribute_values", &self.attribute_values());
19908 ds.field("element_overrides", &self.element_overrides());
19909 ds.finish()
19910 }
19911}
19912pub enum LeaderContentOffset {}
19913#[derive(Copy, Clone, PartialEq)]
19914
19915pub struct LeaderContent<'a> {
19916 pub _tab: flatbuffers::Table<'a>,
19917}
19918
19919impl<'a> flatbuffers::Follow<'a> for LeaderContent<'a> {
19920 type Inner = LeaderContent<'a>;
19921 #[inline]
19922 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
19923 Self { _tab: flatbuffers::Table::new(buf, loc) }
19924 }
19925}
19926
19927impl<'a> LeaderContent<'a> {
19928 pub const VT_LEADER_CONTENT_TYPE: flatbuffers::VOffsetT = 4;
19929 pub const VT_CONTENT_TYPE: flatbuffers::VOffsetT = 6;
19930 pub const VT_CONTENT: flatbuffers::VOffsetT = 8;
19931
19932 #[inline]
19933 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
19934 LeaderContent { _tab: table }
19935 }
19936 #[allow(unused_mut)]
19937 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
19938 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
19939 args: &'args LeaderContentArgs
19940 ) -> flatbuffers::WIPOffset<LeaderContent<'bldr>> {
19941 let mut builder = LeaderContentBuilder::new(_fbb);
19942 if let Some(x) = args.content { builder.add_content(x); }
19943 builder.add_content_type(args.content_type);
19944 if let Some(x) = args.leader_content_type { builder.add_leader_content_type(x); }
19945 builder.finish()
19946 }
19947
19948
19949 #[inline]
19950 pub fn leader_content_type(&self) -> Option<LEADER_CONTENT_TYPE> {
19951 unsafe { self._tab.get::<LEADER_CONTENT_TYPE>(LeaderContent::VT_LEADER_CONTENT_TYPE, None)}
19955 }
19956 #[inline]
19957 pub fn content_type(&self) -> LeaderContentData {
19958 unsafe { self._tab.get::<LeaderContentData>(LeaderContent::VT_CONTENT_TYPE, Some(LeaderContentData::NONE)).unwrap()}
19962 }
19963 #[inline]
19964 pub fn content(&self) -> Option<flatbuffers::Table<'a>> {
19965 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Table<'a>>>(LeaderContent::VT_CONTENT, None)}
19969 }
19970 #[inline]
19971 #[allow(non_snake_case)]
19972 pub fn content_as_leader_text_block_content(&self) -> Option<LeaderTextBlockContent<'a>> {
19973 if self.content_type() == LeaderContentData::LeaderTextBlockContent {
19974 self.content().map(|t| {
19975 unsafe { LeaderTextBlockContent::init_from_table(t) }
19979 })
19980 } else {
19981 None
19982 }
19983 }
19984
19985 #[inline]
19986 #[allow(non_snake_case)]
19987 pub fn content_as_leader_block_content(&self) -> Option<LeaderBlockContent<'a>> {
19988 if self.content_type() == LeaderContentData::LeaderBlockContent {
19989 self.content().map(|t| {
19990 unsafe { LeaderBlockContent::init_from_table(t) }
19994 })
19995 } else {
19996 None
19997 }
19998 }
19999
20000}
20001
20002impl flatbuffers::Verifiable for LeaderContent<'_> {
20003 #[inline]
20004 fn run_verifier(
20005 v: &mut flatbuffers::Verifier, pos: usize
20006 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
20007 use self::flatbuffers::Verifiable;
20008 v.visit_table(pos)?
20009 .visit_field::<LEADER_CONTENT_TYPE>("leader_content_type", Self::VT_LEADER_CONTENT_TYPE, false)?
20010 .visit_union::<LeaderContentData, _>("content_type", Self::VT_CONTENT_TYPE, "content", Self::VT_CONTENT, false, |key, v, pos| {
20011 match key {
20012 LeaderContentData::LeaderTextBlockContent => v.verify_union_variant::<flatbuffers::ForwardsUOffset<LeaderTextBlockContent>>("LeaderContentData::LeaderTextBlockContent", pos),
20013 LeaderContentData::LeaderBlockContent => v.verify_union_variant::<flatbuffers::ForwardsUOffset<LeaderBlockContent>>("LeaderContentData::LeaderBlockContent", pos),
20014 _ => Ok(()),
20015 }
20016 })?
20017 .finish();
20018 Ok(())
20019 }
20020}
20021pub struct LeaderContentArgs {
20022 pub leader_content_type: Option<LEADER_CONTENT_TYPE>,
20023 pub content_type: LeaderContentData,
20024 pub content: Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>>,
20025}
20026impl<'a> Default for LeaderContentArgs {
20027 #[inline]
20028 fn default() -> Self {
20029 LeaderContentArgs {
20030 leader_content_type: None,
20031 content_type: LeaderContentData::NONE,
20032 content: None,
20033 }
20034 }
20035}
20036
20037pub struct LeaderContentBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
20038 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
20039 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
20040}
20041impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> LeaderContentBuilder<'a, 'b, A> {
20042 #[inline]
20043 pub fn add_leader_content_type(&mut self, leader_content_type: LEADER_CONTENT_TYPE) {
20044 self.fbb_.push_slot_always::<LEADER_CONTENT_TYPE>(LeaderContent::VT_LEADER_CONTENT_TYPE, leader_content_type);
20045 }
20046 #[inline]
20047 pub fn add_content_type(&mut self, content_type: LeaderContentData) {
20048 self.fbb_.push_slot::<LeaderContentData>(LeaderContent::VT_CONTENT_TYPE, content_type, LeaderContentData::NONE);
20049 }
20050 #[inline]
20051 pub fn add_content(&mut self, content: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>) {
20052 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LeaderContent::VT_CONTENT, content);
20053 }
20054 #[inline]
20055 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> LeaderContentBuilder<'a, 'b, A> {
20056 let start = _fbb.start_table();
20057 LeaderContentBuilder {
20058 fbb_: _fbb,
20059 start_: start,
20060 }
20061 }
20062 #[inline]
20063 pub fn finish(self) -> flatbuffers::WIPOffset<LeaderContent<'a>> {
20064 let o = self.fbb_.end_table(self.start_);
20065 flatbuffers::WIPOffset::new(o.value())
20066 }
20067}
20068
20069impl core::fmt::Debug for LeaderContent<'_> {
20070 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
20071 let mut ds = f.debug_struct("LeaderContent");
20072 ds.field("leader_content_type", &self.leader_content_type());
20073 ds.field("content_type", &self.content_type());
20074 match self.content_type() {
20075 LeaderContentData::LeaderTextBlockContent => {
20076 if let Some(x) = self.content_as_leader_text_block_content() {
20077 ds.field("content", &x)
20078 } else {
20079 ds.field("content", &"InvalidFlatbuffer: Union discriminant does not match value.")
20080 }
20081 },
20082 LeaderContentData::LeaderBlockContent => {
20083 if let Some(x) = self.content_as_leader_block_content() {
20084 ds.field("content", &x)
20085 } else {
20086 ds.field("content", &"InvalidFlatbuffer: Union discriminant does not match value.")
20087 }
20088 },
20089 _ => {
20090 let x: Option<()> = None;
20091 ds.field("content", &x)
20092 },
20093 };
20094 ds.finish()
20095 }
20096}
20097pub enum DucLeaderElementOffset {}
20098#[derive(Copy, Clone, PartialEq)]
20099
20100pub struct DucLeaderElement<'a> {
20101 pub _tab: flatbuffers::Table<'a>,
20102}
20103
20104impl<'a> flatbuffers::Follow<'a> for DucLeaderElement<'a> {
20105 type Inner = DucLeaderElement<'a>;
20106 #[inline]
20107 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
20108 Self { _tab: flatbuffers::Table::new(buf, loc) }
20109 }
20110}
20111
20112impl<'a> DucLeaderElement<'a> {
20113 pub const VT_LINEAR_BASE: flatbuffers::VOffsetT = 4;
20114 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
20115 pub const VT_CONTENT: flatbuffers::VOffsetT = 8;
20116 pub const VT_CONTENT_ANCHOR: flatbuffers::VOffsetT = 10;
20117
20118 #[inline]
20119 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
20120 DucLeaderElement { _tab: table }
20121 }
20122 #[allow(unused_mut)]
20123 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
20124 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
20125 args: &'args DucLeaderElementArgs<'args>
20126 ) -> flatbuffers::WIPOffset<DucLeaderElement<'bldr>> {
20127 let mut builder = DucLeaderElementBuilder::new(_fbb);
20128 if let Some(x) = args.content_anchor { builder.add_content_anchor(x); }
20129 if let Some(x) = args.content { builder.add_content(x); }
20130 if let Some(x) = args.style { builder.add_style(x); }
20131 if let Some(x) = args.linear_base { builder.add_linear_base(x); }
20132 builder.finish()
20133 }
20134
20135
20136 #[inline]
20137 pub fn linear_base(&self) -> Option<_DucLinearElementBase<'a>> {
20138 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucLinearElementBase>>(DucLeaderElement::VT_LINEAR_BASE, None)}
20142 }
20143 #[inline]
20144 pub fn style(&self) -> Option<DucLeaderStyle<'a>> {
20145 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucLeaderStyle>>(DucLeaderElement::VT_STYLE, None)}
20149 }
20150 #[inline]
20151 pub fn content(&self) -> Option<LeaderContent<'a>> {
20152 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<LeaderContent>>(DucLeaderElement::VT_CONTENT, None)}
20156 }
20157 #[inline]
20158 pub fn content_anchor(&self) -> Option<&'a GeometricPoint> {
20159 unsafe { self._tab.get::<GeometricPoint>(DucLeaderElement::VT_CONTENT_ANCHOR, None)}
20163 }
20164}
20165
20166impl flatbuffers::Verifiable for DucLeaderElement<'_> {
20167 #[inline]
20168 fn run_verifier(
20169 v: &mut flatbuffers::Verifier, pos: usize
20170 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
20171 use self::flatbuffers::Verifiable;
20172 v.visit_table(pos)?
20173 .visit_field::<flatbuffers::ForwardsUOffset<_DucLinearElementBase>>("linear_base", Self::VT_LINEAR_BASE, false)?
20174 .visit_field::<flatbuffers::ForwardsUOffset<DucLeaderStyle>>("style", Self::VT_STYLE, false)?
20175 .visit_field::<flatbuffers::ForwardsUOffset<LeaderContent>>("content", Self::VT_CONTENT, false)?
20176 .visit_field::<GeometricPoint>("content_anchor", Self::VT_CONTENT_ANCHOR, false)?
20177 .finish();
20178 Ok(())
20179 }
20180}
20181pub struct DucLeaderElementArgs<'a> {
20182 pub linear_base: Option<flatbuffers::WIPOffset<_DucLinearElementBase<'a>>>,
20183 pub style: Option<flatbuffers::WIPOffset<DucLeaderStyle<'a>>>,
20184 pub content: Option<flatbuffers::WIPOffset<LeaderContent<'a>>>,
20185 pub content_anchor: Option<&'a GeometricPoint>,
20186}
20187impl<'a> Default for DucLeaderElementArgs<'a> {
20188 #[inline]
20189 fn default() -> Self {
20190 DucLeaderElementArgs {
20191 linear_base: None,
20192 style: None,
20193 content: None,
20194 content_anchor: None,
20195 }
20196 }
20197}
20198
20199pub struct DucLeaderElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
20200 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
20201 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
20202}
20203impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucLeaderElementBuilder<'a, 'b, A> {
20204 #[inline]
20205 pub fn add_linear_base(&mut self, linear_base: flatbuffers::WIPOffset<_DucLinearElementBase<'b >>) {
20206 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucLinearElementBase>>(DucLeaderElement::VT_LINEAR_BASE, linear_base);
20207 }
20208 #[inline]
20209 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucLeaderStyle<'b >>) {
20210 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucLeaderStyle>>(DucLeaderElement::VT_STYLE, style);
20211 }
20212 #[inline]
20213 pub fn add_content(&mut self, content: flatbuffers::WIPOffset<LeaderContent<'b >>) {
20214 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<LeaderContent>>(DucLeaderElement::VT_CONTENT, content);
20215 }
20216 #[inline]
20217 pub fn add_content_anchor(&mut self, content_anchor: &GeometricPoint) {
20218 self.fbb_.push_slot_always::<&GeometricPoint>(DucLeaderElement::VT_CONTENT_ANCHOR, content_anchor);
20219 }
20220 #[inline]
20221 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucLeaderElementBuilder<'a, 'b, A> {
20222 let start = _fbb.start_table();
20223 DucLeaderElementBuilder {
20224 fbb_: _fbb,
20225 start_: start,
20226 }
20227 }
20228 #[inline]
20229 pub fn finish(self) -> flatbuffers::WIPOffset<DucLeaderElement<'a>> {
20230 let o = self.fbb_.end_table(self.start_);
20231 flatbuffers::WIPOffset::new(o.value())
20232 }
20233}
20234
20235impl core::fmt::Debug for DucLeaderElement<'_> {
20236 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
20237 let mut ds = f.debug_struct("DucLeaderElement");
20238 ds.field("linear_base", &self.linear_base());
20239 ds.field("style", &self.style());
20240 ds.field("content", &self.content());
20241 ds.field("content_anchor", &self.content_anchor());
20242 ds.finish()
20243 }
20244}
20245pub enum DimensionDefinitionPointsOffset {}
20246#[derive(Copy, Clone, PartialEq)]
20247
20248pub struct DimensionDefinitionPoints<'a> {
20249 pub _tab: flatbuffers::Table<'a>,
20250}
20251
20252impl<'a> flatbuffers::Follow<'a> for DimensionDefinitionPoints<'a> {
20253 type Inner = DimensionDefinitionPoints<'a>;
20254 #[inline]
20255 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
20256 Self { _tab: flatbuffers::Table::new(buf, loc) }
20257 }
20258}
20259
20260impl<'a> DimensionDefinitionPoints<'a> {
20261 pub const VT_ORIGIN1: flatbuffers::VOffsetT = 4;
20262 pub const VT_ORIGIN2: flatbuffers::VOffsetT = 6;
20263 pub const VT_LOCATION: flatbuffers::VOffsetT = 8;
20264 pub const VT_CENTER: flatbuffers::VOffsetT = 10;
20265 pub const VT_JOG: flatbuffers::VOffsetT = 12;
20266
20267 #[inline]
20268 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
20269 DimensionDefinitionPoints { _tab: table }
20270 }
20271 #[allow(unused_mut)]
20272 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
20273 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
20274 args: &'args DimensionDefinitionPointsArgs<'args>
20275 ) -> flatbuffers::WIPOffset<DimensionDefinitionPoints<'bldr>> {
20276 let mut builder = DimensionDefinitionPointsBuilder::new(_fbb);
20277 if let Some(x) = args.jog { builder.add_jog(x); }
20278 if let Some(x) = args.center { builder.add_center(x); }
20279 if let Some(x) = args.location { builder.add_location(x); }
20280 if let Some(x) = args.origin2 { builder.add_origin2(x); }
20281 if let Some(x) = args.origin1 { builder.add_origin1(x); }
20282 builder.finish()
20283 }
20284
20285
20286 #[inline]
20287 pub fn origin1(&self) -> Option<&'a GeometricPoint> {
20288 unsafe { self._tab.get::<GeometricPoint>(DimensionDefinitionPoints::VT_ORIGIN1, None)}
20292 }
20293 #[inline]
20294 pub fn origin2(&self) -> Option<&'a GeometricPoint> {
20295 unsafe { self._tab.get::<GeometricPoint>(DimensionDefinitionPoints::VT_ORIGIN2, None)}
20299 }
20300 #[inline]
20301 pub fn location(&self) -> Option<&'a GeometricPoint> {
20302 unsafe { self._tab.get::<GeometricPoint>(DimensionDefinitionPoints::VT_LOCATION, None)}
20306 }
20307 #[inline]
20308 pub fn center(&self) -> Option<&'a GeometricPoint> {
20309 unsafe { self._tab.get::<GeometricPoint>(DimensionDefinitionPoints::VT_CENTER, None)}
20313 }
20314 #[inline]
20315 pub fn jog(&self) -> Option<&'a GeometricPoint> {
20316 unsafe { self._tab.get::<GeometricPoint>(DimensionDefinitionPoints::VT_JOG, None)}
20320 }
20321}
20322
20323impl flatbuffers::Verifiable for DimensionDefinitionPoints<'_> {
20324 #[inline]
20325 fn run_verifier(
20326 v: &mut flatbuffers::Verifier, pos: usize
20327 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
20328 use self::flatbuffers::Verifiable;
20329 v.visit_table(pos)?
20330 .visit_field::<GeometricPoint>("origin1", Self::VT_ORIGIN1, false)?
20331 .visit_field::<GeometricPoint>("origin2", Self::VT_ORIGIN2, false)?
20332 .visit_field::<GeometricPoint>("location", Self::VT_LOCATION, false)?
20333 .visit_field::<GeometricPoint>("center", Self::VT_CENTER, false)?
20334 .visit_field::<GeometricPoint>("jog", Self::VT_JOG, false)?
20335 .finish();
20336 Ok(())
20337 }
20338}
20339pub struct DimensionDefinitionPointsArgs<'a> {
20340 pub origin1: Option<&'a GeometricPoint>,
20341 pub origin2: Option<&'a GeometricPoint>,
20342 pub location: Option<&'a GeometricPoint>,
20343 pub center: Option<&'a GeometricPoint>,
20344 pub jog: Option<&'a GeometricPoint>,
20345}
20346impl<'a> Default for DimensionDefinitionPointsArgs<'a> {
20347 #[inline]
20348 fn default() -> Self {
20349 DimensionDefinitionPointsArgs {
20350 origin1: None,
20351 origin2: None,
20352 location: None,
20353 center: None,
20354 jog: None,
20355 }
20356 }
20357}
20358
20359pub struct DimensionDefinitionPointsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
20360 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
20361 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
20362}
20363impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DimensionDefinitionPointsBuilder<'a, 'b, A> {
20364 #[inline]
20365 pub fn add_origin1(&mut self, origin1: &GeometricPoint) {
20366 self.fbb_.push_slot_always::<&GeometricPoint>(DimensionDefinitionPoints::VT_ORIGIN1, origin1);
20367 }
20368 #[inline]
20369 pub fn add_origin2(&mut self, origin2: &GeometricPoint) {
20370 self.fbb_.push_slot_always::<&GeometricPoint>(DimensionDefinitionPoints::VT_ORIGIN2, origin2);
20371 }
20372 #[inline]
20373 pub fn add_location(&mut self, location: &GeometricPoint) {
20374 self.fbb_.push_slot_always::<&GeometricPoint>(DimensionDefinitionPoints::VT_LOCATION, location);
20375 }
20376 #[inline]
20377 pub fn add_center(&mut self, center: &GeometricPoint) {
20378 self.fbb_.push_slot_always::<&GeometricPoint>(DimensionDefinitionPoints::VT_CENTER, center);
20379 }
20380 #[inline]
20381 pub fn add_jog(&mut self, jog: &GeometricPoint) {
20382 self.fbb_.push_slot_always::<&GeometricPoint>(DimensionDefinitionPoints::VT_JOG, jog);
20383 }
20384 #[inline]
20385 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DimensionDefinitionPointsBuilder<'a, 'b, A> {
20386 let start = _fbb.start_table();
20387 DimensionDefinitionPointsBuilder {
20388 fbb_: _fbb,
20389 start_: start,
20390 }
20391 }
20392 #[inline]
20393 pub fn finish(self) -> flatbuffers::WIPOffset<DimensionDefinitionPoints<'a>> {
20394 let o = self.fbb_.end_table(self.start_);
20395 flatbuffers::WIPOffset::new(o.value())
20396 }
20397}
20398
20399impl core::fmt::Debug for DimensionDefinitionPoints<'_> {
20400 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
20401 let mut ds = f.debug_struct("DimensionDefinitionPoints");
20402 ds.field("origin1", &self.origin1());
20403 ds.field("origin2", &self.origin2());
20404 ds.field("location", &self.location());
20405 ds.field("center", &self.center());
20406 ds.field("jog", &self.jog());
20407 ds.finish()
20408 }
20409}
20410pub enum DimensionBindingsOffset {}
20411#[derive(Copy, Clone, PartialEq)]
20412
20413pub struct DimensionBindings<'a> {
20414 pub _tab: flatbuffers::Table<'a>,
20415}
20416
20417impl<'a> flatbuffers::Follow<'a> for DimensionBindings<'a> {
20418 type Inner = DimensionBindings<'a>;
20419 #[inline]
20420 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
20421 Self { _tab: flatbuffers::Table::new(buf, loc) }
20422 }
20423}
20424
20425impl<'a> DimensionBindings<'a> {
20426 pub const VT_ORIGIN1: flatbuffers::VOffsetT = 4;
20427 pub const VT_ORIGIN2: flatbuffers::VOffsetT = 6;
20428 pub const VT_CENTER: flatbuffers::VOffsetT = 8;
20429
20430 #[inline]
20431 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
20432 DimensionBindings { _tab: table }
20433 }
20434 #[allow(unused_mut)]
20435 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
20436 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
20437 args: &'args DimensionBindingsArgs<'args>
20438 ) -> flatbuffers::WIPOffset<DimensionBindings<'bldr>> {
20439 let mut builder = DimensionBindingsBuilder::new(_fbb);
20440 if let Some(x) = args.center { builder.add_center(x); }
20441 if let Some(x) = args.origin2 { builder.add_origin2(x); }
20442 if let Some(x) = args.origin1 { builder.add_origin1(x); }
20443 builder.finish()
20444 }
20445
20446
20447 #[inline]
20448 pub fn origin1(&self) -> Option<DucPointBinding<'a>> {
20449 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucPointBinding>>(DimensionBindings::VT_ORIGIN1, None)}
20453 }
20454 #[inline]
20455 pub fn origin2(&self) -> Option<DucPointBinding<'a>> {
20456 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucPointBinding>>(DimensionBindings::VT_ORIGIN2, None)}
20460 }
20461 #[inline]
20462 pub fn center(&self) -> Option<DucPointBinding<'a>> {
20463 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucPointBinding>>(DimensionBindings::VT_CENTER, None)}
20467 }
20468}
20469
20470impl flatbuffers::Verifiable for DimensionBindings<'_> {
20471 #[inline]
20472 fn run_verifier(
20473 v: &mut flatbuffers::Verifier, pos: usize
20474 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
20475 use self::flatbuffers::Verifiable;
20476 v.visit_table(pos)?
20477 .visit_field::<flatbuffers::ForwardsUOffset<DucPointBinding>>("origin1", Self::VT_ORIGIN1, false)?
20478 .visit_field::<flatbuffers::ForwardsUOffset<DucPointBinding>>("origin2", Self::VT_ORIGIN2, false)?
20479 .visit_field::<flatbuffers::ForwardsUOffset<DucPointBinding>>("center", Self::VT_CENTER, false)?
20480 .finish();
20481 Ok(())
20482 }
20483}
20484pub struct DimensionBindingsArgs<'a> {
20485 pub origin1: Option<flatbuffers::WIPOffset<DucPointBinding<'a>>>,
20486 pub origin2: Option<flatbuffers::WIPOffset<DucPointBinding<'a>>>,
20487 pub center: Option<flatbuffers::WIPOffset<DucPointBinding<'a>>>,
20488}
20489impl<'a> Default for DimensionBindingsArgs<'a> {
20490 #[inline]
20491 fn default() -> Self {
20492 DimensionBindingsArgs {
20493 origin1: None,
20494 origin2: None,
20495 center: None,
20496 }
20497 }
20498}
20499
20500pub struct DimensionBindingsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
20501 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
20502 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
20503}
20504impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DimensionBindingsBuilder<'a, 'b, A> {
20505 #[inline]
20506 pub fn add_origin1(&mut self, origin1: flatbuffers::WIPOffset<DucPointBinding<'b >>) {
20507 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucPointBinding>>(DimensionBindings::VT_ORIGIN1, origin1);
20508 }
20509 #[inline]
20510 pub fn add_origin2(&mut self, origin2: flatbuffers::WIPOffset<DucPointBinding<'b >>) {
20511 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucPointBinding>>(DimensionBindings::VT_ORIGIN2, origin2);
20512 }
20513 #[inline]
20514 pub fn add_center(&mut self, center: flatbuffers::WIPOffset<DucPointBinding<'b >>) {
20515 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucPointBinding>>(DimensionBindings::VT_CENTER, center);
20516 }
20517 #[inline]
20518 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DimensionBindingsBuilder<'a, 'b, A> {
20519 let start = _fbb.start_table();
20520 DimensionBindingsBuilder {
20521 fbb_: _fbb,
20522 start_: start,
20523 }
20524 }
20525 #[inline]
20526 pub fn finish(self) -> flatbuffers::WIPOffset<DimensionBindings<'a>> {
20527 let o = self.fbb_.end_table(self.start_);
20528 flatbuffers::WIPOffset::new(o.value())
20529 }
20530}
20531
20532impl core::fmt::Debug for DimensionBindings<'_> {
20533 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
20534 let mut ds = f.debug_struct("DimensionBindings");
20535 ds.field("origin1", &self.origin1());
20536 ds.field("origin2", &self.origin2());
20537 ds.field("center", &self.center());
20538 ds.finish()
20539 }
20540}
20541pub enum DimensionBaselineDataOffset {}
20542#[derive(Copy, Clone, PartialEq)]
20543
20544pub struct DimensionBaselineData<'a> {
20545 pub _tab: flatbuffers::Table<'a>,
20546}
20547
20548impl<'a> flatbuffers::Follow<'a> for DimensionBaselineData<'a> {
20549 type Inner = DimensionBaselineData<'a>;
20550 #[inline]
20551 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
20552 Self { _tab: flatbuffers::Table::new(buf, loc) }
20553 }
20554}
20555
20556impl<'a> DimensionBaselineData<'a> {
20557 pub const VT_BASE_DIMENSION_ID: flatbuffers::VOffsetT = 4;
20558
20559 #[inline]
20560 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
20561 DimensionBaselineData { _tab: table }
20562 }
20563 #[allow(unused_mut)]
20564 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
20565 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
20566 args: &'args DimensionBaselineDataArgs<'args>
20567 ) -> flatbuffers::WIPOffset<DimensionBaselineData<'bldr>> {
20568 let mut builder = DimensionBaselineDataBuilder::new(_fbb);
20569 if let Some(x) = args.base_dimension_id { builder.add_base_dimension_id(x); }
20570 builder.finish()
20571 }
20572
20573
20574 #[inline]
20575 pub fn base_dimension_id(&self) -> Option<&'a str> {
20576 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DimensionBaselineData::VT_BASE_DIMENSION_ID, None)}
20580 }
20581}
20582
20583impl flatbuffers::Verifiable for DimensionBaselineData<'_> {
20584 #[inline]
20585 fn run_verifier(
20586 v: &mut flatbuffers::Verifier, pos: usize
20587 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
20588 use self::flatbuffers::Verifiable;
20589 v.visit_table(pos)?
20590 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("base_dimension_id", Self::VT_BASE_DIMENSION_ID, false)?
20591 .finish();
20592 Ok(())
20593 }
20594}
20595pub struct DimensionBaselineDataArgs<'a> {
20596 pub base_dimension_id: Option<flatbuffers::WIPOffset<&'a str>>,
20597}
20598impl<'a> Default for DimensionBaselineDataArgs<'a> {
20599 #[inline]
20600 fn default() -> Self {
20601 DimensionBaselineDataArgs {
20602 base_dimension_id: None,
20603 }
20604 }
20605}
20606
20607pub struct DimensionBaselineDataBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
20608 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
20609 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
20610}
20611impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DimensionBaselineDataBuilder<'a, 'b, A> {
20612 #[inline]
20613 pub fn add_base_dimension_id(&mut self, base_dimension_id: flatbuffers::WIPOffset<&'b str>) {
20614 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DimensionBaselineData::VT_BASE_DIMENSION_ID, base_dimension_id);
20615 }
20616 #[inline]
20617 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DimensionBaselineDataBuilder<'a, 'b, A> {
20618 let start = _fbb.start_table();
20619 DimensionBaselineDataBuilder {
20620 fbb_: _fbb,
20621 start_: start,
20622 }
20623 }
20624 #[inline]
20625 pub fn finish(self) -> flatbuffers::WIPOffset<DimensionBaselineData<'a>> {
20626 let o = self.fbb_.end_table(self.start_);
20627 flatbuffers::WIPOffset::new(o.value())
20628 }
20629}
20630
20631impl core::fmt::Debug for DimensionBaselineData<'_> {
20632 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
20633 let mut ds = f.debug_struct("DimensionBaselineData");
20634 ds.field("base_dimension_id", &self.base_dimension_id());
20635 ds.finish()
20636 }
20637}
20638pub enum DimensionContinueDataOffset {}
20639#[derive(Copy, Clone, PartialEq)]
20640
20641pub struct DimensionContinueData<'a> {
20642 pub _tab: flatbuffers::Table<'a>,
20643}
20644
20645impl<'a> flatbuffers::Follow<'a> for DimensionContinueData<'a> {
20646 type Inner = DimensionContinueData<'a>;
20647 #[inline]
20648 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
20649 Self { _tab: flatbuffers::Table::new(buf, loc) }
20650 }
20651}
20652
20653impl<'a> DimensionContinueData<'a> {
20654 pub const VT_CONTINUE_FROM_DIMENSION_ID: flatbuffers::VOffsetT = 4;
20655
20656 #[inline]
20657 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
20658 DimensionContinueData { _tab: table }
20659 }
20660 #[allow(unused_mut)]
20661 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
20662 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
20663 args: &'args DimensionContinueDataArgs<'args>
20664 ) -> flatbuffers::WIPOffset<DimensionContinueData<'bldr>> {
20665 let mut builder = DimensionContinueDataBuilder::new(_fbb);
20666 if let Some(x) = args.continue_from_dimension_id { builder.add_continue_from_dimension_id(x); }
20667 builder.finish()
20668 }
20669
20670
20671 #[inline]
20672 pub fn continue_from_dimension_id(&self) -> Option<&'a str> {
20673 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DimensionContinueData::VT_CONTINUE_FROM_DIMENSION_ID, None)}
20677 }
20678}
20679
20680impl flatbuffers::Verifiable for DimensionContinueData<'_> {
20681 #[inline]
20682 fn run_verifier(
20683 v: &mut flatbuffers::Verifier, pos: usize
20684 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
20685 use self::flatbuffers::Verifiable;
20686 v.visit_table(pos)?
20687 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("continue_from_dimension_id", Self::VT_CONTINUE_FROM_DIMENSION_ID, false)?
20688 .finish();
20689 Ok(())
20690 }
20691}
20692pub struct DimensionContinueDataArgs<'a> {
20693 pub continue_from_dimension_id: Option<flatbuffers::WIPOffset<&'a str>>,
20694}
20695impl<'a> Default for DimensionContinueDataArgs<'a> {
20696 #[inline]
20697 fn default() -> Self {
20698 DimensionContinueDataArgs {
20699 continue_from_dimension_id: None,
20700 }
20701 }
20702}
20703
20704pub struct DimensionContinueDataBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
20705 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
20706 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
20707}
20708impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DimensionContinueDataBuilder<'a, 'b, A> {
20709 #[inline]
20710 pub fn add_continue_from_dimension_id(&mut self, continue_from_dimension_id: flatbuffers::WIPOffset<&'b str>) {
20711 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DimensionContinueData::VT_CONTINUE_FROM_DIMENSION_ID, continue_from_dimension_id);
20712 }
20713 #[inline]
20714 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DimensionContinueDataBuilder<'a, 'b, A> {
20715 let start = _fbb.start_table();
20716 DimensionContinueDataBuilder {
20717 fbb_: _fbb,
20718 start_: start,
20719 }
20720 }
20721 #[inline]
20722 pub fn finish(self) -> flatbuffers::WIPOffset<DimensionContinueData<'a>> {
20723 let o = self.fbb_.end_table(self.start_);
20724 flatbuffers::WIPOffset::new(o.value())
20725 }
20726}
20727
20728impl core::fmt::Debug for DimensionContinueData<'_> {
20729 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
20730 let mut ds = f.debug_struct("DimensionContinueData");
20731 ds.field("continue_from_dimension_id", &self.continue_from_dimension_id());
20732 ds.finish()
20733 }
20734}
20735pub enum DucDimensionElementOffset {}
20736#[derive(Copy, Clone, PartialEq)]
20737
20738pub struct DucDimensionElement<'a> {
20739 pub _tab: flatbuffers::Table<'a>,
20740}
20741
20742impl<'a> flatbuffers::Follow<'a> for DucDimensionElement<'a> {
20743 type Inner = DucDimensionElement<'a>;
20744 #[inline]
20745 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
20746 Self { _tab: flatbuffers::Table::new(buf, loc) }
20747 }
20748}
20749
20750impl<'a> DucDimensionElement<'a> {
20751 pub const VT_BASE: flatbuffers::VOffsetT = 4;
20752 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
20753 pub const VT_DIMENSION_TYPE: flatbuffers::VOffsetT = 8;
20754 pub const VT_DEFINITION_POINTS: flatbuffers::VOffsetT = 10;
20755 pub const VT_OBLIQUE_ANGLE: flatbuffers::VOffsetT = 12;
20756 pub const VT_ORDINATE_AXIS: flatbuffers::VOffsetT = 14;
20757 pub const VT_BINDINGS: flatbuffers::VOffsetT = 16;
20758 pub const VT_TEXT_OVERRIDE: flatbuffers::VOffsetT = 18;
20759 pub const VT_TEXT_POSITION: flatbuffers::VOffsetT = 20;
20760 pub const VT_TOLERANCE_OVERRIDE: flatbuffers::VOffsetT = 22;
20761 pub const VT_BASELINE_DATA: flatbuffers::VOffsetT = 24;
20762 pub const VT_CONTINUE_DATA: flatbuffers::VOffsetT = 26;
20763
20764 #[inline]
20765 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
20766 DucDimensionElement { _tab: table }
20767 }
20768 #[allow(unused_mut)]
20769 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
20770 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
20771 args: &'args DucDimensionElementArgs<'args>
20772 ) -> flatbuffers::WIPOffset<DucDimensionElement<'bldr>> {
20773 let mut builder = DucDimensionElementBuilder::new(_fbb);
20774 if let Some(x) = args.continue_data { builder.add_continue_data(x); }
20775 if let Some(x) = args.baseline_data { builder.add_baseline_data(x); }
20776 if let Some(x) = args.tolerance_override { builder.add_tolerance_override(x); }
20777 if let Some(x) = args.text_position { builder.add_text_position(x); }
20778 if let Some(x) = args.text_override { builder.add_text_override(x); }
20779 if let Some(x) = args.bindings { builder.add_bindings(x); }
20780 builder.add_oblique_angle(args.oblique_angle);
20781 if let Some(x) = args.definition_points { builder.add_definition_points(x); }
20782 if let Some(x) = args.style { builder.add_style(x); }
20783 if let Some(x) = args.base { builder.add_base(x); }
20784 if let Some(x) = args.ordinate_axis { builder.add_ordinate_axis(x); }
20785 if let Some(x) = args.dimension_type { builder.add_dimension_type(x); }
20786 builder.finish()
20787 }
20788
20789
20790 #[inline]
20791 pub fn base(&self) -> Option<_DucElementBase<'a>> {
20792 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(DucDimensionElement::VT_BASE, None)}
20796 }
20797 #[inline]
20798 pub fn style(&self) -> Option<DucDimensionStyle<'a>> {
20799 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucDimensionStyle>>(DucDimensionElement::VT_STYLE, None)}
20803 }
20804 #[inline]
20805 pub fn dimension_type(&self) -> Option<DIMENSION_TYPE> {
20806 unsafe { self._tab.get::<DIMENSION_TYPE>(DucDimensionElement::VT_DIMENSION_TYPE, None)}
20810 }
20811 #[inline]
20812 pub fn definition_points(&self) -> Option<DimensionDefinitionPoints<'a>> {
20813 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DimensionDefinitionPoints>>(DucDimensionElement::VT_DEFINITION_POINTS, None)}
20817 }
20818 #[inline]
20819 pub fn oblique_angle(&self) -> f32 {
20820 unsafe { self._tab.get::<f32>(DucDimensionElement::VT_OBLIQUE_ANGLE, Some(0.0)).unwrap()}
20824 }
20825 #[inline]
20826 pub fn ordinate_axis(&self) -> Option<AXIS> {
20827 unsafe { self._tab.get::<AXIS>(DucDimensionElement::VT_ORDINATE_AXIS, None)}
20831 }
20832 #[inline]
20833 pub fn bindings(&self) -> Option<DimensionBindings<'a>> {
20834 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DimensionBindings>>(DucDimensionElement::VT_BINDINGS, None)}
20838 }
20839 #[inline]
20840 pub fn text_override(&self) -> Option<&'a str> {
20841 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucDimensionElement::VT_TEXT_OVERRIDE, None)}
20845 }
20846 #[inline]
20847 pub fn text_position(&self) -> Option<&'a GeometricPoint> {
20848 unsafe { self._tab.get::<GeometricPoint>(DucDimensionElement::VT_TEXT_POSITION, None)}
20852 }
20853 #[inline]
20854 pub fn tolerance_override(&self) -> Option<DimensionToleranceStyle<'a>> {
20855 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DimensionToleranceStyle>>(DucDimensionElement::VT_TOLERANCE_OVERRIDE, None)}
20859 }
20860 #[inline]
20861 pub fn baseline_data(&self) -> Option<DimensionBaselineData<'a>> {
20862 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DimensionBaselineData>>(DucDimensionElement::VT_BASELINE_DATA, None)}
20866 }
20867 #[inline]
20868 pub fn continue_data(&self) -> Option<DimensionContinueData<'a>> {
20869 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DimensionContinueData>>(DucDimensionElement::VT_CONTINUE_DATA, None)}
20873 }
20874}
20875
20876impl flatbuffers::Verifiable for DucDimensionElement<'_> {
20877 #[inline]
20878 fn run_verifier(
20879 v: &mut flatbuffers::Verifier, pos: usize
20880 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
20881 use self::flatbuffers::Verifiable;
20882 v.visit_table(pos)?
20883 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
20884 .visit_field::<flatbuffers::ForwardsUOffset<DucDimensionStyle>>("style", Self::VT_STYLE, false)?
20885 .visit_field::<DIMENSION_TYPE>("dimension_type", Self::VT_DIMENSION_TYPE, false)?
20886 .visit_field::<flatbuffers::ForwardsUOffset<DimensionDefinitionPoints>>("definition_points", Self::VT_DEFINITION_POINTS, false)?
20887 .visit_field::<f32>("oblique_angle", Self::VT_OBLIQUE_ANGLE, false)?
20888 .visit_field::<AXIS>("ordinate_axis", Self::VT_ORDINATE_AXIS, false)?
20889 .visit_field::<flatbuffers::ForwardsUOffset<DimensionBindings>>("bindings", Self::VT_BINDINGS, false)?
20890 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("text_override", Self::VT_TEXT_OVERRIDE, false)?
20891 .visit_field::<GeometricPoint>("text_position", Self::VT_TEXT_POSITION, false)?
20892 .visit_field::<flatbuffers::ForwardsUOffset<DimensionToleranceStyle>>("tolerance_override", Self::VT_TOLERANCE_OVERRIDE, false)?
20893 .visit_field::<flatbuffers::ForwardsUOffset<DimensionBaselineData>>("baseline_data", Self::VT_BASELINE_DATA, false)?
20894 .visit_field::<flatbuffers::ForwardsUOffset<DimensionContinueData>>("continue_data", Self::VT_CONTINUE_DATA, false)?
20895 .finish();
20896 Ok(())
20897 }
20898}
20899pub struct DucDimensionElementArgs<'a> {
20900 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
20901 pub style: Option<flatbuffers::WIPOffset<DucDimensionStyle<'a>>>,
20902 pub dimension_type: Option<DIMENSION_TYPE>,
20903 pub definition_points: Option<flatbuffers::WIPOffset<DimensionDefinitionPoints<'a>>>,
20904 pub oblique_angle: f32,
20905 pub ordinate_axis: Option<AXIS>,
20906 pub bindings: Option<flatbuffers::WIPOffset<DimensionBindings<'a>>>,
20907 pub text_override: Option<flatbuffers::WIPOffset<&'a str>>,
20908 pub text_position: Option<&'a GeometricPoint>,
20909 pub tolerance_override: Option<flatbuffers::WIPOffset<DimensionToleranceStyle<'a>>>,
20910 pub baseline_data: Option<flatbuffers::WIPOffset<DimensionBaselineData<'a>>>,
20911 pub continue_data: Option<flatbuffers::WIPOffset<DimensionContinueData<'a>>>,
20912}
20913impl<'a> Default for DucDimensionElementArgs<'a> {
20914 #[inline]
20915 fn default() -> Self {
20916 DucDimensionElementArgs {
20917 base: None,
20918 style: None,
20919 dimension_type: None,
20920 definition_points: None,
20921 oblique_angle: 0.0,
20922 ordinate_axis: None,
20923 bindings: None,
20924 text_override: None,
20925 text_position: None,
20926 tolerance_override: None,
20927 baseline_data: None,
20928 continue_data: None,
20929 }
20930 }
20931}
20932
20933pub struct DucDimensionElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
20934 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
20935 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
20936}
20937impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucDimensionElementBuilder<'a, 'b, A> {
20938 #[inline]
20939 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
20940 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(DucDimensionElement::VT_BASE, base);
20941 }
20942 #[inline]
20943 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucDimensionStyle<'b >>) {
20944 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucDimensionStyle>>(DucDimensionElement::VT_STYLE, style);
20945 }
20946 #[inline]
20947 pub fn add_dimension_type(&mut self, dimension_type: DIMENSION_TYPE) {
20948 self.fbb_.push_slot_always::<DIMENSION_TYPE>(DucDimensionElement::VT_DIMENSION_TYPE, dimension_type);
20949 }
20950 #[inline]
20951 pub fn add_definition_points(&mut self, definition_points: flatbuffers::WIPOffset<DimensionDefinitionPoints<'b >>) {
20952 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DimensionDefinitionPoints>>(DucDimensionElement::VT_DEFINITION_POINTS, definition_points);
20953 }
20954 #[inline]
20955 pub fn add_oblique_angle(&mut self, oblique_angle: f32) {
20956 self.fbb_.push_slot::<f32>(DucDimensionElement::VT_OBLIQUE_ANGLE, oblique_angle, 0.0);
20957 }
20958 #[inline]
20959 pub fn add_ordinate_axis(&mut self, ordinate_axis: AXIS) {
20960 self.fbb_.push_slot_always::<AXIS>(DucDimensionElement::VT_ORDINATE_AXIS, ordinate_axis);
20961 }
20962 #[inline]
20963 pub fn add_bindings(&mut self, bindings: flatbuffers::WIPOffset<DimensionBindings<'b >>) {
20964 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DimensionBindings>>(DucDimensionElement::VT_BINDINGS, bindings);
20965 }
20966 #[inline]
20967 pub fn add_text_override(&mut self, text_override: flatbuffers::WIPOffset<&'b str>) {
20968 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucDimensionElement::VT_TEXT_OVERRIDE, text_override);
20969 }
20970 #[inline]
20971 pub fn add_text_position(&mut self, text_position: &GeometricPoint) {
20972 self.fbb_.push_slot_always::<&GeometricPoint>(DucDimensionElement::VT_TEXT_POSITION, text_position);
20973 }
20974 #[inline]
20975 pub fn add_tolerance_override(&mut self, tolerance_override: flatbuffers::WIPOffset<DimensionToleranceStyle<'b >>) {
20976 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DimensionToleranceStyle>>(DucDimensionElement::VT_TOLERANCE_OVERRIDE, tolerance_override);
20977 }
20978 #[inline]
20979 pub fn add_baseline_data(&mut self, baseline_data: flatbuffers::WIPOffset<DimensionBaselineData<'b >>) {
20980 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DimensionBaselineData>>(DucDimensionElement::VT_BASELINE_DATA, baseline_data);
20981 }
20982 #[inline]
20983 pub fn add_continue_data(&mut self, continue_data: flatbuffers::WIPOffset<DimensionContinueData<'b >>) {
20984 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DimensionContinueData>>(DucDimensionElement::VT_CONTINUE_DATA, continue_data);
20985 }
20986 #[inline]
20987 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucDimensionElementBuilder<'a, 'b, A> {
20988 let start = _fbb.start_table();
20989 DucDimensionElementBuilder {
20990 fbb_: _fbb,
20991 start_: start,
20992 }
20993 }
20994 #[inline]
20995 pub fn finish(self) -> flatbuffers::WIPOffset<DucDimensionElement<'a>> {
20996 let o = self.fbb_.end_table(self.start_);
20997 flatbuffers::WIPOffset::new(o.value())
20998 }
20999}
21000
21001impl core::fmt::Debug for DucDimensionElement<'_> {
21002 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
21003 let mut ds = f.debug_struct("DucDimensionElement");
21004 ds.field("base", &self.base());
21005 ds.field("style", &self.style());
21006 ds.field("dimension_type", &self.dimension_type());
21007 ds.field("definition_points", &self.definition_points());
21008 ds.field("oblique_angle", &self.oblique_angle());
21009 ds.field("ordinate_axis", &self.ordinate_axis());
21010 ds.field("bindings", &self.bindings());
21011 ds.field("text_override", &self.text_override());
21012 ds.field("text_position", &self.text_position());
21013 ds.field("tolerance_override", &self.tolerance_override());
21014 ds.field("baseline_data", &self.baseline_data());
21015 ds.field("continue_data", &self.continue_data());
21016 ds.finish()
21017 }
21018}
21019pub enum DatumReferenceOffset {}
21020#[derive(Copy, Clone, PartialEq)]
21021
21022pub struct DatumReference<'a> {
21023 pub _tab: flatbuffers::Table<'a>,
21024}
21025
21026impl<'a> flatbuffers::Follow<'a> for DatumReference<'a> {
21027 type Inner = DatumReference<'a>;
21028 #[inline]
21029 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
21030 Self { _tab: flatbuffers::Table::new(buf, loc) }
21031 }
21032}
21033
21034impl<'a> DatumReference<'a> {
21035 pub const VT_LETTERS: flatbuffers::VOffsetT = 4;
21036 pub const VT_MODIFIER: flatbuffers::VOffsetT = 6;
21037
21038 #[inline]
21039 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
21040 DatumReference { _tab: table }
21041 }
21042 #[allow(unused_mut)]
21043 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
21044 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
21045 args: &'args DatumReferenceArgs<'args>
21046 ) -> flatbuffers::WIPOffset<DatumReference<'bldr>> {
21047 let mut builder = DatumReferenceBuilder::new(_fbb);
21048 if let Some(x) = args.letters { builder.add_letters(x); }
21049 if let Some(x) = args.modifier { builder.add_modifier(x); }
21050 builder.finish()
21051 }
21052
21053
21054 #[inline]
21055 pub fn letters(&self) -> Option<&'a str> {
21056 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DatumReference::VT_LETTERS, None)}
21060 }
21061 #[inline]
21062 pub fn modifier(&self) -> Option<MATERIAL_CONDITION> {
21063 unsafe { self._tab.get::<MATERIAL_CONDITION>(DatumReference::VT_MODIFIER, None)}
21067 }
21068}
21069
21070impl flatbuffers::Verifiable for DatumReference<'_> {
21071 #[inline]
21072 fn run_verifier(
21073 v: &mut flatbuffers::Verifier, pos: usize
21074 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
21075 use self::flatbuffers::Verifiable;
21076 v.visit_table(pos)?
21077 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("letters", Self::VT_LETTERS, false)?
21078 .visit_field::<MATERIAL_CONDITION>("modifier", Self::VT_MODIFIER, false)?
21079 .finish();
21080 Ok(())
21081 }
21082}
21083pub struct DatumReferenceArgs<'a> {
21084 pub letters: Option<flatbuffers::WIPOffset<&'a str>>,
21085 pub modifier: Option<MATERIAL_CONDITION>,
21086}
21087impl<'a> Default for DatumReferenceArgs<'a> {
21088 #[inline]
21089 fn default() -> Self {
21090 DatumReferenceArgs {
21091 letters: None,
21092 modifier: None,
21093 }
21094 }
21095}
21096
21097pub struct DatumReferenceBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
21098 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
21099 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
21100}
21101impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DatumReferenceBuilder<'a, 'b, A> {
21102 #[inline]
21103 pub fn add_letters(&mut self, letters: flatbuffers::WIPOffset<&'b str>) {
21104 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DatumReference::VT_LETTERS, letters);
21105 }
21106 #[inline]
21107 pub fn add_modifier(&mut self, modifier: MATERIAL_CONDITION) {
21108 self.fbb_.push_slot_always::<MATERIAL_CONDITION>(DatumReference::VT_MODIFIER, modifier);
21109 }
21110 #[inline]
21111 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DatumReferenceBuilder<'a, 'b, A> {
21112 let start = _fbb.start_table();
21113 DatumReferenceBuilder {
21114 fbb_: _fbb,
21115 start_: start,
21116 }
21117 }
21118 #[inline]
21119 pub fn finish(self) -> flatbuffers::WIPOffset<DatumReference<'a>> {
21120 let o = self.fbb_.end_table(self.start_);
21121 flatbuffers::WIPOffset::new(o.value())
21122 }
21123}
21124
21125impl core::fmt::Debug for DatumReference<'_> {
21126 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
21127 let mut ds = f.debug_struct("DatumReference");
21128 ds.field("letters", &self.letters());
21129 ds.field("modifier", &self.modifier());
21130 ds.finish()
21131 }
21132}
21133pub enum ToleranceClauseOffset {}
21134#[derive(Copy, Clone, PartialEq)]
21135
21136pub struct ToleranceClause<'a> {
21137 pub _tab: flatbuffers::Table<'a>,
21138}
21139
21140impl<'a> flatbuffers::Follow<'a> for ToleranceClause<'a> {
21141 type Inner = ToleranceClause<'a>;
21142 #[inline]
21143 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
21144 Self { _tab: flatbuffers::Table::new(buf, loc) }
21145 }
21146}
21147
21148impl<'a> ToleranceClause<'a> {
21149 pub const VT_VALUE: flatbuffers::VOffsetT = 4;
21150 pub const VT_ZONE_TYPE: flatbuffers::VOffsetT = 6;
21151 pub const VT_FEATURE_MODIFIERS: flatbuffers::VOffsetT = 8;
21152 pub const VT_MATERIAL_CONDITION: flatbuffers::VOffsetT = 10;
21153
21154 #[inline]
21155 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
21156 ToleranceClause { _tab: table }
21157 }
21158 #[allow(unused_mut)]
21159 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
21160 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
21161 args: &'args ToleranceClauseArgs<'args>
21162 ) -> flatbuffers::WIPOffset<ToleranceClause<'bldr>> {
21163 let mut builder = ToleranceClauseBuilder::new(_fbb);
21164 if let Some(x) = args.feature_modifiers { builder.add_feature_modifiers(x); }
21165 if let Some(x) = args.value { builder.add_value(x); }
21166 if let Some(x) = args.material_condition { builder.add_material_condition(x); }
21167 if let Some(x) = args.zone_type { builder.add_zone_type(x); }
21168 builder.finish()
21169 }
21170
21171
21172 #[inline]
21173 pub fn value(&self) -> Option<&'a str> {
21174 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(ToleranceClause::VT_VALUE, None)}
21178 }
21179 #[inline]
21180 pub fn zone_type(&self) -> Option<TOLERANCE_ZONE_TYPE> {
21181 unsafe { self._tab.get::<TOLERANCE_ZONE_TYPE>(ToleranceClause::VT_ZONE_TYPE, None)}
21185 }
21186 #[inline]
21187 pub fn feature_modifiers(&self) -> Option<flatbuffers::Vector<'a, FEATURE_MODIFIER>> {
21188 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, FEATURE_MODIFIER>>>(ToleranceClause::VT_FEATURE_MODIFIERS, None)}
21192 }
21193 #[inline]
21194 pub fn material_condition(&self) -> Option<MATERIAL_CONDITION> {
21195 unsafe { self._tab.get::<MATERIAL_CONDITION>(ToleranceClause::VT_MATERIAL_CONDITION, None)}
21199 }
21200}
21201
21202impl flatbuffers::Verifiable for ToleranceClause<'_> {
21203 #[inline]
21204 fn run_verifier(
21205 v: &mut flatbuffers::Verifier, pos: usize
21206 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
21207 use self::flatbuffers::Verifiable;
21208 v.visit_table(pos)?
21209 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("value", Self::VT_VALUE, false)?
21210 .visit_field::<TOLERANCE_ZONE_TYPE>("zone_type", Self::VT_ZONE_TYPE, false)?
21211 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, FEATURE_MODIFIER>>>("feature_modifiers", Self::VT_FEATURE_MODIFIERS, false)?
21212 .visit_field::<MATERIAL_CONDITION>("material_condition", Self::VT_MATERIAL_CONDITION, false)?
21213 .finish();
21214 Ok(())
21215 }
21216}
21217pub struct ToleranceClauseArgs<'a> {
21218 pub value: Option<flatbuffers::WIPOffset<&'a str>>,
21219 pub zone_type: Option<TOLERANCE_ZONE_TYPE>,
21220 pub feature_modifiers: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, FEATURE_MODIFIER>>>,
21221 pub material_condition: Option<MATERIAL_CONDITION>,
21222}
21223impl<'a> Default for ToleranceClauseArgs<'a> {
21224 #[inline]
21225 fn default() -> Self {
21226 ToleranceClauseArgs {
21227 value: None,
21228 zone_type: None,
21229 feature_modifiers: None,
21230 material_condition: None,
21231 }
21232 }
21233}
21234
21235pub struct ToleranceClauseBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
21236 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
21237 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
21238}
21239impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> ToleranceClauseBuilder<'a, 'b, A> {
21240 #[inline]
21241 pub fn add_value(&mut self, value: flatbuffers::WIPOffset<&'b str>) {
21242 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ToleranceClause::VT_VALUE, value);
21243 }
21244 #[inline]
21245 pub fn add_zone_type(&mut self, zone_type: TOLERANCE_ZONE_TYPE) {
21246 self.fbb_.push_slot_always::<TOLERANCE_ZONE_TYPE>(ToleranceClause::VT_ZONE_TYPE, zone_type);
21247 }
21248 #[inline]
21249 pub fn add_feature_modifiers(&mut self, feature_modifiers: flatbuffers::WIPOffset<flatbuffers::Vector<'b , FEATURE_MODIFIER>>) {
21250 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ToleranceClause::VT_FEATURE_MODIFIERS, feature_modifiers);
21251 }
21252 #[inline]
21253 pub fn add_material_condition(&mut self, material_condition: MATERIAL_CONDITION) {
21254 self.fbb_.push_slot_always::<MATERIAL_CONDITION>(ToleranceClause::VT_MATERIAL_CONDITION, material_condition);
21255 }
21256 #[inline]
21257 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> ToleranceClauseBuilder<'a, 'b, A> {
21258 let start = _fbb.start_table();
21259 ToleranceClauseBuilder {
21260 fbb_: _fbb,
21261 start_: start,
21262 }
21263 }
21264 #[inline]
21265 pub fn finish(self) -> flatbuffers::WIPOffset<ToleranceClause<'a>> {
21266 let o = self.fbb_.end_table(self.start_);
21267 flatbuffers::WIPOffset::new(o.value())
21268 }
21269}
21270
21271impl core::fmt::Debug for ToleranceClause<'_> {
21272 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
21273 let mut ds = f.debug_struct("ToleranceClause");
21274 ds.field("value", &self.value());
21275 ds.field("zone_type", &self.zone_type());
21276 ds.field("feature_modifiers", &self.feature_modifiers());
21277 ds.field("material_condition", &self.material_condition());
21278 ds.finish()
21279 }
21280}
21281pub enum FeatureControlFrameSegmentOffset {}
21282#[derive(Copy, Clone, PartialEq)]
21283
21284pub struct FeatureControlFrameSegment<'a> {
21285 pub _tab: flatbuffers::Table<'a>,
21286}
21287
21288impl<'a> flatbuffers::Follow<'a> for FeatureControlFrameSegment<'a> {
21289 type Inner = FeatureControlFrameSegment<'a>;
21290 #[inline]
21291 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
21292 Self { _tab: flatbuffers::Table::new(buf, loc) }
21293 }
21294}
21295
21296impl<'a> FeatureControlFrameSegment<'a> {
21297 pub const VT_SYMBOL: flatbuffers::VOffsetT = 4;
21298 pub const VT_TOLERANCE: flatbuffers::VOffsetT = 6;
21299 pub const VT_DATUMS: flatbuffers::VOffsetT = 8;
21300
21301 #[inline]
21302 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
21303 FeatureControlFrameSegment { _tab: table }
21304 }
21305 #[allow(unused_mut)]
21306 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
21307 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
21308 args: &'args FeatureControlFrameSegmentArgs<'args>
21309 ) -> flatbuffers::WIPOffset<FeatureControlFrameSegment<'bldr>> {
21310 let mut builder = FeatureControlFrameSegmentBuilder::new(_fbb);
21311 if let Some(x) = args.datums { builder.add_datums(x); }
21312 if let Some(x) = args.tolerance { builder.add_tolerance(x); }
21313 if let Some(x) = args.symbol { builder.add_symbol(x); }
21314 builder.finish()
21315 }
21316
21317
21318 #[inline]
21319 pub fn symbol(&self) -> Option<GDT_SYMBOL> {
21320 unsafe { self._tab.get::<GDT_SYMBOL>(FeatureControlFrameSegment::VT_SYMBOL, None)}
21324 }
21325 #[inline]
21326 pub fn tolerance(&self) -> Option<ToleranceClause<'a>> {
21327 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ToleranceClause>>(FeatureControlFrameSegment::VT_TOLERANCE, None)}
21331 }
21332 #[inline]
21333 pub fn datums(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DatumReference<'a>>>> {
21334 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DatumReference>>>>(FeatureControlFrameSegment::VT_DATUMS, None)}
21338 }
21339}
21340
21341impl flatbuffers::Verifiable for FeatureControlFrameSegment<'_> {
21342 #[inline]
21343 fn run_verifier(
21344 v: &mut flatbuffers::Verifier, pos: usize
21345 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
21346 use self::flatbuffers::Verifiable;
21347 v.visit_table(pos)?
21348 .visit_field::<GDT_SYMBOL>("symbol", Self::VT_SYMBOL, false)?
21349 .visit_field::<flatbuffers::ForwardsUOffset<ToleranceClause>>("tolerance", Self::VT_TOLERANCE, false)?
21350 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DatumReference>>>>("datums", Self::VT_DATUMS, false)?
21351 .finish();
21352 Ok(())
21353 }
21354}
21355pub struct FeatureControlFrameSegmentArgs<'a> {
21356 pub symbol: Option<GDT_SYMBOL>,
21357 pub tolerance: Option<flatbuffers::WIPOffset<ToleranceClause<'a>>>,
21358 pub datums: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DatumReference<'a>>>>>,
21359}
21360impl<'a> Default for FeatureControlFrameSegmentArgs<'a> {
21361 #[inline]
21362 fn default() -> Self {
21363 FeatureControlFrameSegmentArgs {
21364 symbol: None,
21365 tolerance: None,
21366 datums: None,
21367 }
21368 }
21369}
21370
21371pub struct FeatureControlFrameSegmentBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
21372 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
21373 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
21374}
21375impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> FeatureControlFrameSegmentBuilder<'a, 'b, A> {
21376 #[inline]
21377 pub fn add_symbol(&mut self, symbol: GDT_SYMBOL) {
21378 self.fbb_.push_slot_always::<GDT_SYMBOL>(FeatureControlFrameSegment::VT_SYMBOL, symbol);
21379 }
21380 #[inline]
21381 pub fn add_tolerance(&mut self, tolerance: flatbuffers::WIPOffset<ToleranceClause<'b >>) {
21382 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ToleranceClause>>(FeatureControlFrameSegment::VT_TOLERANCE, tolerance);
21383 }
21384 #[inline]
21385 pub fn add_datums(&mut self, datums: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DatumReference<'b >>>>) {
21386 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(FeatureControlFrameSegment::VT_DATUMS, datums);
21387 }
21388 #[inline]
21389 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> FeatureControlFrameSegmentBuilder<'a, 'b, A> {
21390 let start = _fbb.start_table();
21391 FeatureControlFrameSegmentBuilder {
21392 fbb_: _fbb,
21393 start_: start,
21394 }
21395 }
21396 #[inline]
21397 pub fn finish(self) -> flatbuffers::WIPOffset<FeatureControlFrameSegment<'a>> {
21398 let o = self.fbb_.end_table(self.start_);
21399 flatbuffers::WIPOffset::new(o.value())
21400 }
21401}
21402
21403impl core::fmt::Debug for FeatureControlFrameSegment<'_> {
21404 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
21405 let mut ds = f.debug_struct("FeatureControlFrameSegment");
21406 ds.field("symbol", &self.symbol());
21407 ds.field("tolerance", &self.tolerance());
21408 ds.field("datums", &self.datums());
21409 ds.finish()
21410 }
21411}
21412pub enum FCFBetweenModifierOffset {}
21413#[derive(Copy, Clone, PartialEq)]
21414
21415pub struct FCFBetweenModifier<'a> {
21416 pub _tab: flatbuffers::Table<'a>,
21417}
21418
21419impl<'a> flatbuffers::Follow<'a> for FCFBetweenModifier<'a> {
21420 type Inner = FCFBetweenModifier<'a>;
21421 #[inline]
21422 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
21423 Self { _tab: flatbuffers::Table::new(buf, loc) }
21424 }
21425}
21426
21427impl<'a> FCFBetweenModifier<'a> {
21428 pub const VT_START: flatbuffers::VOffsetT = 4;
21429 pub const VT_END: flatbuffers::VOffsetT = 6;
21430
21431 #[inline]
21432 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
21433 FCFBetweenModifier { _tab: table }
21434 }
21435 #[allow(unused_mut)]
21436 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
21437 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
21438 args: &'args FCFBetweenModifierArgs<'args>
21439 ) -> flatbuffers::WIPOffset<FCFBetweenModifier<'bldr>> {
21440 let mut builder = FCFBetweenModifierBuilder::new(_fbb);
21441 if let Some(x) = args.end { builder.add_end(x); }
21442 if let Some(x) = args.start { builder.add_start(x); }
21443 builder.finish()
21444 }
21445
21446
21447 #[inline]
21448 pub fn start(&self) -> Option<&'a str> {
21449 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(FCFBetweenModifier::VT_START, None)}
21453 }
21454 #[inline]
21455 pub fn end(&self) -> Option<&'a str> {
21456 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(FCFBetweenModifier::VT_END, None)}
21460 }
21461}
21462
21463impl flatbuffers::Verifiable for FCFBetweenModifier<'_> {
21464 #[inline]
21465 fn run_verifier(
21466 v: &mut flatbuffers::Verifier, pos: usize
21467 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
21468 use self::flatbuffers::Verifiable;
21469 v.visit_table(pos)?
21470 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("start", Self::VT_START, false)?
21471 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("end", Self::VT_END, false)?
21472 .finish();
21473 Ok(())
21474 }
21475}
21476pub struct FCFBetweenModifierArgs<'a> {
21477 pub start: Option<flatbuffers::WIPOffset<&'a str>>,
21478 pub end: Option<flatbuffers::WIPOffset<&'a str>>,
21479}
21480impl<'a> Default for FCFBetweenModifierArgs<'a> {
21481 #[inline]
21482 fn default() -> Self {
21483 FCFBetweenModifierArgs {
21484 start: None,
21485 end: None,
21486 }
21487 }
21488}
21489
21490pub struct FCFBetweenModifierBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
21491 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
21492 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
21493}
21494impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> FCFBetweenModifierBuilder<'a, 'b, A> {
21495 #[inline]
21496 pub fn add_start(&mut self, start: flatbuffers::WIPOffset<&'b str>) {
21497 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(FCFBetweenModifier::VT_START, start);
21498 }
21499 #[inline]
21500 pub fn add_end(&mut self, end: flatbuffers::WIPOffset<&'b str>) {
21501 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(FCFBetweenModifier::VT_END, end);
21502 }
21503 #[inline]
21504 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> FCFBetweenModifierBuilder<'a, 'b, A> {
21505 let start = _fbb.start_table();
21506 FCFBetweenModifierBuilder {
21507 fbb_: _fbb,
21508 start_: start,
21509 }
21510 }
21511 #[inline]
21512 pub fn finish(self) -> flatbuffers::WIPOffset<FCFBetweenModifier<'a>> {
21513 let o = self.fbb_.end_table(self.start_);
21514 flatbuffers::WIPOffset::new(o.value())
21515 }
21516}
21517
21518impl core::fmt::Debug for FCFBetweenModifier<'_> {
21519 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
21520 let mut ds = f.debug_struct("FCFBetweenModifier");
21521 ds.field("start", &self.start());
21522 ds.field("end", &self.end());
21523 ds.finish()
21524 }
21525}
21526pub enum FCFProjectedZoneModifierOffset {}
21527#[derive(Copy, Clone, PartialEq)]
21528
21529pub struct FCFProjectedZoneModifier<'a> {
21530 pub _tab: flatbuffers::Table<'a>,
21531}
21532
21533impl<'a> flatbuffers::Follow<'a> for FCFProjectedZoneModifier<'a> {
21534 type Inner = FCFProjectedZoneModifier<'a>;
21535 #[inline]
21536 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
21537 Self { _tab: flatbuffers::Table::new(buf, loc) }
21538 }
21539}
21540
21541impl<'a> FCFProjectedZoneModifier<'a> {
21542 pub const VT_VALUE: flatbuffers::VOffsetT = 4;
21543
21544 #[inline]
21545 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
21546 FCFProjectedZoneModifier { _tab: table }
21547 }
21548 #[allow(unused_mut)]
21549 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
21550 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
21551 args: &'args FCFProjectedZoneModifierArgs
21552 ) -> flatbuffers::WIPOffset<FCFProjectedZoneModifier<'bldr>> {
21553 let mut builder = FCFProjectedZoneModifierBuilder::new(_fbb);
21554 builder.add_value(args.value);
21555 builder.finish()
21556 }
21557
21558
21559 #[inline]
21560 pub fn value(&self) -> f64 {
21561 unsafe { self._tab.get::<f64>(FCFProjectedZoneModifier::VT_VALUE, Some(0.0)).unwrap()}
21565 }
21566}
21567
21568impl flatbuffers::Verifiable for FCFProjectedZoneModifier<'_> {
21569 #[inline]
21570 fn run_verifier(
21571 v: &mut flatbuffers::Verifier, pos: usize
21572 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
21573 use self::flatbuffers::Verifiable;
21574 v.visit_table(pos)?
21575 .visit_field::<f64>("value", Self::VT_VALUE, false)?
21576 .finish();
21577 Ok(())
21578 }
21579}
21580pub struct FCFProjectedZoneModifierArgs {
21581 pub value: f64,
21582}
21583impl<'a> Default for FCFProjectedZoneModifierArgs {
21584 #[inline]
21585 fn default() -> Self {
21586 FCFProjectedZoneModifierArgs {
21587 value: 0.0,
21588 }
21589 }
21590}
21591
21592pub struct FCFProjectedZoneModifierBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
21593 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
21594 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
21595}
21596impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> FCFProjectedZoneModifierBuilder<'a, 'b, A> {
21597 #[inline]
21598 pub fn add_value(&mut self, value: f64) {
21599 self.fbb_.push_slot::<f64>(FCFProjectedZoneModifier::VT_VALUE, value, 0.0);
21600 }
21601 #[inline]
21602 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> FCFProjectedZoneModifierBuilder<'a, 'b, A> {
21603 let start = _fbb.start_table();
21604 FCFProjectedZoneModifierBuilder {
21605 fbb_: _fbb,
21606 start_: start,
21607 }
21608 }
21609 #[inline]
21610 pub fn finish(self) -> flatbuffers::WIPOffset<FCFProjectedZoneModifier<'a>> {
21611 let o = self.fbb_.end_table(self.start_);
21612 flatbuffers::WIPOffset::new(o.value())
21613 }
21614}
21615
21616impl core::fmt::Debug for FCFProjectedZoneModifier<'_> {
21617 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
21618 let mut ds = f.debug_struct("FCFProjectedZoneModifier");
21619 ds.field("value", &self.value());
21620 ds.finish()
21621 }
21622}
21623pub enum FCFFrameModifiersOffset {}
21624#[derive(Copy, Clone, PartialEq)]
21625
21626pub struct FCFFrameModifiers<'a> {
21627 pub _tab: flatbuffers::Table<'a>,
21628}
21629
21630impl<'a> flatbuffers::Follow<'a> for FCFFrameModifiers<'a> {
21631 type Inner = FCFFrameModifiers<'a>;
21632 #[inline]
21633 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
21634 Self { _tab: flatbuffers::Table::new(buf, loc) }
21635 }
21636}
21637
21638impl<'a> FCFFrameModifiers<'a> {
21639 pub const VT_ALL_AROUND: flatbuffers::VOffsetT = 4;
21640 pub const VT_ALL_OVER: flatbuffers::VOffsetT = 6;
21641 pub const VT_CONTINUOUS_FEATURE: flatbuffers::VOffsetT = 8;
21642 pub const VT_BETWEEN: flatbuffers::VOffsetT = 10;
21643 pub const VT_PROJECTED_TOLERANCE_ZONE: flatbuffers::VOffsetT = 12;
21644
21645 #[inline]
21646 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
21647 FCFFrameModifiers { _tab: table }
21648 }
21649 #[allow(unused_mut)]
21650 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
21651 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
21652 args: &'args FCFFrameModifiersArgs<'args>
21653 ) -> flatbuffers::WIPOffset<FCFFrameModifiers<'bldr>> {
21654 let mut builder = FCFFrameModifiersBuilder::new(_fbb);
21655 if let Some(x) = args.projected_tolerance_zone { builder.add_projected_tolerance_zone(x); }
21656 if let Some(x) = args.between { builder.add_between(x); }
21657 builder.add_continuous_feature(args.continuous_feature);
21658 builder.add_all_over(args.all_over);
21659 builder.add_all_around(args.all_around);
21660 builder.finish()
21661 }
21662
21663
21664 #[inline]
21665 pub fn all_around(&self) -> bool {
21666 unsafe { self._tab.get::<bool>(FCFFrameModifiers::VT_ALL_AROUND, Some(false)).unwrap()}
21670 }
21671 #[inline]
21672 pub fn all_over(&self) -> bool {
21673 unsafe { self._tab.get::<bool>(FCFFrameModifiers::VT_ALL_OVER, Some(false)).unwrap()}
21677 }
21678 #[inline]
21679 pub fn continuous_feature(&self) -> bool {
21680 unsafe { self._tab.get::<bool>(FCFFrameModifiers::VT_CONTINUOUS_FEATURE, Some(false)).unwrap()}
21684 }
21685 #[inline]
21686 pub fn between(&self) -> Option<FCFBetweenModifier<'a>> {
21687 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<FCFBetweenModifier>>(FCFFrameModifiers::VT_BETWEEN, None)}
21691 }
21692 #[inline]
21693 pub fn projected_tolerance_zone(&self) -> Option<FCFProjectedZoneModifier<'a>> {
21694 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<FCFProjectedZoneModifier>>(FCFFrameModifiers::VT_PROJECTED_TOLERANCE_ZONE, None)}
21698 }
21699}
21700
21701impl flatbuffers::Verifiable for FCFFrameModifiers<'_> {
21702 #[inline]
21703 fn run_verifier(
21704 v: &mut flatbuffers::Verifier, pos: usize
21705 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
21706 use self::flatbuffers::Verifiable;
21707 v.visit_table(pos)?
21708 .visit_field::<bool>("all_around", Self::VT_ALL_AROUND, false)?
21709 .visit_field::<bool>("all_over", Self::VT_ALL_OVER, false)?
21710 .visit_field::<bool>("continuous_feature", Self::VT_CONTINUOUS_FEATURE, false)?
21711 .visit_field::<flatbuffers::ForwardsUOffset<FCFBetweenModifier>>("between", Self::VT_BETWEEN, false)?
21712 .visit_field::<flatbuffers::ForwardsUOffset<FCFProjectedZoneModifier>>("projected_tolerance_zone", Self::VT_PROJECTED_TOLERANCE_ZONE, false)?
21713 .finish();
21714 Ok(())
21715 }
21716}
21717pub struct FCFFrameModifiersArgs<'a> {
21718 pub all_around: bool,
21719 pub all_over: bool,
21720 pub continuous_feature: bool,
21721 pub between: Option<flatbuffers::WIPOffset<FCFBetweenModifier<'a>>>,
21722 pub projected_tolerance_zone: Option<flatbuffers::WIPOffset<FCFProjectedZoneModifier<'a>>>,
21723}
21724impl<'a> Default for FCFFrameModifiersArgs<'a> {
21725 #[inline]
21726 fn default() -> Self {
21727 FCFFrameModifiersArgs {
21728 all_around: false,
21729 all_over: false,
21730 continuous_feature: false,
21731 between: None,
21732 projected_tolerance_zone: None,
21733 }
21734 }
21735}
21736
21737pub struct FCFFrameModifiersBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
21738 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
21739 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
21740}
21741impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> FCFFrameModifiersBuilder<'a, 'b, A> {
21742 #[inline]
21743 pub fn add_all_around(&mut self, all_around: bool) {
21744 self.fbb_.push_slot::<bool>(FCFFrameModifiers::VT_ALL_AROUND, all_around, false);
21745 }
21746 #[inline]
21747 pub fn add_all_over(&mut self, all_over: bool) {
21748 self.fbb_.push_slot::<bool>(FCFFrameModifiers::VT_ALL_OVER, all_over, false);
21749 }
21750 #[inline]
21751 pub fn add_continuous_feature(&mut self, continuous_feature: bool) {
21752 self.fbb_.push_slot::<bool>(FCFFrameModifiers::VT_CONTINUOUS_FEATURE, continuous_feature, false);
21753 }
21754 #[inline]
21755 pub fn add_between(&mut self, between: flatbuffers::WIPOffset<FCFBetweenModifier<'b >>) {
21756 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<FCFBetweenModifier>>(FCFFrameModifiers::VT_BETWEEN, between);
21757 }
21758 #[inline]
21759 pub fn add_projected_tolerance_zone(&mut self, projected_tolerance_zone: flatbuffers::WIPOffset<FCFProjectedZoneModifier<'b >>) {
21760 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<FCFProjectedZoneModifier>>(FCFFrameModifiers::VT_PROJECTED_TOLERANCE_ZONE, projected_tolerance_zone);
21761 }
21762 #[inline]
21763 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> FCFFrameModifiersBuilder<'a, 'b, A> {
21764 let start = _fbb.start_table();
21765 FCFFrameModifiersBuilder {
21766 fbb_: _fbb,
21767 start_: start,
21768 }
21769 }
21770 #[inline]
21771 pub fn finish(self) -> flatbuffers::WIPOffset<FCFFrameModifiers<'a>> {
21772 let o = self.fbb_.end_table(self.start_);
21773 flatbuffers::WIPOffset::new(o.value())
21774 }
21775}
21776
21777impl core::fmt::Debug for FCFFrameModifiers<'_> {
21778 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
21779 let mut ds = f.debug_struct("FCFFrameModifiers");
21780 ds.field("all_around", &self.all_around());
21781 ds.field("all_over", &self.all_over());
21782 ds.field("continuous_feature", &self.continuous_feature());
21783 ds.field("between", &self.between());
21784 ds.field("projected_tolerance_zone", &self.projected_tolerance_zone());
21785 ds.finish()
21786 }
21787}
21788pub enum FCFDatumDefinitionOffset {}
21789#[derive(Copy, Clone, PartialEq)]
21790
21791pub struct FCFDatumDefinition<'a> {
21792 pub _tab: flatbuffers::Table<'a>,
21793}
21794
21795impl<'a> flatbuffers::Follow<'a> for FCFDatumDefinition<'a> {
21796 type Inner = FCFDatumDefinition<'a>;
21797 #[inline]
21798 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
21799 Self { _tab: flatbuffers::Table::new(buf, loc) }
21800 }
21801}
21802
21803impl<'a> FCFDatumDefinition<'a> {
21804 pub const VT_LETTER: flatbuffers::VOffsetT = 4;
21805 pub const VT_FEATURE_BINDING: flatbuffers::VOffsetT = 6;
21806
21807 #[inline]
21808 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
21809 FCFDatumDefinition { _tab: table }
21810 }
21811 #[allow(unused_mut)]
21812 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
21813 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
21814 args: &'args FCFDatumDefinitionArgs<'args>
21815 ) -> flatbuffers::WIPOffset<FCFDatumDefinition<'bldr>> {
21816 let mut builder = FCFDatumDefinitionBuilder::new(_fbb);
21817 if let Some(x) = args.feature_binding { builder.add_feature_binding(x); }
21818 if let Some(x) = args.letter { builder.add_letter(x); }
21819 builder.finish()
21820 }
21821
21822
21823 #[inline]
21824 pub fn letter(&self) -> Option<&'a str> {
21825 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(FCFDatumDefinition::VT_LETTER, None)}
21829 }
21830 #[inline]
21831 pub fn feature_binding(&self) -> Option<DucPointBinding<'a>> {
21832 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucPointBinding>>(FCFDatumDefinition::VT_FEATURE_BINDING, None)}
21836 }
21837}
21838
21839impl flatbuffers::Verifiable for FCFDatumDefinition<'_> {
21840 #[inline]
21841 fn run_verifier(
21842 v: &mut flatbuffers::Verifier, pos: usize
21843 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
21844 use self::flatbuffers::Verifiable;
21845 v.visit_table(pos)?
21846 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("letter", Self::VT_LETTER, false)?
21847 .visit_field::<flatbuffers::ForwardsUOffset<DucPointBinding>>("feature_binding", Self::VT_FEATURE_BINDING, false)?
21848 .finish();
21849 Ok(())
21850 }
21851}
21852pub struct FCFDatumDefinitionArgs<'a> {
21853 pub letter: Option<flatbuffers::WIPOffset<&'a str>>,
21854 pub feature_binding: Option<flatbuffers::WIPOffset<DucPointBinding<'a>>>,
21855}
21856impl<'a> Default for FCFDatumDefinitionArgs<'a> {
21857 #[inline]
21858 fn default() -> Self {
21859 FCFDatumDefinitionArgs {
21860 letter: None,
21861 feature_binding: None,
21862 }
21863 }
21864}
21865
21866pub struct FCFDatumDefinitionBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
21867 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
21868 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
21869}
21870impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> FCFDatumDefinitionBuilder<'a, 'b, A> {
21871 #[inline]
21872 pub fn add_letter(&mut self, letter: flatbuffers::WIPOffset<&'b str>) {
21873 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(FCFDatumDefinition::VT_LETTER, letter);
21874 }
21875 #[inline]
21876 pub fn add_feature_binding(&mut self, feature_binding: flatbuffers::WIPOffset<DucPointBinding<'b >>) {
21877 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucPointBinding>>(FCFDatumDefinition::VT_FEATURE_BINDING, feature_binding);
21878 }
21879 #[inline]
21880 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> FCFDatumDefinitionBuilder<'a, 'b, A> {
21881 let start = _fbb.start_table();
21882 FCFDatumDefinitionBuilder {
21883 fbb_: _fbb,
21884 start_: start,
21885 }
21886 }
21887 #[inline]
21888 pub fn finish(self) -> flatbuffers::WIPOffset<FCFDatumDefinition<'a>> {
21889 let o = self.fbb_.end_table(self.start_);
21890 flatbuffers::WIPOffset::new(o.value())
21891 }
21892}
21893
21894impl core::fmt::Debug for FCFDatumDefinition<'_> {
21895 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
21896 let mut ds = f.debug_struct("FCFDatumDefinition");
21897 ds.field("letter", &self.letter());
21898 ds.field("feature_binding", &self.feature_binding());
21899 ds.finish()
21900 }
21901}
21902pub enum FCFSegmentRowOffset {}
21903#[derive(Copy, Clone, PartialEq)]
21904
21905pub struct FCFSegmentRow<'a> {
21906 pub _tab: flatbuffers::Table<'a>,
21907}
21908
21909impl<'a> flatbuffers::Follow<'a> for FCFSegmentRow<'a> {
21910 type Inner = FCFSegmentRow<'a>;
21911 #[inline]
21912 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
21913 Self { _tab: flatbuffers::Table::new(buf, loc) }
21914 }
21915}
21916
21917impl<'a> FCFSegmentRow<'a> {
21918 pub const VT_SEGMENTS: flatbuffers::VOffsetT = 4;
21919
21920 #[inline]
21921 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
21922 FCFSegmentRow { _tab: table }
21923 }
21924 #[allow(unused_mut)]
21925 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
21926 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
21927 args: &'args FCFSegmentRowArgs<'args>
21928 ) -> flatbuffers::WIPOffset<FCFSegmentRow<'bldr>> {
21929 let mut builder = FCFSegmentRowBuilder::new(_fbb);
21930 if let Some(x) = args.segments { builder.add_segments(x); }
21931 builder.finish()
21932 }
21933
21934
21935 #[inline]
21936 pub fn segments(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<FeatureControlFrameSegment<'a>>>> {
21937 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<FeatureControlFrameSegment>>>>(FCFSegmentRow::VT_SEGMENTS, None)}
21941 }
21942}
21943
21944impl flatbuffers::Verifiable for FCFSegmentRow<'_> {
21945 #[inline]
21946 fn run_verifier(
21947 v: &mut flatbuffers::Verifier, pos: usize
21948 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
21949 use self::flatbuffers::Verifiable;
21950 v.visit_table(pos)?
21951 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<FeatureControlFrameSegment>>>>("segments", Self::VT_SEGMENTS, false)?
21952 .finish();
21953 Ok(())
21954 }
21955}
21956pub struct FCFSegmentRowArgs<'a> {
21957 pub segments: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<FeatureControlFrameSegment<'a>>>>>,
21958}
21959impl<'a> Default for FCFSegmentRowArgs<'a> {
21960 #[inline]
21961 fn default() -> Self {
21962 FCFSegmentRowArgs {
21963 segments: None,
21964 }
21965 }
21966}
21967
21968pub struct FCFSegmentRowBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
21969 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
21970 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
21971}
21972impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> FCFSegmentRowBuilder<'a, 'b, A> {
21973 #[inline]
21974 pub fn add_segments(&mut self, segments: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<FeatureControlFrameSegment<'b >>>>) {
21975 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(FCFSegmentRow::VT_SEGMENTS, segments);
21976 }
21977 #[inline]
21978 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> FCFSegmentRowBuilder<'a, 'b, A> {
21979 let start = _fbb.start_table();
21980 FCFSegmentRowBuilder {
21981 fbb_: _fbb,
21982 start_: start,
21983 }
21984 }
21985 #[inline]
21986 pub fn finish(self) -> flatbuffers::WIPOffset<FCFSegmentRow<'a>> {
21987 let o = self.fbb_.end_table(self.start_);
21988 flatbuffers::WIPOffset::new(o.value())
21989 }
21990}
21991
21992impl core::fmt::Debug for FCFSegmentRow<'_> {
21993 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
21994 let mut ds = f.debug_struct("FCFSegmentRow");
21995 ds.field("segments", &self.segments());
21996 ds.finish()
21997 }
21998}
21999pub enum DucFeatureControlFrameElementOffset {}
22000#[derive(Copy, Clone, PartialEq)]
22001
22002pub struct DucFeatureControlFrameElement<'a> {
22003 pub _tab: flatbuffers::Table<'a>,
22004}
22005
22006impl<'a> flatbuffers::Follow<'a> for DucFeatureControlFrameElement<'a> {
22007 type Inner = DucFeatureControlFrameElement<'a>;
22008 #[inline]
22009 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
22010 Self { _tab: flatbuffers::Table::new(buf, loc) }
22011 }
22012}
22013
22014impl<'a> DucFeatureControlFrameElement<'a> {
22015 pub const VT_BASE: flatbuffers::VOffsetT = 4;
22016 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
22017 pub const VT_ROWS: flatbuffers::VOffsetT = 8;
22018 pub const VT_FRAME_MODIFIERS: flatbuffers::VOffsetT = 10;
22019 pub const VT_LEADER_ELEMENT_ID: flatbuffers::VOffsetT = 12;
22020 pub const VT_DATUM_DEFINITION: flatbuffers::VOffsetT = 14;
22021
22022 #[inline]
22023 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
22024 DucFeatureControlFrameElement { _tab: table }
22025 }
22026 #[allow(unused_mut)]
22027 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
22028 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
22029 args: &'args DucFeatureControlFrameElementArgs<'args>
22030 ) -> flatbuffers::WIPOffset<DucFeatureControlFrameElement<'bldr>> {
22031 let mut builder = DucFeatureControlFrameElementBuilder::new(_fbb);
22032 if let Some(x) = args.datum_definition { builder.add_datum_definition(x); }
22033 if let Some(x) = args.leader_element_id { builder.add_leader_element_id(x); }
22034 if let Some(x) = args.frame_modifiers { builder.add_frame_modifiers(x); }
22035 if let Some(x) = args.rows { builder.add_rows(x); }
22036 if let Some(x) = args.style { builder.add_style(x); }
22037 if let Some(x) = args.base { builder.add_base(x); }
22038 builder.finish()
22039 }
22040
22041
22042 #[inline]
22043 pub fn base(&self) -> Option<_DucElementBase<'a>> {
22044 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(DucFeatureControlFrameElement::VT_BASE, None)}
22048 }
22049 #[inline]
22050 pub fn style(&self) -> Option<DucFeatureControlFrameStyle<'a>> {
22051 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucFeatureControlFrameStyle>>(DucFeatureControlFrameElement::VT_STYLE, None)}
22055 }
22056 #[inline]
22057 pub fn rows(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<FCFSegmentRow<'a>>>> {
22058 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<FCFSegmentRow>>>>(DucFeatureControlFrameElement::VT_ROWS, None)}
22062 }
22063 #[inline]
22064 pub fn frame_modifiers(&self) -> Option<FCFFrameModifiers<'a>> {
22065 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<FCFFrameModifiers>>(DucFeatureControlFrameElement::VT_FRAME_MODIFIERS, None)}
22069 }
22070 #[inline]
22071 pub fn leader_element_id(&self) -> Option<&'a str> {
22072 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucFeatureControlFrameElement::VT_LEADER_ELEMENT_ID, None)}
22076 }
22077 #[inline]
22078 pub fn datum_definition(&self) -> Option<FCFDatumDefinition<'a>> {
22079 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<FCFDatumDefinition>>(DucFeatureControlFrameElement::VT_DATUM_DEFINITION, None)}
22083 }
22084}
22085
22086impl flatbuffers::Verifiable for DucFeatureControlFrameElement<'_> {
22087 #[inline]
22088 fn run_verifier(
22089 v: &mut flatbuffers::Verifier, pos: usize
22090 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
22091 use self::flatbuffers::Verifiable;
22092 v.visit_table(pos)?
22093 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
22094 .visit_field::<flatbuffers::ForwardsUOffset<DucFeatureControlFrameStyle>>("style", Self::VT_STYLE, false)?
22095 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<FCFSegmentRow>>>>("rows", Self::VT_ROWS, false)?
22096 .visit_field::<flatbuffers::ForwardsUOffset<FCFFrameModifiers>>("frame_modifiers", Self::VT_FRAME_MODIFIERS, false)?
22097 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("leader_element_id", Self::VT_LEADER_ELEMENT_ID, false)?
22098 .visit_field::<flatbuffers::ForwardsUOffset<FCFDatumDefinition>>("datum_definition", Self::VT_DATUM_DEFINITION, false)?
22099 .finish();
22100 Ok(())
22101 }
22102}
22103pub struct DucFeatureControlFrameElementArgs<'a> {
22104 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
22105 pub style: Option<flatbuffers::WIPOffset<DucFeatureControlFrameStyle<'a>>>,
22106 pub rows: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<FCFSegmentRow<'a>>>>>,
22107 pub frame_modifiers: Option<flatbuffers::WIPOffset<FCFFrameModifiers<'a>>>,
22108 pub leader_element_id: Option<flatbuffers::WIPOffset<&'a str>>,
22109 pub datum_definition: Option<flatbuffers::WIPOffset<FCFDatumDefinition<'a>>>,
22110}
22111impl<'a> Default for DucFeatureControlFrameElementArgs<'a> {
22112 #[inline]
22113 fn default() -> Self {
22114 DucFeatureControlFrameElementArgs {
22115 base: None,
22116 style: None,
22117 rows: None,
22118 frame_modifiers: None,
22119 leader_element_id: None,
22120 datum_definition: None,
22121 }
22122 }
22123}
22124
22125pub struct DucFeatureControlFrameElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
22126 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
22127 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
22128}
22129impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucFeatureControlFrameElementBuilder<'a, 'b, A> {
22130 #[inline]
22131 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
22132 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(DucFeatureControlFrameElement::VT_BASE, base);
22133 }
22134 #[inline]
22135 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucFeatureControlFrameStyle<'b >>) {
22136 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucFeatureControlFrameStyle>>(DucFeatureControlFrameElement::VT_STYLE, style);
22137 }
22138 #[inline]
22139 pub fn add_rows(&mut self, rows: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<FCFSegmentRow<'b >>>>) {
22140 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucFeatureControlFrameElement::VT_ROWS, rows);
22141 }
22142 #[inline]
22143 pub fn add_frame_modifiers(&mut self, frame_modifiers: flatbuffers::WIPOffset<FCFFrameModifiers<'b >>) {
22144 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<FCFFrameModifiers>>(DucFeatureControlFrameElement::VT_FRAME_MODIFIERS, frame_modifiers);
22145 }
22146 #[inline]
22147 pub fn add_leader_element_id(&mut self, leader_element_id: flatbuffers::WIPOffset<&'b str>) {
22148 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucFeatureControlFrameElement::VT_LEADER_ELEMENT_ID, leader_element_id);
22149 }
22150 #[inline]
22151 pub fn add_datum_definition(&mut self, datum_definition: flatbuffers::WIPOffset<FCFDatumDefinition<'b >>) {
22152 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<FCFDatumDefinition>>(DucFeatureControlFrameElement::VT_DATUM_DEFINITION, datum_definition);
22153 }
22154 #[inline]
22155 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucFeatureControlFrameElementBuilder<'a, 'b, A> {
22156 let start = _fbb.start_table();
22157 DucFeatureControlFrameElementBuilder {
22158 fbb_: _fbb,
22159 start_: start,
22160 }
22161 }
22162 #[inline]
22163 pub fn finish(self) -> flatbuffers::WIPOffset<DucFeatureControlFrameElement<'a>> {
22164 let o = self.fbb_.end_table(self.start_);
22165 flatbuffers::WIPOffset::new(o.value())
22166 }
22167}
22168
22169impl core::fmt::Debug for DucFeatureControlFrameElement<'_> {
22170 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
22171 let mut ds = f.debug_struct("DucFeatureControlFrameElement");
22172 ds.field("base", &self.base());
22173 ds.field("style", &self.style());
22174 ds.field("rows", &self.rows());
22175 ds.field("frame_modifiers", &self.frame_modifiers());
22176 ds.field("leader_element_id", &self.leader_element_id());
22177 ds.field("datum_definition", &self.datum_definition());
22178 ds.finish()
22179 }
22180}
22181pub enum TextColumnOffset {}
22182#[derive(Copy, Clone, PartialEq)]
22183
22184pub struct TextColumn<'a> {
22185 pub _tab: flatbuffers::Table<'a>,
22186}
22187
22188impl<'a> flatbuffers::Follow<'a> for TextColumn<'a> {
22189 type Inner = TextColumn<'a>;
22190 #[inline]
22191 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
22192 Self { _tab: flatbuffers::Table::new(buf, loc) }
22193 }
22194}
22195
22196impl<'a> TextColumn<'a> {
22197 pub const VT_WIDTH: flatbuffers::VOffsetT = 4;
22198 pub const VT_GUTTER: flatbuffers::VOffsetT = 6;
22199
22200 #[inline]
22201 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
22202 TextColumn { _tab: table }
22203 }
22204 #[allow(unused_mut)]
22205 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
22206 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
22207 args: &'args TextColumnArgs
22208 ) -> flatbuffers::WIPOffset<TextColumn<'bldr>> {
22209 let mut builder = TextColumnBuilder::new(_fbb);
22210 builder.add_gutter(args.gutter);
22211 builder.add_width(args.width);
22212 builder.finish()
22213 }
22214
22215
22216 #[inline]
22217 pub fn width(&self) -> f64 {
22218 unsafe { self._tab.get::<f64>(TextColumn::VT_WIDTH, Some(0.0)).unwrap()}
22222 }
22223 #[inline]
22224 pub fn gutter(&self) -> f64 {
22225 unsafe { self._tab.get::<f64>(TextColumn::VT_GUTTER, Some(0.0)).unwrap()}
22229 }
22230}
22231
22232impl flatbuffers::Verifiable for TextColumn<'_> {
22233 #[inline]
22234 fn run_verifier(
22235 v: &mut flatbuffers::Verifier, pos: usize
22236 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
22237 use self::flatbuffers::Verifiable;
22238 v.visit_table(pos)?
22239 .visit_field::<f64>("width", Self::VT_WIDTH, false)?
22240 .visit_field::<f64>("gutter", Self::VT_GUTTER, false)?
22241 .finish();
22242 Ok(())
22243 }
22244}
22245pub struct TextColumnArgs {
22246 pub width: f64,
22247 pub gutter: f64,
22248}
22249impl<'a> Default for TextColumnArgs {
22250 #[inline]
22251 fn default() -> Self {
22252 TextColumnArgs {
22253 width: 0.0,
22254 gutter: 0.0,
22255 }
22256 }
22257}
22258
22259pub struct TextColumnBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
22260 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
22261 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
22262}
22263impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> TextColumnBuilder<'a, 'b, A> {
22264 #[inline]
22265 pub fn add_width(&mut self, width: f64) {
22266 self.fbb_.push_slot::<f64>(TextColumn::VT_WIDTH, width, 0.0);
22267 }
22268 #[inline]
22269 pub fn add_gutter(&mut self, gutter: f64) {
22270 self.fbb_.push_slot::<f64>(TextColumn::VT_GUTTER, gutter, 0.0);
22271 }
22272 #[inline]
22273 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> TextColumnBuilder<'a, 'b, A> {
22274 let start = _fbb.start_table();
22275 TextColumnBuilder {
22276 fbb_: _fbb,
22277 start_: start,
22278 }
22279 }
22280 #[inline]
22281 pub fn finish(self) -> flatbuffers::WIPOffset<TextColumn<'a>> {
22282 let o = self.fbb_.end_table(self.start_);
22283 flatbuffers::WIPOffset::new(o.value())
22284 }
22285}
22286
22287impl core::fmt::Debug for TextColumn<'_> {
22288 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
22289 let mut ds = f.debug_struct("TextColumn");
22290 ds.field("width", &self.width());
22291 ds.field("gutter", &self.gutter());
22292 ds.finish()
22293 }
22294}
22295pub enum ColumnLayoutOffset {}
22296#[derive(Copy, Clone, PartialEq)]
22297
22298pub struct ColumnLayout<'a> {
22299 pub _tab: flatbuffers::Table<'a>,
22300}
22301
22302impl<'a> flatbuffers::Follow<'a> for ColumnLayout<'a> {
22303 type Inner = ColumnLayout<'a>;
22304 #[inline]
22305 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
22306 Self { _tab: flatbuffers::Table::new(buf, loc) }
22307 }
22308}
22309
22310impl<'a> ColumnLayout<'a> {
22311 pub const VT_TYPE_: flatbuffers::VOffsetT = 4;
22312 pub const VT_DEFINITIONS: flatbuffers::VOffsetT = 6;
22313 pub const VT_AUTO_HEIGHT: flatbuffers::VOffsetT = 8;
22314
22315 #[inline]
22316 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
22317 ColumnLayout { _tab: table }
22318 }
22319 #[allow(unused_mut)]
22320 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
22321 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
22322 args: &'args ColumnLayoutArgs<'args>
22323 ) -> flatbuffers::WIPOffset<ColumnLayout<'bldr>> {
22324 let mut builder = ColumnLayoutBuilder::new(_fbb);
22325 if let Some(x) = args.definitions { builder.add_definitions(x); }
22326 builder.add_auto_height(args.auto_height);
22327 if let Some(x) = args.type_ { builder.add_type_(x); }
22328 builder.finish()
22329 }
22330
22331
22332 #[inline]
22333 pub fn type_(&self) -> Option<COLUMN_TYPE> {
22334 unsafe { self._tab.get::<COLUMN_TYPE>(ColumnLayout::VT_TYPE_, None)}
22338 }
22339 #[inline]
22340 pub fn definitions(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<TextColumn<'a>>>> {
22341 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<TextColumn>>>>(ColumnLayout::VT_DEFINITIONS, None)}
22345 }
22346 #[inline]
22347 pub fn auto_height(&self) -> bool {
22348 unsafe { self._tab.get::<bool>(ColumnLayout::VT_AUTO_HEIGHT, Some(false)).unwrap()}
22352 }
22353}
22354
22355impl flatbuffers::Verifiable for ColumnLayout<'_> {
22356 #[inline]
22357 fn run_verifier(
22358 v: &mut flatbuffers::Verifier, pos: usize
22359 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
22360 use self::flatbuffers::Verifiable;
22361 v.visit_table(pos)?
22362 .visit_field::<COLUMN_TYPE>("type_", Self::VT_TYPE_, false)?
22363 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<TextColumn>>>>("definitions", Self::VT_DEFINITIONS, false)?
22364 .visit_field::<bool>("auto_height", Self::VT_AUTO_HEIGHT, false)?
22365 .finish();
22366 Ok(())
22367 }
22368}
22369pub struct ColumnLayoutArgs<'a> {
22370 pub type_: Option<COLUMN_TYPE>,
22371 pub definitions: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<TextColumn<'a>>>>>,
22372 pub auto_height: bool,
22373}
22374impl<'a> Default for ColumnLayoutArgs<'a> {
22375 #[inline]
22376 fn default() -> Self {
22377 ColumnLayoutArgs {
22378 type_: None,
22379 definitions: None,
22380 auto_height: false,
22381 }
22382 }
22383}
22384
22385pub struct ColumnLayoutBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
22386 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
22387 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
22388}
22389impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> ColumnLayoutBuilder<'a, 'b, A> {
22390 #[inline]
22391 pub fn add_type_(&mut self, type_: COLUMN_TYPE) {
22392 self.fbb_.push_slot_always::<COLUMN_TYPE>(ColumnLayout::VT_TYPE_, type_);
22393 }
22394 #[inline]
22395 pub fn add_definitions(&mut self, definitions: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<TextColumn<'b >>>>) {
22396 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ColumnLayout::VT_DEFINITIONS, definitions);
22397 }
22398 #[inline]
22399 pub fn add_auto_height(&mut self, auto_height: bool) {
22400 self.fbb_.push_slot::<bool>(ColumnLayout::VT_AUTO_HEIGHT, auto_height, false);
22401 }
22402 #[inline]
22403 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> ColumnLayoutBuilder<'a, 'b, A> {
22404 let start = _fbb.start_table();
22405 ColumnLayoutBuilder {
22406 fbb_: _fbb,
22407 start_: start,
22408 }
22409 }
22410 #[inline]
22411 pub fn finish(self) -> flatbuffers::WIPOffset<ColumnLayout<'a>> {
22412 let o = self.fbb_.end_table(self.start_);
22413 flatbuffers::WIPOffset::new(o.value())
22414 }
22415}
22416
22417impl core::fmt::Debug for ColumnLayout<'_> {
22418 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
22419 let mut ds = f.debug_struct("ColumnLayout");
22420 ds.field("type_", &self.type_());
22421 ds.field("definitions", &self.definitions());
22422 ds.field("auto_height", &self.auto_height());
22423 ds.finish()
22424 }
22425}
22426pub enum DucDocElementOffset {}
22427#[derive(Copy, Clone, PartialEq)]
22428
22429pub struct DucDocElement<'a> {
22430 pub _tab: flatbuffers::Table<'a>,
22431}
22432
22433impl<'a> flatbuffers::Follow<'a> for DucDocElement<'a> {
22434 type Inner = DucDocElement<'a>;
22435 #[inline]
22436 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
22437 Self { _tab: flatbuffers::Table::new(buf, loc) }
22438 }
22439}
22440
22441impl<'a> DucDocElement<'a> {
22442 pub const VT_BASE: flatbuffers::VOffsetT = 4;
22443 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
22444 pub const VT_TEXT: flatbuffers::VOffsetT = 8;
22445 pub const VT_DYNAMIC: flatbuffers::VOffsetT = 10;
22446 pub const VT_FLOW_DIRECTION: flatbuffers::VOffsetT = 12;
22447 pub const VT_COLUMNS: flatbuffers::VOffsetT = 14;
22448 pub const VT_AUTO_RESIZE: flatbuffers::VOffsetT = 16;
22449 pub const VT_GRID_CONFIG: flatbuffers::VOffsetT = 18;
22450 pub const VT_FILE_ID: flatbuffers::VOffsetT = 20;
22451
22452 #[inline]
22453 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
22454 DucDocElement { _tab: table }
22455 }
22456 #[allow(unused_mut)]
22457 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
22458 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
22459 args: &'args DucDocElementArgs<'args>
22460 ) -> flatbuffers::WIPOffset<DucDocElement<'bldr>> {
22461 let mut builder = DucDocElementBuilder::new(_fbb);
22462 if let Some(x) = args.file_id { builder.add_file_id(x); }
22463 if let Some(x) = args.grid_config { builder.add_grid_config(x); }
22464 if let Some(x) = args.columns { builder.add_columns(x); }
22465 if let Some(x) = args.dynamic { builder.add_dynamic(x); }
22466 if let Some(x) = args.text { builder.add_text(x); }
22467 if let Some(x) = args.style { builder.add_style(x); }
22468 if let Some(x) = args.base { builder.add_base(x); }
22469 builder.add_auto_resize(args.auto_resize);
22470 if let Some(x) = args.flow_direction { builder.add_flow_direction(x); }
22471 builder.finish()
22472 }
22473
22474
22475 #[inline]
22476 pub fn base(&self) -> Option<_DucElementBase<'a>> {
22477 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(DucDocElement::VT_BASE, None)}
22481 }
22482 #[inline]
22483 pub fn style(&self) -> Option<DucDocStyle<'a>> {
22484 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucDocStyle>>(DucDocElement::VT_STYLE, None)}
22488 }
22489 #[inline]
22490 pub fn text(&self) -> Option<&'a str> {
22491 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucDocElement::VT_TEXT, None)}
22495 }
22496 #[inline]
22497 pub fn dynamic(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucTextDynamicPart<'a>>>> {
22498 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucTextDynamicPart>>>>(DucDocElement::VT_DYNAMIC, None)}
22502 }
22503 #[inline]
22504 pub fn flow_direction(&self) -> Option<TEXT_FLOW_DIRECTION> {
22505 unsafe { self._tab.get::<TEXT_FLOW_DIRECTION>(DucDocElement::VT_FLOW_DIRECTION, None)}
22509 }
22510 #[inline]
22511 pub fn columns(&self) -> Option<ColumnLayout<'a>> {
22512 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ColumnLayout>>(DucDocElement::VT_COLUMNS, None)}
22516 }
22517 #[inline]
22518 pub fn auto_resize(&self) -> bool {
22519 unsafe { self._tab.get::<bool>(DucDocElement::VT_AUTO_RESIZE, Some(false)).unwrap()}
22523 }
22524 #[inline]
22525 pub fn grid_config(&self) -> Option<DocumentGridConfig<'a>> {
22526 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DocumentGridConfig>>(DucDocElement::VT_GRID_CONFIG, None)}
22530 }
22531 #[inline]
22532 pub fn file_id(&self) -> Option<&'a str> {
22533 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucDocElement::VT_FILE_ID, None)}
22537 }
22538}
22539
22540impl flatbuffers::Verifiable for DucDocElement<'_> {
22541 #[inline]
22542 fn run_verifier(
22543 v: &mut flatbuffers::Verifier, pos: usize
22544 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
22545 use self::flatbuffers::Verifiable;
22546 v.visit_table(pos)?
22547 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
22548 .visit_field::<flatbuffers::ForwardsUOffset<DucDocStyle>>("style", Self::VT_STYLE, false)?
22549 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("text", Self::VT_TEXT, false)?
22550 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucTextDynamicPart>>>>("dynamic", Self::VT_DYNAMIC, false)?
22551 .visit_field::<TEXT_FLOW_DIRECTION>("flow_direction", Self::VT_FLOW_DIRECTION, false)?
22552 .visit_field::<flatbuffers::ForwardsUOffset<ColumnLayout>>("columns", Self::VT_COLUMNS, false)?
22553 .visit_field::<bool>("auto_resize", Self::VT_AUTO_RESIZE, false)?
22554 .visit_field::<flatbuffers::ForwardsUOffset<DocumentGridConfig>>("grid_config", Self::VT_GRID_CONFIG, false)?
22555 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("file_id", Self::VT_FILE_ID, false)?
22556 .finish();
22557 Ok(())
22558 }
22559}
22560pub struct DucDocElementArgs<'a> {
22561 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
22562 pub style: Option<flatbuffers::WIPOffset<DucDocStyle<'a>>>,
22563 pub text: Option<flatbuffers::WIPOffset<&'a str>>,
22564 pub dynamic: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucTextDynamicPart<'a>>>>>,
22565 pub flow_direction: Option<TEXT_FLOW_DIRECTION>,
22566 pub columns: Option<flatbuffers::WIPOffset<ColumnLayout<'a>>>,
22567 pub auto_resize: bool,
22568 pub grid_config: Option<flatbuffers::WIPOffset<DocumentGridConfig<'a>>>,
22569 pub file_id: Option<flatbuffers::WIPOffset<&'a str>>,
22570}
22571impl<'a> Default for DucDocElementArgs<'a> {
22572 #[inline]
22573 fn default() -> Self {
22574 DucDocElementArgs {
22575 base: None,
22576 style: None,
22577 text: None,
22578 dynamic: None,
22579 flow_direction: None,
22580 columns: None,
22581 auto_resize: false,
22582 grid_config: None,
22583 file_id: None,
22584 }
22585 }
22586}
22587
22588pub struct DucDocElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
22589 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
22590 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
22591}
22592impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucDocElementBuilder<'a, 'b, A> {
22593 #[inline]
22594 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
22595 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(DucDocElement::VT_BASE, base);
22596 }
22597 #[inline]
22598 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucDocStyle<'b >>) {
22599 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucDocStyle>>(DucDocElement::VT_STYLE, style);
22600 }
22601 #[inline]
22602 pub fn add_text(&mut self, text: flatbuffers::WIPOffset<&'b str>) {
22603 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucDocElement::VT_TEXT, text);
22604 }
22605 #[inline]
22606 pub fn add_dynamic(&mut self, dynamic: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucTextDynamicPart<'b >>>>) {
22607 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucDocElement::VT_DYNAMIC, dynamic);
22608 }
22609 #[inline]
22610 pub fn add_flow_direction(&mut self, flow_direction: TEXT_FLOW_DIRECTION) {
22611 self.fbb_.push_slot_always::<TEXT_FLOW_DIRECTION>(DucDocElement::VT_FLOW_DIRECTION, flow_direction);
22612 }
22613 #[inline]
22614 pub fn add_columns(&mut self, columns: flatbuffers::WIPOffset<ColumnLayout<'b >>) {
22615 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ColumnLayout>>(DucDocElement::VT_COLUMNS, columns);
22616 }
22617 #[inline]
22618 pub fn add_auto_resize(&mut self, auto_resize: bool) {
22619 self.fbb_.push_slot::<bool>(DucDocElement::VT_AUTO_RESIZE, auto_resize, false);
22620 }
22621 #[inline]
22622 pub fn add_grid_config(&mut self, grid_config: flatbuffers::WIPOffset<DocumentGridConfig<'b >>) {
22623 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DocumentGridConfig>>(DucDocElement::VT_GRID_CONFIG, grid_config);
22624 }
22625 #[inline]
22626 pub fn add_file_id(&mut self, file_id: flatbuffers::WIPOffset<&'b str>) {
22627 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucDocElement::VT_FILE_ID, file_id);
22628 }
22629 #[inline]
22630 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucDocElementBuilder<'a, 'b, A> {
22631 let start = _fbb.start_table();
22632 DucDocElementBuilder {
22633 fbb_: _fbb,
22634 start_: start,
22635 }
22636 }
22637 #[inline]
22638 pub fn finish(self) -> flatbuffers::WIPOffset<DucDocElement<'a>> {
22639 let o = self.fbb_.end_table(self.start_);
22640 flatbuffers::WIPOffset::new(o.value())
22641 }
22642}
22643
22644impl core::fmt::Debug for DucDocElement<'_> {
22645 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
22646 let mut ds = f.debug_struct("DucDocElement");
22647 ds.field("base", &self.base());
22648 ds.field("style", &self.style());
22649 ds.field("text", &self.text());
22650 ds.field("dynamic", &self.dynamic());
22651 ds.field("flow_direction", &self.flow_direction());
22652 ds.field("columns", &self.columns());
22653 ds.field("auto_resize", &self.auto_resize());
22654 ds.field("grid_config", &self.grid_config());
22655 ds.field("file_id", &self.file_id());
22656 ds.finish()
22657 }
22658}
22659pub enum ParametricSourceOffset {}
22660#[derive(Copy, Clone, PartialEq)]
22661
22662pub struct ParametricSource<'a> {
22663 pub _tab: flatbuffers::Table<'a>,
22664}
22665
22666impl<'a> flatbuffers::Follow<'a> for ParametricSource<'a> {
22667 type Inner = ParametricSource<'a>;
22668 #[inline]
22669 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
22670 Self { _tab: flatbuffers::Table::new(buf, loc) }
22671 }
22672}
22673
22674impl<'a> ParametricSource<'a> {
22675 pub const VT_TYPE_: flatbuffers::VOffsetT = 4;
22676 pub const VT_CODE: flatbuffers::VOffsetT = 6;
22677 pub const VT_FILE_ID: flatbuffers::VOffsetT = 8;
22678
22679 #[inline]
22680 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
22681 ParametricSource { _tab: table }
22682 }
22683 #[allow(unused_mut)]
22684 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
22685 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
22686 args: &'args ParametricSourceArgs<'args>
22687 ) -> flatbuffers::WIPOffset<ParametricSource<'bldr>> {
22688 let mut builder = ParametricSourceBuilder::new(_fbb);
22689 if let Some(x) = args.file_id { builder.add_file_id(x); }
22690 if let Some(x) = args.code { builder.add_code(x); }
22691 if let Some(x) = args.type_ { builder.add_type_(x); }
22692 builder.finish()
22693 }
22694
22695
22696 #[inline]
22697 pub fn type_(&self) -> Option<PARAMETRIC_SOURCE_TYPE> {
22698 unsafe { self._tab.get::<PARAMETRIC_SOURCE_TYPE>(ParametricSource::VT_TYPE_, None)}
22702 }
22703 #[inline]
22704 pub fn code(&self) -> Option<&'a str> {
22705 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(ParametricSource::VT_CODE, None)}
22709 }
22710 #[inline]
22711 pub fn file_id(&self) -> Option<&'a str> {
22712 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(ParametricSource::VT_FILE_ID, None)}
22716 }
22717}
22718
22719impl flatbuffers::Verifiable for ParametricSource<'_> {
22720 #[inline]
22721 fn run_verifier(
22722 v: &mut flatbuffers::Verifier, pos: usize
22723 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
22724 use self::flatbuffers::Verifiable;
22725 v.visit_table(pos)?
22726 .visit_field::<PARAMETRIC_SOURCE_TYPE>("type_", Self::VT_TYPE_, false)?
22727 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("code", Self::VT_CODE, false)?
22728 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("file_id", Self::VT_FILE_ID, false)?
22729 .finish();
22730 Ok(())
22731 }
22732}
22733pub struct ParametricSourceArgs<'a> {
22734 pub type_: Option<PARAMETRIC_SOURCE_TYPE>,
22735 pub code: Option<flatbuffers::WIPOffset<&'a str>>,
22736 pub file_id: Option<flatbuffers::WIPOffset<&'a str>>,
22737}
22738impl<'a> Default for ParametricSourceArgs<'a> {
22739 #[inline]
22740 fn default() -> Self {
22741 ParametricSourceArgs {
22742 type_: None,
22743 code: None,
22744 file_id: None,
22745 }
22746 }
22747}
22748
22749pub struct ParametricSourceBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
22750 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
22751 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
22752}
22753impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> ParametricSourceBuilder<'a, 'b, A> {
22754 #[inline]
22755 pub fn add_type_(&mut self, type_: PARAMETRIC_SOURCE_TYPE) {
22756 self.fbb_.push_slot_always::<PARAMETRIC_SOURCE_TYPE>(ParametricSource::VT_TYPE_, type_);
22757 }
22758 #[inline]
22759 pub fn add_code(&mut self, code: flatbuffers::WIPOffset<&'b str>) {
22760 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ParametricSource::VT_CODE, code);
22761 }
22762 #[inline]
22763 pub fn add_file_id(&mut self, file_id: flatbuffers::WIPOffset<&'b str>) {
22764 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ParametricSource::VT_FILE_ID, file_id);
22765 }
22766 #[inline]
22767 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> ParametricSourceBuilder<'a, 'b, A> {
22768 let start = _fbb.start_table();
22769 ParametricSourceBuilder {
22770 fbb_: _fbb,
22771 start_: start,
22772 }
22773 }
22774 #[inline]
22775 pub fn finish(self) -> flatbuffers::WIPOffset<ParametricSource<'a>> {
22776 let o = self.fbb_.end_table(self.start_);
22777 flatbuffers::WIPOffset::new(o.value())
22778 }
22779}
22780
22781impl core::fmt::Debug for ParametricSource<'_> {
22782 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
22783 let mut ds = f.debug_struct("ParametricSource");
22784 ds.field("type_", &self.type_());
22785 ds.field("code", &self.code());
22786 ds.field("file_id", &self.file_id());
22787 ds.finish()
22788 }
22789}
22790pub enum DucParametricElementOffset {}
22791#[derive(Copy, Clone, PartialEq)]
22792
22793pub struct DucParametricElement<'a> {
22794 pub _tab: flatbuffers::Table<'a>,
22795}
22796
22797impl<'a> flatbuffers::Follow<'a> for DucParametricElement<'a> {
22798 type Inner = DucParametricElement<'a>;
22799 #[inline]
22800 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
22801 Self { _tab: flatbuffers::Table::new(buf, loc) }
22802 }
22803}
22804
22805impl<'a> DucParametricElement<'a> {
22806 pub const VT_BASE: flatbuffers::VOffsetT = 4;
22807 pub const VT_SOURCE: flatbuffers::VOffsetT = 6;
22808
22809 #[inline]
22810 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
22811 DucParametricElement { _tab: table }
22812 }
22813 #[allow(unused_mut)]
22814 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
22815 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
22816 args: &'args DucParametricElementArgs<'args>
22817 ) -> flatbuffers::WIPOffset<DucParametricElement<'bldr>> {
22818 let mut builder = DucParametricElementBuilder::new(_fbb);
22819 if let Some(x) = args.source { builder.add_source(x); }
22820 if let Some(x) = args.base { builder.add_base(x); }
22821 builder.finish()
22822 }
22823
22824
22825 #[inline]
22826 pub fn base(&self) -> Option<_DucElementBase<'a>> {
22827 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(DucParametricElement::VT_BASE, None)}
22831 }
22832 #[inline]
22833 pub fn source(&self) -> Option<ParametricSource<'a>> {
22834 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ParametricSource>>(DucParametricElement::VT_SOURCE, None)}
22838 }
22839}
22840
22841impl flatbuffers::Verifiable for DucParametricElement<'_> {
22842 #[inline]
22843 fn run_verifier(
22844 v: &mut flatbuffers::Verifier, pos: usize
22845 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
22846 use self::flatbuffers::Verifiable;
22847 v.visit_table(pos)?
22848 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
22849 .visit_field::<flatbuffers::ForwardsUOffset<ParametricSource>>("source", Self::VT_SOURCE, false)?
22850 .finish();
22851 Ok(())
22852 }
22853}
22854pub struct DucParametricElementArgs<'a> {
22855 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
22856 pub source: Option<flatbuffers::WIPOffset<ParametricSource<'a>>>,
22857}
22858impl<'a> Default for DucParametricElementArgs<'a> {
22859 #[inline]
22860 fn default() -> Self {
22861 DucParametricElementArgs {
22862 base: None,
22863 source: None,
22864 }
22865 }
22866}
22867
22868pub struct DucParametricElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
22869 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
22870 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
22871}
22872impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucParametricElementBuilder<'a, 'b, A> {
22873 #[inline]
22874 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
22875 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(DucParametricElement::VT_BASE, base);
22876 }
22877 #[inline]
22878 pub fn add_source(&mut self, source: flatbuffers::WIPOffset<ParametricSource<'b >>) {
22879 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ParametricSource>>(DucParametricElement::VT_SOURCE, source);
22880 }
22881 #[inline]
22882 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucParametricElementBuilder<'a, 'b, A> {
22883 let start = _fbb.start_table();
22884 DucParametricElementBuilder {
22885 fbb_: _fbb,
22886 start_: start,
22887 }
22888 }
22889 #[inline]
22890 pub fn finish(self) -> flatbuffers::WIPOffset<DucParametricElement<'a>> {
22891 let o = self.fbb_.end_table(self.start_);
22892 flatbuffers::WIPOffset::new(o.value())
22893 }
22894}
22895
22896impl core::fmt::Debug for DucParametricElement<'_> {
22897 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
22898 let mut ds = f.debug_struct("DucParametricElement");
22899 ds.field("base", &self.base());
22900 ds.field("source", &self.source());
22901 ds.finish()
22902 }
22903}
22904pub enum DucModelElementOffset {}
22905#[derive(Copy, Clone, PartialEq)]
22906
22907pub struct DucModelElement<'a> {
22908 pub _tab: flatbuffers::Table<'a>,
22909}
22910
22911impl<'a> flatbuffers::Follow<'a> for DucModelElement<'a> {
22912 type Inner = DucModelElement<'a>;
22913 #[inline]
22914 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
22915 Self { _tab: flatbuffers::Table::new(buf, loc) }
22916 }
22917}
22918
22919impl<'a> DucModelElement<'a> {
22920 pub const VT_BASE: flatbuffers::VOffsetT = 4;
22921 pub const VT_SOURCE: flatbuffers::VOffsetT = 6;
22922 pub const VT_SVG_PATH: flatbuffers::VOffsetT = 8;
22923 pub const VT_FILE_IDS: flatbuffers::VOffsetT = 10;
22924
22925 #[inline]
22926 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
22927 DucModelElement { _tab: table }
22928 }
22929 #[allow(unused_mut)]
22930 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
22931 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
22932 args: &'args DucModelElementArgs<'args>
22933 ) -> flatbuffers::WIPOffset<DucModelElement<'bldr>> {
22934 let mut builder = DucModelElementBuilder::new(_fbb);
22935 if let Some(x) = args.file_ids { builder.add_file_ids(x); }
22936 if let Some(x) = args.svg_path { builder.add_svg_path(x); }
22937 if let Some(x) = args.source { builder.add_source(x); }
22938 if let Some(x) = args.base { builder.add_base(x); }
22939 builder.finish()
22940 }
22941
22942
22943 #[inline]
22944 pub fn base(&self) -> Option<_DucElementBase<'a>> {
22945 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucElementBase>>(DucModelElement::VT_BASE, None)}
22949 }
22950 #[inline]
22951 pub fn source(&self) -> Option<&'a str> {
22952 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucModelElement::VT_SOURCE, None)}
22956 }
22957 #[inline]
22958 pub fn svg_path(&self) -> Option<&'a str> {
22959 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucModelElement::VT_SVG_PATH, None)}
22963 }
22964 #[inline]
22965 pub fn file_ids(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
22966 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(DucModelElement::VT_FILE_IDS, None)}
22970 }
22971}
22972
22973impl flatbuffers::Verifiable for DucModelElement<'_> {
22974 #[inline]
22975 fn run_verifier(
22976 v: &mut flatbuffers::Verifier, pos: usize
22977 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
22978 use self::flatbuffers::Verifiable;
22979 v.visit_table(pos)?
22980 .visit_field::<flatbuffers::ForwardsUOffset<_DucElementBase>>("base", Self::VT_BASE, false)?
22981 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("source", Self::VT_SOURCE, false)?
22982 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("svg_path", Self::VT_SVG_PATH, false)?
22983 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("file_ids", Self::VT_FILE_IDS, false)?
22984 .finish();
22985 Ok(())
22986 }
22987}
22988pub struct DucModelElementArgs<'a> {
22989 pub base: Option<flatbuffers::WIPOffset<_DucElementBase<'a>>>,
22990 pub source: Option<flatbuffers::WIPOffset<&'a str>>,
22991 pub svg_path: Option<flatbuffers::WIPOffset<&'a str>>,
22992 pub file_ids: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
22993}
22994impl<'a> Default for DucModelElementArgs<'a> {
22995 #[inline]
22996 fn default() -> Self {
22997 DucModelElementArgs {
22998 base: None,
22999 source: None,
23000 svg_path: None,
23001 file_ids: None,
23002 }
23003 }
23004}
23005
23006pub struct DucModelElementBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
23007 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
23008 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
23009}
23010impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucModelElementBuilder<'a, 'b, A> {
23011 #[inline]
23012 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_DucElementBase<'b >>) {
23013 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucElementBase>>(DucModelElement::VT_BASE, base);
23014 }
23015 #[inline]
23016 pub fn add_source(&mut self, source: flatbuffers::WIPOffset<&'b str>) {
23017 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucModelElement::VT_SOURCE, source);
23018 }
23019 #[inline]
23020 pub fn add_svg_path(&mut self, svg_path: flatbuffers::WIPOffset<&'b str>) {
23021 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucModelElement::VT_SVG_PATH, svg_path);
23022 }
23023 #[inline]
23024 pub fn add_file_ids(&mut self, file_ids: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
23025 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucModelElement::VT_FILE_IDS, file_ids);
23026 }
23027 #[inline]
23028 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucModelElementBuilder<'a, 'b, A> {
23029 let start = _fbb.start_table();
23030 DucModelElementBuilder {
23031 fbb_: _fbb,
23032 start_: start,
23033 }
23034 }
23035 #[inline]
23036 pub fn finish(self) -> flatbuffers::WIPOffset<DucModelElement<'a>> {
23037 let o = self.fbb_.end_table(self.start_);
23038 flatbuffers::WIPOffset::new(o.value())
23039 }
23040}
23041
23042impl core::fmt::Debug for DucModelElement<'_> {
23043 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
23044 let mut ds = f.debug_struct("DucModelElement");
23045 ds.field("base", &self.base());
23046 ds.field("source", &self.source());
23047 ds.field("svg_path", &self.svg_path());
23048 ds.field("file_ids", &self.file_ids());
23049 ds.finish()
23050 }
23051}
23052pub enum ElementWrapperOffset {}
23053#[derive(Copy, Clone, PartialEq)]
23054
23055pub struct ElementWrapper<'a> {
23056 pub _tab: flatbuffers::Table<'a>,
23057}
23058
23059impl<'a> flatbuffers::Follow<'a> for ElementWrapper<'a> {
23060 type Inner = ElementWrapper<'a>;
23061 #[inline]
23062 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
23063 Self { _tab: flatbuffers::Table::new(buf, loc) }
23064 }
23065}
23066
23067impl<'a> ElementWrapper<'a> {
23068 pub const VT_ELEMENT_TYPE: flatbuffers::VOffsetT = 4;
23069 pub const VT_ELEMENT: flatbuffers::VOffsetT = 6;
23070
23071 #[inline]
23072 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
23073 ElementWrapper { _tab: table }
23074 }
23075 #[allow(unused_mut)]
23076 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
23077 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
23078 args: &'args ElementWrapperArgs
23079 ) -> flatbuffers::WIPOffset<ElementWrapper<'bldr>> {
23080 let mut builder = ElementWrapperBuilder::new(_fbb);
23081 if let Some(x) = args.element { builder.add_element(x); }
23082 builder.add_element_type(args.element_type);
23083 builder.finish()
23084 }
23085
23086
23087 #[inline]
23088 pub fn element_type(&self) -> Element {
23089 unsafe { self._tab.get::<Element>(ElementWrapper::VT_ELEMENT_TYPE, Some(Element::NONE)).unwrap()}
23093 }
23094 #[inline]
23095 pub fn element(&self) -> Option<flatbuffers::Table<'a>> {
23096 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Table<'a>>>(ElementWrapper::VT_ELEMENT, None)}
23100 }
23101 #[inline]
23102 #[allow(non_snake_case)]
23103 pub fn element_as_duc_rectangle_element(&self) -> Option<DucRectangleElement<'a>> {
23104 if self.element_type() == Element::DucRectangleElement {
23105 self.element().map(|t| {
23106 unsafe { DucRectangleElement::init_from_table(t) }
23110 })
23111 } else {
23112 None
23113 }
23114 }
23115
23116 #[inline]
23117 #[allow(non_snake_case)]
23118 pub fn element_as_duc_polygon_element(&self) -> Option<DucPolygonElement<'a>> {
23119 if self.element_type() == Element::DucPolygonElement {
23120 self.element().map(|t| {
23121 unsafe { DucPolygonElement::init_from_table(t) }
23125 })
23126 } else {
23127 None
23128 }
23129 }
23130
23131 #[inline]
23132 #[allow(non_snake_case)]
23133 pub fn element_as_duc_ellipse_element(&self) -> Option<DucEllipseElement<'a>> {
23134 if self.element_type() == Element::DucEllipseElement {
23135 self.element().map(|t| {
23136 unsafe { DucEllipseElement::init_from_table(t) }
23140 })
23141 } else {
23142 None
23143 }
23144 }
23145
23146 #[inline]
23147 #[allow(non_snake_case)]
23148 pub fn element_as_duc_embeddable_element(&self) -> Option<DucEmbeddableElement<'a>> {
23149 if self.element_type() == Element::DucEmbeddableElement {
23150 self.element().map(|t| {
23151 unsafe { DucEmbeddableElement::init_from_table(t) }
23155 })
23156 } else {
23157 None
23158 }
23159 }
23160
23161 #[inline]
23162 #[allow(non_snake_case)]
23163 pub fn element_as_duc_pdf_element(&self) -> Option<DucPdfElement<'a>> {
23164 if self.element_type() == Element::DucPdfElement {
23165 self.element().map(|t| {
23166 unsafe { DucPdfElement::init_from_table(t) }
23170 })
23171 } else {
23172 None
23173 }
23174 }
23175
23176 #[inline]
23177 #[allow(non_snake_case)]
23178 pub fn element_as_duc_mermaid_element(&self) -> Option<DucMermaidElement<'a>> {
23179 if self.element_type() == Element::DucMermaidElement {
23180 self.element().map(|t| {
23181 unsafe { DucMermaidElement::init_from_table(t) }
23185 })
23186 } else {
23187 None
23188 }
23189 }
23190
23191 #[inline]
23192 #[allow(non_snake_case)]
23193 pub fn element_as_duc_table_element(&self) -> Option<DucTableElement<'a>> {
23194 if self.element_type() == Element::DucTableElement {
23195 self.element().map(|t| {
23196 unsafe { DucTableElement::init_from_table(t) }
23200 })
23201 } else {
23202 None
23203 }
23204 }
23205
23206 #[inline]
23207 #[allow(non_snake_case)]
23208 pub fn element_as_duc_image_element(&self) -> Option<DucImageElement<'a>> {
23209 if self.element_type() == Element::DucImageElement {
23210 self.element().map(|t| {
23211 unsafe { DucImageElement::init_from_table(t) }
23215 })
23216 } else {
23217 None
23218 }
23219 }
23220
23221 #[inline]
23222 #[allow(non_snake_case)]
23223 pub fn element_as_duc_text_element(&self) -> Option<DucTextElement<'a>> {
23224 if self.element_type() == Element::DucTextElement {
23225 self.element().map(|t| {
23226 unsafe { DucTextElement::init_from_table(t) }
23230 })
23231 } else {
23232 None
23233 }
23234 }
23235
23236 #[inline]
23237 #[allow(non_snake_case)]
23238 pub fn element_as_duc_linear_element(&self) -> Option<DucLinearElement<'a>> {
23239 if self.element_type() == Element::DucLinearElement {
23240 self.element().map(|t| {
23241 unsafe { DucLinearElement::init_from_table(t) }
23245 })
23246 } else {
23247 None
23248 }
23249 }
23250
23251 #[inline]
23252 #[allow(non_snake_case)]
23253 pub fn element_as_duc_arrow_element(&self) -> Option<DucArrowElement<'a>> {
23254 if self.element_type() == Element::DucArrowElement {
23255 self.element().map(|t| {
23256 unsafe { DucArrowElement::init_from_table(t) }
23260 })
23261 } else {
23262 None
23263 }
23264 }
23265
23266 #[inline]
23267 #[allow(non_snake_case)]
23268 pub fn element_as_duc_free_draw_element(&self) -> Option<DucFreeDrawElement<'a>> {
23269 if self.element_type() == Element::DucFreeDrawElement {
23270 self.element().map(|t| {
23271 unsafe { DucFreeDrawElement::init_from_table(t) }
23275 })
23276 } else {
23277 None
23278 }
23279 }
23280
23281 #[inline]
23282 #[allow(non_snake_case)]
23283 pub fn element_as_duc_block_instance_element(&self) -> Option<DucBlockInstanceElement<'a>> {
23284 if self.element_type() == Element::DucBlockInstanceElement {
23285 self.element().map(|t| {
23286 unsafe { DucBlockInstanceElement::init_from_table(t) }
23290 })
23291 } else {
23292 None
23293 }
23294 }
23295
23296 #[inline]
23297 #[allow(non_snake_case)]
23298 pub fn element_as_duc_frame_element(&self) -> Option<DucFrameElement<'a>> {
23299 if self.element_type() == Element::DucFrameElement {
23300 self.element().map(|t| {
23301 unsafe { DucFrameElement::init_from_table(t) }
23305 })
23306 } else {
23307 None
23308 }
23309 }
23310
23311 #[inline]
23312 #[allow(non_snake_case)]
23313 pub fn element_as_duc_plot_element(&self) -> Option<DucPlotElement<'a>> {
23314 if self.element_type() == Element::DucPlotElement {
23315 self.element().map(|t| {
23316 unsafe { DucPlotElement::init_from_table(t) }
23320 })
23321 } else {
23322 None
23323 }
23324 }
23325
23326 #[inline]
23327 #[allow(non_snake_case)]
23328 pub fn element_as_duc_viewport_element(&self) -> Option<DucViewportElement<'a>> {
23329 if self.element_type() == Element::DucViewportElement {
23330 self.element().map(|t| {
23331 unsafe { DucViewportElement::init_from_table(t) }
23335 })
23336 } else {
23337 None
23338 }
23339 }
23340
23341 #[inline]
23342 #[allow(non_snake_case)]
23343 pub fn element_as_duc_xray_element(&self) -> Option<DucXRayElement<'a>> {
23344 if self.element_type() == Element::DucXRayElement {
23345 self.element().map(|t| {
23346 unsafe { DucXRayElement::init_from_table(t) }
23350 })
23351 } else {
23352 None
23353 }
23354 }
23355
23356 #[inline]
23357 #[allow(non_snake_case)]
23358 pub fn element_as_duc_leader_element(&self) -> Option<DucLeaderElement<'a>> {
23359 if self.element_type() == Element::DucLeaderElement {
23360 self.element().map(|t| {
23361 unsafe { DucLeaderElement::init_from_table(t) }
23365 })
23366 } else {
23367 None
23368 }
23369 }
23370
23371 #[inline]
23372 #[allow(non_snake_case)]
23373 pub fn element_as_duc_dimension_element(&self) -> Option<DucDimensionElement<'a>> {
23374 if self.element_type() == Element::DucDimensionElement {
23375 self.element().map(|t| {
23376 unsafe { DucDimensionElement::init_from_table(t) }
23380 })
23381 } else {
23382 None
23383 }
23384 }
23385
23386 #[inline]
23387 #[allow(non_snake_case)]
23388 pub fn element_as_duc_feature_control_frame_element(&self) -> Option<DucFeatureControlFrameElement<'a>> {
23389 if self.element_type() == Element::DucFeatureControlFrameElement {
23390 self.element().map(|t| {
23391 unsafe { DucFeatureControlFrameElement::init_from_table(t) }
23395 })
23396 } else {
23397 None
23398 }
23399 }
23400
23401 #[inline]
23402 #[allow(non_snake_case)]
23403 pub fn element_as_duc_doc_element(&self) -> Option<DucDocElement<'a>> {
23404 if self.element_type() == Element::DucDocElement {
23405 self.element().map(|t| {
23406 unsafe { DucDocElement::init_from_table(t) }
23410 })
23411 } else {
23412 None
23413 }
23414 }
23415
23416 #[inline]
23417 #[allow(non_snake_case)]
23418 pub fn element_as_duc_parametric_element(&self) -> Option<DucParametricElement<'a>> {
23419 if self.element_type() == Element::DucParametricElement {
23420 self.element().map(|t| {
23421 unsafe { DucParametricElement::init_from_table(t) }
23425 })
23426 } else {
23427 None
23428 }
23429 }
23430
23431 #[inline]
23432 #[allow(non_snake_case)]
23433 pub fn element_as_duc_model_element(&self) -> Option<DucModelElement<'a>> {
23434 if self.element_type() == Element::DucModelElement {
23435 self.element().map(|t| {
23436 unsafe { DucModelElement::init_from_table(t) }
23440 })
23441 } else {
23442 None
23443 }
23444 }
23445
23446}
23447
23448impl flatbuffers::Verifiable for ElementWrapper<'_> {
23449 #[inline]
23450 fn run_verifier(
23451 v: &mut flatbuffers::Verifier, pos: usize
23452 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
23453 use self::flatbuffers::Verifiable;
23454 v.visit_table(pos)?
23455 .visit_union::<Element, _>("element_type", Self::VT_ELEMENT_TYPE, "element", Self::VT_ELEMENT, false, |key, v, pos| {
23456 match key {
23457 Element::DucRectangleElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucRectangleElement>>("Element::DucRectangleElement", pos),
23458 Element::DucPolygonElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucPolygonElement>>("Element::DucPolygonElement", pos),
23459 Element::DucEllipseElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucEllipseElement>>("Element::DucEllipseElement", pos),
23460 Element::DucEmbeddableElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucEmbeddableElement>>("Element::DucEmbeddableElement", pos),
23461 Element::DucPdfElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucPdfElement>>("Element::DucPdfElement", pos),
23462 Element::DucMermaidElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucMermaidElement>>("Element::DucMermaidElement", pos),
23463 Element::DucTableElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucTableElement>>("Element::DucTableElement", pos),
23464 Element::DucImageElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucImageElement>>("Element::DucImageElement", pos),
23465 Element::DucTextElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucTextElement>>("Element::DucTextElement", pos),
23466 Element::DucLinearElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucLinearElement>>("Element::DucLinearElement", pos),
23467 Element::DucArrowElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucArrowElement>>("Element::DucArrowElement", pos),
23468 Element::DucFreeDrawElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucFreeDrawElement>>("Element::DucFreeDrawElement", pos),
23469 Element::DucBlockInstanceElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucBlockInstanceElement>>("Element::DucBlockInstanceElement", pos),
23470 Element::DucFrameElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucFrameElement>>("Element::DucFrameElement", pos),
23471 Element::DucPlotElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucPlotElement>>("Element::DucPlotElement", pos),
23472 Element::DucViewportElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucViewportElement>>("Element::DucViewportElement", pos),
23473 Element::DucXRayElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucXRayElement>>("Element::DucXRayElement", pos),
23474 Element::DucLeaderElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucLeaderElement>>("Element::DucLeaderElement", pos),
23475 Element::DucDimensionElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucDimensionElement>>("Element::DucDimensionElement", pos),
23476 Element::DucFeatureControlFrameElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucFeatureControlFrameElement>>("Element::DucFeatureControlFrameElement", pos),
23477 Element::DucDocElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucDocElement>>("Element::DucDocElement", pos),
23478 Element::DucParametricElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucParametricElement>>("Element::DucParametricElement", pos),
23479 Element::DucModelElement => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DucModelElement>>("Element::DucModelElement", pos),
23480 _ => Ok(()),
23481 }
23482 })?
23483 .finish();
23484 Ok(())
23485 }
23486}
23487pub struct ElementWrapperArgs {
23488 pub element_type: Element,
23489 pub element: Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>>,
23490}
23491impl<'a> Default for ElementWrapperArgs {
23492 #[inline]
23493 fn default() -> Self {
23494 ElementWrapperArgs {
23495 element_type: Element::NONE,
23496 element: None,
23497 }
23498 }
23499}
23500
23501pub struct ElementWrapperBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
23502 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
23503 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
23504}
23505impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> ElementWrapperBuilder<'a, 'b, A> {
23506 #[inline]
23507 pub fn add_element_type(&mut self, element_type: Element) {
23508 self.fbb_.push_slot::<Element>(ElementWrapper::VT_ELEMENT_TYPE, element_type, Element::NONE);
23509 }
23510 #[inline]
23511 pub fn add_element(&mut self, element: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>) {
23512 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ElementWrapper::VT_ELEMENT, element);
23513 }
23514 #[inline]
23515 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> ElementWrapperBuilder<'a, 'b, A> {
23516 let start = _fbb.start_table();
23517 ElementWrapperBuilder {
23518 fbb_: _fbb,
23519 start_: start,
23520 }
23521 }
23522 #[inline]
23523 pub fn finish(self) -> flatbuffers::WIPOffset<ElementWrapper<'a>> {
23524 let o = self.fbb_.end_table(self.start_);
23525 flatbuffers::WIPOffset::new(o.value())
23526 }
23527}
23528
23529impl core::fmt::Debug for ElementWrapper<'_> {
23530 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
23531 let mut ds = f.debug_struct("ElementWrapper");
23532 ds.field("element_type", &self.element_type());
23533 match self.element_type() {
23534 Element::DucRectangleElement => {
23535 if let Some(x) = self.element_as_duc_rectangle_element() {
23536 ds.field("element", &x)
23537 } else {
23538 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23539 }
23540 },
23541 Element::DucPolygonElement => {
23542 if let Some(x) = self.element_as_duc_polygon_element() {
23543 ds.field("element", &x)
23544 } else {
23545 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23546 }
23547 },
23548 Element::DucEllipseElement => {
23549 if let Some(x) = self.element_as_duc_ellipse_element() {
23550 ds.field("element", &x)
23551 } else {
23552 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23553 }
23554 },
23555 Element::DucEmbeddableElement => {
23556 if let Some(x) = self.element_as_duc_embeddable_element() {
23557 ds.field("element", &x)
23558 } else {
23559 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23560 }
23561 },
23562 Element::DucPdfElement => {
23563 if let Some(x) = self.element_as_duc_pdf_element() {
23564 ds.field("element", &x)
23565 } else {
23566 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23567 }
23568 },
23569 Element::DucMermaidElement => {
23570 if let Some(x) = self.element_as_duc_mermaid_element() {
23571 ds.field("element", &x)
23572 } else {
23573 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23574 }
23575 },
23576 Element::DucTableElement => {
23577 if let Some(x) = self.element_as_duc_table_element() {
23578 ds.field("element", &x)
23579 } else {
23580 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23581 }
23582 },
23583 Element::DucImageElement => {
23584 if let Some(x) = self.element_as_duc_image_element() {
23585 ds.field("element", &x)
23586 } else {
23587 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23588 }
23589 },
23590 Element::DucTextElement => {
23591 if let Some(x) = self.element_as_duc_text_element() {
23592 ds.field("element", &x)
23593 } else {
23594 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23595 }
23596 },
23597 Element::DucLinearElement => {
23598 if let Some(x) = self.element_as_duc_linear_element() {
23599 ds.field("element", &x)
23600 } else {
23601 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23602 }
23603 },
23604 Element::DucArrowElement => {
23605 if let Some(x) = self.element_as_duc_arrow_element() {
23606 ds.field("element", &x)
23607 } else {
23608 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23609 }
23610 },
23611 Element::DucFreeDrawElement => {
23612 if let Some(x) = self.element_as_duc_free_draw_element() {
23613 ds.field("element", &x)
23614 } else {
23615 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23616 }
23617 },
23618 Element::DucBlockInstanceElement => {
23619 if let Some(x) = self.element_as_duc_block_instance_element() {
23620 ds.field("element", &x)
23621 } else {
23622 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23623 }
23624 },
23625 Element::DucFrameElement => {
23626 if let Some(x) = self.element_as_duc_frame_element() {
23627 ds.field("element", &x)
23628 } else {
23629 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23630 }
23631 },
23632 Element::DucPlotElement => {
23633 if let Some(x) = self.element_as_duc_plot_element() {
23634 ds.field("element", &x)
23635 } else {
23636 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23637 }
23638 },
23639 Element::DucViewportElement => {
23640 if let Some(x) = self.element_as_duc_viewport_element() {
23641 ds.field("element", &x)
23642 } else {
23643 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23644 }
23645 },
23646 Element::DucXRayElement => {
23647 if let Some(x) = self.element_as_duc_xray_element() {
23648 ds.field("element", &x)
23649 } else {
23650 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23651 }
23652 },
23653 Element::DucLeaderElement => {
23654 if let Some(x) = self.element_as_duc_leader_element() {
23655 ds.field("element", &x)
23656 } else {
23657 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23658 }
23659 },
23660 Element::DucDimensionElement => {
23661 if let Some(x) = self.element_as_duc_dimension_element() {
23662 ds.field("element", &x)
23663 } else {
23664 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23665 }
23666 },
23667 Element::DucFeatureControlFrameElement => {
23668 if let Some(x) = self.element_as_duc_feature_control_frame_element() {
23669 ds.field("element", &x)
23670 } else {
23671 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23672 }
23673 },
23674 Element::DucDocElement => {
23675 if let Some(x) = self.element_as_duc_doc_element() {
23676 ds.field("element", &x)
23677 } else {
23678 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23679 }
23680 },
23681 Element::DucParametricElement => {
23682 if let Some(x) = self.element_as_duc_parametric_element() {
23683 ds.field("element", &x)
23684 } else {
23685 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23686 }
23687 },
23688 Element::DucModelElement => {
23689 if let Some(x) = self.element_as_duc_model_element() {
23690 ds.field("element", &x)
23691 } else {
23692 ds.field("element", &"InvalidFlatbuffer: Union discriminant does not match value.")
23693 }
23694 },
23695 _ => {
23696 let x: Option<()> = None;
23697 ds.field("element", &x)
23698 },
23699 };
23700 ds.finish()
23701 }
23702}
23703pub enum DucGlobalStateOffset {}
23704#[derive(Copy, Clone, PartialEq)]
23705
23706pub struct DucGlobalState<'a> {
23707 pub _tab: flatbuffers::Table<'a>,
23708}
23709
23710impl<'a> flatbuffers::Follow<'a> for DucGlobalState<'a> {
23711 type Inner = DucGlobalState<'a>;
23712 #[inline]
23713 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
23714 Self { _tab: flatbuffers::Table::new(buf, loc) }
23715 }
23716}
23717
23718impl<'a> DucGlobalState<'a> {
23719 pub const VT_NAME: flatbuffers::VOffsetT = 4;
23720 pub const VT_VIEW_BACKGROUND_COLOR: flatbuffers::VOffsetT = 6;
23721 pub const VT_MAIN_SCOPE: flatbuffers::VOffsetT = 8;
23722 pub const VT_DASH_SPACING_SCALE: flatbuffers::VOffsetT = 10;
23723 pub const VT_IS_DASH_SPACING_AFFECTED_BY_VIEWPORT_SCALE: flatbuffers::VOffsetT = 12;
23724 pub const VT_SCOPE_EXPONENT_THRESHOLD: flatbuffers::VOffsetT = 14;
23725 pub const VT_DIMENSIONS_ASSOCIATIVE_BY_DEFAULT: flatbuffers::VOffsetT = 16;
23726 pub const VT_USE_ANNOTATIVE_SCALING: flatbuffers::VOffsetT = 18;
23727 pub const VT_DISPLAY_PRECISION_LINEAR: flatbuffers::VOffsetT = 20;
23728 pub const VT_DISPLAY_PRECISION_ANGULAR: flatbuffers::VOffsetT = 22;
23729 pub const VT_PRUNING_LEVEL: flatbuffers::VOffsetT = 24;
23730
23731 #[inline]
23732 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
23733 DucGlobalState { _tab: table }
23734 }
23735 #[allow(unused_mut)]
23736 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
23737 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
23738 args: &'args DucGlobalStateArgs<'args>
23739 ) -> flatbuffers::WIPOffset<DucGlobalState<'bldr>> {
23740 let mut builder = DucGlobalStateBuilder::new(_fbb);
23741 builder.add_display_precision_angular(args.display_precision_angular);
23742 builder.add_display_precision_linear(args.display_precision_linear);
23743 builder.add_dash_spacing_scale(args.dash_spacing_scale);
23744 if let Some(x) = args.main_scope { builder.add_main_scope(x); }
23745 if let Some(x) = args.view_background_color { builder.add_view_background_color(x); }
23746 if let Some(x) = args.name { builder.add_name(x); }
23747 if let Some(x) = args.pruning_level { builder.add_pruning_level(x); }
23748 builder.add_use_annotative_scaling(args.use_annotative_scaling);
23749 builder.add_dimensions_associative_by_default(args.dimensions_associative_by_default);
23750 builder.add_scope_exponent_threshold(args.scope_exponent_threshold);
23751 builder.add_is_dash_spacing_affected_by_viewport_scale(args.is_dash_spacing_affected_by_viewport_scale);
23752 builder.finish()
23753 }
23754
23755
23756 #[inline]
23757 pub fn name(&self) -> Option<&'a str> {
23758 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucGlobalState::VT_NAME, None)}
23762 }
23763 #[inline]
23764 pub fn view_background_color(&self) -> Option<&'a str> {
23765 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucGlobalState::VT_VIEW_BACKGROUND_COLOR, None)}
23769 }
23770 #[inline]
23771 pub fn main_scope(&self) -> Option<&'a str> {
23772 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucGlobalState::VT_MAIN_SCOPE, None)}
23776 }
23777 #[inline]
23778 pub fn dash_spacing_scale(&self) -> f32 {
23779 unsafe { self._tab.get::<f32>(DucGlobalState::VT_DASH_SPACING_SCALE, Some(0.0)).unwrap()}
23783 }
23784 #[inline]
23785 pub fn is_dash_spacing_affected_by_viewport_scale(&self) -> bool {
23786 unsafe { self._tab.get::<bool>(DucGlobalState::VT_IS_DASH_SPACING_AFFECTED_BY_VIEWPORT_SCALE, Some(false)).unwrap()}
23790 }
23791 #[inline]
23792 pub fn scope_exponent_threshold(&self) -> i8 {
23793 unsafe { self._tab.get::<i8>(DucGlobalState::VT_SCOPE_EXPONENT_THRESHOLD, Some(0)).unwrap()}
23797 }
23798 #[inline]
23799 pub fn dimensions_associative_by_default(&self) -> bool {
23800 unsafe { self._tab.get::<bool>(DucGlobalState::VT_DIMENSIONS_ASSOCIATIVE_BY_DEFAULT, Some(false)).unwrap()}
23804 }
23805 #[inline]
23806 pub fn use_annotative_scaling(&self) -> bool {
23807 unsafe { self._tab.get::<bool>(DucGlobalState::VT_USE_ANNOTATIVE_SCALING, Some(false)).unwrap()}
23811 }
23812 #[inline]
23813 pub fn display_precision_linear(&self) -> i32 {
23814 unsafe { self._tab.get::<i32>(DucGlobalState::VT_DISPLAY_PRECISION_LINEAR, Some(0)).unwrap()}
23818 }
23819 #[inline]
23820 pub fn display_precision_angular(&self) -> i32 {
23821 unsafe { self._tab.get::<i32>(DucGlobalState::VT_DISPLAY_PRECISION_ANGULAR, Some(0)).unwrap()}
23825 }
23826 #[inline]
23827 pub fn pruning_level(&self) -> Option<PRUNING_LEVEL> {
23828 unsafe { self._tab.get::<PRUNING_LEVEL>(DucGlobalState::VT_PRUNING_LEVEL, None)}
23832 }
23833}
23834
23835impl flatbuffers::Verifiable for DucGlobalState<'_> {
23836 #[inline]
23837 fn run_verifier(
23838 v: &mut flatbuffers::Verifier, pos: usize
23839 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
23840 use self::flatbuffers::Verifiable;
23841 v.visit_table(pos)?
23842 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("name", Self::VT_NAME, false)?
23843 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("view_background_color", Self::VT_VIEW_BACKGROUND_COLOR, false)?
23844 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("main_scope", Self::VT_MAIN_SCOPE, false)?
23845 .visit_field::<f32>("dash_spacing_scale", Self::VT_DASH_SPACING_SCALE, false)?
23846 .visit_field::<bool>("is_dash_spacing_affected_by_viewport_scale", Self::VT_IS_DASH_SPACING_AFFECTED_BY_VIEWPORT_SCALE, false)?
23847 .visit_field::<i8>("scope_exponent_threshold", Self::VT_SCOPE_EXPONENT_THRESHOLD, false)?
23848 .visit_field::<bool>("dimensions_associative_by_default", Self::VT_DIMENSIONS_ASSOCIATIVE_BY_DEFAULT, false)?
23849 .visit_field::<bool>("use_annotative_scaling", Self::VT_USE_ANNOTATIVE_SCALING, false)?
23850 .visit_field::<i32>("display_precision_linear", Self::VT_DISPLAY_PRECISION_LINEAR, false)?
23851 .visit_field::<i32>("display_precision_angular", Self::VT_DISPLAY_PRECISION_ANGULAR, false)?
23852 .visit_field::<PRUNING_LEVEL>("pruning_level", Self::VT_PRUNING_LEVEL, false)?
23853 .finish();
23854 Ok(())
23855 }
23856}
23857pub struct DucGlobalStateArgs<'a> {
23858 pub name: Option<flatbuffers::WIPOffset<&'a str>>,
23859 pub view_background_color: Option<flatbuffers::WIPOffset<&'a str>>,
23860 pub main_scope: Option<flatbuffers::WIPOffset<&'a str>>,
23861 pub dash_spacing_scale: f32,
23862 pub is_dash_spacing_affected_by_viewport_scale: bool,
23863 pub scope_exponent_threshold: i8,
23864 pub dimensions_associative_by_default: bool,
23865 pub use_annotative_scaling: bool,
23866 pub display_precision_linear: i32,
23867 pub display_precision_angular: i32,
23868 pub pruning_level: Option<PRUNING_LEVEL>,
23869}
23870impl<'a> Default for DucGlobalStateArgs<'a> {
23871 #[inline]
23872 fn default() -> Self {
23873 DucGlobalStateArgs {
23874 name: None,
23875 view_background_color: None,
23876 main_scope: None,
23877 dash_spacing_scale: 0.0,
23878 is_dash_spacing_affected_by_viewport_scale: false,
23879 scope_exponent_threshold: 0,
23880 dimensions_associative_by_default: false,
23881 use_annotative_scaling: false,
23882 display_precision_linear: 0,
23883 display_precision_angular: 0,
23884 pruning_level: None,
23885 }
23886 }
23887}
23888
23889pub struct DucGlobalStateBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
23890 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
23891 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
23892}
23893impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucGlobalStateBuilder<'a, 'b, A> {
23894 #[inline]
23895 pub fn add_name(&mut self, name: flatbuffers::WIPOffset<&'b str>) {
23896 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucGlobalState::VT_NAME, name);
23897 }
23898 #[inline]
23899 pub fn add_view_background_color(&mut self, view_background_color: flatbuffers::WIPOffset<&'b str>) {
23900 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucGlobalState::VT_VIEW_BACKGROUND_COLOR, view_background_color);
23901 }
23902 #[inline]
23903 pub fn add_main_scope(&mut self, main_scope: flatbuffers::WIPOffset<&'b str>) {
23904 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucGlobalState::VT_MAIN_SCOPE, main_scope);
23905 }
23906 #[inline]
23907 pub fn add_dash_spacing_scale(&mut self, dash_spacing_scale: f32) {
23908 self.fbb_.push_slot::<f32>(DucGlobalState::VT_DASH_SPACING_SCALE, dash_spacing_scale, 0.0);
23909 }
23910 #[inline]
23911 pub fn add_is_dash_spacing_affected_by_viewport_scale(&mut self, is_dash_spacing_affected_by_viewport_scale: bool) {
23912 self.fbb_.push_slot::<bool>(DucGlobalState::VT_IS_DASH_SPACING_AFFECTED_BY_VIEWPORT_SCALE, is_dash_spacing_affected_by_viewport_scale, false);
23913 }
23914 #[inline]
23915 pub fn add_scope_exponent_threshold(&mut self, scope_exponent_threshold: i8) {
23916 self.fbb_.push_slot::<i8>(DucGlobalState::VT_SCOPE_EXPONENT_THRESHOLD, scope_exponent_threshold, 0);
23917 }
23918 #[inline]
23919 pub fn add_dimensions_associative_by_default(&mut self, dimensions_associative_by_default: bool) {
23920 self.fbb_.push_slot::<bool>(DucGlobalState::VT_DIMENSIONS_ASSOCIATIVE_BY_DEFAULT, dimensions_associative_by_default, false);
23921 }
23922 #[inline]
23923 pub fn add_use_annotative_scaling(&mut self, use_annotative_scaling: bool) {
23924 self.fbb_.push_slot::<bool>(DucGlobalState::VT_USE_ANNOTATIVE_SCALING, use_annotative_scaling, false);
23925 }
23926 #[inline]
23927 pub fn add_display_precision_linear(&mut self, display_precision_linear: i32) {
23928 self.fbb_.push_slot::<i32>(DucGlobalState::VT_DISPLAY_PRECISION_LINEAR, display_precision_linear, 0);
23929 }
23930 #[inline]
23931 pub fn add_display_precision_angular(&mut self, display_precision_angular: i32) {
23932 self.fbb_.push_slot::<i32>(DucGlobalState::VT_DISPLAY_PRECISION_ANGULAR, display_precision_angular, 0);
23933 }
23934 #[inline]
23935 pub fn add_pruning_level(&mut self, pruning_level: PRUNING_LEVEL) {
23936 self.fbb_.push_slot_always::<PRUNING_LEVEL>(DucGlobalState::VT_PRUNING_LEVEL, pruning_level);
23937 }
23938 #[inline]
23939 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucGlobalStateBuilder<'a, 'b, A> {
23940 let start = _fbb.start_table();
23941 DucGlobalStateBuilder {
23942 fbb_: _fbb,
23943 start_: start,
23944 }
23945 }
23946 #[inline]
23947 pub fn finish(self) -> flatbuffers::WIPOffset<DucGlobalState<'a>> {
23948 let o = self.fbb_.end_table(self.start_);
23949 flatbuffers::WIPOffset::new(o.value())
23950 }
23951}
23952
23953impl core::fmt::Debug for DucGlobalState<'_> {
23954 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
23955 let mut ds = f.debug_struct("DucGlobalState");
23956 ds.field("name", &self.name());
23957 ds.field("view_background_color", &self.view_background_color());
23958 ds.field("main_scope", &self.main_scope());
23959 ds.field("dash_spacing_scale", &self.dash_spacing_scale());
23960 ds.field("is_dash_spacing_affected_by_viewport_scale", &self.is_dash_spacing_affected_by_viewport_scale());
23961 ds.field("scope_exponent_threshold", &self.scope_exponent_threshold());
23962 ds.field("dimensions_associative_by_default", &self.dimensions_associative_by_default());
23963 ds.field("use_annotative_scaling", &self.use_annotative_scaling());
23964 ds.field("display_precision_linear", &self.display_precision_linear());
23965 ds.field("display_precision_angular", &self.display_precision_angular());
23966 ds.field("pruning_level", &self.pruning_level());
23967 ds.finish()
23968 }
23969}
23970pub enum DucLocalStateOffset {}
23971#[derive(Copy, Clone, PartialEq)]
23972
23973pub struct DucLocalState<'a> {
23974 pub _tab: flatbuffers::Table<'a>,
23975}
23976
23977impl<'a> flatbuffers::Follow<'a> for DucLocalState<'a> {
23978 type Inner = DucLocalState<'a>;
23979 #[inline]
23980 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
23981 Self { _tab: flatbuffers::Table::new(buf, loc) }
23982 }
23983}
23984
23985impl<'a> DucLocalState<'a> {
23986 pub const VT_SCOPE: flatbuffers::VOffsetT = 4;
23987 pub const VT_ACTIVE_STANDARD_ID: flatbuffers::VOffsetT = 6;
23988 pub const VT_SCROLL_X: flatbuffers::VOffsetT = 8;
23989 pub const VT_SCROLL_Y: flatbuffers::VOffsetT = 10;
23990 pub const VT_ZOOM: flatbuffers::VOffsetT = 12;
23991 pub const VT_ACTIVE_GRID_SETTINGS: flatbuffers::VOffsetT = 14;
23992 pub const VT_ACTIVE_SNAP_SETTINGS: flatbuffers::VOffsetT = 16;
23993 pub const VT_IS_BINDING_ENABLED: flatbuffers::VOffsetT = 18;
23994 pub const VT_CURRENT_ITEM_STROKE: flatbuffers::VOffsetT = 20;
23995 pub const VT_CURRENT_ITEM_BACKGROUND: flatbuffers::VOffsetT = 22;
23996 pub const VT_CURRENT_ITEM_OPACITY: flatbuffers::VOffsetT = 24;
23997 pub const VT_CURRENT_ITEM_FONT_FAMILY: flatbuffers::VOffsetT = 26;
23998 pub const VT_CURRENT_ITEM_FONT_SIZE: flatbuffers::VOffsetT = 28;
23999 pub const VT_CURRENT_ITEM_TEXT_ALIGN: flatbuffers::VOffsetT = 30;
24000 pub const VT_CURRENT_ITEM_START_LINE_HEAD: flatbuffers::VOffsetT = 32;
24001 pub const VT_CURRENT_ITEM_END_LINE_HEAD: flatbuffers::VOffsetT = 34;
24002 pub const VT_CURRENT_ITEM_ROUNDNESS: flatbuffers::VOffsetT = 36;
24003 pub const VT_PEN_MODE: flatbuffers::VOffsetT = 38;
24004 pub const VT_VIEW_MODE_ENABLED: flatbuffers::VOffsetT = 40;
24005 pub const VT_OBJECTS_SNAP_MODE_ENABLED: flatbuffers::VOffsetT = 42;
24006 pub const VT_GRID_MODE_ENABLED: flatbuffers::VOffsetT = 44;
24007 pub const VT_OUTLINE_MODE_ENABLED: flatbuffers::VOffsetT = 46;
24008 pub const VT_MANUAL_SAVE_MODE: flatbuffers::VOffsetT = 48;
24009
24010 #[inline]
24011 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
24012 DucLocalState { _tab: table }
24013 }
24014 #[allow(unused_mut)]
24015 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
24016 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
24017 args: &'args DucLocalStateArgs<'args>
24018 ) -> flatbuffers::WIPOffset<DucLocalState<'bldr>> {
24019 let mut builder = DucLocalStateBuilder::new(_fbb);
24020 builder.add_current_item_roundness(args.current_item_roundness);
24021 builder.add_current_item_font_size(args.current_item_font_size);
24022 builder.add_zoom(args.zoom);
24023 builder.add_scroll_y(args.scroll_y);
24024 builder.add_scroll_x(args.scroll_x);
24025 if let Some(x) = args.current_item_end_line_head { builder.add_current_item_end_line_head(x); }
24026 if let Some(x) = args.current_item_start_line_head { builder.add_current_item_start_line_head(x); }
24027 if let Some(x) = args.current_item_font_family { builder.add_current_item_font_family(x); }
24028 builder.add_current_item_opacity(args.current_item_opacity);
24029 if let Some(x) = args.current_item_background { builder.add_current_item_background(x); }
24030 if let Some(x) = args.current_item_stroke { builder.add_current_item_stroke(x); }
24031 if let Some(x) = args.active_snap_settings { builder.add_active_snap_settings(x); }
24032 if let Some(x) = args.active_grid_settings { builder.add_active_grid_settings(x); }
24033 if let Some(x) = args.active_standard_id { builder.add_active_standard_id(x); }
24034 if let Some(x) = args.scope { builder.add_scope(x); }
24035 builder.add_manual_save_mode(args.manual_save_mode);
24036 builder.add_outline_mode_enabled(args.outline_mode_enabled);
24037 builder.add_grid_mode_enabled(args.grid_mode_enabled);
24038 builder.add_objects_snap_mode_enabled(args.objects_snap_mode_enabled);
24039 builder.add_view_mode_enabled(args.view_mode_enabled);
24040 builder.add_pen_mode(args.pen_mode);
24041 if let Some(x) = args.current_item_text_align { builder.add_current_item_text_align(x); }
24042 builder.add_is_binding_enabled(args.is_binding_enabled);
24043 builder.finish()
24044 }
24045
24046
24047 #[inline]
24048 pub fn scope(&self) -> Option<&'a str> {
24049 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucLocalState::VT_SCOPE, None)}
24053 }
24054 #[inline]
24055 pub fn active_standard_id(&self) -> Option<&'a str> {
24056 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucLocalState::VT_ACTIVE_STANDARD_ID, None)}
24060 }
24061 #[inline]
24062 pub fn scroll_x(&self) -> f64 {
24063 unsafe { self._tab.get::<f64>(DucLocalState::VT_SCROLL_X, Some(0.0)).unwrap()}
24067 }
24068 #[inline]
24069 pub fn scroll_y(&self) -> f64 {
24070 unsafe { self._tab.get::<f64>(DucLocalState::VT_SCROLL_Y, Some(0.0)).unwrap()}
24074 }
24075 #[inline]
24076 pub fn zoom(&self) -> f64 {
24077 unsafe { self._tab.get::<f64>(DucLocalState::VT_ZOOM, Some(0.0)).unwrap()}
24081 }
24082 #[inline]
24083 pub fn active_grid_settings(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
24084 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(DucLocalState::VT_ACTIVE_GRID_SETTINGS, None)}
24088 }
24089 #[inline]
24090 pub fn active_snap_settings(&self) -> Option<&'a str> {
24091 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucLocalState::VT_ACTIVE_SNAP_SETTINGS, None)}
24095 }
24096 #[inline]
24097 pub fn is_binding_enabled(&self) -> bool {
24098 unsafe { self._tab.get::<bool>(DucLocalState::VT_IS_BINDING_ENABLED, Some(false)).unwrap()}
24102 }
24103 #[inline]
24104 pub fn current_item_stroke(&self) -> Option<ElementStroke<'a>> {
24105 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ElementStroke>>(DucLocalState::VT_CURRENT_ITEM_STROKE, None)}
24109 }
24110 #[inline]
24111 pub fn current_item_background(&self) -> Option<ElementBackground<'a>> {
24112 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ElementBackground>>(DucLocalState::VT_CURRENT_ITEM_BACKGROUND, None)}
24116 }
24117 #[inline]
24118 pub fn current_item_opacity(&self) -> f32 {
24119 unsafe { self._tab.get::<f32>(DucLocalState::VT_CURRENT_ITEM_OPACITY, Some(0.0)).unwrap()}
24123 }
24124 #[inline]
24125 pub fn current_item_font_family(&self) -> Option<&'a str> {
24126 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucLocalState::VT_CURRENT_ITEM_FONT_FAMILY, None)}
24130 }
24131 #[inline]
24132 pub fn current_item_font_size(&self) -> f64 {
24133 unsafe { self._tab.get::<f64>(DucLocalState::VT_CURRENT_ITEM_FONT_SIZE, Some(0.0)).unwrap()}
24137 }
24138 #[inline]
24139 pub fn current_item_text_align(&self) -> Option<TEXT_ALIGN> {
24140 unsafe { self._tab.get::<TEXT_ALIGN>(DucLocalState::VT_CURRENT_ITEM_TEXT_ALIGN, None)}
24144 }
24145 #[inline]
24146 pub fn current_item_start_line_head(&self) -> Option<DucHead<'a>> {
24147 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucHead>>(DucLocalState::VT_CURRENT_ITEM_START_LINE_HEAD, None)}
24151 }
24152 #[inline]
24153 pub fn current_item_end_line_head(&self) -> Option<DucHead<'a>> {
24154 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucHead>>(DucLocalState::VT_CURRENT_ITEM_END_LINE_HEAD, None)}
24158 }
24159 #[inline]
24160 pub fn current_item_roundness(&self) -> f64 {
24161 unsafe { self._tab.get::<f64>(DucLocalState::VT_CURRENT_ITEM_ROUNDNESS, Some(0.0)).unwrap()}
24165 }
24166 #[inline]
24167 pub fn pen_mode(&self) -> bool {
24168 unsafe { self._tab.get::<bool>(DucLocalState::VT_PEN_MODE, Some(false)).unwrap()}
24172 }
24173 #[inline]
24174 pub fn view_mode_enabled(&self) -> bool {
24175 unsafe { self._tab.get::<bool>(DucLocalState::VT_VIEW_MODE_ENABLED, Some(false)).unwrap()}
24179 }
24180 #[inline]
24181 pub fn objects_snap_mode_enabled(&self) -> bool {
24182 unsafe { self._tab.get::<bool>(DucLocalState::VT_OBJECTS_SNAP_MODE_ENABLED, Some(false)).unwrap()}
24186 }
24187 #[inline]
24188 pub fn grid_mode_enabled(&self) -> bool {
24189 unsafe { self._tab.get::<bool>(DucLocalState::VT_GRID_MODE_ENABLED, Some(false)).unwrap()}
24193 }
24194 #[inline]
24195 pub fn outline_mode_enabled(&self) -> bool {
24196 unsafe { self._tab.get::<bool>(DucLocalState::VT_OUTLINE_MODE_ENABLED, Some(false)).unwrap()}
24200 }
24201 #[inline]
24202 pub fn manual_save_mode(&self) -> bool {
24203 unsafe { self._tab.get::<bool>(DucLocalState::VT_MANUAL_SAVE_MODE, Some(false)).unwrap()}
24207 }
24208}
24209
24210impl flatbuffers::Verifiable for DucLocalState<'_> {
24211 #[inline]
24212 fn run_verifier(
24213 v: &mut flatbuffers::Verifier, pos: usize
24214 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
24215 use self::flatbuffers::Verifiable;
24216 v.visit_table(pos)?
24217 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("scope", Self::VT_SCOPE, false)?
24218 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("active_standard_id", Self::VT_ACTIVE_STANDARD_ID, false)?
24219 .visit_field::<f64>("scroll_x", Self::VT_SCROLL_X, false)?
24220 .visit_field::<f64>("scroll_y", Self::VT_SCROLL_Y, false)?
24221 .visit_field::<f64>("zoom", Self::VT_ZOOM, false)?
24222 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("active_grid_settings", Self::VT_ACTIVE_GRID_SETTINGS, false)?
24223 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("active_snap_settings", Self::VT_ACTIVE_SNAP_SETTINGS, false)?
24224 .visit_field::<bool>("is_binding_enabled", Self::VT_IS_BINDING_ENABLED, false)?
24225 .visit_field::<flatbuffers::ForwardsUOffset<ElementStroke>>("current_item_stroke", Self::VT_CURRENT_ITEM_STROKE, false)?
24226 .visit_field::<flatbuffers::ForwardsUOffset<ElementBackground>>("current_item_background", Self::VT_CURRENT_ITEM_BACKGROUND, false)?
24227 .visit_field::<f32>("current_item_opacity", Self::VT_CURRENT_ITEM_OPACITY, false)?
24228 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("current_item_font_family", Self::VT_CURRENT_ITEM_FONT_FAMILY, false)?
24229 .visit_field::<f64>("current_item_font_size", Self::VT_CURRENT_ITEM_FONT_SIZE, false)?
24230 .visit_field::<TEXT_ALIGN>("current_item_text_align", Self::VT_CURRENT_ITEM_TEXT_ALIGN, false)?
24231 .visit_field::<flatbuffers::ForwardsUOffset<DucHead>>("current_item_start_line_head", Self::VT_CURRENT_ITEM_START_LINE_HEAD, false)?
24232 .visit_field::<flatbuffers::ForwardsUOffset<DucHead>>("current_item_end_line_head", Self::VT_CURRENT_ITEM_END_LINE_HEAD, false)?
24233 .visit_field::<f64>("current_item_roundness", Self::VT_CURRENT_ITEM_ROUNDNESS, false)?
24234 .visit_field::<bool>("pen_mode", Self::VT_PEN_MODE, false)?
24235 .visit_field::<bool>("view_mode_enabled", Self::VT_VIEW_MODE_ENABLED, false)?
24236 .visit_field::<bool>("objects_snap_mode_enabled", Self::VT_OBJECTS_SNAP_MODE_ENABLED, false)?
24237 .visit_field::<bool>("grid_mode_enabled", Self::VT_GRID_MODE_ENABLED, false)?
24238 .visit_field::<bool>("outline_mode_enabled", Self::VT_OUTLINE_MODE_ENABLED, false)?
24239 .visit_field::<bool>("manual_save_mode", Self::VT_MANUAL_SAVE_MODE, false)?
24240 .finish();
24241 Ok(())
24242 }
24243}
24244pub struct DucLocalStateArgs<'a> {
24245 pub scope: Option<flatbuffers::WIPOffset<&'a str>>,
24246 pub active_standard_id: Option<flatbuffers::WIPOffset<&'a str>>,
24247 pub scroll_x: f64,
24248 pub scroll_y: f64,
24249 pub zoom: f64,
24250 pub active_grid_settings: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
24251 pub active_snap_settings: Option<flatbuffers::WIPOffset<&'a str>>,
24252 pub is_binding_enabled: bool,
24253 pub current_item_stroke: Option<flatbuffers::WIPOffset<ElementStroke<'a>>>,
24254 pub current_item_background: Option<flatbuffers::WIPOffset<ElementBackground<'a>>>,
24255 pub current_item_opacity: f32,
24256 pub current_item_font_family: Option<flatbuffers::WIPOffset<&'a str>>,
24257 pub current_item_font_size: f64,
24258 pub current_item_text_align: Option<TEXT_ALIGN>,
24259 pub current_item_start_line_head: Option<flatbuffers::WIPOffset<DucHead<'a>>>,
24260 pub current_item_end_line_head: Option<flatbuffers::WIPOffset<DucHead<'a>>>,
24261 pub current_item_roundness: f64,
24262 pub pen_mode: bool,
24263 pub view_mode_enabled: bool,
24264 pub objects_snap_mode_enabled: bool,
24265 pub grid_mode_enabled: bool,
24266 pub outline_mode_enabled: bool,
24267 pub manual_save_mode: bool,
24268}
24269impl<'a> Default for DucLocalStateArgs<'a> {
24270 #[inline]
24271 fn default() -> Self {
24272 DucLocalStateArgs {
24273 scope: None,
24274 active_standard_id: None,
24275 scroll_x: 0.0,
24276 scroll_y: 0.0,
24277 zoom: 0.0,
24278 active_grid_settings: None,
24279 active_snap_settings: None,
24280 is_binding_enabled: false,
24281 current_item_stroke: None,
24282 current_item_background: None,
24283 current_item_opacity: 0.0,
24284 current_item_font_family: None,
24285 current_item_font_size: 0.0,
24286 current_item_text_align: None,
24287 current_item_start_line_head: None,
24288 current_item_end_line_head: None,
24289 current_item_roundness: 0.0,
24290 pen_mode: false,
24291 view_mode_enabled: false,
24292 objects_snap_mode_enabled: false,
24293 grid_mode_enabled: false,
24294 outline_mode_enabled: false,
24295 manual_save_mode: false,
24296 }
24297 }
24298}
24299
24300pub struct DucLocalStateBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
24301 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
24302 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
24303}
24304impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucLocalStateBuilder<'a, 'b, A> {
24305 #[inline]
24306 pub fn add_scope(&mut self, scope: flatbuffers::WIPOffset<&'b str>) {
24307 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucLocalState::VT_SCOPE, scope);
24308 }
24309 #[inline]
24310 pub fn add_active_standard_id(&mut self, active_standard_id: flatbuffers::WIPOffset<&'b str>) {
24311 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucLocalState::VT_ACTIVE_STANDARD_ID, active_standard_id);
24312 }
24313 #[inline]
24314 pub fn add_scroll_x(&mut self, scroll_x: f64) {
24315 self.fbb_.push_slot::<f64>(DucLocalState::VT_SCROLL_X, scroll_x, 0.0);
24316 }
24317 #[inline]
24318 pub fn add_scroll_y(&mut self, scroll_y: f64) {
24319 self.fbb_.push_slot::<f64>(DucLocalState::VT_SCROLL_Y, scroll_y, 0.0);
24320 }
24321 #[inline]
24322 pub fn add_zoom(&mut self, zoom: f64) {
24323 self.fbb_.push_slot::<f64>(DucLocalState::VT_ZOOM, zoom, 0.0);
24324 }
24325 #[inline]
24326 pub fn add_active_grid_settings(&mut self, active_grid_settings: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
24327 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucLocalState::VT_ACTIVE_GRID_SETTINGS, active_grid_settings);
24328 }
24329 #[inline]
24330 pub fn add_active_snap_settings(&mut self, active_snap_settings: flatbuffers::WIPOffset<&'b str>) {
24331 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucLocalState::VT_ACTIVE_SNAP_SETTINGS, active_snap_settings);
24332 }
24333 #[inline]
24334 pub fn add_is_binding_enabled(&mut self, is_binding_enabled: bool) {
24335 self.fbb_.push_slot::<bool>(DucLocalState::VT_IS_BINDING_ENABLED, is_binding_enabled, false);
24336 }
24337 #[inline]
24338 pub fn add_current_item_stroke(&mut self, current_item_stroke: flatbuffers::WIPOffset<ElementStroke<'b >>) {
24339 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ElementStroke>>(DucLocalState::VT_CURRENT_ITEM_STROKE, current_item_stroke);
24340 }
24341 #[inline]
24342 pub fn add_current_item_background(&mut self, current_item_background: flatbuffers::WIPOffset<ElementBackground<'b >>) {
24343 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ElementBackground>>(DucLocalState::VT_CURRENT_ITEM_BACKGROUND, current_item_background);
24344 }
24345 #[inline]
24346 pub fn add_current_item_opacity(&mut self, current_item_opacity: f32) {
24347 self.fbb_.push_slot::<f32>(DucLocalState::VT_CURRENT_ITEM_OPACITY, current_item_opacity, 0.0);
24348 }
24349 #[inline]
24350 pub fn add_current_item_font_family(&mut self, current_item_font_family: flatbuffers::WIPOffset<&'b str>) {
24351 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucLocalState::VT_CURRENT_ITEM_FONT_FAMILY, current_item_font_family);
24352 }
24353 #[inline]
24354 pub fn add_current_item_font_size(&mut self, current_item_font_size: f64) {
24355 self.fbb_.push_slot::<f64>(DucLocalState::VT_CURRENT_ITEM_FONT_SIZE, current_item_font_size, 0.0);
24356 }
24357 #[inline]
24358 pub fn add_current_item_text_align(&mut self, current_item_text_align: TEXT_ALIGN) {
24359 self.fbb_.push_slot_always::<TEXT_ALIGN>(DucLocalState::VT_CURRENT_ITEM_TEXT_ALIGN, current_item_text_align);
24360 }
24361 #[inline]
24362 pub fn add_current_item_start_line_head(&mut self, current_item_start_line_head: flatbuffers::WIPOffset<DucHead<'b >>) {
24363 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucHead>>(DucLocalState::VT_CURRENT_ITEM_START_LINE_HEAD, current_item_start_line_head);
24364 }
24365 #[inline]
24366 pub fn add_current_item_end_line_head(&mut self, current_item_end_line_head: flatbuffers::WIPOffset<DucHead<'b >>) {
24367 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucHead>>(DucLocalState::VT_CURRENT_ITEM_END_LINE_HEAD, current_item_end_line_head);
24368 }
24369 #[inline]
24370 pub fn add_current_item_roundness(&mut self, current_item_roundness: f64) {
24371 self.fbb_.push_slot::<f64>(DucLocalState::VT_CURRENT_ITEM_ROUNDNESS, current_item_roundness, 0.0);
24372 }
24373 #[inline]
24374 pub fn add_pen_mode(&mut self, pen_mode: bool) {
24375 self.fbb_.push_slot::<bool>(DucLocalState::VT_PEN_MODE, pen_mode, false);
24376 }
24377 #[inline]
24378 pub fn add_view_mode_enabled(&mut self, view_mode_enabled: bool) {
24379 self.fbb_.push_slot::<bool>(DucLocalState::VT_VIEW_MODE_ENABLED, view_mode_enabled, false);
24380 }
24381 #[inline]
24382 pub fn add_objects_snap_mode_enabled(&mut self, objects_snap_mode_enabled: bool) {
24383 self.fbb_.push_slot::<bool>(DucLocalState::VT_OBJECTS_SNAP_MODE_ENABLED, objects_snap_mode_enabled, false);
24384 }
24385 #[inline]
24386 pub fn add_grid_mode_enabled(&mut self, grid_mode_enabled: bool) {
24387 self.fbb_.push_slot::<bool>(DucLocalState::VT_GRID_MODE_ENABLED, grid_mode_enabled, false);
24388 }
24389 #[inline]
24390 pub fn add_outline_mode_enabled(&mut self, outline_mode_enabled: bool) {
24391 self.fbb_.push_slot::<bool>(DucLocalState::VT_OUTLINE_MODE_ENABLED, outline_mode_enabled, false);
24392 }
24393 #[inline]
24394 pub fn add_manual_save_mode(&mut self, manual_save_mode: bool) {
24395 self.fbb_.push_slot::<bool>(DucLocalState::VT_MANUAL_SAVE_MODE, manual_save_mode, false);
24396 }
24397 #[inline]
24398 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucLocalStateBuilder<'a, 'b, A> {
24399 let start = _fbb.start_table();
24400 DucLocalStateBuilder {
24401 fbb_: _fbb,
24402 start_: start,
24403 }
24404 }
24405 #[inline]
24406 pub fn finish(self) -> flatbuffers::WIPOffset<DucLocalState<'a>> {
24407 let o = self.fbb_.end_table(self.start_);
24408 flatbuffers::WIPOffset::new(o.value())
24409 }
24410}
24411
24412impl core::fmt::Debug for DucLocalState<'_> {
24413 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
24414 let mut ds = f.debug_struct("DucLocalState");
24415 ds.field("scope", &self.scope());
24416 ds.field("active_standard_id", &self.active_standard_id());
24417 ds.field("scroll_x", &self.scroll_x());
24418 ds.field("scroll_y", &self.scroll_y());
24419 ds.field("zoom", &self.zoom());
24420 ds.field("active_grid_settings", &self.active_grid_settings());
24421 ds.field("active_snap_settings", &self.active_snap_settings());
24422 ds.field("is_binding_enabled", &self.is_binding_enabled());
24423 ds.field("current_item_stroke", &self.current_item_stroke());
24424 ds.field("current_item_background", &self.current_item_background());
24425 ds.field("current_item_opacity", &self.current_item_opacity());
24426 ds.field("current_item_font_family", &self.current_item_font_family());
24427 ds.field("current_item_font_size", &self.current_item_font_size());
24428 ds.field("current_item_text_align", &self.current_item_text_align());
24429 ds.field("current_item_start_line_head", &self.current_item_start_line_head());
24430 ds.field("current_item_end_line_head", &self.current_item_end_line_head());
24431 ds.field("current_item_roundness", &self.current_item_roundness());
24432 ds.field("pen_mode", &self.pen_mode());
24433 ds.field("view_mode_enabled", &self.view_mode_enabled());
24434 ds.field("objects_snap_mode_enabled", &self.objects_snap_mode_enabled());
24435 ds.field("grid_mode_enabled", &self.grid_mode_enabled());
24436 ds.field("outline_mode_enabled", &self.outline_mode_enabled());
24437 ds.field("manual_save_mode", &self.manual_save_mode());
24438 ds.finish()
24439 }
24440}
24441pub enum DucGroupOffset {}
24442#[derive(Copy, Clone, PartialEq)]
24443
24444pub struct DucGroup<'a> {
24445 pub _tab: flatbuffers::Table<'a>,
24446}
24447
24448impl<'a> flatbuffers::Follow<'a> for DucGroup<'a> {
24449 type Inner = DucGroup<'a>;
24450 #[inline]
24451 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
24452 Self { _tab: flatbuffers::Table::new(buf, loc) }
24453 }
24454}
24455
24456impl<'a> DucGroup<'a> {
24457 pub const VT_ID: flatbuffers::VOffsetT = 4;
24458 pub const VT_STACK_BASE: flatbuffers::VOffsetT = 6;
24459
24460 #[inline]
24461 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
24462 DucGroup { _tab: table }
24463 }
24464 #[allow(unused_mut)]
24465 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
24466 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
24467 args: &'args DucGroupArgs<'args>
24468 ) -> flatbuffers::WIPOffset<DucGroup<'bldr>> {
24469 let mut builder = DucGroupBuilder::new(_fbb);
24470 if let Some(x) = args.stack_base { builder.add_stack_base(x); }
24471 if let Some(x) = args.id { builder.add_id(x); }
24472 builder.finish()
24473 }
24474
24475
24476 #[inline]
24477 pub fn id(&self) -> &'a str {
24478 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucGroup::VT_ID, None).unwrap()}
24482 }
24483 #[inline]
24484 pub fn key_compare_less_than(&self, o: &DucGroup) -> bool {
24485 self.id() < o.id()
24486 }
24487
24488 #[inline]
24489 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
24490 let key = self.id();
24491 key.cmp(val)
24492 }
24493 #[inline]
24494 pub fn stack_base(&self) -> Option<_DucStackBase<'a>> {
24495 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucStackBase>>(DucGroup::VT_STACK_BASE, None)}
24499 }
24500}
24501
24502impl flatbuffers::Verifiable for DucGroup<'_> {
24503 #[inline]
24504 fn run_verifier(
24505 v: &mut flatbuffers::Verifier, pos: usize
24506 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
24507 use self::flatbuffers::Verifiable;
24508 v.visit_table(pos)?
24509 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("id", Self::VT_ID, true)?
24510 .visit_field::<flatbuffers::ForwardsUOffset<_DucStackBase>>("stack_base", Self::VT_STACK_BASE, false)?
24511 .finish();
24512 Ok(())
24513 }
24514}
24515pub struct DucGroupArgs<'a> {
24516 pub id: Option<flatbuffers::WIPOffset<&'a str>>,
24517 pub stack_base: Option<flatbuffers::WIPOffset<_DucStackBase<'a>>>,
24518}
24519impl<'a> Default for DucGroupArgs<'a> {
24520 #[inline]
24521 fn default() -> Self {
24522 DucGroupArgs {
24523 id: None, stack_base: None,
24525 }
24526 }
24527}
24528
24529pub struct DucGroupBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
24530 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
24531 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
24532}
24533impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucGroupBuilder<'a, 'b, A> {
24534 #[inline]
24535 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<&'b str>) {
24536 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucGroup::VT_ID, id);
24537 }
24538 #[inline]
24539 pub fn add_stack_base(&mut self, stack_base: flatbuffers::WIPOffset<_DucStackBase<'b >>) {
24540 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucStackBase>>(DucGroup::VT_STACK_BASE, stack_base);
24541 }
24542 #[inline]
24543 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucGroupBuilder<'a, 'b, A> {
24544 let start = _fbb.start_table();
24545 DucGroupBuilder {
24546 fbb_: _fbb,
24547 start_: start,
24548 }
24549 }
24550 #[inline]
24551 pub fn finish(self) -> flatbuffers::WIPOffset<DucGroup<'a>> {
24552 let o = self.fbb_.end_table(self.start_);
24553 self.fbb_.required(o, DucGroup::VT_ID,"id");
24554 flatbuffers::WIPOffset::new(o.value())
24555 }
24556}
24557
24558impl core::fmt::Debug for DucGroup<'_> {
24559 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
24560 let mut ds = f.debug_struct("DucGroup");
24561 ds.field("id", &self.id());
24562 ds.field("stack_base", &self.stack_base());
24563 ds.finish()
24564 }
24565}
24566pub enum DucRegionOffset {}
24567#[derive(Copy, Clone, PartialEq)]
24568
24569pub struct DucRegion<'a> {
24570 pub _tab: flatbuffers::Table<'a>,
24571}
24572
24573impl<'a> flatbuffers::Follow<'a> for DucRegion<'a> {
24574 type Inner = DucRegion<'a>;
24575 #[inline]
24576 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
24577 Self { _tab: flatbuffers::Table::new(buf, loc) }
24578 }
24579}
24580
24581impl<'a> DucRegion<'a> {
24582 pub const VT_ID: flatbuffers::VOffsetT = 4;
24583 pub const VT_STACK_BASE: flatbuffers::VOffsetT = 6;
24584 pub const VT_BOOLEAN_OPERATION: flatbuffers::VOffsetT = 8;
24585
24586 #[inline]
24587 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
24588 DucRegion { _tab: table }
24589 }
24590 #[allow(unused_mut)]
24591 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
24592 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
24593 args: &'args DucRegionArgs<'args>
24594 ) -> flatbuffers::WIPOffset<DucRegion<'bldr>> {
24595 let mut builder = DucRegionBuilder::new(_fbb);
24596 if let Some(x) = args.stack_base { builder.add_stack_base(x); }
24597 if let Some(x) = args.id { builder.add_id(x); }
24598 if let Some(x) = args.boolean_operation { builder.add_boolean_operation(x); }
24599 builder.finish()
24600 }
24601
24602
24603 #[inline]
24604 pub fn id(&self) -> &'a str {
24605 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucRegion::VT_ID, None).unwrap()}
24609 }
24610 #[inline]
24611 pub fn key_compare_less_than(&self, o: &DucRegion) -> bool {
24612 self.id() < o.id()
24613 }
24614
24615 #[inline]
24616 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
24617 let key = self.id();
24618 key.cmp(val)
24619 }
24620 #[inline]
24621 pub fn stack_base(&self) -> Option<_DucStackBase<'a>> {
24622 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucStackBase>>(DucRegion::VT_STACK_BASE, None)}
24626 }
24627 #[inline]
24628 pub fn boolean_operation(&self) -> Option<BOOLEAN_OPERATION> {
24629 unsafe { self._tab.get::<BOOLEAN_OPERATION>(DucRegion::VT_BOOLEAN_OPERATION, None)}
24633 }
24634}
24635
24636impl flatbuffers::Verifiable for DucRegion<'_> {
24637 #[inline]
24638 fn run_verifier(
24639 v: &mut flatbuffers::Verifier, pos: usize
24640 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
24641 use self::flatbuffers::Verifiable;
24642 v.visit_table(pos)?
24643 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("id", Self::VT_ID, true)?
24644 .visit_field::<flatbuffers::ForwardsUOffset<_DucStackBase>>("stack_base", Self::VT_STACK_BASE, false)?
24645 .visit_field::<BOOLEAN_OPERATION>("boolean_operation", Self::VT_BOOLEAN_OPERATION, false)?
24646 .finish();
24647 Ok(())
24648 }
24649}
24650pub struct DucRegionArgs<'a> {
24651 pub id: Option<flatbuffers::WIPOffset<&'a str>>,
24652 pub stack_base: Option<flatbuffers::WIPOffset<_DucStackBase<'a>>>,
24653 pub boolean_operation: Option<BOOLEAN_OPERATION>,
24654}
24655impl<'a> Default for DucRegionArgs<'a> {
24656 #[inline]
24657 fn default() -> Self {
24658 DucRegionArgs {
24659 id: None, stack_base: None,
24661 boolean_operation: None,
24662 }
24663 }
24664}
24665
24666pub struct DucRegionBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
24667 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
24668 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
24669}
24670impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucRegionBuilder<'a, 'b, A> {
24671 #[inline]
24672 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<&'b str>) {
24673 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucRegion::VT_ID, id);
24674 }
24675 #[inline]
24676 pub fn add_stack_base(&mut self, stack_base: flatbuffers::WIPOffset<_DucStackBase<'b >>) {
24677 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucStackBase>>(DucRegion::VT_STACK_BASE, stack_base);
24678 }
24679 #[inline]
24680 pub fn add_boolean_operation(&mut self, boolean_operation: BOOLEAN_OPERATION) {
24681 self.fbb_.push_slot_always::<BOOLEAN_OPERATION>(DucRegion::VT_BOOLEAN_OPERATION, boolean_operation);
24682 }
24683 #[inline]
24684 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucRegionBuilder<'a, 'b, A> {
24685 let start = _fbb.start_table();
24686 DucRegionBuilder {
24687 fbb_: _fbb,
24688 start_: start,
24689 }
24690 }
24691 #[inline]
24692 pub fn finish(self) -> flatbuffers::WIPOffset<DucRegion<'a>> {
24693 let o = self.fbb_.end_table(self.start_);
24694 self.fbb_.required(o, DucRegion::VT_ID,"id");
24695 flatbuffers::WIPOffset::new(o.value())
24696 }
24697}
24698
24699impl core::fmt::Debug for DucRegion<'_> {
24700 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
24701 let mut ds = f.debug_struct("DucRegion");
24702 ds.field("id", &self.id());
24703 ds.field("stack_base", &self.stack_base());
24704 ds.field("boolean_operation", &self.boolean_operation());
24705 ds.finish()
24706 }
24707}
24708pub enum DucLayerOverridesOffset {}
24709#[derive(Copy, Clone, PartialEq)]
24710
24711pub struct DucLayerOverrides<'a> {
24712 pub _tab: flatbuffers::Table<'a>,
24713}
24714
24715impl<'a> flatbuffers::Follow<'a> for DucLayerOverrides<'a> {
24716 type Inner = DucLayerOverrides<'a>;
24717 #[inline]
24718 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
24719 Self { _tab: flatbuffers::Table::new(buf, loc) }
24720 }
24721}
24722
24723impl<'a> DucLayerOverrides<'a> {
24724 pub const VT_STROKE: flatbuffers::VOffsetT = 4;
24725 pub const VT_BACKGROUND: flatbuffers::VOffsetT = 6;
24726
24727 #[inline]
24728 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
24729 DucLayerOverrides { _tab: table }
24730 }
24731 #[allow(unused_mut)]
24732 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
24733 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
24734 args: &'args DucLayerOverridesArgs<'args>
24735 ) -> flatbuffers::WIPOffset<DucLayerOverrides<'bldr>> {
24736 let mut builder = DucLayerOverridesBuilder::new(_fbb);
24737 if let Some(x) = args.background { builder.add_background(x); }
24738 if let Some(x) = args.stroke { builder.add_stroke(x); }
24739 builder.finish()
24740 }
24741
24742
24743 #[inline]
24744 pub fn stroke(&self) -> Option<ElementStroke<'a>> {
24745 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ElementStroke>>(DucLayerOverrides::VT_STROKE, None)}
24749 }
24750 #[inline]
24751 pub fn background(&self) -> Option<ElementBackground<'a>> {
24752 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ElementBackground>>(DucLayerOverrides::VT_BACKGROUND, None)}
24756 }
24757}
24758
24759impl flatbuffers::Verifiable for DucLayerOverrides<'_> {
24760 #[inline]
24761 fn run_verifier(
24762 v: &mut flatbuffers::Verifier, pos: usize
24763 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
24764 use self::flatbuffers::Verifiable;
24765 v.visit_table(pos)?
24766 .visit_field::<flatbuffers::ForwardsUOffset<ElementStroke>>("stroke", Self::VT_STROKE, false)?
24767 .visit_field::<flatbuffers::ForwardsUOffset<ElementBackground>>("background", Self::VT_BACKGROUND, false)?
24768 .finish();
24769 Ok(())
24770 }
24771}
24772pub struct DucLayerOverridesArgs<'a> {
24773 pub stroke: Option<flatbuffers::WIPOffset<ElementStroke<'a>>>,
24774 pub background: Option<flatbuffers::WIPOffset<ElementBackground<'a>>>,
24775}
24776impl<'a> Default for DucLayerOverridesArgs<'a> {
24777 #[inline]
24778 fn default() -> Self {
24779 DucLayerOverridesArgs {
24780 stroke: None,
24781 background: None,
24782 }
24783 }
24784}
24785
24786pub struct DucLayerOverridesBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
24787 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
24788 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
24789}
24790impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucLayerOverridesBuilder<'a, 'b, A> {
24791 #[inline]
24792 pub fn add_stroke(&mut self, stroke: flatbuffers::WIPOffset<ElementStroke<'b >>) {
24793 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ElementStroke>>(DucLayerOverrides::VT_STROKE, stroke);
24794 }
24795 #[inline]
24796 pub fn add_background(&mut self, background: flatbuffers::WIPOffset<ElementBackground<'b >>) {
24797 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ElementBackground>>(DucLayerOverrides::VT_BACKGROUND, background);
24798 }
24799 #[inline]
24800 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucLayerOverridesBuilder<'a, 'b, A> {
24801 let start = _fbb.start_table();
24802 DucLayerOverridesBuilder {
24803 fbb_: _fbb,
24804 start_: start,
24805 }
24806 }
24807 #[inline]
24808 pub fn finish(self) -> flatbuffers::WIPOffset<DucLayerOverrides<'a>> {
24809 let o = self.fbb_.end_table(self.start_);
24810 flatbuffers::WIPOffset::new(o.value())
24811 }
24812}
24813
24814impl core::fmt::Debug for DucLayerOverrides<'_> {
24815 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
24816 let mut ds = f.debug_struct("DucLayerOverrides");
24817 ds.field("stroke", &self.stroke());
24818 ds.field("background", &self.background());
24819 ds.finish()
24820 }
24821}
24822pub enum DucLayerOffset {}
24823#[derive(Copy, Clone, PartialEq)]
24824
24825pub struct DucLayer<'a> {
24826 pub _tab: flatbuffers::Table<'a>,
24827}
24828
24829impl<'a> flatbuffers::Follow<'a> for DucLayer<'a> {
24830 type Inner = DucLayer<'a>;
24831 #[inline]
24832 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
24833 Self { _tab: flatbuffers::Table::new(buf, loc) }
24834 }
24835}
24836
24837impl<'a> DucLayer<'a> {
24838 pub const VT_ID: flatbuffers::VOffsetT = 4;
24839 pub const VT_STACK_BASE: flatbuffers::VOffsetT = 6;
24840 pub const VT_READONLY: flatbuffers::VOffsetT = 8;
24841 pub const VT_OVERRIDES: flatbuffers::VOffsetT = 10;
24842
24843 #[inline]
24844 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
24845 DucLayer { _tab: table }
24846 }
24847 #[allow(unused_mut)]
24848 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
24849 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
24850 args: &'args DucLayerArgs<'args>
24851 ) -> flatbuffers::WIPOffset<DucLayer<'bldr>> {
24852 let mut builder = DucLayerBuilder::new(_fbb);
24853 if let Some(x) = args.overrides { builder.add_overrides(x); }
24854 if let Some(x) = args.stack_base { builder.add_stack_base(x); }
24855 if let Some(x) = args.id { builder.add_id(x); }
24856 builder.add_readonly(args.readonly);
24857 builder.finish()
24858 }
24859
24860
24861 #[inline]
24862 pub fn id(&self) -> &'a str {
24863 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucLayer::VT_ID, None).unwrap()}
24867 }
24868 #[inline]
24869 pub fn key_compare_less_than(&self, o: &DucLayer) -> bool {
24870 self.id() < o.id()
24871 }
24872
24873 #[inline]
24874 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
24875 let key = self.id();
24876 key.cmp(val)
24877 }
24878 #[inline]
24879 pub fn stack_base(&self) -> Option<_DucStackBase<'a>> {
24880 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_DucStackBase>>(DucLayer::VT_STACK_BASE, None)}
24884 }
24885 #[inline]
24886 pub fn readonly(&self) -> bool {
24887 unsafe { self._tab.get::<bool>(DucLayer::VT_READONLY, Some(false)).unwrap()}
24891 }
24892 #[inline]
24893 pub fn overrides(&self) -> Option<DucLayerOverrides<'a>> {
24894 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucLayerOverrides>>(DucLayer::VT_OVERRIDES, None)}
24898 }
24899}
24900
24901impl flatbuffers::Verifiable for DucLayer<'_> {
24902 #[inline]
24903 fn run_verifier(
24904 v: &mut flatbuffers::Verifier, pos: usize
24905 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
24906 use self::flatbuffers::Verifiable;
24907 v.visit_table(pos)?
24908 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("id", Self::VT_ID, true)?
24909 .visit_field::<flatbuffers::ForwardsUOffset<_DucStackBase>>("stack_base", Self::VT_STACK_BASE, false)?
24910 .visit_field::<bool>("readonly", Self::VT_READONLY, false)?
24911 .visit_field::<flatbuffers::ForwardsUOffset<DucLayerOverrides>>("overrides", Self::VT_OVERRIDES, false)?
24912 .finish();
24913 Ok(())
24914 }
24915}
24916pub struct DucLayerArgs<'a> {
24917 pub id: Option<flatbuffers::WIPOffset<&'a str>>,
24918 pub stack_base: Option<flatbuffers::WIPOffset<_DucStackBase<'a>>>,
24919 pub readonly: bool,
24920 pub overrides: Option<flatbuffers::WIPOffset<DucLayerOverrides<'a>>>,
24921}
24922impl<'a> Default for DucLayerArgs<'a> {
24923 #[inline]
24924 fn default() -> Self {
24925 DucLayerArgs {
24926 id: None, stack_base: None,
24928 readonly: false,
24929 overrides: None,
24930 }
24931 }
24932}
24933
24934pub struct DucLayerBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
24935 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
24936 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
24937}
24938impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucLayerBuilder<'a, 'b, A> {
24939 #[inline]
24940 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<&'b str>) {
24941 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucLayer::VT_ID, id);
24942 }
24943 #[inline]
24944 pub fn add_stack_base(&mut self, stack_base: flatbuffers::WIPOffset<_DucStackBase<'b >>) {
24945 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_DucStackBase>>(DucLayer::VT_STACK_BASE, stack_base);
24946 }
24947 #[inline]
24948 pub fn add_readonly(&mut self, readonly: bool) {
24949 self.fbb_.push_slot::<bool>(DucLayer::VT_READONLY, readonly, false);
24950 }
24951 #[inline]
24952 pub fn add_overrides(&mut self, overrides: flatbuffers::WIPOffset<DucLayerOverrides<'b >>) {
24953 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucLayerOverrides>>(DucLayer::VT_OVERRIDES, overrides);
24954 }
24955 #[inline]
24956 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucLayerBuilder<'a, 'b, A> {
24957 let start = _fbb.start_table();
24958 DucLayerBuilder {
24959 fbb_: _fbb,
24960 start_: start,
24961 }
24962 }
24963 #[inline]
24964 pub fn finish(self) -> flatbuffers::WIPOffset<DucLayer<'a>> {
24965 let o = self.fbb_.end_table(self.start_);
24966 self.fbb_.required(o, DucLayer::VT_ID,"id");
24967 flatbuffers::WIPOffset::new(o.value())
24968 }
24969}
24970
24971impl core::fmt::Debug for DucLayer<'_> {
24972 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
24973 let mut ds = f.debug_struct("DucLayer");
24974 ds.field("id", &self.id());
24975 ds.field("stack_base", &self.stack_base());
24976 ds.field("readonly", &self.readonly());
24977 ds.field("overrides", &self.overrides());
24978 ds.finish()
24979 }
24980}
24981pub enum _UnitSystemBaseOffset {}
24982#[derive(Copy, Clone, PartialEq)]
24983
24984pub struct _UnitSystemBase<'a> {
24985 pub _tab: flatbuffers::Table<'a>,
24986}
24987
24988impl<'a> flatbuffers::Follow<'a> for _UnitSystemBase<'a> {
24989 type Inner = _UnitSystemBase<'a>;
24990 #[inline]
24991 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
24992 Self { _tab: flatbuffers::Table::new(buf, loc) }
24993 }
24994}
24995
24996impl<'a> _UnitSystemBase<'a> {
24997 pub const VT_SYSTEM: flatbuffers::VOffsetT = 4;
24998 pub const VT_PRECISION: flatbuffers::VOffsetT = 6;
24999 pub const VT_SUPPRESS_LEADING_ZEROS: flatbuffers::VOffsetT = 8;
25000 pub const VT_SUPPRESS_TRAILING_ZEROS: flatbuffers::VOffsetT = 10;
25001
25002 #[inline]
25003 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
25004 _UnitSystemBase { _tab: table }
25005 }
25006 #[allow(unused_mut)]
25007 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
25008 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
25009 args: &'args _UnitSystemBaseArgs
25010 ) -> flatbuffers::WIPOffset<_UnitSystemBase<'bldr>> {
25011 let mut builder = _UnitSystemBaseBuilder::new(_fbb);
25012 builder.add_precision(args.precision);
25013 builder.add_suppress_trailing_zeros(args.suppress_trailing_zeros);
25014 builder.add_suppress_leading_zeros(args.suppress_leading_zeros);
25015 if let Some(x) = args.system { builder.add_system(x); }
25016 builder.finish()
25017 }
25018
25019
25020 #[inline]
25021 pub fn system(&self) -> Option<UNIT_SYSTEM> {
25022 unsafe { self._tab.get::<UNIT_SYSTEM>(_UnitSystemBase::VT_SYSTEM, None)}
25026 }
25027 #[inline]
25028 pub fn precision(&self) -> i32 {
25029 unsafe { self._tab.get::<i32>(_UnitSystemBase::VT_PRECISION, Some(0)).unwrap()}
25033 }
25034 #[inline]
25035 pub fn suppress_leading_zeros(&self) -> bool {
25036 unsafe { self._tab.get::<bool>(_UnitSystemBase::VT_SUPPRESS_LEADING_ZEROS, Some(false)).unwrap()}
25040 }
25041 #[inline]
25042 pub fn suppress_trailing_zeros(&self) -> bool {
25043 unsafe { self._tab.get::<bool>(_UnitSystemBase::VT_SUPPRESS_TRAILING_ZEROS, Some(false)).unwrap()}
25047 }
25048}
25049
25050impl flatbuffers::Verifiable for _UnitSystemBase<'_> {
25051 #[inline]
25052 fn run_verifier(
25053 v: &mut flatbuffers::Verifier, pos: usize
25054 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
25055 use self::flatbuffers::Verifiable;
25056 v.visit_table(pos)?
25057 .visit_field::<UNIT_SYSTEM>("system", Self::VT_SYSTEM, false)?
25058 .visit_field::<i32>("precision", Self::VT_PRECISION, false)?
25059 .visit_field::<bool>("suppress_leading_zeros", Self::VT_SUPPRESS_LEADING_ZEROS, false)?
25060 .visit_field::<bool>("suppress_trailing_zeros", Self::VT_SUPPRESS_TRAILING_ZEROS, false)?
25061 .finish();
25062 Ok(())
25063 }
25064}
25065pub struct _UnitSystemBaseArgs {
25066 pub system: Option<UNIT_SYSTEM>,
25067 pub precision: i32,
25068 pub suppress_leading_zeros: bool,
25069 pub suppress_trailing_zeros: bool,
25070}
25071impl<'a> Default for _UnitSystemBaseArgs {
25072 #[inline]
25073 fn default() -> Self {
25074 _UnitSystemBaseArgs {
25075 system: None,
25076 precision: 0,
25077 suppress_leading_zeros: false,
25078 suppress_trailing_zeros: false,
25079 }
25080 }
25081}
25082
25083pub struct _UnitSystemBaseBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
25084 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
25085 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
25086}
25087impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> _UnitSystemBaseBuilder<'a, 'b, A> {
25088 #[inline]
25089 pub fn add_system(&mut self, system: UNIT_SYSTEM) {
25090 self.fbb_.push_slot_always::<UNIT_SYSTEM>(_UnitSystemBase::VT_SYSTEM, system);
25091 }
25092 #[inline]
25093 pub fn add_precision(&mut self, precision: i32) {
25094 self.fbb_.push_slot::<i32>(_UnitSystemBase::VT_PRECISION, precision, 0);
25095 }
25096 #[inline]
25097 pub fn add_suppress_leading_zeros(&mut self, suppress_leading_zeros: bool) {
25098 self.fbb_.push_slot::<bool>(_UnitSystemBase::VT_SUPPRESS_LEADING_ZEROS, suppress_leading_zeros, false);
25099 }
25100 #[inline]
25101 pub fn add_suppress_trailing_zeros(&mut self, suppress_trailing_zeros: bool) {
25102 self.fbb_.push_slot::<bool>(_UnitSystemBase::VT_SUPPRESS_TRAILING_ZEROS, suppress_trailing_zeros, false);
25103 }
25104 #[inline]
25105 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> _UnitSystemBaseBuilder<'a, 'b, A> {
25106 let start = _fbb.start_table();
25107 _UnitSystemBaseBuilder {
25108 fbb_: _fbb,
25109 start_: start,
25110 }
25111 }
25112 #[inline]
25113 pub fn finish(self) -> flatbuffers::WIPOffset<_UnitSystemBase<'a>> {
25114 let o = self.fbb_.end_table(self.start_);
25115 flatbuffers::WIPOffset::new(o.value())
25116 }
25117}
25118
25119impl core::fmt::Debug for _UnitSystemBase<'_> {
25120 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
25121 let mut ds = f.debug_struct("_UnitSystemBase");
25122 ds.field("system", &self.system());
25123 ds.field("precision", &self.precision());
25124 ds.field("suppress_leading_zeros", &self.suppress_leading_zeros());
25125 ds.field("suppress_trailing_zeros", &self.suppress_trailing_zeros());
25126 ds.finish()
25127 }
25128}
25129pub enum LinearUnitSystemOffset {}
25130#[derive(Copy, Clone, PartialEq)]
25131
25132pub struct LinearUnitSystem<'a> {
25133 pub _tab: flatbuffers::Table<'a>,
25134}
25135
25136impl<'a> flatbuffers::Follow<'a> for LinearUnitSystem<'a> {
25137 type Inner = LinearUnitSystem<'a>;
25138 #[inline]
25139 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
25140 Self { _tab: flatbuffers::Table::new(buf, loc) }
25141 }
25142}
25143
25144impl<'a> LinearUnitSystem<'a> {
25145 pub const VT_BASE: flatbuffers::VOffsetT = 4;
25146 pub const VT_FORMAT: flatbuffers::VOffsetT = 6;
25147 pub const VT_DECIMAL_SEPARATOR: flatbuffers::VOffsetT = 8;
25148 pub const VT_SUPPRESS_ZERO_FEET: flatbuffers::VOffsetT = 10;
25149 pub const VT_SUPPRESS_ZERO_INCHES: flatbuffers::VOffsetT = 12;
25150
25151 #[inline]
25152 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
25153 LinearUnitSystem { _tab: table }
25154 }
25155 #[allow(unused_mut)]
25156 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
25157 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
25158 args: &'args LinearUnitSystemArgs<'args>
25159 ) -> flatbuffers::WIPOffset<LinearUnitSystem<'bldr>> {
25160 let mut builder = LinearUnitSystemBuilder::new(_fbb);
25161 if let Some(x) = args.base { builder.add_base(x); }
25162 builder.add_suppress_zero_inches(args.suppress_zero_inches);
25163 builder.add_suppress_zero_feet(args.suppress_zero_feet);
25164 if let Some(x) = args.decimal_separator { builder.add_decimal_separator(x); }
25165 if let Some(x) = args.format { builder.add_format(x); }
25166 builder.finish()
25167 }
25168
25169
25170 #[inline]
25171 pub fn base(&self) -> Option<_UnitSystemBase<'a>> {
25172 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_UnitSystemBase>>(LinearUnitSystem::VT_BASE, None)}
25176 }
25177 #[inline]
25178 pub fn format(&self) -> Option<DIMENSION_UNITS_FORMAT> {
25179 unsafe { self._tab.get::<DIMENSION_UNITS_FORMAT>(LinearUnitSystem::VT_FORMAT, None)}
25183 }
25184 #[inline]
25185 pub fn decimal_separator(&self) -> Option<DECIMAL_SEPARATOR> {
25186 unsafe { self._tab.get::<DECIMAL_SEPARATOR>(LinearUnitSystem::VT_DECIMAL_SEPARATOR, None)}
25190 }
25191 #[inline]
25192 pub fn suppress_zero_feet(&self) -> bool {
25193 unsafe { self._tab.get::<bool>(LinearUnitSystem::VT_SUPPRESS_ZERO_FEET, Some(false)).unwrap()}
25197 }
25198 #[inline]
25199 pub fn suppress_zero_inches(&self) -> bool {
25200 unsafe { self._tab.get::<bool>(LinearUnitSystem::VT_SUPPRESS_ZERO_INCHES, Some(false)).unwrap()}
25204 }
25205}
25206
25207impl flatbuffers::Verifiable for LinearUnitSystem<'_> {
25208 #[inline]
25209 fn run_verifier(
25210 v: &mut flatbuffers::Verifier, pos: usize
25211 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
25212 use self::flatbuffers::Verifiable;
25213 v.visit_table(pos)?
25214 .visit_field::<flatbuffers::ForwardsUOffset<_UnitSystemBase>>("base", Self::VT_BASE, false)?
25215 .visit_field::<DIMENSION_UNITS_FORMAT>("format", Self::VT_FORMAT, false)?
25216 .visit_field::<DECIMAL_SEPARATOR>("decimal_separator", Self::VT_DECIMAL_SEPARATOR, false)?
25217 .visit_field::<bool>("suppress_zero_feet", Self::VT_SUPPRESS_ZERO_FEET, false)?
25218 .visit_field::<bool>("suppress_zero_inches", Self::VT_SUPPRESS_ZERO_INCHES, false)?
25219 .finish();
25220 Ok(())
25221 }
25222}
25223pub struct LinearUnitSystemArgs<'a> {
25224 pub base: Option<flatbuffers::WIPOffset<_UnitSystemBase<'a>>>,
25225 pub format: Option<DIMENSION_UNITS_FORMAT>,
25226 pub decimal_separator: Option<DECIMAL_SEPARATOR>,
25227 pub suppress_zero_feet: bool,
25228 pub suppress_zero_inches: bool,
25229}
25230impl<'a> Default for LinearUnitSystemArgs<'a> {
25231 #[inline]
25232 fn default() -> Self {
25233 LinearUnitSystemArgs {
25234 base: None,
25235 format: None,
25236 decimal_separator: None,
25237 suppress_zero_feet: false,
25238 suppress_zero_inches: false,
25239 }
25240 }
25241}
25242
25243pub struct LinearUnitSystemBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
25244 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
25245 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
25246}
25247impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> LinearUnitSystemBuilder<'a, 'b, A> {
25248 #[inline]
25249 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_UnitSystemBase<'b >>) {
25250 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_UnitSystemBase>>(LinearUnitSystem::VT_BASE, base);
25251 }
25252 #[inline]
25253 pub fn add_format(&mut self, format: DIMENSION_UNITS_FORMAT) {
25254 self.fbb_.push_slot_always::<DIMENSION_UNITS_FORMAT>(LinearUnitSystem::VT_FORMAT, format);
25255 }
25256 #[inline]
25257 pub fn add_decimal_separator(&mut self, decimal_separator: DECIMAL_SEPARATOR) {
25258 self.fbb_.push_slot_always::<DECIMAL_SEPARATOR>(LinearUnitSystem::VT_DECIMAL_SEPARATOR, decimal_separator);
25259 }
25260 #[inline]
25261 pub fn add_suppress_zero_feet(&mut self, suppress_zero_feet: bool) {
25262 self.fbb_.push_slot::<bool>(LinearUnitSystem::VT_SUPPRESS_ZERO_FEET, suppress_zero_feet, false);
25263 }
25264 #[inline]
25265 pub fn add_suppress_zero_inches(&mut self, suppress_zero_inches: bool) {
25266 self.fbb_.push_slot::<bool>(LinearUnitSystem::VT_SUPPRESS_ZERO_INCHES, suppress_zero_inches, false);
25267 }
25268 #[inline]
25269 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> LinearUnitSystemBuilder<'a, 'b, A> {
25270 let start = _fbb.start_table();
25271 LinearUnitSystemBuilder {
25272 fbb_: _fbb,
25273 start_: start,
25274 }
25275 }
25276 #[inline]
25277 pub fn finish(self) -> flatbuffers::WIPOffset<LinearUnitSystem<'a>> {
25278 let o = self.fbb_.end_table(self.start_);
25279 flatbuffers::WIPOffset::new(o.value())
25280 }
25281}
25282
25283impl core::fmt::Debug for LinearUnitSystem<'_> {
25284 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
25285 let mut ds = f.debug_struct("LinearUnitSystem");
25286 ds.field("base", &self.base());
25287 ds.field("format", &self.format());
25288 ds.field("decimal_separator", &self.decimal_separator());
25289 ds.field("suppress_zero_feet", &self.suppress_zero_feet());
25290 ds.field("suppress_zero_inches", &self.suppress_zero_inches());
25291 ds.finish()
25292 }
25293}
25294pub enum AngularUnitSystemOffset {}
25295#[derive(Copy, Clone, PartialEq)]
25296
25297pub struct AngularUnitSystem<'a> {
25298 pub _tab: flatbuffers::Table<'a>,
25299}
25300
25301impl<'a> flatbuffers::Follow<'a> for AngularUnitSystem<'a> {
25302 type Inner = AngularUnitSystem<'a>;
25303 #[inline]
25304 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
25305 Self { _tab: flatbuffers::Table::new(buf, loc) }
25306 }
25307}
25308
25309impl<'a> AngularUnitSystem<'a> {
25310 pub const VT_BASE: flatbuffers::VOffsetT = 4;
25311 pub const VT_FORMAT: flatbuffers::VOffsetT = 6;
25312
25313 #[inline]
25314 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
25315 AngularUnitSystem { _tab: table }
25316 }
25317 #[allow(unused_mut)]
25318 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
25319 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
25320 args: &'args AngularUnitSystemArgs<'args>
25321 ) -> flatbuffers::WIPOffset<AngularUnitSystem<'bldr>> {
25322 let mut builder = AngularUnitSystemBuilder::new(_fbb);
25323 if let Some(x) = args.base { builder.add_base(x); }
25324 if let Some(x) = args.format { builder.add_format(x); }
25325 builder.finish()
25326 }
25327
25328
25329 #[inline]
25330 pub fn base(&self) -> Option<_UnitSystemBase<'a>> {
25331 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_UnitSystemBase>>(AngularUnitSystem::VT_BASE, None)}
25335 }
25336 #[inline]
25337 pub fn format(&self) -> Option<ANGULAR_UNITS_FORMAT> {
25338 unsafe { self._tab.get::<ANGULAR_UNITS_FORMAT>(AngularUnitSystem::VT_FORMAT, None)}
25342 }
25343}
25344
25345impl flatbuffers::Verifiable for AngularUnitSystem<'_> {
25346 #[inline]
25347 fn run_verifier(
25348 v: &mut flatbuffers::Verifier, pos: usize
25349 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
25350 use self::flatbuffers::Verifiable;
25351 v.visit_table(pos)?
25352 .visit_field::<flatbuffers::ForwardsUOffset<_UnitSystemBase>>("base", Self::VT_BASE, false)?
25353 .visit_field::<ANGULAR_UNITS_FORMAT>("format", Self::VT_FORMAT, false)?
25354 .finish();
25355 Ok(())
25356 }
25357}
25358pub struct AngularUnitSystemArgs<'a> {
25359 pub base: Option<flatbuffers::WIPOffset<_UnitSystemBase<'a>>>,
25360 pub format: Option<ANGULAR_UNITS_FORMAT>,
25361}
25362impl<'a> Default for AngularUnitSystemArgs<'a> {
25363 #[inline]
25364 fn default() -> Self {
25365 AngularUnitSystemArgs {
25366 base: None,
25367 format: None,
25368 }
25369 }
25370}
25371
25372pub struct AngularUnitSystemBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
25373 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
25374 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
25375}
25376impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> AngularUnitSystemBuilder<'a, 'b, A> {
25377 #[inline]
25378 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_UnitSystemBase<'b >>) {
25379 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_UnitSystemBase>>(AngularUnitSystem::VT_BASE, base);
25380 }
25381 #[inline]
25382 pub fn add_format(&mut self, format: ANGULAR_UNITS_FORMAT) {
25383 self.fbb_.push_slot_always::<ANGULAR_UNITS_FORMAT>(AngularUnitSystem::VT_FORMAT, format);
25384 }
25385 #[inline]
25386 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> AngularUnitSystemBuilder<'a, 'b, A> {
25387 let start = _fbb.start_table();
25388 AngularUnitSystemBuilder {
25389 fbb_: _fbb,
25390 start_: start,
25391 }
25392 }
25393 #[inline]
25394 pub fn finish(self) -> flatbuffers::WIPOffset<AngularUnitSystem<'a>> {
25395 let o = self.fbb_.end_table(self.start_);
25396 flatbuffers::WIPOffset::new(o.value())
25397 }
25398}
25399
25400impl core::fmt::Debug for AngularUnitSystem<'_> {
25401 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
25402 let mut ds = f.debug_struct("AngularUnitSystem");
25403 ds.field("base", &self.base());
25404 ds.field("format", &self.format());
25405 ds.finish()
25406 }
25407}
25408pub enum AlternateUnitsOffset {}
25409#[derive(Copy, Clone, PartialEq)]
25410
25411pub struct AlternateUnits<'a> {
25412 pub _tab: flatbuffers::Table<'a>,
25413}
25414
25415impl<'a> flatbuffers::Follow<'a> for AlternateUnits<'a> {
25416 type Inner = AlternateUnits<'a>;
25417 #[inline]
25418 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
25419 Self { _tab: flatbuffers::Table::new(buf, loc) }
25420 }
25421}
25422
25423impl<'a> AlternateUnits<'a> {
25424 pub const VT_BASE: flatbuffers::VOffsetT = 4;
25425 pub const VT_FORMAT: flatbuffers::VOffsetT = 6;
25426 pub const VT_IS_VISIBLE: flatbuffers::VOffsetT = 8;
25427 pub const VT_MULTIPLIER: flatbuffers::VOffsetT = 10;
25428
25429 #[inline]
25430 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
25431 AlternateUnits { _tab: table }
25432 }
25433 #[allow(unused_mut)]
25434 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
25435 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
25436 args: &'args AlternateUnitsArgs<'args>
25437 ) -> flatbuffers::WIPOffset<AlternateUnits<'bldr>> {
25438 let mut builder = AlternateUnitsBuilder::new(_fbb);
25439 builder.add_multiplier(args.multiplier);
25440 if let Some(x) = args.base { builder.add_base(x); }
25441 builder.add_is_visible(args.is_visible);
25442 if let Some(x) = args.format { builder.add_format(x); }
25443 builder.finish()
25444 }
25445
25446
25447 #[inline]
25448 pub fn base(&self) -> Option<_UnitSystemBase<'a>> {
25449 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<_UnitSystemBase>>(AlternateUnits::VT_BASE, None)}
25453 }
25454 #[inline]
25455 pub fn format(&self) -> Option<DIMENSION_UNITS_FORMAT> {
25456 unsafe { self._tab.get::<DIMENSION_UNITS_FORMAT>(AlternateUnits::VT_FORMAT, None)}
25460 }
25461 #[inline]
25462 pub fn is_visible(&self) -> bool {
25463 unsafe { self._tab.get::<bool>(AlternateUnits::VT_IS_VISIBLE, Some(false)).unwrap()}
25467 }
25468 #[inline]
25469 pub fn multiplier(&self) -> f32 {
25470 unsafe { self._tab.get::<f32>(AlternateUnits::VT_MULTIPLIER, Some(0.0)).unwrap()}
25474 }
25475}
25476
25477impl flatbuffers::Verifiable for AlternateUnits<'_> {
25478 #[inline]
25479 fn run_verifier(
25480 v: &mut flatbuffers::Verifier, pos: usize
25481 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
25482 use self::flatbuffers::Verifiable;
25483 v.visit_table(pos)?
25484 .visit_field::<flatbuffers::ForwardsUOffset<_UnitSystemBase>>("base", Self::VT_BASE, false)?
25485 .visit_field::<DIMENSION_UNITS_FORMAT>("format", Self::VT_FORMAT, false)?
25486 .visit_field::<bool>("is_visible", Self::VT_IS_VISIBLE, false)?
25487 .visit_field::<f32>("multiplier", Self::VT_MULTIPLIER, false)?
25488 .finish();
25489 Ok(())
25490 }
25491}
25492pub struct AlternateUnitsArgs<'a> {
25493 pub base: Option<flatbuffers::WIPOffset<_UnitSystemBase<'a>>>,
25494 pub format: Option<DIMENSION_UNITS_FORMAT>,
25495 pub is_visible: bool,
25496 pub multiplier: f32,
25497}
25498impl<'a> Default for AlternateUnitsArgs<'a> {
25499 #[inline]
25500 fn default() -> Self {
25501 AlternateUnitsArgs {
25502 base: None,
25503 format: None,
25504 is_visible: false,
25505 multiplier: 0.0,
25506 }
25507 }
25508}
25509
25510pub struct AlternateUnitsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
25511 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
25512 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
25513}
25514impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> AlternateUnitsBuilder<'a, 'b, A> {
25515 #[inline]
25516 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<_UnitSystemBase<'b >>) {
25517 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_UnitSystemBase>>(AlternateUnits::VT_BASE, base);
25518 }
25519 #[inline]
25520 pub fn add_format(&mut self, format: DIMENSION_UNITS_FORMAT) {
25521 self.fbb_.push_slot_always::<DIMENSION_UNITS_FORMAT>(AlternateUnits::VT_FORMAT, format);
25522 }
25523 #[inline]
25524 pub fn add_is_visible(&mut self, is_visible: bool) {
25525 self.fbb_.push_slot::<bool>(AlternateUnits::VT_IS_VISIBLE, is_visible, false);
25526 }
25527 #[inline]
25528 pub fn add_multiplier(&mut self, multiplier: f32) {
25529 self.fbb_.push_slot::<f32>(AlternateUnits::VT_MULTIPLIER, multiplier, 0.0);
25530 }
25531 #[inline]
25532 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> AlternateUnitsBuilder<'a, 'b, A> {
25533 let start = _fbb.start_table();
25534 AlternateUnitsBuilder {
25535 fbb_: _fbb,
25536 start_: start,
25537 }
25538 }
25539 #[inline]
25540 pub fn finish(self) -> flatbuffers::WIPOffset<AlternateUnits<'a>> {
25541 let o = self.fbb_.end_table(self.start_);
25542 flatbuffers::WIPOffset::new(o.value())
25543 }
25544}
25545
25546impl core::fmt::Debug for AlternateUnits<'_> {
25547 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
25548 let mut ds = f.debug_struct("AlternateUnits");
25549 ds.field("base", &self.base());
25550 ds.field("format", &self.format());
25551 ds.field("is_visible", &self.is_visible());
25552 ds.field("multiplier", &self.multiplier());
25553 ds.finish()
25554 }
25555}
25556pub enum PrimaryUnitsOffset {}
25557#[derive(Copy, Clone, PartialEq)]
25558
25559pub struct PrimaryUnits<'a> {
25560 pub _tab: flatbuffers::Table<'a>,
25561}
25562
25563impl<'a> flatbuffers::Follow<'a> for PrimaryUnits<'a> {
25564 type Inner = PrimaryUnits<'a>;
25565 #[inline]
25566 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
25567 Self { _tab: flatbuffers::Table::new(buf, loc) }
25568 }
25569}
25570
25571impl<'a> PrimaryUnits<'a> {
25572 pub const VT_LINEAR: flatbuffers::VOffsetT = 4;
25573 pub const VT_ANGULAR: flatbuffers::VOffsetT = 6;
25574
25575 #[inline]
25576 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
25577 PrimaryUnits { _tab: table }
25578 }
25579 #[allow(unused_mut)]
25580 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
25581 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
25582 args: &'args PrimaryUnitsArgs<'args>
25583 ) -> flatbuffers::WIPOffset<PrimaryUnits<'bldr>> {
25584 let mut builder = PrimaryUnitsBuilder::new(_fbb);
25585 if let Some(x) = args.angular { builder.add_angular(x); }
25586 if let Some(x) = args.linear { builder.add_linear(x); }
25587 builder.finish()
25588 }
25589
25590
25591 #[inline]
25592 pub fn linear(&self) -> Option<LinearUnitSystem<'a>> {
25593 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<LinearUnitSystem>>(PrimaryUnits::VT_LINEAR, None)}
25597 }
25598 #[inline]
25599 pub fn angular(&self) -> Option<AngularUnitSystem<'a>> {
25600 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<AngularUnitSystem>>(PrimaryUnits::VT_ANGULAR, None)}
25604 }
25605}
25606
25607impl flatbuffers::Verifiable for PrimaryUnits<'_> {
25608 #[inline]
25609 fn run_verifier(
25610 v: &mut flatbuffers::Verifier, pos: usize
25611 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
25612 use self::flatbuffers::Verifiable;
25613 v.visit_table(pos)?
25614 .visit_field::<flatbuffers::ForwardsUOffset<LinearUnitSystem>>("linear", Self::VT_LINEAR, false)?
25615 .visit_field::<flatbuffers::ForwardsUOffset<AngularUnitSystem>>("angular", Self::VT_ANGULAR, false)?
25616 .finish();
25617 Ok(())
25618 }
25619}
25620pub struct PrimaryUnitsArgs<'a> {
25621 pub linear: Option<flatbuffers::WIPOffset<LinearUnitSystem<'a>>>,
25622 pub angular: Option<flatbuffers::WIPOffset<AngularUnitSystem<'a>>>,
25623}
25624impl<'a> Default for PrimaryUnitsArgs<'a> {
25625 #[inline]
25626 fn default() -> Self {
25627 PrimaryUnitsArgs {
25628 linear: None,
25629 angular: None,
25630 }
25631 }
25632}
25633
25634pub struct PrimaryUnitsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
25635 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
25636 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
25637}
25638impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> PrimaryUnitsBuilder<'a, 'b, A> {
25639 #[inline]
25640 pub fn add_linear(&mut self, linear: flatbuffers::WIPOffset<LinearUnitSystem<'b >>) {
25641 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<LinearUnitSystem>>(PrimaryUnits::VT_LINEAR, linear);
25642 }
25643 #[inline]
25644 pub fn add_angular(&mut self, angular: flatbuffers::WIPOffset<AngularUnitSystem<'b >>) {
25645 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<AngularUnitSystem>>(PrimaryUnits::VT_ANGULAR, angular);
25646 }
25647 #[inline]
25648 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> PrimaryUnitsBuilder<'a, 'b, A> {
25649 let start = _fbb.start_table();
25650 PrimaryUnitsBuilder {
25651 fbb_: _fbb,
25652 start_: start,
25653 }
25654 }
25655 #[inline]
25656 pub fn finish(self) -> flatbuffers::WIPOffset<PrimaryUnits<'a>> {
25657 let o = self.fbb_.end_table(self.start_);
25658 flatbuffers::WIPOffset::new(o.value())
25659 }
25660}
25661
25662impl core::fmt::Debug for PrimaryUnits<'_> {
25663 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
25664 let mut ds = f.debug_struct("PrimaryUnits");
25665 ds.field("linear", &self.linear());
25666 ds.field("angular", &self.angular());
25667 ds.finish()
25668 }
25669}
25670pub enum StandardUnitsOffset {}
25671#[derive(Copy, Clone, PartialEq)]
25672
25673pub struct StandardUnits<'a> {
25674 pub _tab: flatbuffers::Table<'a>,
25675}
25676
25677impl<'a> flatbuffers::Follow<'a> for StandardUnits<'a> {
25678 type Inner = StandardUnits<'a>;
25679 #[inline]
25680 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
25681 Self { _tab: flatbuffers::Table::new(buf, loc) }
25682 }
25683}
25684
25685impl<'a> StandardUnits<'a> {
25686 pub const VT_PRIMARY_UNITS: flatbuffers::VOffsetT = 4;
25687 pub const VT_ALTERNATE_UNITS: flatbuffers::VOffsetT = 6;
25688
25689 #[inline]
25690 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
25691 StandardUnits { _tab: table }
25692 }
25693 #[allow(unused_mut)]
25694 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
25695 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
25696 args: &'args StandardUnitsArgs<'args>
25697 ) -> flatbuffers::WIPOffset<StandardUnits<'bldr>> {
25698 let mut builder = StandardUnitsBuilder::new(_fbb);
25699 if let Some(x) = args.alternate_units { builder.add_alternate_units(x); }
25700 if let Some(x) = args.primary_units { builder.add_primary_units(x); }
25701 builder.finish()
25702 }
25703
25704
25705 #[inline]
25706 pub fn primary_units(&self) -> Option<PrimaryUnits<'a>> {
25707 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<PrimaryUnits>>(StandardUnits::VT_PRIMARY_UNITS, None)}
25711 }
25712 #[inline]
25713 pub fn alternate_units(&self) -> Option<AlternateUnits<'a>> {
25714 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<AlternateUnits>>(StandardUnits::VT_ALTERNATE_UNITS, None)}
25718 }
25719}
25720
25721impl flatbuffers::Verifiable for StandardUnits<'_> {
25722 #[inline]
25723 fn run_verifier(
25724 v: &mut flatbuffers::Verifier, pos: usize
25725 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
25726 use self::flatbuffers::Verifiable;
25727 v.visit_table(pos)?
25728 .visit_field::<flatbuffers::ForwardsUOffset<PrimaryUnits>>("primary_units", Self::VT_PRIMARY_UNITS, false)?
25729 .visit_field::<flatbuffers::ForwardsUOffset<AlternateUnits>>("alternate_units", Self::VT_ALTERNATE_UNITS, false)?
25730 .finish();
25731 Ok(())
25732 }
25733}
25734pub struct StandardUnitsArgs<'a> {
25735 pub primary_units: Option<flatbuffers::WIPOffset<PrimaryUnits<'a>>>,
25736 pub alternate_units: Option<flatbuffers::WIPOffset<AlternateUnits<'a>>>,
25737}
25738impl<'a> Default for StandardUnitsArgs<'a> {
25739 #[inline]
25740 fn default() -> Self {
25741 StandardUnitsArgs {
25742 primary_units: None,
25743 alternate_units: None,
25744 }
25745 }
25746}
25747
25748pub struct StandardUnitsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
25749 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
25750 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
25751}
25752impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> StandardUnitsBuilder<'a, 'b, A> {
25753 #[inline]
25754 pub fn add_primary_units(&mut self, primary_units: flatbuffers::WIPOffset<PrimaryUnits<'b >>) {
25755 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<PrimaryUnits>>(StandardUnits::VT_PRIMARY_UNITS, primary_units);
25756 }
25757 #[inline]
25758 pub fn add_alternate_units(&mut self, alternate_units: flatbuffers::WIPOffset<AlternateUnits<'b >>) {
25759 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<AlternateUnits>>(StandardUnits::VT_ALTERNATE_UNITS, alternate_units);
25760 }
25761 #[inline]
25762 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> StandardUnitsBuilder<'a, 'b, A> {
25763 let start = _fbb.start_table();
25764 StandardUnitsBuilder {
25765 fbb_: _fbb,
25766 start_: start,
25767 }
25768 }
25769 #[inline]
25770 pub fn finish(self) -> flatbuffers::WIPOffset<StandardUnits<'a>> {
25771 let o = self.fbb_.end_table(self.start_);
25772 flatbuffers::WIPOffset::new(o.value())
25773 }
25774}
25775
25776impl core::fmt::Debug for StandardUnits<'_> {
25777 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
25778 let mut ds = f.debug_struct("StandardUnits");
25779 ds.field("primary_units", &self.primary_units());
25780 ds.field("alternate_units", &self.alternate_units());
25781 ds.finish()
25782 }
25783}
25784pub enum UnitPrecisionOffset {}
25785#[derive(Copy, Clone, PartialEq)]
25786
25787pub struct UnitPrecision<'a> {
25788 pub _tab: flatbuffers::Table<'a>,
25789}
25790
25791impl<'a> flatbuffers::Follow<'a> for UnitPrecision<'a> {
25792 type Inner = UnitPrecision<'a>;
25793 #[inline]
25794 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
25795 Self { _tab: flatbuffers::Table::new(buf, loc) }
25796 }
25797}
25798
25799impl<'a> UnitPrecision<'a> {
25800 pub const VT_LINEAR: flatbuffers::VOffsetT = 4;
25801 pub const VT_ANGULAR: flatbuffers::VOffsetT = 6;
25802 pub const VT_AREA: flatbuffers::VOffsetT = 8;
25803 pub const VT_VOLUME: flatbuffers::VOffsetT = 10;
25804
25805 #[inline]
25806 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
25807 UnitPrecision { _tab: table }
25808 }
25809 #[allow(unused_mut)]
25810 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
25811 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
25812 args: &'args UnitPrecisionArgs
25813 ) -> flatbuffers::WIPOffset<UnitPrecision<'bldr>> {
25814 let mut builder = UnitPrecisionBuilder::new(_fbb);
25815 builder.add_volume(args.volume);
25816 builder.add_area(args.area);
25817 builder.add_angular(args.angular);
25818 builder.add_linear(args.linear);
25819 builder.finish()
25820 }
25821
25822
25823 #[inline]
25824 pub fn linear(&self) -> i32 {
25825 unsafe { self._tab.get::<i32>(UnitPrecision::VT_LINEAR, Some(0)).unwrap()}
25829 }
25830 #[inline]
25831 pub fn angular(&self) -> i32 {
25832 unsafe { self._tab.get::<i32>(UnitPrecision::VT_ANGULAR, Some(0)).unwrap()}
25836 }
25837 #[inline]
25838 pub fn area(&self) -> i32 {
25839 unsafe { self._tab.get::<i32>(UnitPrecision::VT_AREA, Some(0)).unwrap()}
25843 }
25844 #[inline]
25845 pub fn volume(&self) -> i32 {
25846 unsafe { self._tab.get::<i32>(UnitPrecision::VT_VOLUME, Some(0)).unwrap()}
25850 }
25851}
25852
25853impl flatbuffers::Verifiable for UnitPrecision<'_> {
25854 #[inline]
25855 fn run_verifier(
25856 v: &mut flatbuffers::Verifier, pos: usize
25857 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
25858 use self::flatbuffers::Verifiable;
25859 v.visit_table(pos)?
25860 .visit_field::<i32>("linear", Self::VT_LINEAR, false)?
25861 .visit_field::<i32>("angular", Self::VT_ANGULAR, false)?
25862 .visit_field::<i32>("area", Self::VT_AREA, false)?
25863 .visit_field::<i32>("volume", Self::VT_VOLUME, false)?
25864 .finish();
25865 Ok(())
25866 }
25867}
25868pub struct UnitPrecisionArgs {
25869 pub linear: i32,
25870 pub angular: i32,
25871 pub area: i32,
25872 pub volume: i32,
25873}
25874impl<'a> Default for UnitPrecisionArgs {
25875 #[inline]
25876 fn default() -> Self {
25877 UnitPrecisionArgs {
25878 linear: 0,
25879 angular: 0,
25880 area: 0,
25881 volume: 0,
25882 }
25883 }
25884}
25885
25886pub struct UnitPrecisionBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
25887 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
25888 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
25889}
25890impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> UnitPrecisionBuilder<'a, 'b, A> {
25891 #[inline]
25892 pub fn add_linear(&mut self, linear: i32) {
25893 self.fbb_.push_slot::<i32>(UnitPrecision::VT_LINEAR, linear, 0);
25894 }
25895 #[inline]
25896 pub fn add_angular(&mut self, angular: i32) {
25897 self.fbb_.push_slot::<i32>(UnitPrecision::VT_ANGULAR, angular, 0);
25898 }
25899 #[inline]
25900 pub fn add_area(&mut self, area: i32) {
25901 self.fbb_.push_slot::<i32>(UnitPrecision::VT_AREA, area, 0);
25902 }
25903 #[inline]
25904 pub fn add_volume(&mut self, volume: i32) {
25905 self.fbb_.push_slot::<i32>(UnitPrecision::VT_VOLUME, volume, 0);
25906 }
25907 #[inline]
25908 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> UnitPrecisionBuilder<'a, 'b, A> {
25909 let start = _fbb.start_table();
25910 UnitPrecisionBuilder {
25911 fbb_: _fbb,
25912 start_: start,
25913 }
25914 }
25915 #[inline]
25916 pub fn finish(self) -> flatbuffers::WIPOffset<UnitPrecision<'a>> {
25917 let o = self.fbb_.end_table(self.start_);
25918 flatbuffers::WIPOffset::new(o.value())
25919 }
25920}
25921
25922impl core::fmt::Debug for UnitPrecision<'_> {
25923 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
25924 let mut ds = f.debug_struct("UnitPrecision");
25925 ds.field("linear", &self.linear());
25926 ds.field("angular", &self.angular());
25927 ds.field("area", &self.area());
25928 ds.field("volume", &self.volume());
25929 ds.finish()
25930 }
25931}
25932pub enum StandardOverridesOffset {}
25933#[derive(Copy, Clone, PartialEq)]
25934
25935pub struct StandardOverrides<'a> {
25936 pub _tab: flatbuffers::Table<'a>,
25937}
25938
25939impl<'a> flatbuffers::Follow<'a> for StandardOverrides<'a> {
25940 type Inner = StandardOverrides<'a>;
25941 #[inline]
25942 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
25943 Self { _tab: flatbuffers::Table::new(buf, loc) }
25944 }
25945}
25946
25947impl<'a> StandardOverrides<'a> {
25948 pub const VT_MAIN_SCOPE: flatbuffers::VOffsetT = 4;
25949 pub const VT_ELEMENTS_STROKE_WIDTH_OVERRIDE: flatbuffers::VOffsetT = 6;
25950 pub const VT_COMMON_STYLE_ID: flatbuffers::VOffsetT = 8;
25951 pub const VT_STACK_LIKE_STYLE_ID: flatbuffers::VOffsetT = 10;
25952 pub const VT_TEXT_STYLE_ID: flatbuffers::VOffsetT = 12;
25953 pub const VT_DIMENSION_STYLE_ID: flatbuffers::VOffsetT = 14;
25954 pub const VT_LEADER_STYLE_ID: flatbuffers::VOffsetT = 16;
25955 pub const VT_FEATURE_CONTROL_FRAME_STYLE_ID: flatbuffers::VOffsetT = 18;
25956 pub const VT_TABLE_STYLE_ID: flatbuffers::VOffsetT = 20;
25957 pub const VT_DOC_STYLE_ID: flatbuffers::VOffsetT = 22;
25958 pub const VT_VIEWPORT_STYLE_ID: flatbuffers::VOffsetT = 24;
25959 pub const VT_PLOT_STYLE_ID: flatbuffers::VOffsetT = 26;
25960 pub const VT_HATCH_STYLE_ID: flatbuffers::VOffsetT = 28;
25961 pub const VT_ACTIVE_GRID_SETTINGS_ID: flatbuffers::VOffsetT = 30;
25962 pub const VT_ACTIVE_SNAP_SETTINGS_ID: flatbuffers::VOffsetT = 32;
25963 pub const VT_DASH_LINE_OVERRIDE: flatbuffers::VOffsetT = 34;
25964 pub const VT_UNIT_PRECISION: flatbuffers::VOffsetT = 36;
25965
25966 #[inline]
25967 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
25968 StandardOverrides { _tab: table }
25969 }
25970 #[allow(unused_mut)]
25971 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
25972 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
25973 args: &'args StandardOverridesArgs<'args>
25974 ) -> flatbuffers::WIPOffset<StandardOverrides<'bldr>> {
25975 let mut builder = StandardOverridesBuilder::new(_fbb);
25976 builder.add_elements_stroke_width_override(args.elements_stroke_width_override);
25977 if let Some(x) = args.unit_precision { builder.add_unit_precision(x); }
25978 if let Some(x) = args.dash_line_override { builder.add_dash_line_override(x); }
25979 if let Some(x) = args.active_snap_settings_id { builder.add_active_snap_settings_id(x); }
25980 if let Some(x) = args.active_grid_settings_id { builder.add_active_grid_settings_id(x); }
25981 if let Some(x) = args.hatch_style_id { builder.add_hatch_style_id(x); }
25982 if let Some(x) = args.plot_style_id { builder.add_plot_style_id(x); }
25983 if let Some(x) = args.viewport_style_id { builder.add_viewport_style_id(x); }
25984 if let Some(x) = args.doc_style_id { builder.add_doc_style_id(x); }
25985 if let Some(x) = args.table_style_id { builder.add_table_style_id(x); }
25986 if let Some(x) = args.feature_control_frame_style_id { builder.add_feature_control_frame_style_id(x); }
25987 if let Some(x) = args.leader_style_id { builder.add_leader_style_id(x); }
25988 if let Some(x) = args.dimension_style_id { builder.add_dimension_style_id(x); }
25989 if let Some(x) = args.text_style_id { builder.add_text_style_id(x); }
25990 if let Some(x) = args.stack_like_style_id { builder.add_stack_like_style_id(x); }
25991 if let Some(x) = args.common_style_id { builder.add_common_style_id(x); }
25992 if let Some(x) = args.main_scope { builder.add_main_scope(x); }
25993 builder.finish()
25994 }
25995
25996
25997 #[inline]
25998 pub fn main_scope(&self) -> Option<&'a str> {
25999 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StandardOverrides::VT_MAIN_SCOPE, None)}
26003 }
26004 #[inline]
26005 pub fn elements_stroke_width_override(&self) -> f64 {
26006 unsafe { self._tab.get::<f64>(StandardOverrides::VT_ELEMENTS_STROKE_WIDTH_OVERRIDE, Some(0.0)).unwrap()}
26010 }
26011 #[inline]
26012 pub fn common_style_id(&self) -> Option<&'a str> {
26013 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StandardOverrides::VT_COMMON_STYLE_ID, None)}
26017 }
26018 #[inline]
26019 pub fn stack_like_style_id(&self) -> Option<&'a str> {
26020 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StandardOverrides::VT_STACK_LIKE_STYLE_ID, None)}
26024 }
26025 #[inline]
26026 pub fn text_style_id(&self) -> Option<&'a str> {
26027 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StandardOverrides::VT_TEXT_STYLE_ID, None)}
26031 }
26032 #[inline]
26033 pub fn dimension_style_id(&self) -> Option<&'a str> {
26034 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StandardOverrides::VT_DIMENSION_STYLE_ID, None)}
26038 }
26039 #[inline]
26040 pub fn leader_style_id(&self) -> Option<&'a str> {
26041 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StandardOverrides::VT_LEADER_STYLE_ID, None)}
26045 }
26046 #[inline]
26047 pub fn feature_control_frame_style_id(&self) -> Option<&'a str> {
26048 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StandardOverrides::VT_FEATURE_CONTROL_FRAME_STYLE_ID, None)}
26052 }
26053 #[inline]
26054 pub fn table_style_id(&self) -> Option<&'a str> {
26055 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StandardOverrides::VT_TABLE_STYLE_ID, None)}
26059 }
26060 #[inline]
26061 pub fn doc_style_id(&self) -> Option<&'a str> {
26062 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StandardOverrides::VT_DOC_STYLE_ID, None)}
26066 }
26067 #[inline]
26068 pub fn viewport_style_id(&self) -> Option<&'a str> {
26069 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StandardOverrides::VT_VIEWPORT_STYLE_ID, None)}
26073 }
26074 #[inline]
26075 pub fn plot_style_id(&self) -> Option<&'a str> {
26076 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StandardOverrides::VT_PLOT_STYLE_ID, None)}
26080 }
26081 #[inline]
26082 pub fn hatch_style_id(&self) -> Option<&'a str> {
26083 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StandardOverrides::VT_HATCH_STYLE_ID, None)}
26087 }
26088 #[inline]
26089 pub fn active_grid_settings_id(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
26090 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(StandardOverrides::VT_ACTIVE_GRID_SETTINGS_ID, None)}
26094 }
26095 #[inline]
26096 pub fn active_snap_settings_id(&self) -> Option<&'a str> {
26097 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StandardOverrides::VT_ACTIVE_SNAP_SETTINGS_ID, None)}
26101 }
26102 #[inline]
26103 pub fn dash_line_override(&self) -> Option<&'a str> {
26104 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(StandardOverrides::VT_DASH_LINE_OVERRIDE, None)}
26108 }
26109 #[inline]
26110 pub fn unit_precision(&self) -> Option<UnitPrecision<'a>> {
26111 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<UnitPrecision>>(StandardOverrides::VT_UNIT_PRECISION, None)}
26115 }
26116}
26117
26118impl flatbuffers::Verifiable for StandardOverrides<'_> {
26119 #[inline]
26120 fn run_verifier(
26121 v: &mut flatbuffers::Verifier, pos: usize
26122 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
26123 use self::flatbuffers::Verifiable;
26124 v.visit_table(pos)?
26125 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("main_scope", Self::VT_MAIN_SCOPE, false)?
26126 .visit_field::<f64>("elements_stroke_width_override", Self::VT_ELEMENTS_STROKE_WIDTH_OVERRIDE, false)?
26127 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("common_style_id", Self::VT_COMMON_STYLE_ID, false)?
26128 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("stack_like_style_id", Self::VT_STACK_LIKE_STYLE_ID, false)?
26129 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("text_style_id", Self::VT_TEXT_STYLE_ID, false)?
26130 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("dimension_style_id", Self::VT_DIMENSION_STYLE_ID, false)?
26131 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("leader_style_id", Self::VT_LEADER_STYLE_ID, false)?
26132 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("feature_control_frame_style_id", Self::VT_FEATURE_CONTROL_FRAME_STYLE_ID, false)?
26133 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("table_style_id", Self::VT_TABLE_STYLE_ID, false)?
26134 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("doc_style_id", Self::VT_DOC_STYLE_ID, false)?
26135 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("viewport_style_id", Self::VT_VIEWPORT_STYLE_ID, false)?
26136 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("plot_style_id", Self::VT_PLOT_STYLE_ID, false)?
26137 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("hatch_style_id", Self::VT_HATCH_STYLE_ID, false)?
26138 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("active_grid_settings_id", Self::VT_ACTIVE_GRID_SETTINGS_ID, false)?
26139 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("active_snap_settings_id", Self::VT_ACTIVE_SNAP_SETTINGS_ID, false)?
26140 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("dash_line_override", Self::VT_DASH_LINE_OVERRIDE, false)?
26141 .visit_field::<flatbuffers::ForwardsUOffset<UnitPrecision>>("unit_precision", Self::VT_UNIT_PRECISION, false)?
26142 .finish();
26143 Ok(())
26144 }
26145}
26146pub struct StandardOverridesArgs<'a> {
26147 pub main_scope: Option<flatbuffers::WIPOffset<&'a str>>,
26148 pub elements_stroke_width_override: f64,
26149 pub common_style_id: Option<flatbuffers::WIPOffset<&'a str>>,
26150 pub stack_like_style_id: Option<flatbuffers::WIPOffset<&'a str>>,
26151 pub text_style_id: Option<flatbuffers::WIPOffset<&'a str>>,
26152 pub dimension_style_id: Option<flatbuffers::WIPOffset<&'a str>>,
26153 pub leader_style_id: Option<flatbuffers::WIPOffset<&'a str>>,
26154 pub feature_control_frame_style_id: Option<flatbuffers::WIPOffset<&'a str>>,
26155 pub table_style_id: Option<flatbuffers::WIPOffset<&'a str>>,
26156 pub doc_style_id: Option<flatbuffers::WIPOffset<&'a str>>,
26157 pub viewport_style_id: Option<flatbuffers::WIPOffset<&'a str>>,
26158 pub plot_style_id: Option<flatbuffers::WIPOffset<&'a str>>,
26159 pub hatch_style_id: Option<flatbuffers::WIPOffset<&'a str>>,
26160 pub active_grid_settings_id: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
26161 pub active_snap_settings_id: Option<flatbuffers::WIPOffset<&'a str>>,
26162 pub dash_line_override: Option<flatbuffers::WIPOffset<&'a str>>,
26163 pub unit_precision: Option<flatbuffers::WIPOffset<UnitPrecision<'a>>>,
26164}
26165impl<'a> Default for StandardOverridesArgs<'a> {
26166 #[inline]
26167 fn default() -> Self {
26168 StandardOverridesArgs {
26169 main_scope: None,
26170 elements_stroke_width_override: 0.0,
26171 common_style_id: None,
26172 stack_like_style_id: None,
26173 text_style_id: None,
26174 dimension_style_id: None,
26175 leader_style_id: None,
26176 feature_control_frame_style_id: None,
26177 table_style_id: None,
26178 doc_style_id: None,
26179 viewport_style_id: None,
26180 plot_style_id: None,
26181 hatch_style_id: None,
26182 active_grid_settings_id: None,
26183 active_snap_settings_id: None,
26184 dash_line_override: None,
26185 unit_precision: None,
26186 }
26187 }
26188}
26189
26190pub struct StandardOverridesBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
26191 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
26192 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
26193}
26194impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> StandardOverridesBuilder<'a, 'b, A> {
26195 #[inline]
26196 pub fn add_main_scope(&mut self, main_scope: flatbuffers::WIPOffset<&'b str>) {
26197 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardOverrides::VT_MAIN_SCOPE, main_scope);
26198 }
26199 #[inline]
26200 pub fn add_elements_stroke_width_override(&mut self, elements_stroke_width_override: f64) {
26201 self.fbb_.push_slot::<f64>(StandardOverrides::VT_ELEMENTS_STROKE_WIDTH_OVERRIDE, elements_stroke_width_override, 0.0);
26202 }
26203 #[inline]
26204 pub fn add_common_style_id(&mut self, common_style_id: flatbuffers::WIPOffset<&'b str>) {
26205 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardOverrides::VT_COMMON_STYLE_ID, common_style_id);
26206 }
26207 #[inline]
26208 pub fn add_stack_like_style_id(&mut self, stack_like_style_id: flatbuffers::WIPOffset<&'b str>) {
26209 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardOverrides::VT_STACK_LIKE_STYLE_ID, stack_like_style_id);
26210 }
26211 #[inline]
26212 pub fn add_text_style_id(&mut self, text_style_id: flatbuffers::WIPOffset<&'b str>) {
26213 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardOverrides::VT_TEXT_STYLE_ID, text_style_id);
26214 }
26215 #[inline]
26216 pub fn add_dimension_style_id(&mut self, dimension_style_id: flatbuffers::WIPOffset<&'b str>) {
26217 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardOverrides::VT_DIMENSION_STYLE_ID, dimension_style_id);
26218 }
26219 #[inline]
26220 pub fn add_leader_style_id(&mut self, leader_style_id: flatbuffers::WIPOffset<&'b str>) {
26221 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardOverrides::VT_LEADER_STYLE_ID, leader_style_id);
26222 }
26223 #[inline]
26224 pub fn add_feature_control_frame_style_id(&mut self, feature_control_frame_style_id: flatbuffers::WIPOffset<&'b str>) {
26225 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardOverrides::VT_FEATURE_CONTROL_FRAME_STYLE_ID, feature_control_frame_style_id);
26226 }
26227 #[inline]
26228 pub fn add_table_style_id(&mut self, table_style_id: flatbuffers::WIPOffset<&'b str>) {
26229 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardOverrides::VT_TABLE_STYLE_ID, table_style_id);
26230 }
26231 #[inline]
26232 pub fn add_doc_style_id(&mut self, doc_style_id: flatbuffers::WIPOffset<&'b str>) {
26233 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardOverrides::VT_DOC_STYLE_ID, doc_style_id);
26234 }
26235 #[inline]
26236 pub fn add_viewport_style_id(&mut self, viewport_style_id: flatbuffers::WIPOffset<&'b str>) {
26237 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardOverrides::VT_VIEWPORT_STYLE_ID, viewport_style_id);
26238 }
26239 #[inline]
26240 pub fn add_plot_style_id(&mut self, plot_style_id: flatbuffers::WIPOffset<&'b str>) {
26241 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardOverrides::VT_PLOT_STYLE_ID, plot_style_id);
26242 }
26243 #[inline]
26244 pub fn add_hatch_style_id(&mut self, hatch_style_id: flatbuffers::WIPOffset<&'b str>) {
26245 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardOverrides::VT_HATCH_STYLE_ID, hatch_style_id);
26246 }
26247 #[inline]
26248 pub fn add_active_grid_settings_id(&mut self, active_grid_settings_id: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
26249 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardOverrides::VT_ACTIVE_GRID_SETTINGS_ID, active_grid_settings_id);
26250 }
26251 #[inline]
26252 pub fn add_active_snap_settings_id(&mut self, active_snap_settings_id: flatbuffers::WIPOffset<&'b str>) {
26253 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardOverrides::VT_ACTIVE_SNAP_SETTINGS_ID, active_snap_settings_id);
26254 }
26255 #[inline]
26256 pub fn add_dash_line_override(&mut self, dash_line_override: flatbuffers::WIPOffset<&'b str>) {
26257 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardOverrides::VT_DASH_LINE_OVERRIDE, dash_line_override);
26258 }
26259 #[inline]
26260 pub fn add_unit_precision(&mut self, unit_precision: flatbuffers::WIPOffset<UnitPrecision<'b >>) {
26261 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<UnitPrecision>>(StandardOverrides::VT_UNIT_PRECISION, unit_precision);
26262 }
26263 #[inline]
26264 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> StandardOverridesBuilder<'a, 'b, A> {
26265 let start = _fbb.start_table();
26266 StandardOverridesBuilder {
26267 fbb_: _fbb,
26268 start_: start,
26269 }
26270 }
26271 #[inline]
26272 pub fn finish(self) -> flatbuffers::WIPOffset<StandardOverrides<'a>> {
26273 let o = self.fbb_.end_table(self.start_);
26274 flatbuffers::WIPOffset::new(o.value())
26275 }
26276}
26277
26278impl core::fmt::Debug for StandardOverrides<'_> {
26279 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
26280 let mut ds = f.debug_struct("StandardOverrides");
26281 ds.field("main_scope", &self.main_scope());
26282 ds.field("elements_stroke_width_override", &self.elements_stroke_width_override());
26283 ds.field("common_style_id", &self.common_style_id());
26284 ds.field("stack_like_style_id", &self.stack_like_style_id());
26285 ds.field("text_style_id", &self.text_style_id());
26286 ds.field("dimension_style_id", &self.dimension_style_id());
26287 ds.field("leader_style_id", &self.leader_style_id());
26288 ds.field("feature_control_frame_style_id", &self.feature_control_frame_style_id());
26289 ds.field("table_style_id", &self.table_style_id());
26290 ds.field("doc_style_id", &self.doc_style_id());
26291 ds.field("viewport_style_id", &self.viewport_style_id());
26292 ds.field("plot_style_id", &self.plot_style_id());
26293 ds.field("hatch_style_id", &self.hatch_style_id());
26294 ds.field("active_grid_settings_id", &self.active_grid_settings_id());
26295 ds.field("active_snap_settings_id", &self.active_snap_settings_id());
26296 ds.field("dash_line_override", &self.dash_line_override());
26297 ds.field("unit_precision", &self.unit_precision());
26298 ds.finish()
26299 }
26300}
26301pub enum DucCommonStyleOffset {}
26302#[derive(Copy, Clone, PartialEq)]
26303
26304pub struct DucCommonStyle<'a> {
26305 pub _tab: flatbuffers::Table<'a>,
26306}
26307
26308impl<'a> flatbuffers::Follow<'a> for DucCommonStyle<'a> {
26309 type Inner = DucCommonStyle<'a>;
26310 #[inline]
26311 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
26312 Self { _tab: flatbuffers::Table::new(buf, loc) }
26313 }
26314}
26315
26316impl<'a> DucCommonStyle<'a> {
26317 pub const VT_BACKGROUND: flatbuffers::VOffsetT = 4;
26318 pub const VT_STROKE: flatbuffers::VOffsetT = 6;
26319
26320 #[inline]
26321 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
26322 DucCommonStyle { _tab: table }
26323 }
26324 #[allow(unused_mut)]
26325 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
26326 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
26327 args: &'args DucCommonStyleArgs<'args>
26328 ) -> flatbuffers::WIPOffset<DucCommonStyle<'bldr>> {
26329 let mut builder = DucCommonStyleBuilder::new(_fbb);
26330 if let Some(x) = args.stroke { builder.add_stroke(x); }
26331 if let Some(x) = args.background { builder.add_background(x); }
26332 builder.finish()
26333 }
26334
26335
26336 #[inline]
26337 pub fn background(&self) -> Option<ElementBackground<'a>> {
26338 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ElementBackground>>(DucCommonStyle::VT_BACKGROUND, None)}
26342 }
26343 #[inline]
26344 pub fn stroke(&self) -> Option<ElementStroke<'a>> {
26345 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<ElementStroke>>(DucCommonStyle::VT_STROKE, None)}
26349 }
26350}
26351
26352impl flatbuffers::Verifiable for DucCommonStyle<'_> {
26353 #[inline]
26354 fn run_verifier(
26355 v: &mut flatbuffers::Verifier, pos: usize
26356 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
26357 use self::flatbuffers::Verifiable;
26358 v.visit_table(pos)?
26359 .visit_field::<flatbuffers::ForwardsUOffset<ElementBackground>>("background", Self::VT_BACKGROUND, false)?
26360 .visit_field::<flatbuffers::ForwardsUOffset<ElementStroke>>("stroke", Self::VT_STROKE, false)?
26361 .finish();
26362 Ok(())
26363 }
26364}
26365pub struct DucCommonStyleArgs<'a> {
26366 pub background: Option<flatbuffers::WIPOffset<ElementBackground<'a>>>,
26367 pub stroke: Option<flatbuffers::WIPOffset<ElementStroke<'a>>>,
26368}
26369impl<'a> Default for DucCommonStyleArgs<'a> {
26370 #[inline]
26371 fn default() -> Self {
26372 DucCommonStyleArgs {
26373 background: None,
26374 stroke: None,
26375 }
26376 }
26377}
26378
26379pub struct DucCommonStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
26380 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
26381 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
26382}
26383impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucCommonStyleBuilder<'a, 'b, A> {
26384 #[inline]
26385 pub fn add_background(&mut self, background: flatbuffers::WIPOffset<ElementBackground<'b >>) {
26386 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ElementBackground>>(DucCommonStyle::VT_BACKGROUND, background);
26387 }
26388 #[inline]
26389 pub fn add_stroke(&mut self, stroke: flatbuffers::WIPOffset<ElementStroke<'b >>) {
26390 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<ElementStroke>>(DucCommonStyle::VT_STROKE, stroke);
26391 }
26392 #[inline]
26393 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucCommonStyleBuilder<'a, 'b, A> {
26394 let start = _fbb.start_table();
26395 DucCommonStyleBuilder {
26396 fbb_: _fbb,
26397 start_: start,
26398 }
26399 }
26400 #[inline]
26401 pub fn finish(self) -> flatbuffers::WIPOffset<DucCommonStyle<'a>> {
26402 let o = self.fbb_.end_table(self.start_);
26403 flatbuffers::WIPOffset::new(o.value())
26404 }
26405}
26406
26407impl core::fmt::Debug for DucCommonStyle<'_> {
26408 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
26409 let mut ds = f.debug_struct("DucCommonStyle");
26410 ds.field("background", &self.background());
26411 ds.field("stroke", &self.stroke());
26412 ds.finish()
26413 }
26414}
26415pub enum IdentifiedCommonStyleOffset {}
26416#[derive(Copy, Clone, PartialEq)]
26417
26418pub struct IdentifiedCommonStyle<'a> {
26419 pub _tab: flatbuffers::Table<'a>,
26420}
26421
26422impl<'a> flatbuffers::Follow<'a> for IdentifiedCommonStyle<'a> {
26423 type Inner = IdentifiedCommonStyle<'a>;
26424 #[inline]
26425 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
26426 Self { _tab: flatbuffers::Table::new(buf, loc) }
26427 }
26428}
26429
26430impl<'a> IdentifiedCommonStyle<'a> {
26431 pub const VT_ID: flatbuffers::VOffsetT = 4;
26432 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
26433
26434 #[inline]
26435 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
26436 IdentifiedCommonStyle { _tab: table }
26437 }
26438 #[allow(unused_mut)]
26439 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
26440 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
26441 args: &'args IdentifiedCommonStyleArgs<'args>
26442 ) -> flatbuffers::WIPOffset<IdentifiedCommonStyle<'bldr>> {
26443 let mut builder = IdentifiedCommonStyleBuilder::new(_fbb);
26444 if let Some(x) = args.style { builder.add_style(x); }
26445 if let Some(x) = args.id { builder.add_id(x); }
26446 builder.finish()
26447 }
26448
26449
26450 #[inline]
26451 pub fn id(&self) -> Option<Identifier<'a>> {
26452 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Identifier>>(IdentifiedCommonStyle::VT_ID, None)}
26456 }
26457 #[inline]
26458 pub fn style(&self) -> Option<DucCommonStyle<'a>> {
26459 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucCommonStyle>>(IdentifiedCommonStyle::VT_STYLE, None)}
26463 }
26464}
26465
26466impl flatbuffers::Verifiable for IdentifiedCommonStyle<'_> {
26467 #[inline]
26468 fn run_verifier(
26469 v: &mut flatbuffers::Verifier, pos: usize
26470 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
26471 use self::flatbuffers::Verifiable;
26472 v.visit_table(pos)?
26473 .visit_field::<flatbuffers::ForwardsUOffset<Identifier>>("id", Self::VT_ID, false)?
26474 .visit_field::<flatbuffers::ForwardsUOffset<DucCommonStyle>>("style", Self::VT_STYLE, false)?
26475 .finish();
26476 Ok(())
26477 }
26478}
26479pub struct IdentifiedCommonStyleArgs<'a> {
26480 pub id: Option<flatbuffers::WIPOffset<Identifier<'a>>>,
26481 pub style: Option<flatbuffers::WIPOffset<DucCommonStyle<'a>>>,
26482}
26483impl<'a> Default for IdentifiedCommonStyleArgs<'a> {
26484 #[inline]
26485 fn default() -> Self {
26486 IdentifiedCommonStyleArgs {
26487 id: None,
26488 style: None,
26489 }
26490 }
26491}
26492
26493pub struct IdentifiedCommonStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
26494 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
26495 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
26496}
26497impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IdentifiedCommonStyleBuilder<'a, 'b, A> {
26498 #[inline]
26499 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<Identifier<'b >>) {
26500 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Identifier>>(IdentifiedCommonStyle::VT_ID, id);
26501 }
26502 #[inline]
26503 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucCommonStyle<'b >>) {
26504 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucCommonStyle>>(IdentifiedCommonStyle::VT_STYLE, style);
26505 }
26506 #[inline]
26507 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IdentifiedCommonStyleBuilder<'a, 'b, A> {
26508 let start = _fbb.start_table();
26509 IdentifiedCommonStyleBuilder {
26510 fbb_: _fbb,
26511 start_: start,
26512 }
26513 }
26514 #[inline]
26515 pub fn finish(self) -> flatbuffers::WIPOffset<IdentifiedCommonStyle<'a>> {
26516 let o = self.fbb_.end_table(self.start_);
26517 flatbuffers::WIPOffset::new(o.value())
26518 }
26519}
26520
26521impl core::fmt::Debug for IdentifiedCommonStyle<'_> {
26522 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
26523 let mut ds = f.debug_struct("IdentifiedCommonStyle");
26524 ds.field("id", &self.id());
26525 ds.field("style", &self.style());
26526 ds.finish()
26527 }
26528}
26529pub enum IdentifiedStackLikeStyleOffset {}
26530#[derive(Copy, Clone, PartialEq)]
26531
26532pub struct IdentifiedStackLikeStyle<'a> {
26533 pub _tab: flatbuffers::Table<'a>,
26534}
26535
26536impl<'a> flatbuffers::Follow<'a> for IdentifiedStackLikeStyle<'a> {
26537 type Inner = IdentifiedStackLikeStyle<'a>;
26538 #[inline]
26539 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
26540 Self { _tab: flatbuffers::Table::new(buf, loc) }
26541 }
26542}
26543
26544impl<'a> IdentifiedStackLikeStyle<'a> {
26545 pub const VT_ID: flatbuffers::VOffsetT = 4;
26546 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
26547
26548 #[inline]
26549 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
26550 IdentifiedStackLikeStyle { _tab: table }
26551 }
26552 #[allow(unused_mut)]
26553 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
26554 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
26555 args: &'args IdentifiedStackLikeStyleArgs<'args>
26556 ) -> flatbuffers::WIPOffset<IdentifiedStackLikeStyle<'bldr>> {
26557 let mut builder = IdentifiedStackLikeStyleBuilder::new(_fbb);
26558 if let Some(x) = args.style { builder.add_style(x); }
26559 if let Some(x) = args.id { builder.add_id(x); }
26560 builder.finish()
26561 }
26562
26563
26564 #[inline]
26565 pub fn id(&self) -> Option<Identifier<'a>> {
26566 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Identifier>>(IdentifiedStackLikeStyle::VT_ID, None)}
26570 }
26571 #[inline]
26572 pub fn style(&self) -> Option<DucStackLikeStyles<'a>> {
26573 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucStackLikeStyles>>(IdentifiedStackLikeStyle::VT_STYLE, None)}
26577 }
26578}
26579
26580impl flatbuffers::Verifiable for IdentifiedStackLikeStyle<'_> {
26581 #[inline]
26582 fn run_verifier(
26583 v: &mut flatbuffers::Verifier, pos: usize
26584 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
26585 use self::flatbuffers::Verifiable;
26586 v.visit_table(pos)?
26587 .visit_field::<flatbuffers::ForwardsUOffset<Identifier>>("id", Self::VT_ID, false)?
26588 .visit_field::<flatbuffers::ForwardsUOffset<DucStackLikeStyles>>("style", Self::VT_STYLE, false)?
26589 .finish();
26590 Ok(())
26591 }
26592}
26593pub struct IdentifiedStackLikeStyleArgs<'a> {
26594 pub id: Option<flatbuffers::WIPOffset<Identifier<'a>>>,
26595 pub style: Option<flatbuffers::WIPOffset<DucStackLikeStyles<'a>>>,
26596}
26597impl<'a> Default for IdentifiedStackLikeStyleArgs<'a> {
26598 #[inline]
26599 fn default() -> Self {
26600 IdentifiedStackLikeStyleArgs {
26601 id: None,
26602 style: None,
26603 }
26604 }
26605}
26606
26607pub struct IdentifiedStackLikeStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
26608 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
26609 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
26610}
26611impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IdentifiedStackLikeStyleBuilder<'a, 'b, A> {
26612 #[inline]
26613 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<Identifier<'b >>) {
26614 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Identifier>>(IdentifiedStackLikeStyle::VT_ID, id);
26615 }
26616 #[inline]
26617 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucStackLikeStyles<'b >>) {
26618 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucStackLikeStyles>>(IdentifiedStackLikeStyle::VT_STYLE, style);
26619 }
26620 #[inline]
26621 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IdentifiedStackLikeStyleBuilder<'a, 'b, A> {
26622 let start = _fbb.start_table();
26623 IdentifiedStackLikeStyleBuilder {
26624 fbb_: _fbb,
26625 start_: start,
26626 }
26627 }
26628 #[inline]
26629 pub fn finish(self) -> flatbuffers::WIPOffset<IdentifiedStackLikeStyle<'a>> {
26630 let o = self.fbb_.end_table(self.start_);
26631 flatbuffers::WIPOffset::new(o.value())
26632 }
26633}
26634
26635impl core::fmt::Debug for IdentifiedStackLikeStyle<'_> {
26636 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
26637 let mut ds = f.debug_struct("IdentifiedStackLikeStyle");
26638 ds.field("id", &self.id());
26639 ds.field("style", &self.style());
26640 ds.finish()
26641 }
26642}
26643pub enum IdentifiedTextStyleOffset {}
26644#[derive(Copy, Clone, PartialEq)]
26645
26646pub struct IdentifiedTextStyle<'a> {
26647 pub _tab: flatbuffers::Table<'a>,
26648}
26649
26650impl<'a> flatbuffers::Follow<'a> for IdentifiedTextStyle<'a> {
26651 type Inner = IdentifiedTextStyle<'a>;
26652 #[inline]
26653 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
26654 Self { _tab: flatbuffers::Table::new(buf, loc) }
26655 }
26656}
26657
26658impl<'a> IdentifiedTextStyle<'a> {
26659 pub const VT_ID: flatbuffers::VOffsetT = 4;
26660 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
26661
26662 #[inline]
26663 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
26664 IdentifiedTextStyle { _tab: table }
26665 }
26666 #[allow(unused_mut)]
26667 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
26668 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
26669 args: &'args IdentifiedTextStyleArgs<'args>
26670 ) -> flatbuffers::WIPOffset<IdentifiedTextStyle<'bldr>> {
26671 let mut builder = IdentifiedTextStyleBuilder::new(_fbb);
26672 if let Some(x) = args.style { builder.add_style(x); }
26673 if let Some(x) = args.id { builder.add_id(x); }
26674 builder.finish()
26675 }
26676
26677
26678 #[inline]
26679 pub fn id(&self) -> Option<Identifier<'a>> {
26680 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Identifier>>(IdentifiedTextStyle::VT_ID, None)}
26684 }
26685 #[inline]
26686 pub fn style(&self) -> Option<DucTextStyle<'a>> {
26687 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTextStyle>>(IdentifiedTextStyle::VT_STYLE, None)}
26691 }
26692}
26693
26694impl flatbuffers::Verifiable for IdentifiedTextStyle<'_> {
26695 #[inline]
26696 fn run_verifier(
26697 v: &mut flatbuffers::Verifier, pos: usize
26698 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
26699 use self::flatbuffers::Verifiable;
26700 v.visit_table(pos)?
26701 .visit_field::<flatbuffers::ForwardsUOffset<Identifier>>("id", Self::VT_ID, false)?
26702 .visit_field::<flatbuffers::ForwardsUOffset<DucTextStyle>>("style", Self::VT_STYLE, false)?
26703 .finish();
26704 Ok(())
26705 }
26706}
26707pub struct IdentifiedTextStyleArgs<'a> {
26708 pub id: Option<flatbuffers::WIPOffset<Identifier<'a>>>,
26709 pub style: Option<flatbuffers::WIPOffset<DucTextStyle<'a>>>,
26710}
26711impl<'a> Default for IdentifiedTextStyleArgs<'a> {
26712 #[inline]
26713 fn default() -> Self {
26714 IdentifiedTextStyleArgs {
26715 id: None,
26716 style: None,
26717 }
26718 }
26719}
26720
26721pub struct IdentifiedTextStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
26722 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
26723 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
26724}
26725impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IdentifiedTextStyleBuilder<'a, 'b, A> {
26726 #[inline]
26727 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<Identifier<'b >>) {
26728 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Identifier>>(IdentifiedTextStyle::VT_ID, id);
26729 }
26730 #[inline]
26731 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucTextStyle<'b >>) {
26732 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTextStyle>>(IdentifiedTextStyle::VT_STYLE, style);
26733 }
26734 #[inline]
26735 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IdentifiedTextStyleBuilder<'a, 'b, A> {
26736 let start = _fbb.start_table();
26737 IdentifiedTextStyleBuilder {
26738 fbb_: _fbb,
26739 start_: start,
26740 }
26741 }
26742 #[inline]
26743 pub fn finish(self) -> flatbuffers::WIPOffset<IdentifiedTextStyle<'a>> {
26744 let o = self.fbb_.end_table(self.start_);
26745 flatbuffers::WIPOffset::new(o.value())
26746 }
26747}
26748
26749impl core::fmt::Debug for IdentifiedTextStyle<'_> {
26750 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
26751 let mut ds = f.debug_struct("IdentifiedTextStyle");
26752 ds.field("id", &self.id());
26753 ds.field("style", &self.style());
26754 ds.finish()
26755 }
26756}
26757pub enum IdentifiedDimensionStyleOffset {}
26758#[derive(Copy, Clone, PartialEq)]
26759
26760pub struct IdentifiedDimensionStyle<'a> {
26761 pub _tab: flatbuffers::Table<'a>,
26762}
26763
26764impl<'a> flatbuffers::Follow<'a> for IdentifiedDimensionStyle<'a> {
26765 type Inner = IdentifiedDimensionStyle<'a>;
26766 #[inline]
26767 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
26768 Self { _tab: flatbuffers::Table::new(buf, loc) }
26769 }
26770}
26771
26772impl<'a> IdentifiedDimensionStyle<'a> {
26773 pub const VT_ID: flatbuffers::VOffsetT = 4;
26774 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
26775
26776 #[inline]
26777 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
26778 IdentifiedDimensionStyle { _tab: table }
26779 }
26780 #[allow(unused_mut)]
26781 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
26782 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
26783 args: &'args IdentifiedDimensionStyleArgs<'args>
26784 ) -> flatbuffers::WIPOffset<IdentifiedDimensionStyle<'bldr>> {
26785 let mut builder = IdentifiedDimensionStyleBuilder::new(_fbb);
26786 if let Some(x) = args.style { builder.add_style(x); }
26787 if let Some(x) = args.id { builder.add_id(x); }
26788 builder.finish()
26789 }
26790
26791
26792 #[inline]
26793 pub fn id(&self) -> Option<Identifier<'a>> {
26794 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Identifier>>(IdentifiedDimensionStyle::VT_ID, None)}
26798 }
26799 #[inline]
26800 pub fn style(&self) -> Option<DucDimensionStyle<'a>> {
26801 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucDimensionStyle>>(IdentifiedDimensionStyle::VT_STYLE, None)}
26805 }
26806}
26807
26808impl flatbuffers::Verifiable for IdentifiedDimensionStyle<'_> {
26809 #[inline]
26810 fn run_verifier(
26811 v: &mut flatbuffers::Verifier, pos: usize
26812 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
26813 use self::flatbuffers::Verifiable;
26814 v.visit_table(pos)?
26815 .visit_field::<flatbuffers::ForwardsUOffset<Identifier>>("id", Self::VT_ID, false)?
26816 .visit_field::<flatbuffers::ForwardsUOffset<DucDimensionStyle>>("style", Self::VT_STYLE, false)?
26817 .finish();
26818 Ok(())
26819 }
26820}
26821pub struct IdentifiedDimensionStyleArgs<'a> {
26822 pub id: Option<flatbuffers::WIPOffset<Identifier<'a>>>,
26823 pub style: Option<flatbuffers::WIPOffset<DucDimensionStyle<'a>>>,
26824}
26825impl<'a> Default for IdentifiedDimensionStyleArgs<'a> {
26826 #[inline]
26827 fn default() -> Self {
26828 IdentifiedDimensionStyleArgs {
26829 id: None,
26830 style: None,
26831 }
26832 }
26833}
26834
26835pub struct IdentifiedDimensionStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
26836 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
26837 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
26838}
26839impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IdentifiedDimensionStyleBuilder<'a, 'b, A> {
26840 #[inline]
26841 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<Identifier<'b >>) {
26842 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Identifier>>(IdentifiedDimensionStyle::VT_ID, id);
26843 }
26844 #[inline]
26845 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucDimensionStyle<'b >>) {
26846 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucDimensionStyle>>(IdentifiedDimensionStyle::VT_STYLE, style);
26847 }
26848 #[inline]
26849 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IdentifiedDimensionStyleBuilder<'a, 'b, A> {
26850 let start = _fbb.start_table();
26851 IdentifiedDimensionStyleBuilder {
26852 fbb_: _fbb,
26853 start_: start,
26854 }
26855 }
26856 #[inline]
26857 pub fn finish(self) -> flatbuffers::WIPOffset<IdentifiedDimensionStyle<'a>> {
26858 let o = self.fbb_.end_table(self.start_);
26859 flatbuffers::WIPOffset::new(o.value())
26860 }
26861}
26862
26863impl core::fmt::Debug for IdentifiedDimensionStyle<'_> {
26864 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
26865 let mut ds = f.debug_struct("IdentifiedDimensionStyle");
26866 ds.field("id", &self.id());
26867 ds.field("style", &self.style());
26868 ds.finish()
26869 }
26870}
26871pub enum IdentifiedLeaderStyleOffset {}
26872#[derive(Copy, Clone, PartialEq)]
26873
26874pub struct IdentifiedLeaderStyle<'a> {
26875 pub _tab: flatbuffers::Table<'a>,
26876}
26877
26878impl<'a> flatbuffers::Follow<'a> for IdentifiedLeaderStyle<'a> {
26879 type Inner = IdentifiedLeaderStyle<'a>;
26880 #[inline]
26881 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
26882 Self { _tab: flatbuffers::Table::new(buf, loc) }
26883 }
26884}
26885
26886impl<'a> IdentifiedLeaderStyle<'a> {
26887 pub const VT_ID: flatbuffers::VOffsetT = 4;
26888 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
26889
26890 #[inline]
26891 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
26892 IdentifiedLeaderStyle { _tab: table }
26893 }
26894 #[allow(unused_mut)]
26895 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
26896 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
26897 args: &'args IdentifiedLeaderStyleArgs<'args>
26898 ) -> flatbuffers::WIPOffset<IdentifiedLeaderStyle<'bldr>> {
26899 let mut builder = IdentifiedLeaderStyleBuilder::new(_fbb);
26900 if let Some(x) = args.style { builder.add_style(x); }
26901 if let Some(x) = args.id { builder.add_id(x); }
26902 builder.finish()
26903 }
26904
26905
26906 #[inline]
26907 pub fn id(&self) -> Option<Identifier<'a>> {
26908 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Identifier>>(IdentifiedLeaderStyle::VT_ID, None)}
26912 }
26913 #[inline]
26914 pub fn style(&self) -> Option<DucLeaderStyle<'a>> {
26915 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucLeaderStyle>>(IdentifiedLeaderStyle::VT_STYLE, None)}
26919 }
26920}
26921
26922impl flatbuffers::Verifiable for IdentifiedLeaderStyle<'_> {
26923 #[inline]
26924 fn run_verifier(
26925 v: &mut flatbuffers::Verifier, pos: usize
26926 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
26927 use self::flatbuffers::Verifiable;
26928 v.visit_table(pos)?
26929 .visit_field::<flatbuffers::ForwardsUOffset<Identifier>>("id", Self::VT_ID, false)?
26930 .visit_field::<flatbuffers::ForwardsUOffset<DucLeaderStyle>>("style", Self::VT_STYLE, false)?
26931 .finish();
26932 Ok(())
26933 }
26934}
26935pub struct IdentifiedLeaderStyleArgs<'a> {
26936 pub id: Option<flatbuffers::WIPOffset<Identifier<'a>>>,
26937 pub style: Option<flatbuffers::WIPOffset<DucLeaderStyle<'a>>>,
26938}
26939impl<'a> Default for IdentifiedLeaderStyleArgs<'a> {
26940 #[inline]
26941 fn default() -> Self {
26942 IdentifiedLeaderStyleArgs {
26943 id: None,
26944 style: None,
26945 }
26946 }
26947}
26948
26949pub struct IdentifiedLeaderStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
26950 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
26951 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
26952}
26953impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IdentifiedLeaderStyleBuilder<'a, 'b, A> {
26954 #[inline]
26955 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<Identifier<'b >>) {
26956 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Identifier>>(IdentifiedLeaderStyle::VT_ID, id);
26957 }
26958 #[inline]
26959 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucLeaderStyle<'b >>) {
26960 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucLeaderStyle>>(IdentifiedLeaderStyle::VT_STYLE, style);
26961 }
26962 #[inline]
26963 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IdentifiedLeaderStyleBuilder<'a, 'b, A> {
26964 let start = _fbb.start_table();
26965 IdentifiedLeaderStyleBuilder {
26966 fbb_: _fbb,
26967 start_: start,
26968 }
26969 }
26970 #[inline]
26971 pub fn finish(self) -> flatbuffers::WIPOffset<IdentifiedLeaderStyle<'a>> {
26972 let o = self.fbb_.end_table(self.start_);
26973 flatbuffers::WIPOffset::new(o.value())
26974 }
26975}
26976
26977impl core::fmt::Debug for IdentifiedLeaderStyle<'_> {
26978 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
26979 let mut ds = f.debug_struct("IdentifiedLeaderStyle");
26980 ds.field("id", &self.id());
26981 ds.field("style", &self.style());
26982 ds.finish()
26983 }
26984}
26985pub enum IdentifiedFCFStyleOffset {}
26986#[derive(Copy, Clone, PartialEq)]
26987
26988pub struct IdentifiedFCFStyle<'a> {
26989 pub _tab: flatbuffers::Table<'a>,
26990}
26991
26992impl<'a> flatbuffers::Follow<'a> for IdentifiedFCFStyle<'a> {
26993 type Inner = IdentifiedFCFStyle<'a>;
26994 #[inline]
26995 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
26996 Self { _tab: flatbuffers::Table::new(buf, loc) }
26997 }
26998}
26999
27000impl<'a> IdentifiedFCFStyle<'a> {
27001 pub const VT_ID: flatbuffers::VOffsetT = 4;
27002 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
27003
27004 #[inline]
27005 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
27006 IdentifiedFCFStyle { _tab: table }
27007 }
27008 #[allow(unused_mut)]
27009 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
27010 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
27011 args: &'args IdentifiedFCFStyleArgs<'args>
27012 ) -> flatbuffers::WIPOffset<IdentifiedFCFStyle<'bldr>> {
27013 let mut builder = IdentifiedFCFStyleBuilder::new(_fbb);
27014 if let Some(x) = args.style { builder.add_style(x); }
27015 if let Some(x) = args.id { builder.add_id(x); }
27016 builder.finish()
27017 }
27018
27019
27020 #[inline]
27021 pub fn id(&self) -> Option<Identifier<'a>> {
27022 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Identifier>>(IdentifiedFCFStyle::VT_ID, None)}
27026 }
27027 #[inline]
27028 pub fn style(&self) -> Option<DucFeatureControlFrameStyle<'a>> {
27029 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucFeatureControlFrameStyle>>(IdentifiedFCFStyle::VT_STYLE, None)}
27033 }
27034}
27035
27036impl flatbuffers::Verifiable for IdentifiedFCFStyle<'_> {
27037 #[inline]
27038 fn run_verifier(
27039 v: &mut flatbuffers::Verifier, pos: usize
27040 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
27041 use self::flatbuffers::Verifiable;
27042 v.visit_table(pos)?
27043 .visit_field::<flatbuffers::ForwardsUOffset<Identifier>>("id", Self::VT_ID, false)?
27044 .visit_field::<flatbuffers::ForwardsUOffset<DucFeatureControlFrameStyle>>("style", Self::VT_STYLE, false)?
27045 .finish();
27046 Ok(())
27047 }
27048}
27049pub struct IdentifiedFCFStyleArgs<'a> {
27050 pub id: Option<flatbuffers::WIPOffset<Identifier<'a>>>,
27051 pub style: Option<flatbuffers::WIPOffset<DucFeatureControlFrameStyle<'a>>>,
27052}
27053impl<'a> Default for IdentifiedFCFStyleArgs<'a> {
27054 #[inline]
27055 fn default() -> Self {
27056 IdentifiedFCFStyleArgs {
27057 id: None,
27058 style: None,
27059 }
27060 }
27061}
27062
27063pub struct IdentifiedFCFStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
27064 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
27065 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
27066}
27067impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IdentifiedFCFStyleBuilder<'a, 'b, A> {
27068 #[inline]
27069 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<Identifier<'b >>) {
27070 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Identifier>>(IdentifiedFCFStyle::VT_ID, id);
27071 }
27072 #[inline]
27073 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucFeatureControlFrameStyle<'b >>) {
27074 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucFeatureControlFrameStyle>>(IdentifiedFCFStyle::VT_STYLE, style);
27075 }
27076 #[inline]
27077 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IdentifiedFCFStyleBuilder<'a, 'b, A> {
27078 let start = _fbb.start_table();
27079 IdentifiedFCFStyleBuilder {
27080 fbb_: _fbb,
27081 start_: start,
27082 }
27083 }
27084 #[inline]
27085 pub fn finish(self) -> flatbuffers::WIPOffset<IdentifiedFCFStyle<'a>> {
27086 let o = self.fbb_.end_table(self.start_);
27087 flatbuffers::WIPOffset::new(o.value())
27088 }
27089}
27090
27091impl core::fmt::Debug for IdentifiedFCFStyle<'_> {
27092 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
27093 let mut ds = f.debug_struct("IdentifiedFCFStyle");
27094 ds.field("id", &self.id());
27095 ds.field("style", &self.style());
27096 ds.finish()
27097 }
27098}
27099pub enum IdentifiedTableStyleOffset {}
27100#[derive(Copy, Clone, PartialEq)]
27101
27102pub struct IdentifiedTableStyle<'a> {
27103 pub _tab: flatbuffers::Table<'a>,
27104}
27105
27106impl<'a> flatbuffers::Follow<'a> for IdentifiedTableStyle<'a> {
27107 type Inner = IdentifiedTableStyle<'a>;
27108 #[inline]
27109 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
27110 Self { _tab: flatbuffers::Table::new(buf, loc) }
27111 }
27112}
27113
27114impl<'a> IdentifiedTableStyle<'a> {
27115 pub const VT_ID: flatbuffers::VOffsetT = 4;
27116 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
27117
27118 #[inline]
27119 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
27120 IdentifiedTableStyle { _tab: table }
27121 }
27122 #[allow(unused_mut)]
27123 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
27124 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
27125 args: &'args IdentifiedTableStyleArgs<'args>
27126 ) -> flatbuffers::WIPOffset<IdentifiedTableStyle<'bldr>> {
27127 let mut builder = IdentifiedTableStyleBuilder::new(_fbb);
27128 if let Some(x) = args.style { builder.add_style(x); }
27129 if let Some(x) = args.id { builder.add_id(x); }
27130 builder.finish()
27131 }
27132
27133
27134 #[inline]
27135 pub fn id(&self) -> Option<Identifier<'a>> {
27136 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Identifier>>(IdentifiedTableStyle::VT_ID, None)}
27140 }
27141 #[inline]
27142 pub fn style(&self) -> Option<DucTableStyle<'a>> {
27143 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucTableStyle>>(IdentifiedTableStyle::VT_STYLE, None)}
27147 }
27148}
27149
27150impl flatbuffers::Verifiable for IdentifiedTableStyle<'_> {
27151 #[inline]
27152 fn run_verifier(
27153 v: &mut flatbuffers::Verifier, pos: usize
27154 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
27155 use self::flatbuffers::Verifiable;
27156 v.visit_table(pos)?
27157 .visit_field::<flatbuffers::ForwardsUOffset<Identifier>>("id", Self::VT_ID, false)?
27158 .visit_field::<flatbuffers::ForwardsUOffset<DucTableStyle>>("style", Self::VT_STYLE, false)?
27159 .finish();
27160 Ok(())
27161 }
27162}
27163pub struct IdentifiedTableStyleArgs<'a> {
27164 pub id: Option<flatbuffers::WIPOffset<Identifier<'a>>>,
27165 pub style: Option<flatbuffers::WIPOffset<DucTableStyle<'a>>>,
27166}
27167impl<'a> Default for IdentifiedTableStyleArgs<'a> {
27168 #[inline]
27169 fn default() -> Self {
27170 IdentifiedTableStyleArgs {
27171 id: None,
27172 style: None,
27173 }
27174 }
27175}
27176
27177pub struct IdentifiedTableStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
27178 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
27179 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
27180}
27181impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IdentifiedTableStyleBuilder<'a, 'b, A> {
27182 #[inline]
27183 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<Identifier<'b >>) {
27184 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Identifier>>(IdentifiedTableStyle::VT_ID, id);
27185 }
27186 #[inline]
27187 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucTableStyle<'b >>) {
27188 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucTableStyle>>(IdentifiedTableStyle::VT_STYLE, style);
27189 }
27190 #[inline]
27191 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IdentifiedTableStyleBuilder<'a, 'b, A> {
27192 let start = _fbb.start_table();
27193 IdentifiedTableStyleBuilder {
27194 fbb_: _fbb,
27195 start_: start,
27196 }
27197 }
27198 #[inline]
27199 pub fn finish(self) -> flatbuffers::WIPOffset<IdentifiedTableStyle<'a>> {
27200 let o = self.fbb_.end_table(self.start_);
27201 flatbuffers::WIPOffset::new(o.value())
27202 }
27203}
27204
27205impl core::fmt::Debug for IdentifiedTableStyle<'_> {
27206 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
27207 let mut ds = f.debug_struct("IdentifiedTableStyle");
27208 ds.field("id", &self.id());
27209 ds.field("style", &self.style());
27210 ds.finish()
27211 }
27212}
27213pub enum IdentifiedDocStyleOffset {}
27214#[derive(Copy, Clone, PartialEq)]
27215
27216pub struct IdentifiedDocStyle<'a> {
27217 pub _tab: flatbuffers::Table<'a>,
27218}
27219
27220impl<'a> flatbuffers::Follow<'a> for IdentifiedDocStyle<'a> {
27221 type Inner = IdentifiedDocStyle<'a>;
27222 #[inline]
27223 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
27224 Self { _tab: flatbuffers::Table::new(buf, loc) }
27225 }
27226}
27227
27228impl<'a> IdentifiedDocStyle<'a> {
27229 pub const VT_ID: flatbuffers::VOffsetT = 4;
27230 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
27231
27232 #[inline]
27233 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
27234 IdentifiedDocStyle { _tab: table }
27235 }
27236 #[allow(unused_mut)]
27237 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
27238 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
27239 args: &'args IdentifiedDocStyleArgs<'args>
27240 ) -> flatbuffers::WIPOffset<IdentifiedDocStyle<'bldr>> {
27241 let mut builder = IdentifiedDocStyleBuilder::new(_fbb);
27242 if let Some(x) = args.style { builder.add_style(x); }
27243 if let Some(x) = args.id { builder.add_id(x); }
27244 builder.finish()
27245 }
27246
27247
27248 #[inline]
27249 pub fn id(&self) -> Option<Identifier<'a>> {
27250 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Identifier>>(IdentifiedDocStyle::VT_ID, None)}
27254 }
27255 #[inline]
27256 pub fn style(&self) -> Option<DucDocStyle<'a>> {
27257 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucDocStyle>>(IdentifiedDocStyle::VT_STYLE, None)}
27261 }
27262}
27263
27264impl flatbuffers::Verifiable for IdentifiedDocStyle<'_> {
27265 #[inline]
27266 fn run_verifier(
27267 v: &mut flatbuffers::Verifier, pos: usize
27268 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
27269 use self::flatbuffers::Verifiable;
27270 v.visit_table(pos)?
27271 .visit_field::<flatbuffers::ForwardsUOffset<Identifier>>("id", Self::VT_ID, false)?
27272 .visit_field::<flatbuffers::ForwardsUOffset<DucDocStyle>>("style", Self::VT_STYLE, false)?
27273 .finish();
27274 Ok(())
27275 }
27276}
27277pub struct IdentifiedDocStyleArgs<'a> {
27278 pub id: Option<flatbuffers::WIPOffset<Identifier<'a>>>,
27279 pub style: Option<flatbuffers::WIPOffset<DucDocStyle<'a>>>,
27280}
27281impl<'a> Default for IdentifiedDocStyleArgs<'a> {
27282 #[inline]
27283 fn default() -> Self {
27284 IdentifiedDocStyleArgs {
27285 id: None,
27286 style: None,
27287 }
27288 }
27289}
27290
27291pub struct IdentifiedDocStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
27292 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
27293 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
27294}
27295impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IdentifiedDocStyleBuilder<'a, 'b, A> {
27296 #[inline]
27297 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<Identifier<'b >>) {
27298 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Identifier>>(IdentifiedDocStyle::VT_ID, id);
27299 }
27300 #[inline]
27301 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucDocStyle<'b >>) {
27302 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucDocStyle>>(IdentifiedDocStyle::VT_STYLE, style);
27303 }
27304 #[inline]
27305 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IdentifiedDocStyleBuilder<'a, 'b, A> {
27306 let start = _fbb.start_table();
27307 IdentifiedDocStyleBuilder {
27308 fbb_: _fbb,
27309 start_: start,
27310 }
27311 }
27312 #[inline]
27313 pub fn finish(self) -> flatbuffers::WIPOffset<IdentifiedDocStyle<'a>> {
27314 let o = self.fbb_.end_table(self.start_);
27315 flatbuffers::WIPOffset::new(o.value())
27316 }
27317}
27318
27319impl core::fmt::Debug for IdentifiedDocStyle<'_> {
27320 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
27321 let mut ds = f.debug_struct("IdentifiedDocStyle");
27322 ds.field("id", &self.id());
27323 ds.field("style", &self.style());
27324 ds.finish()
27325 }
27326}
27327pub enum IdentifiedViewportStyleOffset {}
27328#[derive(Copy, Clone, PartialEq)]
27329
27330pub struct IdentifiedViewportStyle<'a> {
27331 pub _tab: flatbuffers::Table<'a>,
27332}
27333
27334impl<'a> flatbuffers::Follow<'a> for IdentifiedViewportStyle<'a> {
27335 type Inner = IdentifiedViewportStyle<'a>;
27336 #[inline]
27337 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
27338 Self { _tab: flatbuffers::Table::new(buf, loc) }
27339 }
27340}
27341
27342impl<'a> IdentifiedViewportStyle<'a> {
27343 pub const VT_ID: flatbuffers::VOffsetT = 4;
27344 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
27345
27346 #[inline]
27347 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
27348 IdentifiedViewportStyle { _tab: table }
27349 }
27350 #[allow(unused_mut)]
27351 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
27352 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
27353 args: &'args IdentifiedViewportStyleArgs<'args>
27354 ) -> flatbuffers::WIPOffset<IdentifiedViewportStyle<'bldr>> {
27355 let mut builder = IdentifiedViewportStyleBuilder::new(_fbb);
27356 if let Some(x) = args.style { builder.add_style(x); }
27357 if let Some(x) = args.id { builder.add_id(x); }
27358 builder.finish()
27359 }
27360
27361
27362 #[inline]
27363 pub fn id(&self) -> Option<Identifier<'a>> {
27364 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Identifier>>(IdentifiedViewportStyle::VT_ID, None)}
27368 }
27369 #[inline]
27370 pub fn style(&self) -> Option<DucViewportStyle<'a>> {
27371 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucViewportStyle>>(IdentifiedViewportStyle::VT_STYLE, None)}
27375 }
27376}
27377
27378impl flatbuffers::Verifiable for IdentifiedViewportStyle<'_> {
27379 #[inline]
27380 fn run_verifier(
27381 v: &mut flatbuffers::Verifier, pos: usize
27382 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
27383 use self::flatbuffers::Verifiable;
27384 v.visit_table(pos)?
27385 .visit_field::<flatbuffers::ForwardsUOffset<Identifier>>("id", Self::VT_ID, false)?
27386 .visit_field::<flatbuffers::ForwardsUOffset<DucViewportStyle>>("style", Self::VT_STYLE, false)?
27387 .finish();
27388 Ok(())
27389 }
27390}
27391pub struct IdentifiedViewportStyleArgs<'a> {
27392 pub id: Option<flatbuffers::WIPOffset<Identifier<'a>>>,
27393 pub style: Option<flatbuffers::WIPOffset<DucViewportStyle<'a>>>,
27394}
27395impl<'a> Default for IdentifiedViewportStyleArgs<'a> {
27396 #[inline]
27397 fn default() -> Self {
27398 IdentifiedViewportStyleArgs {
27399 id: None,
27400 style: None,
27401 }
27402 }
27403}
27404
27405pub struct IdentifiedViewportStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
27406 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
27407 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
27408}
27409impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IdentifiedViewportStyleBuilder<'a, 'b, A> {
27410 #[inline]
27411 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<Identifier<'b >>) {
27412 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Identifier>>(IdentifiedViewportStyle::VT_ID, id);
27413 }
27414 #[inline]
27415 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucViewportStyle<'b >>) {
27416 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucViewportStyle>>(IdentifiedViewportStyle::VT_STYLE, style);
27417 }
27418 #[inline]
27419 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IdentifiedViewportStyleBuilder<'a, 'b, A> {
27420 let start = _fbb.start_table();
27421 IdentifiedViewportStyleBuilder {
27422 fbb_: _fbb,
27423 start_: start,
27424 }
27425 }
27426 #[inline]
27427 pub fn finish(self) -> flatbuffers::WIPOffset<IdentifiedViewportStyle<'a>> {
27428 let o = self.fbb_.end_table(self.start_);
27429 flatbuffers::WIPOffset::new(o.value())
27430 }
27431}
27432
27433impl core::fmt::Debug for IdentifiedViewportStyle<'_> {
27434 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
27435 let mut ds = f.debug_struct("IdentifiedViewportStyle");
27436 ds.field("id", &self.id());
27437 ds.field("style", &self.style());
27438 ds.finish()
27439 }
27440}
27441pub enum IdentifiedHatchStyleOffset {}
27442#[derive(Copy, Clone, PartialEq)]
27443
27444pub struct IdentifiedHatchStyle<'a> {
27445 pub _tab: flatbuffers::Table<'a>,
27446}
27447
27448impl<'a> flatbuffers::Follow<'a> for IdentifiedHatchStyle<'a> {
27449 type Inner = IdentifiedHatchStyle<'a>;
27450 #[inline]
27451 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
27452 Self { _tab: flatbuffers::Table::new(buf, loc) }
27453 }
27454}
27455
27456impl<'a> IdentifiedHatchStyle<'a> {
27457 pub const VT_ID: flatbuffers::VOffsetT = 4;
27458 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
27459
27460 #[inline]
27461 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
27462 IdentifiedHatchStyle { _tab: table }
27463 }
27464 #[allow(unused_mut)]
27465 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
27466 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
27467 args: &'args IdentifiedHatchStyleArgs<'args>
27468 ) -> flatbuffers::WIPOffset<IdentifiedHatchStyle<'bldr>> {
27469 let mut builder = IdentifiedHatchStyleBuilder::new(_fbb);
27470 if let Some(x) = args.style { builder.add_style(x); }
27471 if let Some(x) = args.id { builder.add_id(x); }
27472 builder.finish()
27473 }
27474
27475
27476 #[inline]
27477 pub fn id(&self) -> Option<Identifier<'a>> {
27478 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Identifier>>(IdentifiedHatchStyle::VT_ID, None)}
27482 }
27483 #[inline]
27484 pub fn style(&self) -> Option<DucHatchStyle<'a>> {
27485 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucHatchStyle>>(IdentifiedHatchStyle::VT_STYLE, None)}
27489 }
27490}
27491
27492impl flatbuffers::Verifiable for IdentifiedHatchStyle<'_> {
27493 #[inline]
27494 fn run_verifier(
27495 v: &mut flatbuffers::Verifier, pos: usize
27496 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
27497 use self::flatbuffers::Verifiable;
27498 v.visit_table(pos)?
27499 .visit_field::<flatbuffers::ForwardsUOffset<Identifier>>("id", Self::VT_ID, false)?
27500 .visit_field::<flatbuffers::ForwardsUOffset<DucHatchStyle>>("style", Self::VT_STYLE, false)?
27501 .finish();
27502 Ok(())
27503 }
27504}
27505pub struct IdentifiedHatchStyleArgs<'a> {
27506 pub id: Option<flatbuffers::WIPOffset<Identifier<'a>>>,
27507 pub style: Option<flatbuffers::WIPOffset<DucHatchStyle<'a>>>,
27508}
27509impl<'a> Default for IdentifiedHatchStyleArgs<'a> {
27510 #[inline]
27511 fn default() -> Self {
27512 IdentifiedHatchStyleArgs {
27513 id: None,
27514 style: None,
27515 }
27516 }
27517}
27518
27519pub struct IdentifiedHatchStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
27520 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
27521 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
27522}
27523impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IdentifiedHatchStyleBuilder<'a, 'b, A> {
27524 #[inline]
27525 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<Identifier<'b >>) {
27526 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Identifier>>(IdentifiedHatchStyle::VT_ID, id);
27527 }
27528 #[inline]
27529 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucHatchStyle<'b >>) {
27530 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucHatchStyle>>(IdentifiedHatchStyle::VT_STYLE, style);
27531 }
27532 #[inline]
27533 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IdentifiedHatchStyleBuilder<'a, 'b, A> {
27534 let start = _fbb.start_table();
27535 IdentifiedHatchStyleBuilder {
27536 fbb_: _fbb,
27537 start_: start,
27538 }
27539 }
27540 #[inline]
27541 pub fn finish(self) -> flatbuffers::WIPOffset<IdentifiedHatchStyle<'a>> {
27542 let o = self.fbb_.end_table(self.start_);
27543 flatbuffers::WIPOffset::new(o.value())
27544 }
27545}
27546
27547impl core::fmt::Debug for IdentifiedHatchStyle<'_> {
27548 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
27549 let mut ds = f.debug_struct("IdentifiedHatchStyle");
27550 ds.field("id", &self.id());
27551 ds.field("style", &self.style());
27552 ds.finish()
27553 }
27554}
27555pub enum IdentifiedXRayStyleOffset {}
27556#[derive(Copy, Clone, PartialEq)]
27557
27558pub struct IdentifiedXRayStyle<'a> {
27559 pub _tab: flatbuffers::Table<'a>,
27560}
27561
27562impl<'a> flatbuffers::Follow<'a> for IdentifiedXRayStyle<'a> {
27563 type Inner = IdentifiedXRayStyle<'a>;
27564 #[inline]
27565 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
27566 Self { _tab: flatbuffers::Table::new(buf, loc) }
27567 }
27568}
27569
27570impl<'a> IdentifiedXRayStyle<'a> {
27571 pub const VT_ID: flatbuffers::VOffsetT = 4;
27572 pub const VT_STYLE: flatbuffers::VOffsetT = 6;
27573
27574 #[inline]
27575 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
27576 IdentifiedXRayStyle { _tab: table }
27577 }
27578 #[allow(unused_mut)]
27579 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
27580 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
27581 args: &'args IdentifiedXRayStyleArgs<'args>
27582 ) -> flatbuffers::WIPOffset<IdentifiedXRayStyle<'bldr>> {
27583 let mut builder = IdentifiedXRayStyleBuilder::new(_fbb);
27584 if let Some(x) = args.style { builder.add_style(x); }
27585 if let Some(x) = args.id { builder.add_id(x); }
27586 builder.finish()
27587 }
27588
27589
27590 #[inline]
27591 pub fn id(&self) -> Option<Identifier<'a>> {
27592 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Identifier>>(IdentifiedXRayStyle::VT_ID, None)}
27596 }
27597 #[inline]
27598 pub fn style(&self) -> Option<DucXRayStyle<'a>> {
27599 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucXRayStyle>>(IdentifiedXRayStyle::VT_STYLE, None)}
27603 }
27604}
27605
27606impl flatbuffers::Verifiable for IdentifiedXRayStyle<'_> {
27607 #[inline]
27608 fn run_verifier(
27609 v: &mut flatbuffers::Verifier, pos: usize
27610 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
27611 use self::flatbuffers::Verifiable;
27612 v.visit_table(pos)?
27613 .visit_field::<flatbuffers::ForwardsUOffset<Identifier>>("id", Self::VT_ID, false)?
27614 .visit_field::<flatbuffers::ForwardsUOffset<DucXRayStyle>>("style", Self::VT_STYLE, false)?
27615 .finish();
27616 Ok(())
27617 }
27618}
27619pub struct IdentifiedXRayStyleArgs<'a> {
27620 pub id: Option<flatbuffers::WIPOffset<Identifier<'a>>>,
27621 pub style: Option<flatbuffers::WIPOffset<DucXRayStyle<'a>>>,
27622}
27623impl<'a> Default for IdentifiedXRayStyleArgs<'a> {
27624 #[inline]
27625 fn default() -> Self {
27626 IdentifiedXRayStyleArgs {
27627 id: None,
27628 style: None,
27629 }
27630 }
27631}
27632
27633pub struct IdentifiedXRayStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
27634 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
27635 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
27636}
27637impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IdentifiedXRayStyleBuilder<'a, 'b, A> {
27638 #[inline]
27639 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<Identifier<'b >>) {
27640 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Identifier>>(IdentifiedXRayStyle::VT_ID, id);
27641 }
27642 #[inline]
27643 pub fn add_style(&mut self, style: flatbuffers::WIPOffset<DucXRayStyle<'b >>) {
27644 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucXRayStyle>>(IdentifiedXRayStyle::VT_STYLE, style);
27645 }
27646 #[inline]
27647 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IdentifiedXRayStyleBuilder<'a, 'b, A> {
27648 let start = _fbb.start_table();
27649 IdentifiedXRayStyleBuilder {
27650 fbb_: _fbb,
27651 start_: start,
27652 }
27653 }
27654 #[inline]
27655 pub fn finish(self) -> flatbuffers::WIPOffset<IdentifiedXRayStyle<'a>> {
27656 let o = self.fbb_.end_table(self.start_);
27657 flatbuffers::WIPOffset::new(o.value())
27658 }
27659}
27660
27661impl core::fmt::Debug for IdentifiedXRayStyle<'_> {
27662 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
27663 let mut ds = f.debug_struct("IdentifiedXRayStyle");
27664 ds.field("id", &self.id());
27665 ds.field("style", &self.style());
27666 ds.finish()
27667 }
27668}
27669pub enum StandardStylesOffset {}
27670#[derive(Copy, Clone, PartialEq)]
27671
27672pub struct StandardStyles<'a> {
27673 pub _tab: flatbuffers::Table<'a>,
27674}
27675
27676impl<'a> flatbuffers::Follow<'a> for StandardStyles<'a> {
27677 type Inner = StandardStyles<'a>;
27678 #[inline]
27679 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
27680 Self { _tab: flatbuffers::Table::new(buf, loc) }
27681 }
27682}
27683
27684impl<'a> StandardStyles<'a> {
27685 pub const VT_COMMON_STYLES: flatbuffers::VOffsetT = 4;
27686 pub const VT_STACK_LIKE_STYLES: flatbuffers::VOffsetT = 6;
27687 pub const VT_TEXT_STYLES: flatbuffers::VOffsetT = 8;
27688 pub const VT_DIMENSION_STYLES: flatbuffers::VOffsetT = 10;
27689 pub const VT_LEADER_STYLES: flatbuffers::VOffsetT = 12;
27690 pub const VT_FEATURE_CONTROL_FRAME_STYLES: flatbuffers::VOffsetT = 14;
27691 pub const VT_TABLE_STYLES: flatbuffers::VOffsetT = 16;
27692 pub const VT_DOC_STYLES: flatbuffers::VOffsetT = 18;
27693 pub const VT_VIEWPORT_STYLES: flatbuffers::VOffsetT = 20;
27694 pub const VT_HATCH_STYLES: flatbuffers::VOffsetT = 22;
27695 pub const VT_XRAY_STYLES: flatbuffers::VOffsetT = 24;
27696
27697 #[inline]
27698 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
27699 StandardStyles { _tab: table }
27700 }
27701 #[allow(unused_mut)]
27702 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
27703 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
27704 args: &'args StandardStylesArgs<'args>
27705 ) -> flatbuffers::WIPOffset<StandardStyles<'bldr>> {
27706 let mut builder = StandardStylesBuilder::new(_fbb);
27707 if let Some(x) = args.xray_styles { builder.add_xray_styles(x); }
27708 if let Some(x) = args.hatch_styles { builder.add_hatch_styles(x); }
27709 if let Some(x) = args.viewport_styles { builder.add_viewport_styles(x); }
27710 if let Some(x) = args.doc_styles { builder.add_doc_styles(x); }
27711 if let Some(x) = args.table_styles { builder.add_table_styles(x); }
27712 if let Some(x) = args.feature_control_frame_styles { builder.add_feature_control_frame_styles(x); }
27713 if let Some(x) = args.leader_styles { builder.add_leader_styles(x); }
27714 if let Some(x) = args.dimension_styles { builder.add_dimension_styles(x); }
27715 if let Some(x) = args.text_styles { builder.add_text_styles(x); }
27716 if let Some(x) = args.stack_like_styles { builder.add_stack_like_styles(x); }
27717 if let Some(x) = args.common_styles { builder.add_common_styles(x); }
27718 builder.finish()
27719 }
27720
27721
27722 #[inline]
27723 pub fn common_styles(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedCommonStyle<'a>>>> {
27724 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedCommonStyle>>>>(StandardStyles::VT_COMMON_STYLES, None)}
27728 }
27729 #[inline]
27730 pub fn stack_like_styles(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedStackLikeStyle<'a>>>> {
27731 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedStackLikeStyle>>>>(StandardStyles::VT_STACK_LIKE_STYLES, None)}
27735 }
27736 #[inline]
27737 pub fn text_styles(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedTextStyle<'a>>>> {
27738 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedTextStyle>>>>(StandardStyles::VT_TEXT_STYLES, None)}
27742 }
27743 #[inline]
27744 pub fn dimension_styles(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedDimensionStyle<'a>>>> {
27745 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedDimensionStyle>>>>(StandardStyles::VT_DIMENSION_STYLES, None)}
27749 }
27750 #[inline]
27751 pub fn leader_styles(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedLeaderStyle<'a>>>> {
27752 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedLeaderStyle>>>>(StandardStyles::VT_LEADER_STYLES, None)}
27756 }
27757 #[inline]
27758 pub fn feature_control_frame_styles(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedFCFStyle<'a>>>> {
27759 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedFCFStyle>>>>(StandardStyles::VT_FEATURE_CONTROL_FRAME_STYLES, None)}
27763 }
27764 #[inline]
27765 pub fn table_styles(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedTableStyle<'a>>>> {
27766 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedTableStyle>>>>(StandardStyles::VT_TABLE_STYLES, None)}
27770 }
27771 #[inline]
27772 pub fn doc_styles(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedDocStyle<'a>>>> {
27773 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedDocStyle>>>>(StandardStyles::VT_DOC_STYLES, None)}
27777 }
27778 #[inline]
27779 pub fn viewport_styles(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedViewportStyle<'a>>>> {
27780 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedViewportStyle>>>>(StandardStyles::VT_VIEWPORT_STYLES, None)}
27784 }
27785 #[inline]
27786 pub fn hatch_styles(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedHatchStyle<'a>>>> {
27787 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedHatchStyle>>>>(StandardStyles::VT_HATCH_STYLES, None)}
27791 }
27792 #[inline]
27793 pub fn xray_styles(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedXRayStyle<'a>>>> {
27794 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedXRayStyle>>>>(StandardStyles::VT_XRAY_STYLES, None)}
27798 }
27799}
27800
27801impl flatbuffers::Verifiable for StandardStyles<'_> {
27802 #[inline]
27803 fn run_verifier(
27804 v: &mut flatbuffers::Verifier, pos: usize
27805 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
27806 use self::flatbuffers::Verifiable;
27807 v.visit_table(pos)?
27808 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<IdentifiedCommonStyle>>>>("common_styles", Self::VT_COMMON_STYLES, false)?
27809 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<IdentifiedStackLikeStyle>>>>("stack_like_styles", Self::VT_STACK_LIKE_STYLES, false)?
27810 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<IdentifiedTextStyle>>>>("text_styles", Self::VT_TEXT_STYLES, false)?
27811 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<IdentifiedDimensionStyle>>>>("dimension_styles", Self::VT_DIMENSION_STYLES, false)?
27812 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<IdentifiedLeaderStyle>>>>("leader_styles", Self::VT_LEADER_STYLES, false)?
27813 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<IdentifiedFCFStyle>>>>("feature_control_frame_styles", Self::VT_FEATURE_CONTROL_FRAME_STYLES, false)?
27814 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<IdentifiedTableStyle>>>>("table_styles", Self::VT_TABLE_STYLES, false)?
27815 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<IdentifiedDocStyle>>>>("doc_styles", Self::VT_DOC_STYLES, false)?
27816 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<IdentifiedViewportStyle>>>>("viewport_styles", Self::VT_VIEWPORT_STYLES, false)?
27817 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<IdentifiedHatchStyle>>>>("hatch_styles", Self::VT_HATCH_STYLES, false)?
27818 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<IdentifiedXRayStyle>>>>("xray_styles", Self::VT_XRAY_STYLES, false)?
27819 .finish();
27820 Ok(())
27821 }
27822}
27823pub struct StandardStylesArgs<'a> {
27824 pub common_styles: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedCommonStyle<'a>>>>>,
27825 pub stack_like_styles: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedStackLikeStyle<'a>>>>>,
27826 pub text_styles: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedTextStyle<'a>>>>>,
27827 pub dimension_styles: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedDimensionStyle<'a>>>>>,
27828 pub leader_styles: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedLeaderStyle<'a>>>>>,
27829 pub feature_control_frame_styles: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedFCFStyle<'a>>>>>,
27830 pub table_styles: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedTableStyle<'a>>>>>,
27831 pub doc_styles: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedDocStyle<'a>>>>>,
27832 pub viewport_styles: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedViewportStyle<'a>>>>>,
27833 pub hatch_styles: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedHatchStyle<'a>>>>>,
27834 pub xray_styles: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedXRayStyle<'a>>>>>,
27835}
27836impl<'a> Default for StandardStylesArgs<'a> {
27837 #[inline]
27838 fn default() -> Self {
27839 StandardStylesArgs {
27840 common_styles: None,
27841 stack_like_styles: None,
27842 text_styles: None,
27843 dimension_styles: None,
27844 leader_styles: None,
27845 feature_control_frame_styles: None,
27846 table_styles: None,
27847 doc_styles: None,
27848 viewport_styles: None,
27849 hatch_styles: None,
27850 xray_styles: None,
27851 }
27852 }
27853}
27854
27855pub struct StandardStylesBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
27856 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
27857 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
27858}
27859impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> StandardStylesBuilder<'a, 'b, A> {
27860 #[inline]
27861 pub fn add_common_styles(&mut self, common_styles: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<IdentifiedCommonStyle<'b >>>>) {
27862 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardStyles::VT_COMMON_STYLES, common_styles);
27863 }
27864 #[inline]
27865 pub fn add_stack_like_styles(&mut self, stack_like_styles: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<IdentifiedStackLikeStyle<'b >>>>) {
27866 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardStyles::VT_STACK_LIKE_STYLES, stack_like_styles);
27867 }
27868 #[inline]
27869 pub fn add_text_styles(&mut self, text_styles: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<IdentifiedTextStyle<'b >>>>) {
27870 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardStyles::VT_TEXT_STYLES, text_styles);
27871 }
27872 #[inline]
27873 pub fn add_dimension_styles(&mut self, dimension_styles: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<IdentifiedDimensionStyle<'b >>>>) {
27874 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardStyles::VT_DIMENSION_STYLES, dimension_styles);
27875 }
27876 #[inline]
27877 pub fn add_leader_styles(&mut self, leader_styles: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<IdentifiedLeaderStyle<'b >>>>) {
27878 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardStyles::VT_LEADER_STYLES, leader_styles);
27879 }
27880 #[inline]
27881 pub fn add_feature_control_frame_styles(&mut self, feature_control_frame_styles: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<IdentifiedFCFStyle<'b >>>>) {
27882 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardStyles::VT_FEATURE_CONTROL_FRAME_STYLES, feature_control_frame_styles);
27883 }
27884 #[inline]
27885 pub fn add_table_styles(&mut self, table_styles: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<IdentifiedTableStyle<'b >>>>) {
27886 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardStyles::VT_TABLE_STYLES, table_styles);
27887 }
27888 #[inline]
27889 pub fn add_doc_styles(&mut self, doc_styles: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<IdentifiedDocStyle<'b >>>>) {
27890 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardStyles::VT_DOC_STYLES, doc_styles);
27891 }
27892 #[inline]
27893 pub fn add_viewport_styles(&mut self, viewport_styles: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<IdentifiedViewportStyle<'b >>>>) {
27894 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardStyles::VT_VIEWPORT_STYLES, viewport_styles);
27895 }
27896 #[inline]
27897 pub fn add_hatch_styles(&mut self, hatch_styles: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<IdentifiedHatchStyle<'b >>>>) {
27898 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardStyles::VT_HATCH_STYLES, hatch_styles);
27899 }
27900 #[inline]
27901 pub fn add_xray_styles(&mut self, xray_styles: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<IdentifiedXRayStyle<'b >>>>) {
27902 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardStyles::VT_XRAY_STYLES, xray_styles);
27903 }
27904 #[inline]
27905 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> StandardStylesBuilder<'a, 'b, A> {
27906 let start = _fbb.start_table();
27907 StandardStylesBuilder {
27908 fbb_: _fbb,
27909 start_: start,
27910 }
27911 }
27912 #[inline]
27913 pub fn finish(self) -> flatbuffers::WIPOffset<StandardStyles<'a>> {
27914 let o = self.fbb_.end_table(self.start_);
27915 flatbuffers::WIPOffset::new(o.value())
27916 }
27917}
27918
27919impl core::fmt::Debug for StandardStyles<'_> {
27920 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
27921 let mut ds = f.debug_struct("StandardStyles");
27922 ds.field("common_styles", &self.common_styles());
27923 ds.field("stack_like_styles", &self.stack_like_styles());
27924 ds.field("text_styles", &self.text_styles());
27925 ds.field("dimension_styles", &self.dimension_styles());
27926 ds.field("leader_styles", &self.leader_styles());
27927 ds.field("feature_control_frame_styles", &self.feature_control_frame_styles());
27928 ds.field("table_styles", &self.table_styles());
27929 ds.field("doc_styles", &self.doc_styles());
27930 ds.field("viewport_styles", &self.viewport_styles());
27931 ds.field("hatch_styles", &self.hatch_styles());
27932 ds.field("xray_styles", &self.xray_styles());
27933 ds.finish()
27934 }
27935}
27936pub enum GridStyleOffset {}
27937#[derive(Copy, Clone, PartialEq)]
27938
27939pub struct GridStyle<'a> {
27940 pub _tab: flatbuffers::Table<'a>,
27941}
27942
27943impl<'a> flatbuffers::Follow<'a> for GridStyle<'a> {
27944 type Inner = GridStyle<'a>;
27945 #[inline]
27946 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
27947 Self { _tab: flatbuffers::Table::new(buf, loc) }
27948 }
27949}
27950
27951impl<'a> GridStyle<'a> {
27952 pub const VT_COLOR: flatbuffers::VOffsetT = 4;
27953 pub const VT_OPACITY: flatbuffers::VOffsetT = 6;
27954 pub const VT_DASH_PATTERN: flatbuffers::VOffsetT = 8;
27955
27956 #[inline]
27957 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
27958 GridStyle { _tab: table }
27959 }
27960 #[allow(unused_mut)]
27961 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
27962 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
27963 args: &'args GridStyleArgs<'args>
27964 ) -> flatbuffers::WIPOffset<GridStyle<'bldr>> {
27965 let mut builder = GridStyleBuilder::new(_fbb);
27966 builder.add_opacity(args.opacity);
27967 if let Some(x) = args.dash_pattern { builder.add_dash_pattern(x); }
27968 if let Some(x) = args.color { builder.add_color(x); }
27969 builder.finish()
27970 }
27971
27972
27973 #[inline]
27974 pub fn color(&self) -> Option<&'a str> {
27975 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(GridStyle::VT_COLOR, None)}
27979 }
27980 #[inline]
27981 pub fn opacity(&self) -> f64 {
27982 unsafe { self._tab.get::<f64>(GridStyle::VT_OPACITY, Some(0.0)).unwrap()}
27986 }
27987 #[inline]
27988 pub fn dash_pattern(&self) -> Option<flatbuffers::Vector<'a, f64>> {
27989 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, f64>>>(GridStyle::VT_DASH_PATTERN, None)}
27993 }
27994}
27995
27996impl flatbuffers::Verifiable for GridStyle<'_> {
27997 #[inline]
27998 fn run_verifier(
27999 v: &mut flatbuffers::Verifier, pos: usize
28000 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
28001 use self::flatbuffers::Verifiable;
28002 v.visit_table(pos)?
28003 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("color", Self::VT_COLOR, false)?
28004 .visit_field::<f64>("opacity", Self::VT_OPACITY, false)?
28005 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, f64>>>("dash_pattern", Self::VT_DASH_PATTERN, false)?
28006 .finish();
28007 Ok(())
28008 }
28009}
28010pub struct GridStyleArgs<'a> {
28011 pub color: Option<flatbuffers::WIPOffset<&'a str>>,
28012 pub opacity: f64,
28013 pub dash_pattern: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, f64>>>,
28014}
28015impl<'a> Default for GridStyleArgs<'a> {
28016 #[inline]
28017 fn default() -> Self {
28018 GridStyleArgs {
28019 color: None,
28020 opacity: 0.0,
28021 dash_pattern: None,
28022 }
28023 }
28024}
28025
28026pub struct GridStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
28027 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
28028 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
28029}
28030impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> GridStyleBuilder<'a, 'b, A> {
28031 #[inline]
28032 pub fn add_color(&mut self, color: flatbuffers::WIPOffset<&'b str>) {
28033 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(GridStyle::VT_COLOR, color);
28034 }
28035 #[inline]
28036 pub fn add_opacity(&mut self, opacity: f64) {
28037 self.fbb_.push_slot::<f64>(GridStyle::VT_OPACITY, opacity, 0.0);
28038 }
28039 #[inline]
28040 pub fn add_dash_pattern(&mut self, dash_pattern: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f64>>) {
28041 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(GridStyle::VT_DASH_PATTERN, dash_pattern);
28042 }
28043 #[inline]
28044 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> GridStyleBuilder<'a, 'b, A> {
28045 let start = _fbb.start_table();
28046 GridStyleBuilder {
28047 fbb_: _fbb,
28048 start_: start,
28049 }
28050 }
28051 #[inline]
28052 pub fn finish(self) -> flatbuffers::WIPOffset<GridStyle<'a>> {
28053 let o = self.fbb_.end_table(self.start_);
28054 flatbuffers::WIPOffset::new(o.value())
28055 }
28056}
28057
28058impl core::fmt::Debug for GridStyle<'_> {
28059 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
28060 let mut ds = f.debug_struct("GridStyle");
28061 ds.field("color", &self.color());
28062 ds.field("opacity", &self.opacity());
28063 ds.field("dash_pattern", &self.dash_pattern());
28064 ds.finish()
28065 }
28066}
28067pub enum PolarGridSettingsOffset {}
28068#[derive(Copy, Clone, PartialEq)]
28069
28070pub struct PolarGridSettings<'a> {
28071 pub _tab: flatbuffers::Table<'a>,
28072}
28073
28074impl<'a> flatbuffers::Follow<'a> for PolarGridSettings<'a> {
28075 type Inner = PolarGridSettings<'a>;
28076 #[inline]
28077 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
28078 Self { _tab: flatbuffers::Table::new(buf, loc) }
28079 }
28080}
28081
28082impl<'a> PolarGridSettings<'a> {
28083 pub const VT_RADIAL_DIVISIONS: flatbuffers::VOffsetT = 4;
28084 pub const VT_RADIAL_SPACING: flatbuffers::VOffsetT = 6;
28085 pub const VT_SHOW_LABELS: flatbuffers::VOffsetT = 8;
28086
28087 #[inline]
28088 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
28089 PolarGridSettings { _tab: table }
28090 }
28091 #[allow(unused_mut)]
28092 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
28093 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
28094 args: &'args PolarGridSettingsArgs
28095 ) -> flatbuffers::WIPOffset<PolarGridSettings<'bldr>> {
28096 let mut builder = PolarGridSettingsBuilder::new(_fbb);
28097 builder.add_radial_spacing(args.radial_spacing);
28098 builder.add_radial_divisions(args.radial_divisions);
28099 builder.add_show_labels(args.show_labels);
28100 builder.finish()
28101 }
28102
28103
28104 #[inline]
28105 pub fn radial_divisions(&self) -> i32 {
28106 unsafe { self._tab.get::<i32>(PolarGridSettings::VT_RADIAL_DIVISIONS, Some(0)).unwrap()}
28110 }
28111 #[inline]
28112 pub fn radial_spacing(&self) -> f64 {
28113 unsafe { self._tab.get::<f64>(PolarGridSettings::VT_RADIAL_SPACING, Some(0.0)).unwrap()}
28117 }
28118 #[inline]
28119 pub fn show_labels(&self) -> bool {
28120 unsafe { self._tab.get::<bool>(PolarGridSettings::VT_SHOW_LABELS, Some(false)).unwrap()}
28124 }
28125}
28126
28127impl flatbuffers::Verifiable for PolarGridSettings<'_> {
28128 #[inline]
28129 fn run_verifier(
28130 v: &mut flatbuffers::Verifier, pos: usize
28131 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
28132 use self::flatbuffers::Verifiable;
28133 v.visit_table(pos)?
28134 .visit_field::<i32>("radial_divisions", Self::VT_RADIAL_DIVISIONS, false)?
28135 .visit_field::<f64>("radial_spacing", Self::VT_RADIAL_SPACING, false)?
28136 .visit_field::<bool>("show_labels", Self::VT_SHOW_LABELS, false)?
28137 .finish();
28138 Ok(())
28139 }
28140}
28141pub struct PolarGridSettingsArgs {
28142 pub radial_divisions: i32,
28143 pub radial_spacing: f64,
28144 pub show_labels: bool,
28145}
28146impl<'a> Default for PolarGridSettingsArgs {
28147 #[inline]
28148 fn default() -> Self {
28149 PolarGridSettingsArgs {
28150 radial_divisions: 0,
28151 radial_spacing: 0.0,
28152 show_labels: false,
28153 }
28154 }
28155}
28156
28157pub struct PolarGridSettingsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
28158 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
28159 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
28160}
28161impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> PolarGridSettingsBuilder<'a, 'b, A> {
28162 #[inline]
28163 pub fn add_radial_divisions(&mut self, radial_divisions: i32) {
28164 self.fbb_.push_slot::<i32>(PolarGridSettings::VT_RADIAL_DIVISIONS, radial_divisions, 0);
28165 }
28166 #[inline]
28167 pub fn add_radial_spacing(&mut self, radial_spacing: f64) {
28168 self.fbb_.push_slot::<f64>(PolarGridSettings::VT_RADIAL_SPACING, radial_spacing, 0.0);
28169 }
28170 #[inline]
28171 pub fn add_show_labels(&mut self, show_labels: bool) {
28172 self.fbb_.push_slot::<bool>(PolarGridSettings::VT_SHOW_LABELS, show_labels, false);
28173 }
28174 #[inline]
28175 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> PolarGridSettingsBuilder<'a, 'b, A> {
28176 let start = _fbb.start_table();
28177 PolarGridSettingsBuilder {
28178 fbb_: _fbb,
28179 start_: start,
28180 }
28181 }
28182 #[inline]
28183 pub fn finish(self) -> flatbuffers::WIPOffset<PolarGridSettings<'a>> {
28184 let o = self.fbb_.end_table(self.start_);
28185 flatbuffers::WIPOffset::new(o.value())
28186 }
28187}
28188
28189impl core::fmt::Debug for PolarGridSettings<'_> {
28190 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
28191 let mut ds = f.debug_struct("PolarGridSettings");
28192 ds.field("radial_divisions", &self.radial_divisions());
28193 ds.field("radial_spacing", &self.radial_spacing());
28194 ds.field("show_labels", &self.show_labels());
28195 ds.finish()
28196 }
28197}
28198pub enum IsometricGridSettingsOffset {}
28199#[derive(Copy, Clone, PartialEq)]
28200
28201pub struct IsometricGridSettings<'a> {
28202 pub _tab: flatbuffers::Table<'a>,
28203}
28204
28205impl<'a> flatbuffers::Follow<'a> for IsometricGridSettings<'a> {
28206 type Inner = IsometricGridSettings<'a>;
28207 #[inline]
28208 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
28209 Self { _tab: flatbuffers::Table::new(buf, loc) }
28210 }
28211}
28212
28213impl<'a> IsometricGridSettings<'a> {
28214 pub const VT_LEFT_ANGLE: flatbuffers::VOffsetT = 4;
28215 pub const VT_RIGHT_ANGLE: flatbuffers::VOffsetT = 6;
28216
28217 #[inline]
28218 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
28219 IsometricGridSettings { _tab: table }
28220 }
28221 #[allow(unused_mut)]
28222 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
28223 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
28224 args: &'args IsometricGridSettingsArgs
28225 ) -> flatbuffers::WIPOffset<IsometricGridSettings<'bldr>> {
28226 let mut builder = IsometricGridSettingsBuilder::new(_fbb);
28227 builder.add_right_angle(args.right_angle);
28228 builder.add_left_angle(args.left_angle);
28229 builder.finish()
28230 }
28231
28232
28233 #[inline]
28234 pub fn left_angle(&self) -> f64 {
28235 unsafe { self._tab.get::<f64>(IsometricGridSettings::VT_LEFT_ANGLE, Some(0.0)).unwrap()}
28239 }
28240 #[inline]
28241 pub fn right_angle(&self) -> f64 {
28242 unsafe { self._tab.get::<f64>(IsometricGridSettings::VT_RIGHT_ANGLE, Some(0.0)).unwrap()}
28246 }
28247}
28248
28249impl flatbuffers::Verifiable for IsometricGridSettings<'_> {
28250 #[inline]
28251 fn run_verifier(
28252 v: &mut flatbuffers::Verifier, pos: usize
28253 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
28254 use self::flatbuffers::Verifiable;
28255 v.visit_table(pos)?
28256 .visit_field::<f64>("left_angle", Self::VT_LEFT_ANGLE, false)?
28257 .visit_field::<f64>("right_angle", Self::VT_RIGHT_ANGLE, false)?
28258 .finish();
28259 Ok(())
28260 }
28261}
28262pub struct IsometricGridSettingsArgs {
28263 pub left_angle: f64,
28264 pub right_angle: f64,
28265}
28266impl<'a> Default for IsometricGridSettingsArgs {
28267 #[inline]
28268 fn default() -> Self {
28269 IsometricGridSettingsArgs {
28270 left_angle: 0.0,
28271 right_angle: 0.0,
28272 }
28273 }
28274}
28275
28276pub struct IsometricGridSettingsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
28277 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
28278 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
28279}
28280impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IsometricGridSettingsBuilder<'a, 'b, A> {
28281 #[inline]
28282 pub fn add_left_angle(&mut self, left_angle: f64) {
28283 self.fbb_.push_slot::<f64>(IsometricGridSettings::VT_LEFT_ANGLE, left_angle, 0.0);
28284 }
28285 #[inline]
28286 pub fn add_right_angle(&mut self, right_angle: f64) {
28287 self.fbb_.push_slot::<f64>(IsometricGridSettings::VT_RIGHT_ANGLE, right_angle, 0.0);
28288 }
28289 #[inline]
28290 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IsometricGridSettingsBuilder<'a, 'b, A> {
28291 let start = _fbb.start_table();
28292 IsometricGridSettingsBuilder {
28293 fbb_: _fbb,
28294 start_: start,
28295 }
28296 }
28297 #[inline]
28298 pub fn finish(self) -> flatbuffers::WIPOffset<IsometricGridSettings<'a>> {
28299 let o = self.fbb_.end_table(self.start_);
28300 flatbuffers::WIPOffset::new(o.value())
28301 }
28302}
28303
28304impl core::fmt::Debug for IsometricGridSettings<'_> {
28305 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
28306 let mut ds = f.debug_struct("IsometricGridSettings");
28307 ds.field("left_angle", &self.left_angle());
28308 ds.field("right_angle", &self.right_angle());
28309 ds.finish()
28310 }
28311}
28312pub enum GridSettingsOffset {}
28313#[derive(Copy, Clone, PartialEq)]
28314
28315pub struct GridSettings<'a> {
28316 pub _tab: flatbuffers::Table<'a>,
28317}
28318
28319impl<'a> flatbuffers::Follow<'a> for GridSettings<'a> {
28320 type Inner = GridSettings<'a>;
28321 #[inline]
28322 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
28323 Self { _tab: flatbuffers::Table::new(buf, loc) }
28324 }
28325}
28326
28327impl<'a> GridSettings<'a> {
28328 pub const VT_TYPE_: flatbuffers::VOffsetT = 4;
28329 pub const VT_READONLY: flatbuffers::VOffsetT = 6;
28330 pub const VT_DISPLAY_TYPE: flatbuffers::VOffsetT = 8;
28331 pub const VT_IS_ADAPTIVE: flatbuffers::VOffsetT = 10;
28332 pub const VT_X_SPACING: flatbuffers::VOffsetT = 12;
28333 pub const VT_Y_SPACING: flatbuffers::VOffsetT = 14;
28334 pub const VT_SUBDIVISIONS: flatbuffers::VOffsetT = 16;
28335 pub const VT_ORIGIN: flatbuffers::VOffsetT = 18;
28336 pub const VT_ROTATION: flatbuffers::VOffsetT = 20;
28337 pub const VT_FOLLOW_UCS: flatbuffers::VOffsetT = 22;
28338 pub const VT_MAJOR_STYLE: flatbuffers::VOffsetT = 24;
28339 pub const VT_MINOR_STYLE: flatbuffers::VOffsetT = 26;
28340 pub const VT_SHOW_MINOR: flatbuffers::VOffsetT = 28;
28341 pub const VT_MIN_ZOOM: flatbuffers::VOffsetT = 30;
28342 pub const VT_MAX_ZOOM: flatbuffers::VOffsetT = 32;
28343 pub const VT_AUTO_HIDE: flatbuffers::VOffsetT = 34;
28344 pub const VT_POLAR_SETTINGS: flatbuffers::VOffsetT = 36;
28345 pub const VT_ISOMETRIC_SETTINGS: flatbuffers::VOffsetT = 38;
28346 pub const VT_ENABLE_SNAPPING: flatbuffers::VOffsetT = 40;
28347
28348 #[inline]
28349 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
28350 GridSettings { _tab: table }
28351 }
28352 #[allow(unused_mut)]
28353 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
28354 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
28355 args: &'args GridSettingsArgs<'args>
28356 ) -> flatbuffers::WIPOffset<GridSettings<'bldr>> {
28357 let mut builder = GridSettingsBuilder::new(_fbb);
28358 builder.add_max_zoom(args.max_zoom);
28359 builder.add_min_zoom(args.min_zoom);
28360 builder.add_rotation(args.rotation);
28361 builder.add_y_spacing(args.y_spacing);
28362 builder.add_x_spacing(args.x_spacing);
28363 if let Some(x) = args.isometric_settings { builder.add_isometric_settings(x); }
28364 if let Some(x) = args.polar_settings { builder.add_polar_settings(x); }
28365 if let Some(x) = args.minor_style { builder.add_minor_style(x); }
28366 if let Some(x) = args.major_style { builder.add_major_style(x); }
28367 if let Some(x) = args.origin { builder.add_origin(x); }
28368 builder.add_subdivisions(args.subdivisions);
28369 builder.add_enable_snapping(args.enable_snapping);
28370 builder.add_auto_hide(args.auto_hide);
28371 builder.add_show_minor(args.show_minor);
28372 builder.add_follow_ucs(args.follow_ucs);
28373 builder.add_is_adaptive(args.is_adaptive);
28374 if let Some(x) = args.display_type { builder.add_display_type(x); }
28375 builder.add_readonly(args.readonly);
28376 if let Some(x) = args.type_ { builder.add_type_(x); }
28377 builder.finish()
28378 }
28379
28380
28381 #[inline]
28382 pub fn type_(&self) -> Option<GRID_TYPE> {
28383 unsafe { self._tab.get::<GRID_TYPE>(GridSettings::VT_TYPE_, None)}
28387 }
28388 #[inline]
28389 pub fn readonly(&self) -> bool {
28390 unsafe { self._tab.get::<bool>(GridSettings::VT_READONLY, Some(false)).unwrap()}
28394 }
28395 #[inline]
28396 pub fn display_type(&self) -> Option<GRID_DISPLAY_TYPE> {
28397 unsafe { self._tab.get::<GRID_DISPLAY_TYPE>(GridSettings::VT_DISPLAY_TYPE, None)}
28401 }
28402 #[inline]
28403 pub fn is_adaptive(&self) -> bool {
28404 unsafe { self._tab.get::<bool>(GridSettings::VT_IS_ADAPTIVE, Some(false)).unwrap()}
28408 }
28409 #[inline]
28410 pub fn x_spacing(&self) -> f64 {
28411 unsafe { self._tab.get::<f64>(GridSettings::VT_X_SPACING, Some(0.0)).unwrap()}
28415 }
28416 #[inline]
28417 pub fn y_spacing(&self) -> f64 {
28418 unsafe { self._tab.get::<f64>(GridSettings::VT_Y_SPACING, Some(0.0)).unwrap()}
28422 }
28423 #[inline]
28424 pub fn subdivisions(&self) -> i32 {
28425 unsafe { self._tab.get::<i32>(GridSettings::VT_SUBDIVISIONS, Some(0)).unwrap()}
28429 }
28430 #[inline]
28431 pub fn origin(&self) -> Option<&'a GeometricPoint> {
28432 unsafe { self._tab.get::<GeometricPoint>(GridSettings::VT_ORIGIN, None)}
28436 }
28437 #[inline]
28438 pub fn rotation(&self) -> f64 {
28439 unsafe { self._tab.get::<f64>(GridSettings::VT_ROTATION, Some(0.0)).unwrap()}
28443 }
28444 #[inline]
28445 pub fn follow_ucs(&self) -> bool {
28446 unsafe { self._tab.get::<bool>(GridSettings::VT_FOLLOW_UCS, Some(false)).unwrap()}
28450 }
28451 #[inline]
28452 pub fn major_style(&self) -> Option<GridStyle<'a>> {
28453 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<GridStyle>>(GridSettings::VT_MAJOR_STYLE, None)}
28457 }
28458 #[inline]
28459 pub fn minor_style(&self) -> Option<GridStyle<'a>> {
28460 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<GridStyle>>(GridSettings::VT_MINOR_STYLE, None)}
28464 }
28465 #[inline]
28466 pub fn show_minor(&self) -> bool {
28467 unsafe { self._tab.get::<bool>(GridSettings::VT_SHOW_MINOR, Some(false)).unwrap()}
28471 }
28472 #[inline]
28473 pub fn min_zoom(&self) -> f64 {
28474 unsafe { self._tab.get::<f64>(GridSettings::VT_MIN_ZOOM, Some(0.0)).unwrap()}
28478 }
28479 #[inline]
28480 pub fn max_zoom(&self) -> f64 {
28481 unsafe { self._tab.get::<f64>(GridSettings::VT_MAX_ZOOM, Some(0.0)).unwrap()}
28485 }
28486 #[inline]
28487 pub fn auto_hide(&self) -> bool {
28488 unsafe { self._tab.get::<bool>(GridSettings::VT_AUTO_HIDE, Some(false)).unwrap()}
28492 }
28493 #[inline]
28494 pub fn polar_settings(&self) -> Option<PolarGridSettings<'a>> {
28495 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<PolarGridSettings>>(GridSettings::VT_POLAR_SETTINGS, None)}
28499 }
28500 #[inline]
28501 pub fn isometric_settings(&self) -> Option<IsometricGridSettings<'a>> {
28502 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<IsometricGridSettings>>(GridSettings::VT_ISOMETRIC_SETTINGS, None)}
28506 }
28507 #[inline]
28508 pub fn enable_snapping(&self) -> bool {
28509 unsafe { self._tab.get::<bool>(GridSettings::VT_ENABLE_SNAPPING, Some(false)).unwrap()}
28513 }
28514}
28515
28516impl flatbuffers::Verifiable for GridSettings<'_> {
28517 #[inline]
28518 fn run_verifier(
28519 v: &mut flatbuffers::Verifier, pos: usize
28520 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
28521 use self::flatbuffers::Verifiable;
28522 v.visit_table(pos)?
28523 .visit_field::<GRID_TYPE>("type_", Self::VT_TYPE_, false)?
28524 .visit_field::<bool>("readonly", Self::VT_READONLY, false)?
28525 .visit_field::<GRID_DISPLAY_TYPE>("display_type", Self::VT_DISPLAY_TYPE, false)?
28526 .visit_field::<bool>("is_adaptive", Self::VT_IS_ADAPTIVE, false)?
28527 .visit_field::<f64>("x_spacing", Self::VT_X_SPACING, false)?
28528 .visit_field::<f64>("y_spacing", Self::VT_Y_SPACING, false)?
28529 .visit_field::<i32>("subdivisions", Self::VT_SUBDIVISIONS, false)?
28530 .visit_field::<GeometricPoint>("origin", Self::VT_ORIGIN, false)?
28531 .visit_field::<f64>("rotation", Self::VT_ROTATION, false)?
28532 .visit_field::<bool>("follow_ucs", Self::VT_FOLLOW_UCS, false)?
28533 .visit_field::<flatbuffers::ForwardsUOffset<GridStyle>>("major_style", Self::VT_MAJOR_STYLE, false)?
28534 .visit_field::<flatbuffers::ForwardsUOffset<GridStyle>>("minor_style", Self::VT_MINOR_STYLE, false)?
28535 .visit_field::<bool>("show_minor", Self::VT_SHOW_MINOR, false)?
28536 .visit_field::<f64>("min_zoom", Self::VT_MIN_ZOOM, false)?
28537 .visit_field::<f64>("max_zoom", Self::VT_MAX_ZOOM, false)?
28538 .visit_field::<bool>("auto_hide", Self::VT_AUTO_HIDE, false)?
28539 .visit_field::<flatbuffers::ForwardsUOffset<PolarGridSettings>>("polar_settings", Self::VT_POLAR_SETTINGS, false)?
28540 .visit_field::<flatbuffers::ForwardsUOffset<IsometricGridSettings>>("isometric_settings", Self::VT_ISOMETRIC_SETTINGS, false)?
28541 .visit_field::<bool>("enable_snapping", Self::VT_ENABLE_SNAPPING, false)?
28542 .finish();
28543 Ok(())
28544 }
28545}
28546pub struct GridSettingsArgs<'a> {
28547 pub type_: Option<GRID_TYPE>,
28548 pub readonly: bool,
28549 pub display_type: Option<GRID_DISPLAY_TYPE>,
28550 pub is_adaptive: bool,
28551 pub x_spacing: f64,
28552 pub y_spacing: f64,
28553 pub subdivisions: i32,
28554 pub origin: Option<&'a GeometricPoint>,
28555 pub rotation: f64,
28556 pub follow_ucs: bool,
28557 pub major_style: Option<flatbuffers::WIPOffset<GridStyle<'a>>>,
28558 pub minor_style: Option<flatbuffers::WIPOffset<GridStyle<'a>>>,
28559 pub show_minor: bool,
28560 pub min_zoom: f64,
28561 pub max_zoom: f64,
28562 pub auto_hide: bool,
28563 pub polar_settings: Option<flatbuffers::WIPOffset<PolarGridSettings<'a>>>,
28564 pub isometric_settings: Option<flatbuffers::WIPOffset<IsometricGridSettings<'a>>>,
28565 pub enable_snapping: bool,
28566}
28567impl<'a> Default for GridSettingsArgs<'a> {
28568 #[inline]
28569 fn default() -> Self {
28570 GridSettingsArgs {
28571 type_: None,
28572 readonly: false,
28573 display_type: None,
28574 is_adaptive: false,
28575 x_spacing: 0.0,
28576 y_spacing: 0.0,
28577 subdivisions: 0,
28578 origin: None,
28579 rotation: 0.0,
28580 follow_ucs: false,
28581 major_style: None,
28582 minor_style: None,
28583 show_minor: false,
28584 min_zoom: 0.0,
28585 max_zoom: 0.0,
28586 auto_hide: false,
28587 polar_settings: None,
28588 isometric_settings: None,
28589 enable_snapping: false,
28590 }
28591 }
28592}
28593
28594pub struct GridSettingsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
28595 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
28596 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
28597}
28598impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> GridSettingsBuilder<'a, 'b, A> {
28599 #[inline]
28600 pub fn add_type_(&mut self, type_: GRID_TYPE) {
28601 self.fbb_.push_slot_always::<GRID_TYPE>(GridSettings::VT_TYPE_, type_);
28602 }
28603 #[inline]
28604 pub fn add_readonly(&mut self, readonly: bool) {
28605 self.fbb_.push_slot::<bool>(GridSettings::VT_READONLY, readonly, false);
28606 }
28607 #[inline]
28608 pub fn add_display_type(&mut self, display_type: GRID_DISPLAY_TYPE) {
28609 self.fbb_.push_slot_always::<GRID_DISPLAY_TYPE>(GridSettings::VT_DISPLAY_TYPE, display_type);
28610 }
28611 #[inline]
28612 pub fn add_is_adaptive(&mut self, is_adaptive: bool) {
28613 self.fbb_.push_slot::<bool>(GridSettings::VT_IS_ADAPTIVE, is_adaptive, false);
28614 }
28615 #[inline]
28616 pub fn add_x_spacing(&mut self, x_spacing: f64) {
28617 self.fbb_.push_slot::<f64>(GridSettings::VT_X_SPACING, x_spacing, 0.0);
28618 }
28619 #[inline]
28620 pub fn add_y_spacing(&mut self, y_spacing: f64) {
28621 self.fbb_.push_slot::<f64>(GridSettings::VT_Y_SPACING, y_spacing, 0.0);
28622 }
28623 #[inline]
28624 pub fn add_subdivisions(&mut self, subdivisions: i32) {
28625 self.fbb_.push_slot::<i32>(GridSettings::VT_SUBDIVISIONS, subdivisions, 0);
28626 }
28627 #[inline]
28628 pub fn add_origin(&mut self, origin: &GeometricPoint) {
28629 self.fbb_.push_slot_always::<&GeometricPoint>(GridSettings::VT_ORIGIN, origin);
28630 }
28631 #[inline]
28632 pub fn add_rotation(&mut self, rotation: f64) {
28633 self.fbb_.push_slot::<f64>(GridSettings::VT_ROTATION, rotation, 0.0);
28634 }
28635 #[inline]
28636 pub fn add_follow_ucs(&mut self, follow_ucs: bool) {
28637 self.fbb_.push_slot::<bool>(GridSettings::VT_FOLLOW_UCS, follow_ucs, false);
28638 }
28639 #[inline]
28640 pub fn add_major_style(&mut self, major_style: flatbuffers::WIPOffset<GridStyle<'b >>) {
28641 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<GridStyle>>(GridSettings::VT_MAJOR_STYLE, major_style);
28642 }
28643 #[inline]
28644 pub fn add_minor_style(&mut self, minor_style: flatbuffers::WIPOffset<GridStyle<'b >>) {
28645 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<GridStyle>>(GridSettings::VT_MINOR_STYLE, minor_style);
28646 }
28647 #[inline]
28648 pub fn add_show_minor(&mut self, show_minor: bool) {
28649 self.fbb_.push_slot::<bool>(GridSettings::VT_SHOW_MINOR, show_minor, false);
28650 }
28651 #[inline]
28652 pub fn add_min_zoom(&mut self, min_zoom: f64) {
28653 self.fbb_.push_slot::<f64>(GridSettings::VT_MIN_ZOOM, min_zoom, 0.0);
28654 }
28655 #[inline]
28656 pub fn add_max_zoom(&mut self, max_zoom: f64) {
28657 self.fbb_.push_slot::<f64>(GridSettings::VT_MAX_ZOOM, max_zoom, 0.0);
28658 }
28659 #[inline]
28660 pub fn add_auto_hide(&mut self, auto_hide: bool) {
28661 self.fbb_.push_slot::<bool>(GridSettings::VT_AUTO_HIDE, auto_hide, false);
28662 }
28663 #[inline]
28664 pub fn add_polar_settings(&mut self, polar_settings: flatbuffers::WIPOffset<PolarGridSettings<'b >>) {
28665 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<PolarGridSettings>>(GridSettings::VT_POLAR_SETTINGS, polar_settings);
28666 }
28667 #[inline]
28668 pub fn add_isometric_settings(&mut self, isometric_settings: flatbuffers::WIPOffset<IsometricGridSettings<'b >>) {
28669 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<IsometricGridSettings>>(GridSettings::VT_ISOMETRIC_SETTINGS, isometric_settings);
28670 }
28671 #[inline]
28672 pub fn add_enable_snapping(&mut self, enable_snapping: bool) {
28673 self.fbb_.push_slot::<bool>(GridSettings::VT_ENABLE_SNAPPING, enable_snapping, false);
28674 }
28675 #[inline]
28676 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> GridSettingsBuilder<'a, 'b, A> {
28677 let start = _fbb.start_table();
28678 GridSettingsBuilder {
28679 fbb_: _fbb,
28680 start_: start,
28681 }
28682 }
28683 #[inline]
28684 pub fn finish(self) -> flatbuffers::WIPOffset<GridSettings<'a>> {
28685 let o = self.fbb_.end_table(self.start_);
28686 flatbuffers::WIPOffset::new(o.value())
28687 }
28688}
28689
28690impl core::fmt::Debug for GridSettings<'_> {
28691 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
28692 let mut ds = f.debug_struct("GridSettings");
28693 ds.field("type_", &self.type_());
28694 ds.field("readonly", &self.readonly());
28695 ds.field("display_type", &self.display_type());
28696 ds.field("is_adaptive", &self.is_adaptive());
28697 ds.field("x_spacing", &self.x_spacing());
28698 ds.field("y_spacing", &self.y_spacing());
28699 ds.field("subdivisions", &self.subdivisions());
28700 ds.field("origin", &self.origin());
28701 ds.field("rotation", &self.rotation());
28702 ds.field("follow_ucs", &self.follow_ucs());
28703 ds.field("major_style", &self.major_style());
28704 ds.field("minor_style", &self.minor_style());
28705 ds.field("show_minor", &self.show_minor());
28706 ds.field("min_zoom", &self.min_zoom());
28707 ds.field("max_zoom", &self.max_zoom());
28708 ds.field("auto_hide", &self.auto_hide());
28709 ds.field("polar_settings", &self.polar_settings());
28710 ds.field("isometric_settings", &self.isometric_settings());
28711 ds.field("enable_snapping", &self.enable_snapping());
28712 ds.finish()
28713 }
28714}
28715pub enum SnapOverrideOffset {}
28716#[derive(Copy, Clone, PartialEq)]
28717
28718pub struct SnapOverride<'a> {
28719 pub _tab: flatbuffers::Table<'a>,
28720}
28721
28722impl<'a> flatbuffers::Follow<'a> for SnapOverride<'a> {
28723 type Inner = SnapOverride<'a>;
28724 #[inline]
28725 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
28726 Self { _tab: flatbuffers::Table::new(buf, loc) }
28727 }
28728}
28729
28730impl<'a> SnapOverride<'a> {
28731 pub const VT_KEY: flatbuffers::VOffsetT = 4;
28732 pub const VT_BEHAVIOR: flatbuffers::VOffsetT = 6;
28733
28734 #[inline]
28735 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
28736 SnapOverride { _tab: table }
28737 }
28738 #[allow(unused_mut)]
28739 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
28740 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
28741 args: &'args SnapOverrideArgs<'args>
28742 ) -> flatbuffers::WIPOffset<SnapOverride<'bldr>> {
28743 let mut builder = SnapOverrideBuilder::new(_fbb);
28744 if let Some(x) = args.key { builder.add_key(x); }
28745 if let Some(x) = args.behavior { builder.add_behavior(x); }
28746 builder.finish()
28747 }
28748
28749
28750 #[inline]
28751 pub fn key(&self) -> Option<&'a str> {
28752 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(SnapOverride::VT_KEY, None)}
28756 }
28757 #[inline]
28758 pub fn behavior(&self) -> Option<SNAP_OVERRIDE_BEHAVIOR> {
28759 unsafe { self._tab.get::<SNAP_OVERRIDE_BEHAVIOR>(SnapOverride::VT_BEHAVIOR, None)}
28763 }
28764}
28765
28766impl flatbuffers::Verifiable for SnapOverride<'_> {
28767 #[inline]
28768 fn run_verifier(
28769 v: &mut flatbuffers::Verifier, pos: usize
28770 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
28771 use self::flatbuffers::Verifiable;
28772 v.visit_table(pos)?
28773 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("key", Self::VT_KEY, false)?
28774 .visit_field::<SNAP_OVERRIDE_BEHAVIOR>("behavior", Self::VT_BEHAVIOR, false)?
28775 .finish();
28776 Ok(())
28777 }
28778}
28779pub struct SnapOverrideArgs<'a> {
28780 pub key: Option<flatbuffers::WIPOffset<&'a str>>,
28781 pub behavior: Option<SNAP_OVERRIDE_BEHAVIOR>,
28782}
28783impl<'a> Default for SnapOverrideArgs<'a> {
28784 #[inline]
28785 fn default() -> Self {
28786 SnapOverrideArgs {
28787 key: None,
28788 behavior: None,
28789 }
28790 }
28791}
28792
28793pub struct SnapOverrideBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
28794 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
28795 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
28796}
28797impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> SnapOverrideBuilder<'a, 'b, A> {
28798 #[inline]
28799 pub fn add_key(&mut self, key: flatbuffers::WIPOffset<&'b str>) {
28800 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SnapOverride::VT_KEY, key);
28801 }
28802 #[inline]
28803 pub fn add_behavior(&mut self, behavior: SNAP_OVERRIDE_BEHAVIOR) {
28804 self.fbb_.push_slot_always::<SNAP_OVERRIDE_BEHAVIOR>(SnapOverride::VT_BEHAVIOR, behavior);
28805 }
28806 #[inline]
28807 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> SnapOverrideBuilder<'a, 'b, A> {
28808 let start = _fbb.start_table();
28809 SnapOverrideBuilder {
28810 fbb_: _fbb,
28811 start_: start,
28812 }
28813 }
28814 #[inline]
28815 pub fn finish(self) -> flatbuffers::WIPOffset<SnapOverride<'a>> {
28816 let o = self.fbb_.end_table(self.start_);
28817 flatbuffers::WIPOffset::new(o.value())
28818 }
28819}
28820
28821impl core::fmt::Debug for SnapOverride<'_> {
28822 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
28823 let mut ds = f.debug_struct("SnapOverride");
28824 ds.field("key", &self.key());
28825 ds.field("behavior", &self.behavior());
28826 ds.finish()
28827 }
28828}
28829pub enum DynamicSnapSettingsOffset {}
28830#[derive(Copy, Clone, PartialEq)]
28831
28832pub struct DynamicSnapSettings<'a> {
28833 pub _tab: flatbuffers::Table<'a>,
28834}
28835
28836impl<'a> flatbuffers::Follow<'a> for DynamicSnapSettings<'a> {
28837 type Inner = DynamicSnapSettings<'a>;
28838 #[inline]
28839 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
28840 Self { _tab: flatbuffers::Table::new(buf, loc) }
28841 }
28842}
28843
28844impl<'a> DynamicSnapSettings<'a> {
28845 pub const VT_ENABLED_DURING_DRAG: flatbuffers::VOffsetT = 4;
28846 pub const VT_ENABLED_DURING_ROTATION: flatbuffers::VOffsetT = 6;
28847 pub const VT_ENABLED_DURING_SCALE: flatbuffers::VOffsetT = 8;
28848
28849 #[inline]
28850 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
28851 DynamicSnapSettings { _tab: table }
28852 }
28853 #[allow(unused_mut)]
28854 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
28855 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
28856 args: &'args DynamicSnapSettingsArgs
28857 ) -> flatbuffers::WIPOffset<DynamicSnapSettings<'bldr>> {
28858 let mut builder = DynamicSnapSettingsBuilder::new(_fbb);
28859 builder.add_enabled_during_scale(args.enabled_during_scale);
28860 builder.add_enabled_during_rotation(args.enabled_during_rotation);
28861 builder.add_enabled_during_drag(args.enabled_during_drag);
28862 builder.finish()
28863 }
28864
28865
28866 #[inline]
28867 pub fn enabled_during_drag(&self) -> bool {
28868 unsafe { self._tab.get::<bool>(DynamicSnapSettings::VT_ENABLED_DURING_DRAG, Some(false)).unwrap()}
28872 }
28873 #[inline]
28874 pub fn enabled_during_rotation(&self) -> bool {
28875 unsafe { self._tab.get::<bool>(DynamicSnapSettings::VT_ENABLED_DURING_ROTATION, Some(false)).unwrap()}
28879 }
28880 #[inline]
28881 pub fn enabled_during_scale(&self) -> bool {
28882 unsafe { self._tab.get::<bool>(DynamicSnapSettings::VT_ENABLED_DURING_SCALE, Some(false)).unwrap()}
28886 }
28887}
28888
28889impl flatbuffers::Verifiable for DynamicSnapSettings<'_> {
28890 #[inline]
28891 fn run_verifier(
28892 v: &mut flatbuffers::Verifier, pos: usize
28893 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
28894 use self::flatbuffers::Verifiable;
28895 v.visit_table(pos)?
28896 .visit_field::<bool>("enabled_during_drag", Self::VT_ENABLED_DURING_DRAG, false)?
28897 .visit_field::<bool>("enabled_during_rotation", Self::VT_ENABLED_DURING_ROTATION, false)?
28898 .visit_field::<bool>("enabled_during_scale", Self::VT_ENABLED_DURING_SCALE, false)?
28899 .finish();
28900 Ok(())
28901 }
28902}
28903pub struct DynamicSnapSettingsArgs {
28904 pub enabled_during_drag: bool,
28905 pub enabled_during_rotation: bool,
28906 pub enabled_during_scale: bool,
28907}
28908impl<'a> Default for DynamicSnapSettingsArgs {
28909 #[inline]
28910 fn default() -> Self {
28911 DynamicSnapSettingsArgs {
28912 enabled_during_drag: false,
28913 enabled_during_rotation: false,
28914 enabled_during_scale: false,
28915 }
28916 }
28917}
28918
28919pub struct DynamicSnapSettingsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
28920 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
28921 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
28922}
28923impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DynamicSnapSettingsBuilder<'a, 'b, A> {
28924 #[inline]
28925 pub fn add_enabled_during_drag(&mut self, enabled_during_drag: bool) {
28926 self.fbb_.push_slot::<bool>(DynamicSnapSettings::VT_ENABLED_DURING_DRAG, enabled_during_drag, false);
28927 }
28928 #[inline]
28929 pub fn add_enabled_during_rotation(&mut self, enabled_during_rotation: bool) {
28930 self.fbb_.push_slot::<bool>(DynamicSnapSettings::VT_ENABLED_DURING_ROTATION, enabled_during_rotation, false);
28931 }
28932 #[inline]
28933 pub fn add_enabled_during_scale(&mut self, enabled_during_scale: bool) {
28934 self.fbb_.push_slot::<bool>(DynamicSnapSettings::VT_ENABLED_DURING_SCALE, enabled_during_scale, false);
28935 }
28936 #[inline]
28937 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DynamicSnapSettingsBuilder<'a, 'b, A> {
28938 let start = _fbb.start_table();
28939 DynamicSnapSettingsBuilder {
28940 fbb_: _fbb,
28941 start_: start,
28942 }
28943 }
28944 #[inline]
28945 pub fn finish(self) -> flatbuffers::WIPOffset<DynamicSnapSettings<'a>> {
28946 let o = self.fbb_.end_table(self.start_);
28947 flatbuffers::WIPOffset::new(o.value())
28948 }
28949}
28950
28951impl core::fmt::Debug for DynamicSnapSettings<'_> {
28952 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
28953 let mut ds = f.debug_struct("DynamicSnapSettings");
28954 ds.field("enabled_during_drag", &self.enabled_during_drag());
28955 ds.field("enabled_during_rotation", &self.enabled_during_rotation());
28956 ds.field("enabled_during_scale", &self.enabled_during_scale());
28957 ds.finish()
28958 }
28959}
28960pub enum PolarTrackingSettingsOffset {}
28961#[derive(Copy, Clone, PartialEq)]
28962
28963pub struct PolarTrackingSettings<'a> {
28964 pub _tab: flatbuffers::Table<'a>,
28965}
28966
28967impl<'a> flatbuffers::Follow<'a> for PolarTrackingSettings<'a> {
28968 type Inner = PolarTrackingSettings<'a>;
28969 #[inline]
28970 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
28971 Self { _tab: flatbuffers::Table::new(buf, loc) }
28972 }
28973}
28974
28975impl<'a> PolarTrackingSettings<'a> {
28976 pub const VT_ENABLED: flatbuffers::VOffsetT = 4;
28977 pub const VT_ANGLES: flatbuffers::VOffsetT = 6;
28978 pub const VT_INCREMENT_ANGLE: flatbuffers::VOffsetT = 8;
28979 pub const VT_TRACK_FROM_LAST_POINT: flatbuffers::VOffsetT = 10;
28980 pub const VT_SHOW_POLAR_COORDINATES: flatbuffers::VOffsetT = 12;
28981
28982 #[inline]
28983 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
28984 PolarTrackingSettings { _tab: table }
28985 }
28986 #[allow(unused_mut)]
28987 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
28988 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
28989 args: &'args PolarTrackingSettingsArgs<'args>
28990 ) -> flatbuffers::WIPOffset<PolarTrackingSettings<'bldr>> {
28991 let mut builder = PolarTrackingSettingsBuilder::new(_fbb);
28992 builder.add_increment_angle(args.increment_angle);
28993 if let Some(x) = args.angles { builder.add_angles(x); }
28994 builder.add_show_polar_coordinates(args.show_polar_coordinates);
28995 builder.add_track_from_last_point(args.track_from_last_point);
28996 builder.add_enabled(args.enabled);
28997 builder.finish()
28998 }
28999
29000
29001 #[inline]
29002 pub fn enabled(&self) -> bool {
29003 unsafe { self._tab.get::<bool>(PolarTrackingSettings::VT_ENABLED, Some(false)).unwrap()}
29007 }
29008 #[inline]
29009 pub fn angles(&self) -> Option<flatbuffers::Vector<'a, f64>> {
29010 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, f64>>>(PolarTrackingSettings::VT_ANGLES, None)}
29014 }
29015 #[inline]
29016 pub fn increment_angle(&self) -> f64 {
29017 unsafe { self._tab.get::<f64>(PolarTrackingSettings::VT_INCREMENT_ANGLE, Some(0.0)).unwrap()}
29021 }
29022 #[inline]
29023 pub fn track_from_last_point(&self) -> bool {
29024 unsafe { self._tab.get::<bool>(PolarTrackingSettings::VT_TRACK_FROM_LAST_POINT, Some(false)).unwrap()}
29028 }
29029 #[inline]
29030 pub fn show_polar_coordinates(&self) -> bool {
29031 unsafe { self._tab.get::<bool>(PolarTrackingSettings::VT_SHOW_POLAR_COORDINATES, Some(false)).unwrap()}
29035 }
29036}
29037
29038impl flatbuffers::Verifiable for PolarTrackingSettings<'_> {
29039 #[inline]
29040 fn run_verifier(
29041 v: &mut flatbuffers::Verifier, pos: usize
29042 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
29043 use self::flatbuffers::Verifiable;
29044 v.visit_table(pos)?
29045 .visit_field::<bool>("enabled", Self::VT_ENABLED, false)?
29046 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, f64>>>("angles", Self::VT_ANGLES, false)?
29047 .visit_field::<f64>("increment_angle", Self::VT_INCREMENT_ANGLE, false)?
29048 .visit_field::<bool>("track_from_last_point", Self::VT_TRACK_FROM_LAST_POINT, false)?
29049 .visit_field::<bool>("show_polar_coordinates", Self::VT_SHOW_POLAR_COORDINATES, false)?
29050 .finish();
29051 Ok(())
29052 }
29053}
29054pub struct PolarTrackingSettingsArgs<'a> {
29055 pub enabled: bool,
29056 pub angles: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, f64>>>,
29057 pub increment_angle: f64,
29058 pub track_from_last_point: bool,
29059 pub show_polar_coordinates: bool,
29060}
29061impl<'a> Default for PolarTrackingSettingsArgs<'a> {
29062 #[inline]
29063 fn default() -> Self {
29064 PolarTrackingSettingsArgs {
29065 enabled: false,
29066 angles: None,
29067 increment_angle: 0.0,
29068 track_from_last_point: false,
29069 show_polar_coordinates: false,
29070 }
29071 }
29072}
29073
29074pub struct PolarTrackingSettingsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
29075 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
29076 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
29077}
29078impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> PolarTrackingSettingsBuilder<'a, 'b, A> {
29079 #[inline]
29080 pub fn add_enabled(&mut self, enabled: bool) {
29081 self.fbb_.push_slot::<bool>(PolarTrackingSettings::VT_ENABLED, enabled, false);
29082 }
29083 #[inline]
29084 pub fn add_angles(&mut self, angles: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f64>>) {
29085 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(PolarTrackingSettings::VT_ANGLES, angles);
29086 }
29087 #[inline]
29088 pub fn add_increment_angle(&mut self, increment_angle: f64) {
29089 self.fbb_.push_slot::<f64>(PolarTrackingSettings::VT_INCREMENT_ANGLE, increment_angle, 0.0);
29090 }
29091 #[inline]
29092 pub fn add_track_from_last_point(&mut self, track_from_last_point: bool) {
29093 self.fbb_.push_slot::<bool>(PolarTrackingSettings::VT_TRACK_FROM_LAST_POINT, track_from_last_point, false);
29094 }
29095 #[inline]
29096 pub fn add_show_polar_coordinates(&mut self, show_polar_coordinates: bool) {
29097 self.fbb_.push_slot::<bool>(PolarTrackingSettings::VT_SHOW_POLAR_COORDINATES, show_polar_coordinates, false);
29098 }
29099 #[inline]
29100 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> PolarTrackingSettingsBuilder<'a, 'b, A> {
29101 let start = _fbb.start_table();
29102 PolarTrackingSettingsBuilder {
29103 fbb_: _fbb,
29104 start_: start,
29105 }
29106 }
29107 #[inline]
29108 pub fn finish(self) -> flatbuffers::WIPOffset<PolarTrackingSettings<'a>> {
29109 let o = self.fbb_.end_table(self.start_);
29110 flatbuffers::WIPOffset::new(o.value())
29111 }
29112}
29113
29114impl core::fmt::Debug for PolarTrackingSettings<'_> {
29115 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
29116 let mut ds = f.debug_struct("PolarTrackingSettings");
29117 ds.field("enabled", &self.enabled());
29118 ds.field("angles", &self.angles());
29119 ds.field("increment_angle", &self.increment_angle());
29120 ds.field("track_from_last_point", &self.track_from_last_point());
29121 ds.field("show_polar_coordinates", &self.show_polar_coordinates());
29122 ds.finish()
29123 }
29124}
29125pub enum TrackingLineStyleOffset {}
29126#[derive(Copy, Clone, PartialEq)]
29127
29128pub struct TrackingLineStyle<'a> {
29129 pub _tab: flatbuffers::Table<'a>,
29130}
29131
29132impl<'a> flatbuffers::Follow<'a> for TrackingLineStyle<'a> {
29133 type Inner = TrackingLineStyle<'a>;
29134 #[inline]
29135 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
29136 Self { _tab: flatbuffers::Table::new(buf, loc) }
29137 }
29138}
29139
29140impl<'a> TrackingLineStyle<'a> {
29141 pub const VT_COLOR: flatbuffers::VOffsetT = 4;
29142 pub const VT_OPACITY: flatbuffers::VOffsetT = 6;
29143 pub const VT_DASH_PATTERN: flatbuffers::VOffsetT = 8;
29144
29145 #[inline]
29146 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
29147 TrackingLineStyle { _tab: table }
29148 }
29149 #[allow(unused_mut)]
29150 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
29151 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
29152 args: &'args TrackingLineStyleArgs<'args>
29153 ) -> flatbuffers::WIPOffset<TrackingLineStyle<'bldr>> {
29154 let mut builder = TrackingLineStyleBuilder::new(_fbb);
29155 builder.add_opacity(args.opacity);
29156 if let Some(x) = args.dash_pattern { builder.add_dash_pattern(x); }
29157 if let Some(x) = args.color { builder.add_color(x); }
29158 builder.finish()
29159 }
29160
29161
29162 #[inline]
29163 pub fn color(&self) -> Option<&'a str> {
29164 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(TrackingLineStyle::VT_COLOR, None)}
29168 }
29169 #[inline]
29170 pub fn opacity(&self) -> f64 {
29171 unsafe { self._tab.get::<f64>(TrackingLineStyle::VT_OPACITY, Some(0.0)).unwrap()}
29175 }
29176 #[inline]
29177 pub fn dash_pattern(&self) -> Option<flatbuffers::Vector<'a, f64>> {
29178 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, f64>>>(TrackingLineStyle::VT_DASH_PATTERN, None)}
29182 }
29183}
29184
29185impl flatbuffers::Verifiable for TrackingLineStyle<'_> {
29186 #[inline]
29187 fn run_verifier(
29188 v: &mut flatbuffers::Verifier, pos: usize
29189 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
29190 use self::flatbuffers::Verifiable;
29191 v.visit_table(pos)?
29192 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("color", Self::VT_COLOR, false)?
29193 .visit_field::<f64>("opacity", Self::VT_OPACITY, false)?
29194 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, f64>>>("dash_pattern", Self::VT_DASH_PATTERN, false)?
29195 .finish();
29196 Ok(())
29197 }
29198}
29199pub struct TrackingLineStyleArgs<'a> {
29200 pub color: Option<flatbuffers::WIPOffset<&'a str>>,
29201 pub opacity: f64,
29202 pub dash_pattern: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, f64>>>,
29203}
29204impl<'a> Default for TrackingLineStyleArgs<'a> {
29205 #[inline]
29206 fn default() -> Self {
29207 TrackingLineStyleArgs {
29208 color: None,
29209 opacity: 0.0,
29210 dash_pattern: None,
29211 }
29212 }
29213}
29214
29215pub struct TrackingLineStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
29216 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
29217 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
29218}
29219impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> TrackingLineStyleBuilder<'a, 'b, A> {
29220 #[inline]
29221 pub fn add_color(&mut self, color: flatbuffers::WIPOffset<&'b str>) {
29222 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(TrackingLineStyle::VT_COLOR, color);
29223 }
29224 #[inline]
29225 pub fn add_opacity(&mut self, opacity: f64) {
29226 self.fbb_.push_slot::<f64>(TrackingLineStyle::VT_OPACITY, opacity, 0.0);
29227 }
29228 #[inline]
29229 pub fn add_dash_pattern(&mut self, dash_pattern: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f64>>) {
29230 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(TrackingLineStyle::VT_DASH_PATTERN, dash_pattern);
29231 }
29232 #[inline]
29233 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> TrackingLineStyleBuilder<'a, 'b, A> {
29234 let start = _fbb.start_table();
29235 TrackingLineStyleBuilder {
29236 fbb_: _fbb,
29237 start_: start,
29238 }
29239 }
29240 #[inline]
29241 pub fn finish(self) -> flatbuffers::WIPOffset<TrackingLineStyle<'a>> {
29242 let o = self.fbb_.end_table(self.start_);
29243 flatbuffers::WIPOffset::new(o.value())
29244 }
29245}
29246
29247impl core::fmt::Debug for TrackingLineStyle<'_> {
29248 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
29249 let mut ds = f.debug_struct("TrackingLineStyle");
29250 ds.field("color", &self.color());
29251 ds.field("opacity", &self.opacity());
29252 ds.field("dash_pattern", &self.dash_pattern());
29253 ds.finish()
29254 }
29255}
29256pub enum LayerSnapFiltersOffset {}
29257#[derive(Copy, Clone, PartialEq)]
29258
29259pub struct LayerSnapFilters<'a> {
29260 pub _tab: flatbuffers::Table<'a>,
29261}
29262
29263impl<'a> flatbuffers::Follow<'a> for LayerSnapFilters<'a> {
29264 type Inner = LayerSnapFilters<'a>;
29265 #[inline]
29266 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
29267 Self { _tab: flatbuffers::Table::new(buf, loc) }
29268 }
29269}
29270
29271impl<'a> LayerSnapFilters<'a> {
29272 pub const VT_INCLUDE_LAYERS: flatbuffers::VOffsetT = 4;
29273 pub const VT_EXCLUDE_LAYERS: flatbuffers::VOffsetT = 6;
29274
29275 #[inline]
29276 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
29277 LayerSnapFilters { _tab: table }
29278 }
29279 #[allow(unused_mut)]
29280 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
29281 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
29282 args: &'args LayerSnapFiltersArgs<'args>
29283 ) -> flatbuffers::WIPOffset<LayerSnapFilters<'bldr>> {
29284 let mut builder = LayerSnapFiltersBuilder::new(_fbb);
29285 if let Some(x) = args.exclude_layers { builder.add_exclude_layers(x); }
29286 if let Some(x) = args.include_layers { builder.add_include_layers(x); }
29287 builder.finish()
29288 }
29289
29290
29291 #[inline]
29292 pub fn include_layers(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
29293 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(LayerSnapFilters::VT_INCLUDE_LAYERS, None)}
29297 }
29298 #[inline]
29299 pub fn exclude_layers(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
29300 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(LayerSnapFilters::VT_EXCLUDE_LAYERS, None)}
29304 }
29305}
29306
29307impl flatbuffers::Verifiable for LayerSnapFilters<'_> {
29308 #[inline]
29309 fn run_verifier(
29310 v: &mut flatbuffers::Verifier, pos: usize
29311 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
29312 use self::flatbuffers::Verifiable;
29313 v.visit_table(pos)?
29314 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("include_layers", Self::VT_INCLUDE_LAYERS, false)?
29315 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("exclude_layers", Self::VT_EXCLUDE_LAYERS, false)?
29316 .finish();
29317 Ok(())
29318 }
29319}
29320pub struct LayerSnapFiltersArgs<'a> {
29321 pub include_layers: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
29322 pub exclude_layers: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
29323}
29324impl<'a> Default for LayerSnapFiltersArgs<'a> {
29325 #[inline]
29326 fn default() -> Self {
29327 LayerSnapFiltersArgs {
29328 include_layers: None,
29329 exclude_layers: None,
29330 }
29331 }
29332}
29333
29334pub struct LayerSnapFiltersBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
29335 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
29336 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
29337}
29338impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> LayerSnapFiltersBuilder<'a, 'b, A> {
29339 #[inline]
29340 pub fn add_include_layers(&mut self, include_layers: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
29341 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LayerSnapFilters::VT_INCLUDE_LAYERS, include_layers);
29342 }
29343 #[inline]
29344 pub fn add_exclude_layers(&mut self, exclude_layers: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
29345 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LayerSnapFilters::VT_EXCLUDE_LAYERS, exclude_layers);
29346 }
29347 #[inline]
29348 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> LayerSnapFiltersBuilder<'a, 'b, A> {
29349 let start = _fbb.start_table();
29350 LayerSnapFiltersBuilder {
29351 fbb_: _fbb,
29352 start_: start,
29353 }
29354 }
29355 #[inline]
29356 pub fn finish(self) -> flatbuffers::WIPOffset<LayerSnapFilters<'a>> {
29357 let o = self.fbb_.end_table(self.start_);
29358 flatbuffers::WIPOffset::new(o.value())
29359 }
29360}
29361
29362impl core::fmt::Debug for LayerSnapFilters<'_> {
29363 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
29364 let mut ds = f.debug_struct("LayerSnapFilters");
29365 ds.field("include_layers", &self.include_layers());
29366 ds.field("exclude_layers", &self.exclude_layers());
29367 ds.finish()
29368 }
29369}
29370pub enum SnapMarkerStyleOffset {}
29371#[derive(Copy, Clone, PartialEq)]
29372
29373pub struct SnapMarkerStyle<'a> {
29374 pub _tab: flatbuffers::Table<'a>,
29375}
29376
29377impl<'a> flatbuffers::Follow<'a> for SnapMarkerStyle<'a> {
29378 type Inner = SnapMarkerStyle<'a>;
29379 #[inline]
29380 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
29381 Self { _tab: flatbuffers::Table::new(buf, loc) }
29382 }
29383}
29384
29385impl<'a> SnapMarkerStyle<'a> {
29386 pub const VT_SHAPE: flatbuffers::VOffsetT = 4;
29387 pub const VT_COLOR: flatbuffers::VOffsetT = 6;
29388
29389 #[inline]
29390 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
29391 SnapMarkerStyle { _tab: table }
29392 }
29393 #[allow(unused_mut)]
29394 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
29395 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
29396 args: &'args SnapMarkerStyleArgs<'args>
29397 ) -> flatbuffers::WIPOffset<SnapMarkerStyle<'bldr>> {
29398 let mut builder = SnapMarkerStyleBuilder::new(_fbb);
29399 if let Some(x) = args.color { builder.add_color(x); }
29400 if let Some(x) = args.shape { builder.add_shape(x); }
29401 builder.finish()
29402 }
29403
29404
29405 #[inline]
29406 pub fn shape(&self) -> Option<SNAP_MARKER_SHAPE> {
29407 unsafe { self._tab.get::<SNAP_MARKER_SHAPE>(SnapMarkerStyle::VT_SHAPE, None)}
29411 }
29412 #[inline]
29413 pub fn color(&self) -> Option<&'a str> {
29414 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(SnapMarkerStyle::VT_COLOR, None)}
29418 }
29419}
29420
29421impl flatbuffers::Verifiable for SnapMarkerStyle<'_> {
29422 #[inline]
29423 fn run_verifier(
29424 v: &mut flatbuffers::Verifier, pos: usize
29425 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
29426 use self::flatbuffers::Verifiable;
29427 v.visit_table(pos)?
29428 .visit_field::<SNAP_MARKER_SHAPE>("shape", Self::VT_SHAPE, false)?
29429 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("color", Self::VT_COLOR, false)?
29430 .finish();
29431 Ok(())
29432 }
29433}
29434pub struct SnapMarkerStyleArgs<'a> {
29435 pub shape: Option<SNAP_MARKER_SHAPE>,
29436 pub color: Option<flatbuffers::WIPOffset<&'a str>>,
29437}
29438impl<'a> Default for SnapMarkerStyleArgs<'a> {
29439 #[inline]
29440 fn default() -> Self {
29441 SnapMarkerStyleArgs {
29442 shape: None,
29443 color: None,
29444 }
29445 }
29446}
29447
29448pub struct SnapMarkerStyleBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
29449 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
29450 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
29451}
29452impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> SnapMarkerStyleBuilder<'a, 'b, A> {
29453 #[inline]
29454 pub fn add_shape(&mut self, shape: SNAP_MARKER_SHAPE) {
29455 self.fbb_.push_slot_always::<SNAP_MARKER_SHAPE>(SnapMarkerStyle::VT_SHAPE, shape);
29456 }
29457 #[inline]
29458 pub fn add_color(&mut self, color: flatbuffers::WIPOffset<&'b str>) {
29459 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SnapMarkerStyle::VT_COLOR, color);
29460 }
29461 #[inline]
29462 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> SnapMarkerStyleBuilder<'a, 'b, A> {
29463 let start = _fbb.start_table();
29464 SnapMarkerStyleBuilder {
29465 fbb_: _fbb,
29466 start_: start,
29467 }
29468 }
29469 #[inline]
29470 pub fn finish(self) -> flatbuffers::WIPOffset<SnapMarkerStyle<'a>> {
29471 let o = self.fbb_.end_table(self.start_);
29472 flatbuffers::WIPOffset::new(o.value())
29473 }
29474}
29475
29476impl core::fmt::Debug for SnapMarkerStyle<'_> {
29477 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
29478 let mut ds = f.debug_struct("SnapMarkerStyle");
29479 ds.field("shape", &self.shape());
29480 ds.field("color", &self.color());
29481 ds.finish()
29482 }
29483}
29484pub enum SnapMarkerStyleEntryOffset {}
29485#[derive(Copy, Clone, PartialEq)]
29486
29487pub struct SnapMarkerStyleEntry<'a> {
29488 pub _tab: flatbuffers::Table<'a>,
29489}
29490
29491impl<'a> flatbuffers::Follow<'a> for SnapMarkerStyleEntry<'a> {
29492 type Inner = SnapMarkerStyleEntry<'a>;
29493 #[inline]
29494 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
29495 Self { _tab: flatbuffers::Table::new(buf, loc) }
29496 }
29497}
29498
29499impl<'a> SnapMarkerStyleEntry<'a> {
29500 pub const VT_KEY: flatbuffers::VOffsetT = 4;
29501 pub const VT_VALUE: flatbuffers::VOffsetT = 6;
29502
29503 #[inline]
29504 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
29505 SnapMarkerStyleEntry { _tab: table }
29506 }
29507 #[allow(unused_mut)]
29508 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
29509 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
29510 args: &'args SnapMarkerStyleEntryArgs<'args>
29511 ) -> flatbuffers::WIPOffset<SnapMarkerStyleEntry<'bldr>> {
29512 let mut builder = SnapMarkerStyleEntryBuilder::new(_fbb);
29513 if let Some(x) = args.value { builder.add_value(x); }
29514 if let Some(x) = args.key { builder.add_key(x); }
29515 builder.finish()
29516 }
29517
29518
29519 #[inline]
29520 pub fn key(&self) -> Option<OBJECT_SNAP_MODE> {
29521 unsafe { self._tab.get::<OBJECT_SNAP_MODE>(SnapMarkerStyleEntry::VT_KEY, None)}
29525 }
29526 #[inline]
29527 pub fn value(&self) -> Option<SnapMarkerStyle<'a>> {
29528 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<SnapMarkerStyle>>(SnapMarkerStyleEntry::VT_VALUE, None)}
29532 }
29533}
29534
29535impl flatbuffers::Verifiable for SnapMarkerStyleEntry<'_> {
29536 #[inline]
29537 fn run_verifier(
29538 v: &mut flatbuffers::Verifier, pos: usize
29539 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
29540 use self::flatbuffers::Verifiable;
29541 v.visit_table(pos)?
29542 .visit_field::<OBJECT_SNAP_MODE>("key", Self::VT_KEY, false)?
29543 .visit_field::<flatbuffers::ForwardsUOffset<SnapMarkerStyle>>("value", Self::VT_VALUE, false)?
29544 .finish();
29545 Ok(())
29546 }
29547}
29548pub struct SnapMarkerStyleEntryArgs<'a> {
29549 pub key: Option<OBJECT_SNAP_MODE>,
29550 pub value: Option<flatbuffers::WIPOffset<SnapMarkerStyle<'a>>>,
29551}
29552impl<'a> Default for SnapMarkerStyleEntryArgs<'a> {
29553 #[inline]
29554 fn default() -> Self {
29555 SnapMarkerStyleEntryArgs {
29556 key: None,
29557 value: None,
29558 }
29559 }
29560}
29561
29562pub struct SnapMarkerStyleEntryBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
29563 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
29564 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
29565}
29566impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> SnapMarkerStyleEntryBuilder<'a, 'b, A> {
29567 #[inline]
29568 pub fn add_key(&mut self, key: OBJECT_SNAP_MODE) {
29569 self.fbb_.push_slot_always::<OBJECT_SNAP_MODE>(SnapMarkerStyleEntry::VT_KEY, key);
29570 }
29571 #[inline]
29572 pub fn add_value(&mut self, value: flatbuffers::WIPOffset<SnapMarkerStyle<'b >>) {
29573 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<SnapMarkerStyle>>(SnapMarkerStyleEntry::VT_VALUE, value);
29574 }
29575 #[inline]
29576 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> SnapMarkerStyleEntryBuilder<'a, 'b, A> {
29577 let start = _fbb.start_table();
29578 SnapMarkerStyleEntryBuilder {
29579 fbb_: _fbb,
29580 start_: start,
29581 }
29582 }
29583 #[inline]
29584 pub fn finish(self) -> flatbuffers::WIPOffset<SnapMarkerStyleEntry<'a>> {
29585 let o = self.fbb_.end_table(self.start_);
29586 flatbuffers::WIPOffset::new(o.value())
29587 }
29588}
29589
29590impl core::fmt::Debug for SnapMarkerStyleEntry<'_> {
29591 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
29592 let mut ds = f.debug_struct("SnapMarkerStyleEntry");
29593 ds.field("key", &self.key());
29594 ds.field("value", &self.value());
29595 ds.finish()
29596 }
29597}
29598pub enum SnapMarkerSettingsOffset {}
29599#[derive(Copy, Clone, PartialEq)]
29600
29601pub struct SnapMarkerSettings<'a> {
29602 pub _tab: flatbuffers::Table<'a>,
29603}
29604
29605impl<'a> flatbuffers::Follow<'a> for SnapMarkerSettings<'a> {
29606 type Inner = SnapMarkerSettings<'a>;
29607 #[inline]
29608 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
29609 Self { _tab: flatbuffers::Table::new(buf, loc) }
29610 }
29611}
29612
29613impl<'a> SnapMarkerSettings<'a> {
29614 pub const VT_ENABLED: flatbuffers::VOffsetT = 4;
29615 pub const VT_SIZE: flatbuffers::VOffsetT = 6;
29616 pub const VT_DURATION: flatbuffers::VOffsetT = 8;
29617 pub const VT_STYLES: flatbuffers::VOffsetT = 10;
29618
29619 #[inline]
29620 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
29621 SnapMarkerSettings { _tab: table }
29622 }
29623 #[allow(unused_mut)]
29624 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
29625 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
29626 args: &'args SnapMarkerSettingsArgs<'args>
29627 ) -> flatbuffers::WIPOffset<SnapMarkerSettings<'bldr>> {
29628 let mut builder = SnapMarkerSettingsBuilder::new(_fbb);
29629 if let Some(x) = args.styles { builder.add_styles(x); }
29630 builder.add_duration(args.duration);
29631 builder.add_size(args.size);
29632 builder.add_enabled(args.enabled);
29633 builder.finish()
29634 }
29635
29636
29637 #[inline]
29638 pub fn enabled(&self) -> bool {
29639 unsafe { self._tab.get::<bool>(SnapMarkerSettings::VT_ENABLED, Some(false)).unwrap()}
29643 }
29644 #[inline]
29645 pub fn size(&self) -> i32 {
29646 unsafe { self._tab.get::<i32>(SnapMarkerSettings::VT_SIZE, Some(0)).unwrap()}
29650 }
29651 #[inline]
29652 pub fn duration(&self) -> i32 {
29653 unsafe { self._tab.get::<i32>(SnapMarkerSettings::VT_DURATION, Some(0)).unwrap()}
29657 }
29658 #[inline]
29659 pub fn styles(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<SnapMarkerStyleEntry<'a>>>> {
29660 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<SnapMarkerStyleEntry>>>>(SnapMarkerSettings::VT_STYLES, None)}
29664 }
29665}
29666
29667impl flatbuffers::Verifiable for SnapMarkerSettings<'_> {
29668 #[inline]
29669 fn run_verifier(
29670 v: &mut flatbuffers::Verifier, pos: usize
29671 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
29672 use self::flatbuffers::Verifiable;
29673 v.visit_table(pos)?
29674 .visit_field::<bool>("enabled", Self::VT_ENABLED, false)?
29675 .visit_field::<i32>("size", Self::VT_SIZE, false)?
29676 .visit_field::<i32>("duration", Self::VT_DURATION, false)?
29677 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<SnapMarkerStyleEntry>>>>("styles", Self::VT_STYLES, false)?
29678 .finish();
29679 Ok(())
29680 }
29681}
29682pub struct SnapMarkerSettingsArgs<'a> {
29683 pub enabled: bool,
29684 pub size: i32,
29685 pub duration: i32,
29686 pub styles: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<SnapMarkerStyleEntry<'a>>>>>,
29687}
29688impl<'a> Default for SnapMarkerSettingsArgs<'a> {
29689 #[inline]
29690 fn default() -> Self {
29691 SnapMarkerSettingsArgs {
29692 enabled: false,
29693 size: 0,
29694 duration: 0,
29695 styles: None,
29696 }
29697 }
29698}
29699
29700pub struct SnapMarkerSettingsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
29701 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
29702 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
29703}
29704impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> SnapMarkerSettingsBuilder<'a, 'b, A> {
29705 #[inline]
29706 pub fn add_enabled(&mut self, enabled: bool) {
29707 self.fbb_.push_slot::<bool>(SnapMarkerSettings::VT_ENABLED, enabled, false);
29708 }
29709 #[inline]
29710 pub fn add_size(&mut self, size: i32) {
29711 self.fbb_.push_slot::<i32>(SnapMarkerSettings::VT_SIZE, size, 0);
29712 }
29713 #[inline]
29714 pub fn add_duration(&mut self, duration: i32) {
29715 self.fbb_.push_slot::<i32>(SnapMarkerSettings::VT_DURATION, duration, 0);
29716 }
29717 #[inline]
29718 pub fn add_styles(&mut self, styles: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<SnapMarkerStyleEntry<'b >>>>) {
29719 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SnapMarkerSettings::VT_STYLES, styles);
29720 }
29721 #[inline]
29722 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> SnapMarkerSettingsBuilder<'a, 'b, A> {
29723 let start = _fbb.start_table();
29724 SnapMarkerSettingsBuilder {
29725 fbb_: _fbb,
29726 start_: start,
29727 }
29728 }
29729 #[inline]
29730 pub fn finish(self) -> flatbuffers::WIPOffset<SnapMarkerSettings<'a>> {
29731 let o = self.fbb_.end_table(self.start_);
29732 flatbuffers::WIPOffset::new(o.value())
29733 }
29734}
29735
29736impl core::fmt::Debug for SnapMarkerSettings<'_> {
29737 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
29738 let mut ds = f.debug_struct("SnapMarkerSettings");
29739 ds.field("enabled", &self.enabled());
29740 ds.field("size", &self.size());
29741 ds.field("duration", &self.duration());
29742 ds.field("styles", &self.styles());
29743 ds.finish()
29744 }
29745}
29746pub enum SnapSettingsOffset {}
29747#[derive(Copy, Clone, PartialEq)]
29748
29749pub struct SnapSettings<'a> {
29750 pub _tab: flatbuffers::Table<'a>,
29751}
29752
29753impl<'a> flatbuffers::Follow<'a> for SnapSettings<'a> {
29754 type Inner = SnapSettings<'a>;
29755 #[inline]
29756 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
29757 Self { _tab: flatbuffers::Table::new(buf, loc) }
29758 }
29759}
29760
29761impl<'a> SnapSettings<'a> {
29762 pub const VT_READONLY: flatbuffers::VOffsetT = 4;
29763 pub const VT_TWIST_ANGLE: flatbuffers::VOffsetT = 6;
29764 pub const VT_SNAP_TOLERANCE: flatbuffers::VOffsetT = 8;
29765 pub const VT_OBJECT_SNAP_APERTURE: flatbuffers::VOffsetT = 10;
29766 pub const VT_IS_ORTHO_MODE_ON: flatbuffers::VOffsetT = 12;
29767 pub const VT_POLAR_TRACKING: flatbuffers::VOffsetT = 14;
29768 pub const VT_IS_OBJECT_SNAP_ON: flatbuffers::VOffsetT = 16;
29769 pub const VT_ACTIVE_OBJECT_SNAP_MODES: flatbuffers::VOffsetT = 18;
29770 pub const VT_SNAP_PRIORITY: flatbuffers::VOffsetT = 20;
29771 pub const VT_SHOW_TRACKING_LINES: flatbuffers::VOffsetT = 22;
29772 pub const VT_TRACKING_LINE_STYLE: flatbuffers::VOffsetT = 24;
29773 pub const VT_DYNAMIC_SNAP: flatbuffers::VOffsetT = 26;
29774 pub const VT_TEMPORARY_OVERRIDES: flatbuffers::VOffsetT = 28;
29775 pub const VT_INCREMENTAL_DISTANCE: flatbuffers::VOffsetT = 30;
29776 pub const VT_MAGNETIC_STRENGTH: flatbuffers::VOffsetT = 32;
29777 pub const VT_LAYER_SNAP_FILTERS: flatbuffers::VOffsetT = 34;
29778 pub const VT_ELEMENT_TYPE_FILTERS: flatbuffers::VOffsetT = 36;
29779 pub const VT_SNAP_MODE: flatbuffers::VOffsetT = 38;
29780 pub const VT_SNAP_MARKERS: flatbuffers::VOffsetT = 40;
29781 pub const VT_CONSTRUCTION_SNAP_ENABLED: flatbuffers::VOffsetT = 42;
29782 pub const VT_SNAP_TO_GRID_INTERSECTIONS: flatbuffers::VOffsetT = 44;
29783
29784 #[inline]
29785 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
29786 SnapSettings { _tab: table }
29787 }
29788 #[allow(unused_mut)]
29789 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
29790 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
29791 args: &'args SnapSettingsArgs<'args>
29792 ) -> flatbuffers::WIPOffset<SnapSettings<'bldr>> {
29793 let mut builder = SnapSettingsBuilder::new(_fbb);
29794 builder.add_magnetic_strength(args.magnetic_strength);
29795 builder.add_incremental_distance(args.incremental_distance);
29796 builder.add_twist_angle(args.twist_angle);
29797 if let Some(x) = args.snap_markers { builder.add_snap_markers(x); }
29798 if let Some(x) = args.element_type_filters { builder.add_element_type_filters(x); }
29799 if let Some(x) = args.layer_snap_filters { builder.add_layer_snap_filters(x); }
29800 if let Some(x) = args.temporary_overrides { builder.add_temporary_overrides(x); }
29801 if let Some(x) = args.dynamic_snap { builder.add_dynamic_snap(x); }
29802 if let Some(x) = args.tracking_line_style { builder.add_tracking_line_style(x); }
29803 if let Some(x) = args.snap_priority { builder.add_snap_priority(x); }
29804 if let Some(x) = args.active_object_snap_modes { builder.add_active_object_snap_modes(x); }
29805 if let Some(x) = args.polar_tracking { builder.add_polar_tracking(x); }
29806 builder.add_object_snap_aperture(args.object_snap_aperture);
29807 builder.add_snap_tolerance(args.snap_tolerance);
29808 builder.add_snap_to_grid_intersections(args.snap_to_grid_intersections);
29809 builder.add_construction_snap_enabled(args.construction_snap_enabled);
29810 if let Some(x) = args.snap_mode { builder.add_snap_mode(x); }
29811 builder.add_show_tracking_lines(args.show_tracking_lines);
29812 builder.add_is_object_snap_on(args.is_object_snap_on);
29813 builder.add_is_ortho_mode_on(args.is_ortho_mode_on);
29814 builder.add_readonly(args.readonly);
29815 builder.finish()
29816 }
29817
29818
29819 #[inline]
29820 pub fn readonly(&self) -> bool {
29821 unsafe { self._tab.get::<bool>(SnapSettings::VT_READONLY, Some(false)).unwrap()}
29825 }
29826 #[inline]
29827 pub fn twist_angle(&self) -> f64 {
29828 unsafe { self._tab.get::<f64>(SnapSettings::VT_TWIST_ANGLE, Some(0.0)).unwrap()}
29832 }
29833 #[inline]
29834 pub fn snap_tolerance(&self) -> i32 {
29835 unsafe { self._tab.get::<i32>(SnapSettings::VT_SNAP_TOLERANCE, Some(0)).unwrap()}
29839 }
29840 #[inline]
29841 pub fn object_snap_aperture(&self) -> i32 {
29842 unsafe { self._tab.get::<i32>(SnapSettings::VT_OBJECT_SNAP_APERTURE, Some(0)).unwrap()}
29846 }
29847 #[inline]
29848 pub fn is_ortho_mode_on(&self) -> bool {
29849 unsafe { self._tab.get::<bool>(SnapSettings::VT_IS_ORTHO_MODE_ON, Some(false)).unwrap()}
29853 }
29854 #[inline]
29855 pub fn polar_tracking(&self) -> Option<PolarTrackingSettings<'a>> {
29856 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<PolarTrackingSettings>>(SnapSettings::VT_POLAR_TRACKING, None)}
29860 }
29861 #[inline]
29862 pub fn is_object_snap_on(&self) -> bool {
29863 unsafe { self._tab.get::<bool>(SnapSettings::VT_IS_OBJECT_SNAP_ON, Some(false)).unwrap()}
29867 }
29868 #[inline]
29869 pub fn active_object_snap_modes(&self) -> Option<flatbuffers::Vector<'a, OBJECT_SNAP_MODE>> {
29870 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, OBJECT_SNAP_MODE>>>(SnapSettings::VT_ACTIVE_OBJECT_SNAP_MODES, None)}
29874 }
29875 #[inline]
29876 pub fn snap_priority(&self) -> Option<flatbuffers::Vector<'a, OBJECT_SNAP_MODE>> {
29877 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, OBJECT_SNAP_MODE>>>(SnapSettings::VT_SNAP_PRIORITY, None)}
29881 }
29882 #[inline]
29883 pub fn show_tracking_lines(&self) -> bool {
29884 unsafe { self._tab.get::<bool>(SnapSettings::VT_SHOW_TRACKING_LINES, Some(false)).unwrap()}
29888 }
29889 #[inline]
29890 pub fn tracking_line_style(&self) -> Option<TrackingLineStyle<'a>> {
29891 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<TrackingLineStyle>>(SnapSettings::VT_TRACKING_LINE_STYLE, None)}
29895 }
29896 #[inline]
29897 pub fn dynamic_snap(&self) -> Option<DynamicSnapSettings<'a>> {
29898 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DynamicSnapSettings>>(SnapSettings::VT_DYNAMIC_SNAP, None)}
29902 }
29903 #[inline]
29904 pub fn temporary_overrides(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<SnapOverride<'a>>>> {
29905 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<SnapOverride>>>>(SnapSettings::VT_TEMPORARY_OVERRIDES, None)}
29909 }
29910 #[inline]
29911 pub fn incremental_distance(&self) -> f64 {
29912 unsafe { self._tab.get::<f64>(SnapSettings::VT_INCREMENTAL_DISTANCE, Some(0.0)).unwrap()}
29916 }
29917 #[inline]
29918 pub fn magnetic_strength(&self) -> f64 {
29919 unsafe { self._tab.get::<f64>(SnapSettings::VT_MAGNETIC_STRENGTH, Some(0.0)).unwrap()}
29923 }
29924 #[inline]
29925 pub fn layer_snap_filters(&self) -> Option<LayerSnapFilters<'a>> {
29926 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<LayerSnapFilters>>(SnapSettings::VT_LAYER_SNAP_FILTERS, None)}
29930 }
29931 #[inline]
29932 pub fn element_type_filters(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
29933 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(SnapSettings::VT_ELEMENT_TYPE_FILTERS, None)}
29937 }
29938 #[inline]
29939 pub fn snap_mode(&self) -> Option<SNAP_MODE> {
29940 unsafe { self._tab.get::<SNAP_MODE>(SnapSettings::VT_SNAP_MODE, None)}
29944 }
29945 #[inline]
29946 pub fn snap_markers(&self) -> Option<SnapMarkerSettings<'a>> {
29947 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<SnapMarkerSettings>>(SnapSettings::VT_SNAP_MARKERS, None)}
29951 }
29952 #[inline]
29953 pub fn construction_snap_enabled(&self) -> bool {
29954 unsafe { self._tab.get::<bool>(SnapSettings::VT_CONSTRUCTION_SNAP_ENABLED, Some(false)).unwrap()}
29958 }
29959 #[inline]
29960 pub fn snap_to_grid_intersections(&self) -> bool {
29961 unsafe { self._tab.get::<bool>(SnapSettings::VT_SNAP_TO_GRID_INTERSECTIONS, Some(false)).unwrap()}
29965 }
29966}
29967
29968impl flatbuffers::Verifiable for SnapSettings<'_> {
29969 #[inline]
29970 fn run_verifier(
29971 v: &mut flatbuffers::Verifier, pos: usize
29972 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
29973 use self::flatbuffers::Verifiable;
29974 v.visit_table(pos)?
29975 .visit_field::<bool>("readonly", Self::VT_READONLY, false)?
29976 .visit_field::<f64>("twist_angle", Self::VT_TWIST_ANGLE, false)?
29977 .visit_field::<i32>("snap_tolerance", Self::VT_SNAP_TOLERANCE, false)?
29978 .visit_field::<i32>("object_snap_aperture", Self::VT_OBJECT_SNAP_APERTURE, false)?
29979 .visit_field::<bool>("is_ortho_mode_on", Self::VT_IS_ORTHO_MODE_ON, false)?
29980 .visit_field::<flatbuffers::ForwardsUOffset<PolarTrackingSettings>>("polar_tracking", Self::VT_POLAR_TRACKING, false)?
29981 .visit_field::<bool>("is_object_snap_on", Self::VT_IS_OBJECT_SNAP_ON, false)?
29982 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, OBJECT_SNAP_MODE>>>("active_object_snap_modes", Self::VT_ACTIVE_OBJECT_SNAP_MODES, false)?
29983 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, OBJECT_SNAP_MODE>>>("snap_priority", Self::VT_SNAP_PRIORITY, false)?
29984 .visit_field::<bool>("show_tracking_lines", Self::VT_SHOW_TRACKING_LINES, false)?
29985 .visit_field::<flatbuffers::ForwardsUOffset<TrackingLineStyle>>("tracking_line_style", Self::VT_TRACKING_LINE_STYLE, false)?
29986 .visit_field::<flatbuffers::ForwardsUOffset<DynamicSnapSettings>>("dynamic_snap", Self::VT_DYNAMIC_SNAP, false)?
29987 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<SnapOverride>>>>("temporary_overrides", Self::VT_TEMPORARY_OVERRIDES, false)?
29988 .visit_field::<f64>("incremental_distance", Self::VT_INCREMENTAL_DISTANCE, false)?
29989 .visit_field::<f64>("magnetic_strength", Self::VT_MAGNETIC_STRENGTH, false)?
29990 .visit_field::<flatbuffers::ForwardsUOffset<LayerSnapFilters>>("layer_snap_filters", Self::VT_LAYER_SNAP_FILTERS, false)?
29991 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("element_type_filters", Self::VT_ELEMENT_TYPE_FILTERS, false)?
29992 .visit_field::<SNAP_MODE>("snap_mode", Self::VT_SNAP_MODE, false)?
29993 .visit_field::<flatbuffers::ForwardsUOffset<SnapMarkerSettings>>("snap_markers", Self::VT_SNAP_MARKERS, false)?
29994 .visit_field::<bool>("construction_snap_enabled", Self::VT_CONSTRUCTION_SNAP_ENABLED, false)?
29995 .visit_field::<bool>("snap_to_grid_intersections", Self::VT_SNAP_TO_GRID_INTERSECTIONS, false)?
29996 .finish();
29997 Ok(())
29998 }
29999}
30000pub struct SnapSettingsArgs<'a> {
30001 pub readonly: bool,
30002 pub twist_angle: f64,
30003 pub snap_tolerance: i32,
30004 pub object_snap_aperture: i32,
30005 pub is_ortho_mode_on: bool,
30006 pub polar_tracking: Option<flatbuffers::WIPOffset<PolarTrackingSettings<'a>>>,
30007 pub is_object_snap_on: bool,
30008 pub active_object_snap_modes: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, OBJECT_SNAP_MODE>>>,
30009 pub snap_priority: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, OBJECT_SNAP_MODE>>>,
30010 pub show_tracking_lines: bool,
30011 pub tracking_line_style: Option<flatbuffers::WIPOffset<TrackingLineStyle<'a>>>,
30012 pub dynamic_snap: Option<flatbuffers::WIPOffset<DynamicSnapSettings<'a>>>,
30013 pub temporary_overrides: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<SnapOverride<'a>>>>>,
30014 pub incremental_distance: f64,
30015 pub magnetic_strength: f64,
30016 pub layer_snap_filters: Option<flatbuffers::WIPOffset<LayerSnapFilters<'a>>>,
30017 pub element_type_filters: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
30018 pub snap_mode: Option<SNAP_MODE>,
30019 pub snap_markers: Option<flatbuffers::WIPOffset<SnapMarkerSettings<'a>>>,
30020 pub construction_snap_enabled: bool,
30021 pub snap_to_grid_intersections: bool,
30022}
30023impl<'a> Default for SnapSettingsArgs<'a> {
30024 #[inline]
30025 fn default() -> Self {
30026 SnapSettingsArgs {
30027 readonly: false,
30028 twist_angle: 0.0,
30029 snap_tolerance: 0,
30030 object_snap_aperture: 0,
30031 is_ortho_mode_on: false,
30032 polar_tracking: None,
30033 is_object_snap_on: false,
30034 active_object_snap_modes: None,
30035 snap_priority: None,
30036 show_tracking_lines: false,
30037 tracking_line_style: None,
30038 dynamic_snap: None,
30039 temporary_overrides: None,
30040 incremental_distance: 0.0,
30041 magnetic_strength: 0.0,
30042 layer_snap_filters: None,
30043 element_type_filters: None,
30044 snap_mode: None,
30045 snap_markers: None,
30046 construction_snap_enabled: false,
30047 snap_to_grid_intersections: false,
30048 }
30049 }
30050}
30051
30052pub struct SnapSettingsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
30053 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
30054 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
30055}
30056impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> SnapSettingsBuilder<'a, 'b, A> {
30057 #[inline]
30058 pub fn add_readonly(&mut self, readonly: bool) {
30059 self.fbb_.push_slot::<bool>(SnapSettings::VT_READONLY, readonly, false);
30060 }
30061 #[inline]
30062 pub fn add_twist_angle(&mut self, twist_angle: f64) {
30063 self.fbb_.push_slot::<f64>(SnapSettings::VT_TWIST_ANGLE, twist_angle, 0.0);
30064 }
30065 #[inline]
30066 pub fn add_snap_tolerance(&mut self, snap_tolerance: i32) {
30067 self.fbb_.push_slot::<i32>(SnapSettings::VT_SNAP_TOLERANCE, snap_tolerance, 0);
30068 }
30069 #[inline]
30070 pub fn add_object_snap_aperture(&mut self, object_snap_aperture: i32) {
30071 self.fbb_.push_slot::<i32>(SnapSettings::VT_OBJECT_SNAP_APERTURE, object_snap_aperture, 0);
30072 }
30073 #[inline]
30074 pub fn add_is_ortho_mode_on(&mut self, is_ortho_mode_on: bool) {
30075 self.fbb_.push_slot::<bool>(SnapSettings::VT_IS_ORTHO_MODE_ON, is_ortho_mode_on, false);
30076 }
30077 #[inline]
30078 pub fn add_polar_tracking(&mut self, polar_tracking: flatbuffers::WIPOffset<PolarTrackingSettings<'b >>) {
30079 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<PolarTrackingSettings>>(SnapSettings::VT_POLAR_TRACKING, polar_tracking);
30080 }
30081 #[inline]
30082 pub fn add_is_object_snap_on(&mut self, is_object_snap_on: bool) {
30083 self.fbb_.push_slot::<bool>(SnapSettings::VT_IS_OBJECT_SNAP_ON, is_object_snap_on, false);
30084 }
30085 #[inline]
30086 pub fn add_active_object_snap_modes(&mut self, active_object_snap_modes: flatbuffers::WIPOffset<flatbuffers::Vector<'b , OBJECT_SNAP_MODE>>) {
30087 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SnapSettings::VT_ACTIVE_OBJECT_SNAP_MODES, active_object_snap_modes);
30088 }
30089 #[inline]
30090 pub fn add_snap_priority(&mut self, snap_priority: flatbuffers::WIPOffset<flatbuffers::Vector<'b , OBJECT_SNAP_MODE>>) {
30091 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SnapSettings::VT_SNAP_PRIORITY, snap_priority);
30092 }
30093 #[inline]
30094 pub fn add_show_tracking_lines(&mut self, show_tracking_lines: bool) {
30095 self.fbb_.push_slot::<bool>(SnapSettings::VT_SHOW_TRACKING_LINES, show_tracking_lines, false);
30096 }
30097 #[inline]
30098 pub fn add_tracking_line_style(&mut self, tracking_line_style: flatbuffers::WIPOffset<TrackingLineStyle<'b >>) {
30099 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<TrackingLineStyle>>(SnapSettings::VT_TRACKING_LINE_STYLE, tracking_line_style);
30100 }
30101 #[inline]
30102 pub fn add_dynamic_snap(&mut self, dynamic_snap: flatbuffers::WIPOffset<DynamicSnapSettings<'b >>) {
30103 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DynamicSnapSettings>>(SnapSettings::VT_DYNAMIC_SNAP, dynamic_snap);
30104 }
30105 #[inline]
30106 pub fn add_temporary_overrides(&mut self, temporary_overrides: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<SnapOverride<'b >>>>) {
30107 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SnapSettings::VT_TEMPORARY_OVERRIDES, temporary_overrides);
30108 }
30109 #[inline]
30110 pub fn add_incremental_distance(&mut self, incremental_distance: f64) {
30111 self.fbb_.push_slot::<f64>(SnapSettings::VT_INCREMENTAL_DISTANCE, incremental_distance, 0.0);
30112 }
30113 #[inline]
30114 pub fn add_magnetic_strength(&mut self, magnetic_strength: f64) {
30115 self.fbb_.push_slot::<f64>(SnapSettings::VT_MAGNETIC_STRENGTH, magnetic_strength, 0.0);
30116 }
30117 #[inline]
30118 pub fn add_layer_snap_filters(&mut self, layer_snap_filters: flatbuffers::WIPOffset<LayerSnapFilters<'b >>) {
30119 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<LayerSnapFilters>>(SnapSettings::VT_LAYER_SNAP_FILTERS, layer_snap_filters);
30120 }
30121 #[inline]
30122 pub fn add_element_type_filters(&mut self, element_type_filters: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
30123 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SnapSettings::VT_ELEMENT_TYPE_FILTERS, element_type_filters);
30124 }
30125 #[inline]
30126 pub fn add_snap_mode(&mut self, snap_mode: SNAP_MODE) {
30127 self.fbb_.push_slot_always::<SNAP_MODE>(SnapSettings::VT_SNAP_MODE, snap_mode);
30128 }
30129 #[inline]
30130 pub fn add_snap_markers(&mut self, snap_markers: flatbuffers::WIPOffset<SnapMarkerSettings<'b >>) {
30131 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<SnapMarkerSettings>>(SnapSettings::VT_SNAP_MARKERS, snap_markers);
30132 }
30133 #[inline]
30134 pub fn add_construction_snap_enabled(&mut self, construction_snap_enabled: bool) {
30135 self.fbb_.push_slot::<bool>(SnapSettings::VT_CONSTRUCTION_SNAP_ENABLED, construction_snap_enabled, false);
30136 }
30137 #[inline]
30138 pub fn add_snap_to_grid_intersections(&mut self, snap_to_grid_intersections: bool) {
30139 self.fbb_.push_slot::<bool>(SnapSettings::VT_SNAP_TO_GRID_INTERSECTIONS, snap_to_grid_intersections, false);
30140 }
30141 #[inline]
30142 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> SnapSettingsBuilder<'a, 'b, A> {
30143 let start = _fbb.start_table();
30144 SnapSettingsBuilder {
30145 fbb_: _fbb,
30146 start_: start,
30147 }
30148 }
30149 #[inline]
30150 pub fn finish(self) -> flatbuffers::WIPOffset<SnapSettings<'a>> {
30151 let o = self.fbb_.end_table(self.start_);
30152 flatbuffers::WIPOffset::new(o.value())
30153 }
30154}
30155
30156impl core::fmt::Debug for SnapSettings<'_> {
30157 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
30158 let mut ds = f.debug_struct("SnapSettings");
30159 ds.field("readonly", &self.readonly());
30160 ds.field("twist_angle", &self.twist_angle());
30161 ds.field("snap_tolerance", &self.snap_tolerance());
30162 ds.field("object_snap_aperture", &self.object_snap_aperture());
30163 ds.field("is_ortho_mode_on", &self.is_ortho_mode_on());
30164 ds.field("polar_tracking", &self.polar_tracking());
30165 ds.field("is_object_snap_on", &self.is_object_snap_on());
30166 ds.field("active_object_snap_modes", &self.active_object_snap_modes());
30167 ds.field("snap_priority", &self.snap_priority());
30168 ds.field("show_tracking_lines", &self.show_tracking_lines());
30169 ds.field("tracking_line_style", &self.tracking_line_style());
30170 ds.field("dynamic_snap", &self.dynamic_snap());
30171 ds.field("temporary_overrides", &self.temporary_overrides());
30172 ds.field("incremental_distance", &self.incremental_distance());
30173 ds.field("magnetic_strength", &self.magnetic_strength());
30174 ds.field("layer_snap_filters", &self.layer_snap_filters());
30175 ds.field("element_type_filters", &self.element_type_filters());
30176 ds.field("snap_mode", &self.snap_mode());
30177 ds.field("snap_markers", &self.snap_markers());
30178 ds.field("construction_snap_enabled", &self.construction_snap_enabled());
30179 ds.field("snap_to_grid_intersections", &self.snap_to_grid_intersections());
30180 ds.finish()
30181 }
30182}
30183pub enum IdentifiedGridSettingsOffset {}
30184#[derive(Copy, Clone, PartialEq)]
30185
30186pub struct IdentifiedGridSettings<'a> {
30187 pub _tab: flatbuffers::Table<'a>,
30188}
30189
30190impl<'a> flatbuffers::Follow<'a> for IdentifiedGridSettings<'a> {
30191 type Inner = IdentifiedGridSettings<'a>;
30192 #[inline]
30193 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
30194 Self { _tab: flatbuffers::Table::new(buf, loc) }
30195 }
30196}
30197
30198impl<'a> IdentifiedGridSettings<'a> {
30199 pub const VT_ID: flatbuffers::VOffsetT = 4;
30200 pub const VT_SETTINGS: flatbuffers::VOffsetT = 6;
30201
30202 #[inline]
30203 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
30204 IdentifiedGridSettings { _tab: table }
30205 }
30206 #[allow(unused_mut)]
30207 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
30208 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
30209 args: &'args IdentifiedGridSettingsArgs<'args>
30210 ) -> flatbuffers::WIPOffset<IdentifiedGridSettings<'bldr>> {
30211 let mut builder = IdentifiedGridSettingsBuilder::new(_fbb);
30212 if let Some(x) = args.settings { builder.add_settings(x); }
30213 if let Some(x) = args.id { builder.add_id(x); }
30214 builder.finish()
30215 }
30216
30217
30218 #[inline]
30219 pub fn id(&self) -> Option<Identifier<'a>> {
30220 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Identifier>>(IdentifiedGridSettings::VT_ID, None)}
30224 }
30225 #[inline]
30226 pub fn settings(&self) -> Option<GridSettings<'a>> {
30227 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<GridSettings>>(IdentifiedGridSettings::VT_SETTINGS, None)}
30231 }
30232}
30233
30234impl flatbuffers::Verifiable for IdentifiedGridSettings<'_> {
30235 #[inline]
30236 fn run_verifier(
30237 v: &mut flatbuffers::Verifier, pos: usize
30238 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
30239 use self::flatbuffers::Verifiable;
30240 v.visit_table(pos)?
30241 .visit_field::<flatbuffers::ForwardsUOffset<Identifier>>("id", Self::VT_ID, false)?
30242 .visit_field::<flatbuffers::ForwardsUOffset<GridSettings>>("settings", Self::VT_SETTINGS, false)?
30243 .finish();
30244 Ok(())
30245 }
30246}
30247pub struct IdentifiedGridSettingsArgs<'a> {
30248 pub id: Option<flatbuffers::WIPOffset<Identifier<'a>>>,
30249 pub settings: Option<flatbuffers::WIPOffset<GridSettings<'a>>>,
30250}
30251impl<'a> Default for IdentifiedGridSettingsArgs<'a> {
30252 #[inline]
30253 fn default() -> Self {
30254 IdentifiedGridSettingsArgs {
30255 id: None,
30256 settings: None,
30257 }
30258 }
30259}
30260
30261pub struct IdentifiedGridSettingsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
30262 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
30263 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
30264}
30265impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IdentifiedGridSettingsBuilder<'a, 'b, A> {
30266 #[inline]
30267 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<Identifier<'b >>) {
30268 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Identifier>>(IdentifiedGridSettings::VT_ID, id);
30269 }
30270 #[inline]
30271 pub fn add_settings(&mut self, settings: flatbuffers::WIPOffset<GridSettings<'b >>) {
30272 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<GridSettings>>(IdentifiedGridSettings::VT_SETTINGS, settings);
30273 }
30274 #[inline]
30275 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IdentifiedGridSettingsBuilder<'a, 'b, A> {
30276 let start = _fbb.start_table();
30277 IdentifiedGridSettingsBuilder {
30278 fbb_: _fbb,
30279 start_: start,
30280 }
30281 }
30282 #[inline]
30283 pub fn finish(self) -> flatbuffers::WIPOffset<IdentifiedGridSettings<'a>> {
30284 let o = self.fbb_.end_table(self.start_);
30285 flatbuffers::WIPOffset::new(o.value())
30286 }
30287}
30288
30289impl core::fmt::Debug for IdentifiedGridSettings<'_> {
30290 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
30291 let mut ds = f.debug_struct("IdentifiedGridSettings");
30292 ds.field("id", &self.id());
30293 ds.field("settings", &self.settings());
30294 ds.finish()
30295 }
30296}
30297pub enum IdentifiedSnapSettingsOffset {}
30298#[derive(Copy, Clone, PartialEq)]
30299
30300pub struct IdentifiedSnapSettings<'a> {
30301 pub _tab: flatbuffers::Table<'a>,
30302}
30303
30304impl<'a> flatbuffers::Follow<'a> for IdentifiedSnapSettings<'a> {
30305 type Inner = IdentifiedSnapSettings<'a>;
30306 #[inline]
30307 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
30308 Self { _tab: flatbuffers::Table::new(buf, loc) }
30309 }
30310}
30311
30312impl<'a> IdentifiedSnapSettings<'a> {
30313 pub const VT_ID: flatbuffers::VOffsetT = 4;
30314 pub const VT_SETTINGS: flatbuffers::VOffsetT = 6;
30315
30316 #[inline]
30317 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
30318 IdentifiedSnapSettings { _tab: table }
30319 }
30320 #[allow(unused_mut)]
30321 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
30322 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
30323 args: &'args IdentifiedSnapSettingsArgs<'args>
30324 ) -> flatbuffers::WIPOffset<IdentifiedSnapSettings<'bldr>> {
30325 let mut builder = IdentifiedSnapSettingsBuilder::new(_fbb);
30326 if let Some(x) = args.settings { builder.add_settings(x); }
30327 if let Some(x) = args.id { builder.add_id(x); }
30328 builder.finish()
30329 }
30330
30331
30332 #[inline]
30333 pub fn id(&self) -> Option<Identifier<'a>> {
30334 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Identifier>>(IdentifiedSnapSettings::VT_ID, None)}
30338 }
30339 #[inline]
30340 pub fn settings(&self) -> Option<SnapSettings<'a>> {
30341 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<SnapSettings>>(IdentifiedSnapSettings::VT_SETTINGS, None)}
30345 }
30346}
30347
30348impl flatbuffers::Verifiable for IdentifiedSnapSettings<'_> {
30349 #[inline]
30350 fn run_verifier(
30351 v: &mut flatbuffers::Verifier, pos: usize
30352 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
30353 use self::flatbuffers::Verifiable;
30354 v.visit_table(pos)?
30355 .visit_field::<flatbuffers::ForwardsUOffset<Identifier>>("id", Self::VT_ID, false)?
30356 .visit_field::<flatbuffers::ForwardsUOffset<SnapSettings>>("settings", Self::VT_SETTINGS, false)?
30357 .finish();
30358 Ok(())
30359 }
30360}
30361pub struct IdentifiedSnapSettingsArgs<'a> {
30362 pub id: Option<flatbuffers::WIPOffset<Identifier<'a>>>,
30363 pub settings: Option<flatbuffers::WIPOffset<SnapSettings<'a>>>,
30364}
30365impl<'a> Default for IdentifiedSnapSettingsArgs<'a> {
30366 #[inline]
30367 fn default() -> Self {
30368 IdentifiedSnapSettingsArgs {
30369 id: None,
30370 settings: None,
30371 }
30372 }
30373}
30374
30375pub struct IdentifiedSnapSettingsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
30376 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
30377 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
30378}
30379impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IdentifiedSnapSettingsBuilder<'a, 'b, A> {
30380 #[inline]
30381 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<Identifier<'b >>) {
30382 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Identifier>>(IdentifiedSnapSettings::VT_ID, id);
30383 }
30384 #[inline]
30385 pub fn add_settings(&mut self, settings: flatbuffers::WIPOffset<SnapSettings<'b >>) {
30386 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<SnapSettings>>(IdentifiedSnapSettings::VT_SETTINGS, settings);
30387 }
30388 #[inline]
30389 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IdentifiedSnapSettingsBuilder<'a, 'b, A> {
30390 let start = _fbb.start_table();
30391 IdentifiedSnapSettingsBuilder {
30392 fbb_: _fbb,
30393 start_: start,
30394 }
30395 }
30396 #[inline]
30397 pub fn finish(self) -> flatbuffers::WIPOffset<IdentifiedSnapSettings<'a>> {
30398 let o = self.fbb_.end_table(self.start_);
30399 flatbuffers::WIPOffset::new(o.value())
30400 }
30401}
30402
30403impl core::fmt::Debug for IdentifiedSnapSettings<'_> {
30404 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
30405 let mut ds = f.debug_struct("IdentifiedSnapSettings");
30406 ds.field("id", &self.id());
30407 ds.field("settings", &self.settings());
30408 ds.finish()
30409 }
30410}
30411pub enum IdentifiedUcsOffset {}
30412#[derive(Copy, Clone, PartialEq)]
30413
30414pub struct IdentifiedUcs<'a> {
30415 pub _tab: flatbuffers::Table<'a>,
30416}
30417
30418impl<'a> flatbuffers::Follow<'a> for IdentifiedUcs<'a> {
30419 type Inner = IdentifiedUcs<'a>;
30420 #[inline]
30421 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
30422 Self { _tab: flatbuffers::Table::new(buf, loc) }
30423 }
30424}
30425
30426impl<'a> IdentifiedUcs<'a> {
30427 pub const VT_ID: flatbuffers::VOffsetT = 4;
30428 pub const VT_UCS: flatbuffers::VOffsetT = 6;
30429
30430 #[inline]
30431 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
30432 IdentifiedUcs { _tab: table }
30433 }
30434 #[allow(unused_mut)]
30435 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
30436 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
30437 args: &'args IdentifiedUcsArgs<'args>
30438 ) -> flatbuffers::WIPOffset<IdentifiedUcs<'bldr>> {
30439 let mut builder = IdentifiedUcsBuilder::new(_fbb);
30440 if let Some(x) = args.ucs { builder.add_ucs(x); }
30441 if let Some(x) = args.id { builder.add_id(x); }
30442 builder.finish()
30443 }
30444
30445
30446 #[inline]
30447 pub fn id(&self) -> Option<Identifier<'a>> {
30448 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Identifier>>(IdentifiedUcs::VT_ID, None)}
30452 }
30453 #[inline]
30454 pub fn ucs(&self) -> Option<DucUcs<'a>> {
30455 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucUcs>>(IdentifiedUcs::VT_UCS, None)}
30459 }
30460}
30461
30462impl flatbuffers::Verifiable for IdentifiedUcs<'_> {
30463 #[inline]
30464 fn run_verifier(
30465 v: &mut flatbuffers::Verifier, pos: usize
30466 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
30467 use self::flatbuffers::Verifiable;
30468 v.visit_table(pos)?
30469 .visit_field::<flatbuffers::ForwardsUOffset<Identifier>>("id", Self::VT_ID, false)?
30470 .visit_field::<flatbuffers::ForwardsUOffset<DucUcs>>("ucs", Self::VT_UCS, false)?
30471 .finish();
30472 Ok(())
30473 }
30474}
30475pub struct IdentifiedUcsArgs<'a> {
30476 pub id: Option<flatbuffers::WIPOffset<Identifier<'a>>>,
30477 pub ucs: Option<flatbuffers::WIPOffset<DucUcs<'a>>>,
30478}
30479impl<'a> Default for IdentifiedUcsArgs<'a> {
30480 #[inline]
30481 fn default() -> Self {
30482 IdentifiedUcsArgs {
30483 id: None,
30484 ucs: None,
30485 }
30486 }
30487}
30488
30489pub struct IdentifiedUcsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
30490 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
30491 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
30492}
30493impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IdentifiedUcsBuilder<'a, 'b, A> {
30494 #[inline]
30495 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<Identifier<'b >>) {
30496 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Identifier>>(IdentifiedUcs::VT_ID, id);
30497 }
30498 #[inline]
30499 pub fn add_ucs(&mut self, ucs: flatbuffers::WIPOffset<DucUcs<'b >>) {
30500 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucUcs>>(IdentifiedUcs::VT_UCS, ucs);
30501 }
30502 #[inline]
30503 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IdentifiedUcsBuilder<'a, 'b, A> {
30504 let start = _fbb.start_table();
30505 IdentifiedUcsBuilder {
30506 fbb_: _fbb,
30507 start_: start,
30508 }
30509 }
30510 #[inline]
30511 pub fn finish(self) -> flatbuffers::WIPOffset<IdentifiedUcs<'a>> {
30512 let o = self.fbb_.end_table(self.start_);
30513 flatbuffers::WIPOffset::new(o.value())
30514 }
30515}
30516
30517impl core::fmt::Debug for IdentifiedUcs<'_> {
30518 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
30519 let mut ds = f.debug_struct("IdentifiedUcs");
30520 ds.field("id", &self.id());
30521 ds.field("ucs", &self.ucs());
30522 ds.finish()
30523 }
30524}
30525pub enum IdentifiedViewOffset {}
30526#[derive(Copy, Clone, PartialEq)]
30527
30528pub struct IdentifiedView<'a> {
30529 pub _tab: flatbuffers::Table<'a>,
30530}
30531
30532impl<'a> flatbuffers::Follow<'a> for IdentifiedView<'a> {
30533 type Inner = IdentifiedView<'a>;
30534 #[inline]
30535 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
30536 Self { _tab: flatbuffers::Table::new(buf, loc) }
30537 }
30538}
30539
30540impl<'a> IdentifiedView<'a> {
30541 pub const VT_ID: flatbuffers::VOffsetT = 4;
30542 pub const VT_VIEW: flatbuffers::VOffsetT = 6;
30543
30544 #[inline]
30545 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
30546 IdentifiedView { _tab: table }
30547 }
30548 #[allow(unused_mut)]
30549 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
30550 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
30551 args: &'args IdentifiedViewArgs<'args>
30552 ) -> flatbuffers::WIPOffset<IdentifiedView<'bldr>> {
30553 let mut builder = IdentifiedViewBuilder::new(_fbb);
30554 if let Some(x) = args.view { builder.add_view(x); }
30555 if let Some(x) = args.id { builder.add_id(x); }
30556 builder.finish()
30557 }
30558
30559
30560 #[inline]
30561 pub fn id(&self) -> Option<Identifier<'a>> {
30562 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Identifier>>(IdentifiedView::VT_ID, None)}
30566 }
30567 #[inline]
30568 pub fn view(&self) -> Option<DucView<'a>> {
30569 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucView>>(IdentifiedView::VT_VIEW, None)}
30573 }
30574}
30575
30576impl flatbuffers::Verifiable for IdentifiedView<'_> {
30577 #[inline]
30578 fn run_verifier(
30579 v: &mut flatbuffers::Verifier, pos: usize
30580 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
30581 use self::flatbuffers::Verifiable;
30582 v.visit_table(pos)?
30583 .visit_field::<flatbuffers::ForwardsUOffset<Identifier>>("id", Self::VT_ID, false)?
30584 .visit_field::<flatbuffers::ForwardsUOffset<DucView>>("view", Self::VT_VIEW, false)?
30585 .finish();
30586 Ok(())
30587 }
30588}
30589pub struct IdentifiedViewArgs<'a> {
30590 pub id: Option<flatbuffers::WIPOffset<Identifier<'a>>>,
30591 pub view: Option<flatbuffers::WIPOffset<DucView<'a>>>,
30592}
30593impl<'a> Default for IdentifiedViewArgs<'a> {
30594 #[inline]
30595 fn default() -> Self {
30596 IdentifiedViewArgs {
30597 id: None,
30598 view: None,
30599 }
30600 }
30601}
30602
30603pub struct IdentifiedViewBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
30604 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
30605 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
30606}
30607impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> IdentifiedViewBuilder<'a, 'b, A> {
30608 #[inline]
30609 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<Identifier<'b >>) {
30610 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Identifier>>(IdentifiedView::VT_ID, id);
30611 }
30612 #[inline]
30613 pub fn add_view(&mut self, view: flatbuffers::WIPOffset<DucView<'b >>) {
30614 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucView>>(IdentifiedView::VT_VIEW, view);
30615 }
30616 #[inline]
30617 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> IdentifiedViewBuilder<'a, 'b, A> {
30618 let start = _fbb.start_table();
30619 IdentifiedViewBuilder {
30620 fbb_: _fbb,
30621 start_: start,
30622 }
30623 }
30624 #[inline]
30625 pub fn finish(self) -> flatbuffers::WIPOffset<IdentifiedView<'a>> {
30626 let o = self.fbb_.end_table(self.start_);
30627 flatbuffers::WIPOffset::new(o.value())
30628 }
30629}
30630
30631impl core::fmt::Debug for IdentifiedView<'_> {
30632 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
30633 let mut ds = f.debug_struct("IdentifiedView");
30634 ds.field("id", &self.id());
30635 ds.field("view", &self.view());
30636 ds.finish()
30637 }
30638}
30639pub enum StandardViewSettingsOffset {}
30640#[derive(Copy, Clone, PartialEq)]
30641
30642pub struct StandardViewSettings<'a> {
30643 pub _tab: flatbuffers::Table<'a>,
30644}
30645
30646impl<'a> flatbuffers::Follow<'a> for StandardViewSettings<'a> {
30647 type Inner = StandardViewSettings<'a>;
30648 #[inline]
30649 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
30650 Self { _tab: flatbuffers::Table::new(buf, loc) }
30651 }
30652}
30653
30654impl<'a> StandardViewSettings<'a> {
30655 pub const VT_VIEWS: flatbuffers::VOffsetT = 4;
30656 pub const VT_UCS: flatbuffers::VOffsetT = 6;
30657 pub const VT_GRID_SETTINGS: flatbuffers::VOffsetT = 8;
30658 pub const VT_SNAP_SETTINGS: flatbuffers::VOffsetT = 10;
30659
30660 #[inline]
30661 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
30662 StandardViewSettings { _tab: table }
30663 }
30664 #[allow(unused_mut)]
30665 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
30666 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
30667 args: &'args StandardViewSettingsArgs<'args>
30668 ) -> flatbuffers::WIPOffset<StandardViewSettings<'bldr>> {
30669 let mut builder = StandardViewSettingsBuilder::new(_fbb);
30670 if let Some(x) = args.snap_settings { builder.add_snap_settings(x); }
30671 if let Some(x) = args.grid_settings { builder.add_grid_settings(x); }
30672 if let Some(x) = args.ucs { builder.add_ucs(x); }
30673 if let Some(x) = args.views { builder.add_views(x); }
30674 builder.finish()
30675 }
30676
30677
30678 #[inline]
30679 pub fn views(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedView<'a>>>> {
30680 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedView>>>>(StandardViewSettings::VT_VIEWS, None)}
30684 }
30685 #[inline]
30686 pub fn ucs(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedUcs<'a>>>> {
30687 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedUcs>>>>(StandardViewSettings::VT_UCS, None)}
30691 }
30692 #[inline]
30693 pub fn grid_settings(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedGridSettings<'a>>>> {
30694 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedGridSettings>>>>(StandardViewSettings::VT_GRID_SETTINGS, None)}
30698 }
30699 #[inline]
30700 pub fn snap_settings(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedSnapSettings<'a>>>> {
30701 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedSnapSettings>>>>(StandardViewSettings::VT_SNAP_SETTINGS, None)}
30705 }
30706}
30707
30708impl flatbuffers::Verifiable for StandardViewSettings<'_> {
30709 #[inline]
30710 fn run_verifier(
30711 v: &mut flatbuffers::Verifier, pos: usize
30712 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
30713 use self::flatbuffers::Verifiable;
30714 v.visit_table(pos)?
30715 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<IdentifiedView>>>>("views", Self::VT_VIEWS, false)?
30716 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<IdentifiedUcs>>>>("ucs", Self::VT_UCS, false)?
30717 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<IdentifiedGridSettings>>>>("grid_settings", Self::VT_GRID_SETTINGS, false)?
30718 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<IdentifiedSnapSettings>>>>("snap_settings", Self::VT_SNAP_SETTINGS, false)?
30719 .finish();
30720 Ok(())
30721 }
30722}
30723pub struct StandardViewSettingsArgs<'a> {
30724 pub views: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedView<'a>>>>>,
30725 pub ucs: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedUcs<'a>>>>>,
30726 pub grid_settings: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedGridSettings<'a>>>>>,
30727 pub snap_settings: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<IdentifiedSnapSettings<'a>>>>>,
30728}
30729impl<'a> Default for StandardViewSettingsArgs<'a> {
30730 #[inline]
30731 fn default() -> Self {
30732 StandardViewSettingsArgs {
30733 views: None,
30734 ucs: None,
30735 grid_settings: None,
30736 snap_settings: None,
30737 }
30738 }
30739}
30740
30741pub struct StandardViewSettingsBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
30742 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
30743 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
30744}
30745impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> StandardViewSettingsBuilder<'a, 'b, A> {
30746 #[inline]
30747 pub fn add_views(&mut self, views: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<IdentifiedView<'b >>>>) {
30748 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardViewSettings::VT_VIEWS, views);
30749 }
30750 #[inline]
30751 pub fn add_ucs(&mut self, ucs: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<IdentifiedUcs<'b >>>>) {
30752 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardViewSettings::VT_UCS, ucs);
30753 }
30754 #[inline]
30755 pub fn add_grid_settings(&mut self, grid_settings: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<IdentifiedGridSettings<'b >>>>) {
30756 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardViewSettings::VT_GRID_SETTINGS, grid_settings);
30757 }
30758 #[inline]
30759 pub fn add_snap_settings(&mut self, snap_settings: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<IdentifiedSnapSettings<'b >>>>) {
30760 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(StandardViewSettings::VT_SNAP_SETTINGS, snap_settings);
30761 }
30762 #[inline]
30763 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> StandardViewSettingsBuilder<'a, 'b, A> {
30764 let start = _fbb.start_table();
30765 StandardViewSettingsBuilder {
30766 fbb_: _fbb,
30767 start_: start,
30768 }
30769 }
30770 #[inline]
30771 pub fn finish(self) -> flatbuffers::WIPOffset<StandardViewSettings<'a>> {
30772 let o = self.fbb_.end_table(self.start_);
30773 flatbuffers::WIPOffset::new(o.value())
30774 }
30775}
30776
30777impl core::fmt::Debug for StandardViewSettings<'_> {
30778 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
30779 let mut ds = f.debug_struct("StandardViewSettings");
30780 ds.field("views", &self.views());
30781 ds.field("ucs", &self.ucs());
30782 ds.field("grid_settings", &self.grid_settings());
30783 ds.field("snap_settings", &self.snap_settings());
30784 ds.finish()
30785 }
30786}
30787pub enum DimensionValidationRulesOffset {}
30788#[derive(Copy, Clone, PartialEq)]
30789
30790pub struct DimensionValidationRules<'a> {
30791 pub _tab: flatbuffers::Table<'a>,
30792}
30793
30794impl<'a> flatbuffers::Follow<'a> for DimensionValidationRules<'a> {
30795 type Inner = DimensionValidationRules<'a>;
30796 #[inline]
30797 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
30798 Self { _tab: flatbuffers::Table::new(buf, loc) }
30799 }
30800}
30801
30802impl<'a> DimensionValidationRules<'a> {
30803 pub const VT_MIN_TEXT_HEIGHT: flatbuffers::VOffsetT = 4;
30804 pub const VT_MAX_TEXT_HEIGHT: flatbuffers::VOffsetT = 6;
30805 pub const VT_ALLOWED_PRECISIONS: flatbuffers::VOffsetT = 8;
30806
30807 #[inline]
30808 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
30809 DimensionValidationRules { _tab: table }
30810 }
30811 #[allow(unused_mut)]
30812 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
30813 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
30814 args: &'args DimensionValidationRulesArgs<'args>
30815 ) -> flatbuffers::WIPOffset<DimensionValidationRules<'bldr>> {
30816 let mut builder = DimensionValidationRulesBuilder::new(_fbb);
30817 builder.add_max_text_height(args.max_text_height);
30818 builder.add_min_text_height(args.min_text_height);
30819 if let Some(x) = args.allowed_precisions { builder.add_allowed_precisions(x); }
30820 builder.finish()
30821 }
30822
30823
30824 #[inline]
30825 pub fn min_text_height(&self) -> f64 {
30826 unsafe { self._tab.get::<f64>(DimensionValidationRules::VT_MIN_TEXT_HEIGHT, Some(0.0)).unwrap()}
30830 }
30831 #[inline]
30832 pub fn max_text_height(&self) -> f64 {
30833 unsafe { self._tab.get::<f64>(DimensionValidationRules::VT_MAX_TEXT_HEIGHT, Some(0.0)).unwrap()}
30837 }
30838 #[inline]
30839 pub fn allowed_precisions(&self) -> Option<flatbuffers::Vector<'a, i32>> {
30840 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(DimensionValidationRules::VT_ALLOWED_PRECISIONS, None)}
30844 }
30845}
30846
30847impl flatbuffers::Verifiable for DimensionValidationRules<'_> {
30848 #[inline]
30849 fn run_verifier(
30850 v: &mut flatbuffers::Verifier, pos: usize
30851 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
30852 use self::flatbuffers::Verifiable;
30853 v.visit_table(pos)?
30854 .visit_field::<f64>("min_text_height", Self::VT_MIN_TEXT_HEIGHT, false)?
30855 .visit_field::<f64>("max_text_height", Self::VT_MAX_TEXT_HEIGHT, false)?
30856 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("allowed_precisions", Self::VT_ALLOWED_PRECISIONS, false)?
30857 .finish();
30858 Ok(())
30859 }
30860}
30861pub struct DimensionValidationRulesArgs<'a> {
30862 pub min_text_height: f64,
30863 pub max_text_height: f64,
30864 pub allowed_precisions: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
30865}
30866impl<'a> Default for DimensionValidationRulesArgs<'a> {
30867 #[inline]
30868 fn default() -> Self {
30869 DimensionValidationRulesArgs {
30870 min_text_height: 0.0,
30871 max_text_height: 0.0,
30872 allowed_precisions: None,
30873 }
30874 }
30875}
30876
30877pub struct DimensionValidationRulesBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
30878 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
30879 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
30880}
30881impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DimensionValidationRulesBuilder<'a, 'b, A> {
30882 #[inline]
30883 pub fn add_min_text_height(&mut self, min_text_height: f64) {
30884 self.fbb_.push_slot::<f64>(DimensionValidationRules::VT_MIN_TEXT_HEIGHT, min_text_height, 0.0);
30885 }
30886 #[inline]
30887 pub fn add_max_text_height(&mut self, max_text_height: f64) {
30888 self.fbb_.push_slot::<f64>(DimensionValidationRules::VT_MAX_TEXT_HEIGHT, max_text_height, 0.0);
30889 }
30890 #[inline]
30891 pub fn add_allowed_precisions(&mut self, allowed_precisions: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
30892 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DimensionValidationRules::VT_ALLOWED_PRECISIONS, allowed_precisions);
30893 }
30894 #[inline]
30895 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DimensionValidationRulesBuilder<'a, 'b, A> {
30896 let start = _fbb.start_table();
30897 DimensionValidationRulesBuilder {
30898 fbb_: _fbb,
30899 start_: start,
30900 }
30901 }
30902 #[inline]
30903 pub fn finish(self) -> flatbuffers::WIPOffset<DimensionValidationRules<'a>> {
30904 let o = self.fbb_.end_table(self.start_);
30905 flatbuffers::WIPOffset::new(o.value())
30906 }
30907}
30908
30909impl core::fmt::Debug for DimensionValidationRules<'_> {
30910 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
30911 let mut ds = f.debug_struct("DimensionValidationRules");
30912 ds.field("min_text_height", &self.min_text_height());
30913 ds.field("max_text_height", &self.max_text_height());
30914 ds.field("allowed_precisions", &self.allowed_precisions());
30915 ds.finish()
30916 }
30917}
30918pub enum LayerValidationRulesOffset {}
30919#[derive(Copy, Clone, PartialEq)]
30920
30921pub struct LayerValidationRules<'a> {
30922 pub _tab: flatbuffers::Table<'a>,
30923}
30924
30925impl<'a> flatbuffers::Follow<'a> for LayerValidationRules<'a> {
30926 type Inner = LayerValidationRules<'a>;
30927 #[inline]
30928 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
30929 Self { _tab: flatbuffers::Table::new(buf, loc) }
30930 }
30931}
30932
30933impl<'a> LayerValidationRules<'a> {
30934 pub const VT_PROHIBITED_LAYER_NAMES: flatbuffers::VOffsetT = 4;
30935
30936 #[inline]
30937 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
30938 LayerValidationRules { _tab: table }
30939 }
30940 #[allow(unused_mut)]
30941 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
30942 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
30943 args: &'args LayerValidationRulesArgs<'args>
30944 ) -> flatbuffers::WIPOffset<LayerValidationRules<'bldr>> {
30945 let mut builder = LayerValidationRulesBuilder::new(_fbb);
30946 if let Some(x) = args.prohibited_layer_names { builder.add_prohibited_layer_names(x); }
30947 builder.finish()
30948 }
30949
30950
30951 #[inline]
30952 pub fn prohibited_layer_names(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>> {
30953 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>(LayerValidationRules::VT_PROHIBITED_LAYER_NAMES, None)}
30957 }
30958}
30959
30960impl flatbuffers::Verifiable for LayerValidationRules<'_> {
30961 #[inline]
30962 fn run_verifier(
30963 v: &mut flatbuffers::Verifier, pos: usize
30964 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
30965 use self::flatbuffers::Verifiable;
30966 v.visit_table(pos)?
30967 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<&'_ str>>>>("prohibited_layer_names", Self::VT_PROHIBITED_LAYER_NAMES, false)?
30968 .finish();
30969 Ok(())
30970 }
30971}
30972pub struct LayerValidationRulesArgs<'a> {
30973 pub prohibited_layer_names: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<&'a str>>>>,
30974}
30975impl<'a> Default for LayerValidationRulesArgs<'a> {
30976 #[inline]
30977 fn default() -> Self {
30978 LayerValidationRulesArgs {
30979 prohibited_layer_names: None,
30980 }
30981 }
30982}
30983
30984pub struct LayerValidationRulesBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
30985 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
30986 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
30987}
30988impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> LayerValidationRulesBuilder<'a, 'b, A> {
30989 #[inline]
30990 pub fn add_prohibited_layer_names(&mut self, prohibited_layer_names: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<&'b str>>>) {
30991 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(LayerValidationRules::VT_PROHIBITED_LAYER_NAMES, prohibited_layer_names);
30992 }
30993 #[inline]
30994 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> LayerValidationRulesBuilder<'a, 'b, A> {
30995 let start = _fbb.start_table();
30996 LayerValidationRulesBuilder {
30997 fbb_: _fbb,
30998 start_: start,
30999 }
31000 }
31001 #[inline]
31002 pub fn finish(self) -> flatbuffers::WIPOffset<LayerValidationRules<'a>> {
31003 let o = self.fbb_.end_table(self.start_);
31004 flatbuffers::WIPOffset::new(o.value())
31005 }
31006}
31007
31008impl core::fmt::Debug for LayerValidationRules<'_> {
31009 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
31010 let mut ds = f.debug_struct("LayerValidationRules");
31011 ds.field("prohibited_layer_names", &self.prohibited_layer_names());
31012 ds.finish()
31013 }
31014}
31015pub enum StandardValidationOffset {}
31016#[derive(Copy, Clone, PartialEq)]
31017
31018pub struct StandardValidation<'a> {
31019 pub _tab: flatbuffers::Table<'a>,
31020}
31021
31022impl<'a> flatbuffers::Follow<'a> for StandardValidation<'a> {
31023 type Inner = StandardValidation<'a>;
31024 #[inline]
31025 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
31026 Self { _tab: flatbuffers::Table::new(buf, loc) }
31027 }
31028}
31029
31030impl<'a> StandardValidation<'a> {
31031 pub const VT_DIMENSION_RULES: flatbuffers::VOffsetT = 4;
31032 pub const VT_LAYER_RULES: flatbuffers::VOffsetT = 6;
31033
31034 #[inline]
31035 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
31036 StandardValidation { _tab: table }
31037 }
31038 #[allow(unused_mut)]
31039 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
31040 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
31041 args: &'args StandardValidationArgs<'args>
31042 ) -> flatbuffers::WIPOffset<StandardValidation<'bldr>> {
31043 let mut builder = StandardValidationBuilder::new(_fbb);
31044 if let Some(x) = args.layer_rules { builder.add_layer_rules(x); }
31045 if let Some(x) = args.dimension_rules { builder.add_dimension_rules(x); }
31046 builder.finish()
31047 }
31048
31049
31050 #[inline]
31051 pub fn dimension_rules(&self) -> Option<DimensionValidationRules<'a>> {
31052 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DimensionValidationRules>>(StandardValidation::VT_DIMENSION_RULES, None)}
31056 }
31057 #[inline]
31058 pub fn layer_rules(&self) -> Option<LayerValidationRules<'a>> {
31059 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<LayerValidationRules>>(StandardValidation::VT_LAYER_RULES, None)}
31063 }
31064}
31065
31066impl flatbuffers::Verifiable for StandardValidation<'_> {
31067 #[inline]
31068 fn run_verifier(
31069 v: &mut flatbuffers::Verifier, pos: usize
31070 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
31071 use self::flatbuffers::Verifiable;
31072 v.visit_table(pos)?
31073 .visit_field::<flatbuffers::ForwardsUOffset<DimensionValidationRules>>("dimension_rules", Self::VT_DIMENSION_RULES, false)?
31074 .visit_field::<flatbuffers::ForwardsUOffset<LayerValidationRules>>("layer_rules", Self::VT_LAYER_RULES, false)?
31075 .finish();
31076 Ok(())
31077 }
31078}
31079pub struct StandardValidationArgs<'a> {
31080 pub dimension_rules: Option<flatbuffers::WIPOffset<DimensionValidationRules<'a>>>,
31081 pub layer_rules: Option<flatbuffers::WIPOffset<LayerValidationRules<'a>>>,
31082}
31083impl<'a> Default for StandardValidationArgs<'a> {
31084 #[inline]
31085 fn default() -> Self {
31086 StandardValidationArgs {
31087 dimension_rules: None,
31088 layer_rules: None,
31089 }
31090 }
31091}
31092
31093pub struct StandardValidationBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
31094 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
31095 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
31096}
31097impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> StandardValidationBuilder<'a, 'b, A> {
31098 #[inline]
31099 pub fn add_dimension_rules(&mut self, dimension_rules: flatbuffers::WIPOffset<DimensionValidationRules<'b >>) {
31100 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DimensionValidationRules>>(StandardValidation::VT_DIMENSION_RULES, dimension_rules);
31101 }
31102 #[inline]
31103 pub fn add_layer_rules(&mut self, layer_rules: flatbuffers::WIPOffset<LayerValidationRules<'b >>) {
31104 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<LayerValidationRules>>(StandardValidation::VT_LAYER_RULES, layer_rules);
31105 }
31106 #[inline]
31107 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> StandardValidationBuilder<'a, 'b, A> {
31108 let start = _fbb.start_table();
31109 StandardValidationBuilder {
31110 fbb_: _fbb,
31111 start_: start,
31112 }
31113 }
31114 #[inline]
31115 pub fn finish(self) -> flatbuffers::WIPOffset<StandardValidation<'a>> {
31116 let o = self.fbb_.end_table(self.start_);
31117 flatbuffers::WIPOffset::new(o.value())
31118 }
31119}
31120
31121impl core::fmt::Debug for StandardValidation<'_> {
31122 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
31123 let mut ds = f.debug_struct("StandardValidation");
31124 ds.field("dimension_rules", &self.dimension_rules());
31125 ds.field("layer_rules", &self.layer_rules());
31126 ds.finish()
31127 }
31128}
31129pub enum StandardOffset {}
31130#[derive(Copy, Clone, PartialEq)]
31131
31132pub struct Standard<'a> {
31133 pub _tab: flatbuffers::Table<'a>,
31134}
31135
31136impl<'a> flatbuffers::Follow<'a> for Standard<'a> {
31137 type Inner = Standard<'a>;
31138 #[inline]
31139 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
31140 Self { _tab: flatbuffers::Table::new(buf, loc) }
31141 }
31142}
31143
31144impl<'a> Standard<'a> {
31145 pub const VT_IDENTIFIER: flatbuffers::VOffsetT = 4;
31146 pub const VT_VERSION: flatbuffers::VOffsetT = 6;
31147 pub const VT_READONLY: flatbuffers::VOffsetT = 8;
31148 pub const VT_OVERRIDES: flatbuffers::VOffsetT = 10;
31149 pub const VT_STYLES: flatbuffers::VOffsetT = 12;
31150 pub const VT_VIEW_SETTINGS: flatbuffers::VOffsetT = 14;
31151 pub const VT_UNITS: flatbuffers::VOffsetT = 16;
31152 pub const VT_VALIDATION: flatbuffers::VOffsetT = 18;
31153
31154 #[inline]
31155 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
31156 Standard { _tab: table }
31157 }
31158 #[allow(unused_mut)]
31159 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
31160 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
31161 args: &'args StandardArgs<'args>
31162 ) -> flatbuffers::WIPOffset<Standard<'bldr>> {
31163 let mut builder = StandardBuilder::new(_fbb);
31164 if let Some(x) = args.validation { builder.add_validation(x); }
31165 if let Some(x) = args.units { builder.add_units(x); }
31166 if let Some(x) = args.view_settings { builder.add_view_settings(x); }
31167 if let Some(x) = args.styles { builder.add_styles(x); }
31168 if let Some(x) = args.overrides { builder.add_overrides(x); }
31169 if let Some(x) = args.version { builder.add_version(x); }
31170 if let Some(x) = args.identifier { builder.add_identifier(x); }
31171 builder.add_readonly(args.readonly);
31172 builder.finish()
31173 }
31174
31175
31176 #[inline]
31177 pub fn identifier(&self) -> Option<Identifier<'a>> {
31178 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<Identifier>>(Standard::VT_IDENTIFIER, None)}
31182 }
31183 #[inline]
31184 pub fn version(&self) -> Option<&'a str> {
31185 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(Standard::VT_VERSION, None)}
31189 }
31190 #[inline]
31191 pub fn readonly(&self) -> bool {
31192 unsafe { self._tab.get::<bool>(Standard::VT_READONLY, Some(false)).unwrap()}
31196 }
31197 #[inline]
31198 pub fn overrides(&self) -> Option<StandardOverrides<'a>> {
31199 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<StandardOverrides>>(Standard::VT_OVERRIDES, None)}
31203 }
31204 #[inline]
31205 pub fn styles(&self) -> Option<StandardStyles<'a>> {
31206 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<StandardStyles>>(Standard::VT_STYLES, None)}
31210 }
31211 #[inline]
31212 pub fn view_settings(&self) -> Option<StandardViewSettings<'a>> {
31213 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<StandardViewSettings>>(Standard::VT_VIEW_SETTINGS, None)}
31217 }
31218 #[inline]
31219 pub fn units(&self) -> Option<StandardUnits<'a>> {
31220 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<StandardUnits>>(Standard::VT_UNITS, None)}
31224 }
31225 #[inline]
31226 pub fn validation(&self) -> Option<StandardValidation<'a>> {
31227 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<StandardValidation>>(Standard::VT_VALIDATION, None)}
31231 }
31232}
31233
31234impl flatbuffers::Verifiable for Standard<'_> {
31235 #[inline]
31236 fn run_verifier(
31237 v: &mut flatbuffers::Verifier, pos: usize
31238 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
31239 use self::flatbuffers::Verifiable;
31240 v.visit_table(pos)?
31241 .visit_field::<flatbuffers::ForwardsUOffset<Identifier>>("identifier", Self::VT_IDENTIFIER, false)?
31242 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("version", Self::VT_VERSION, false)?
31243 .visit_field::<bool>("readonly", Self::VT_READONLY, false)?
31244 .visit_field::<flatbuffers::ForwardsUOffset<StandardOverrides>>("overrides", Self::VT_OVERRIDES, false)?
31245 .visit_field::<flatbuffers::ForwardsUOffset<StandardStyles>>("styles", Self::VT_STYLES, false)?
31246 .visit_field::<flatbuffers::ForwardsUOffset<StandardViewSettings>>("view_settings", Self::VT_VIEW_SETTINGS, false)?
31247 .visit_field::<flatbuffers::ForwardsUOffset<StandardUnits>>("units", Self::VT_UNITS, false)?
31248 .visit_field::<flatbuffers::ForwardsUOffset<StandardValidation>>("validation", Self::VT_VALIDATION, false)?
31249 .finish();
31250 Ok(())
31251 }
31252}
31253pub struct StandardArgs<'a> {
31254 pub identifier: Option<flatbuffers::WIPOffset<Identifier<'a>>>,
31255 pub version: Option<flatbuffers::WIPOffset<&'a str>>,
31256 pub readonly: bool,
31257 pub overrides: Option<flatbuffers::WIPOffset<StandardOverrides<'a>>>,
31258 pub styles: Option<flatbuffers::WIPOffset<StandardStyles<'a>>>,
31259 pub view_settings: Option<flatbuffers::WIPOffset<StandardViewSettings<'a>>>,
31260 pub units: Option<flatbuffers::WIPOffset<StandardUnits<'a>>>,
31261 pub validation: Option<flatbuffers::WIPOffset<StandardValidation<'a>>>,
31262}
31263impl<'a> Default for StandardArgs<'a> {
31264 #[inline]
31265 fn default() -> Self {
31266 StandardArgs {
31267 identifier: None,
31268 version: None,
31269 readonly: false,
31270 overrides: None,
31271 styles: None,
31272 view_settings: None,
31273 units: None,
31274 validation: None,
31275 }
31276 }
31277}
31278
31279pub struct StandardBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
31280 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
31281 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
31282}
31283impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> StandardBuilder<'a, 'b, A> {
31284 #[inline]
31285 pub fn add_identifier(&mut self, identifier: flatbuffers::WIPOffset<Identifier<'b >>) {
31286 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<Identifier>>(Standard::VT_IDENTIFIER, identifier);
31287 }
31288 #[inline]
31289 pub fn add_version(&mut self, version: flatbuffers::WIPOffset<&'b str>) {
31290 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Standard::VT_VERSION, version);
31291 }
31292 #[inline]
31293 pub fn add_readonly(&mut self, readonly: bool) {
31294 self.fbb_.push_slot::<bool>(Standard::VT_READONLY, readonly, false);
31295 }
31296 #[inline]
31297 pub fn add_overrides(&mut self, overrides: flatbuffers::WIPOffset<StandardOverrides<'b >>) {
31298 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<StandardOverrides>>(Standard::VT_OVERRIDES, overrides);
31299 }
31300 #[inline]
31301 pub fn add_styles(&mut self, styles: flatbuffers::WIPOffset<StandardStyles<'b >>) {
31302 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<StandardStyles>>(Standard::VT_STYLES, styles);
31303 }
31304 #[inline]
31305 pub fn add_view_settings(&mut self, view_settings: flatbuffers::WIPOffset<StandardViewSettings<'b >>) {
31306 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<StandardViewSettings>>(Standard::VT_VIEW_SETTINGS, view_settings);
31307 }
31308 #[inline]
31309 pub fn add_units(&mut self, units: flatbuffers::WIPOffset<StandardUnits<'b >>) {
31310 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<StandardUnits>>(Standard::VT_UNITS, units);
31311 }
31312 #[inline]
31313 pub fn add_validation(&mut self, validation: flatbuffers::WIPOffset<StandardValidation<'b >>) {
31314 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<StandardValidation>>(Standard::VT_VALIDATION, validation);
31315 }
31316 #[inline]
31317 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> StandardBuilder<'a, 'b, A> {
31318 let start = _fbb.start_table();
31319 StandardBuilder {
31320 fbb_: _fbb,
31321 start_: start,
31322 }
31323 }
31324 #[inline]
31325 pub fn finish(self) -> flatbuffers::WIPOffset<Standard<'a>> {
31326 let o = self.fbb_.end_table(self.start_);
31327 flatbuffers::WIPOffset::new(o.value())
31328 }
31329}
31330
31331impl core::fmt::Debug for Standard<'_> {
31332 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
31333 let mut ds = f.debug_struct("Standard");
31334 ds.field("identifier", &self.identifier());
31335 ds.field("version", &self.version());
31336 ds.field("readonly", &self.readonly());
31337 ds.field("overrides", &self.overrides());
31338 ds.field("styles", &self.styles());
31339 ds.field("view_settings", &self.view_settings());
31340 ds.field("units", &self.units());
31341 ds.field("validation", &self.validation());
31342 ds.finish()
31343 }
31344}
31345pub enum VersionBaseOffset {}
31346#[derive(Copy, Clone, PartialEq)]
31347
31348pub struct VersionBase<'a> {
31349 pub _tab: flatbuffers::Table<'a>,
31350}
31351
31352impl<'a> flatbuffers::Follow<'a> for VersionBase<'a> {
31353 type Inner = VersionBase<'a>;
31354 #[inline]
31355 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
31356 Self { _tab: flatbuffers::Table::new(buf, loc) }
31357 }
31358}
31359
31360impl<'a> VersionBase<'a> {
31361 pub const VT_ID: flatbuffers::VOffsetT = 4;
31362 pub const VT_PARENT_ID: flatbuffers::VOffsetT = 6;
31363 pub const VT_TIMESTAMP: flatbuffers::VOffsetT = 8;
31364 pub const VT_DESCRIPTION: flatbuffers::VOffsetT = 10;
31365 pub const VT_IS_MANUAL_SAVE: flatbuffers::VOffsetT = 12;
31366 pub const VT_USER_ID: flatbuffers::VOffsetT = 14;
31367
31368 #[inline]
31369 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
31370 VersionBase { _tab: table }
31371 }
31372 #[allow(unused_mut)]
31373 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
31374 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
31375 args: &'args VersionBaseArgs<'args>
31376 ) -> flatbuffers::WIPOffset<VersionBase<'bldr>> {
31377 let mut builder = VersionBaseBuilder::new(_fbb);
31378 builder.add_timestamp(args.timestamp);
31379 if let Some(x) = args.user_id { builder.add_user_id(x); }
31380 if let Some(x) = args.description { builder.add_description(x); }
31381 if let Some(x) = args.parent_id { builder.add_parent_id(x); }
31382 if let Some(x) = args.id { builder.add_id(x); }
31383 builder.add_is_manual_save(args.is_manual_save);
31384 builder.finish()
31385 }
31386
31387
31388 #[inline]
31389 pub fn id(&self) -> Option<&'a str> {
31390 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(VersionBase::VT_ID, None)}
31394 }
31395 #[inline]
31396 pub fn parent_id(&self) -> Option<&'a str> {
31397 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(VersionBase::VT_PARENT_ID, None)}
31401 }
31402 #[inline]
31403 pub fn timestamp(&self) -> i64 {
31404 unsafe { self._tab.get::<i64>(VersionBase::VT_TIMESTAMP, Some(0)).unwrap()}
31408 }
31409 #[inline]
31410 pub fn description(&self) -> Option<&'a str> {
31411 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(VersionBase::VT_DESCRIPTION, None)}
31415 }
31416 #[inline]
31417 pub fn is_manual_save(&self) -> bool {
31418 unsafe { self._tab.get::<bool>(VersionBase::VT_IS_MANUAL_SAVE, Some(false)).unwrap()}
31422 }
31423 #[inline]
31424 pub fn user_id(&self) -> Option<&'a str> {
31425 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(VersionBase::VT_USER_ID, None)}
31429 }
31430}
31431
31432impl flatbuffers::Verifiable for VersionBase<'_> {
31433 #[inline]
31434 fn run_verifier(
31435 v: &mut flatbuffers::Verifier, pos: usize
31436 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
31437 use self::flatbuffers::Verifiable;
31438 v.visit_table(pos)?
31439 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("id", Self::VT_ID, false)?
31440 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("parent_id", Self::VT_PARENT_ID, false)?
31441 .visit_field::<i64>("timestamp", Self::VT_TIMESTAMP, false)?
31442 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("description", Self::VT_DESCRIPTION, false)?
31443 .visit_field::<bool>("is_manual_save", Self::VT_IS_MANUAL_SAVE, false)?
31444 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("user_id", Self::VT_USER_ID, false)?
31445 .finish();
31446 Ok(())
31447 }
31448}
31449pub struct VersionBaseArgs<'a> {
31450 pub id: Option<flatbuffers::WIPOffset<&'a str>>,
31451 pub parent_id: Option<flatbuffers::WIPOffset<&'a str>>,
31452 pub timestamp: i64,
31453 pub description: Option<flatbuffers::WIPOffset<&'a str>>,
31454 pub is_manual_save: bool,
31455 pub user_id: Option<flatbuffers::WIPOffset<&'a str>>,
31456}
31457impl<'a> Default for VersionBaseArgs<'a> {
31458 #[inline]
31459 fn default() -> Self {
31460 VersionBaseArgs {
31461 id: None,
31462 parent_id: None,
31463 timestamp: 0,
31464 description: None,
31465 is_manual_save: false,
31466 user_id: None,
31467 }
31468 }
31469}
31470
31471pub struct VersionBaseBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
31472 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
31473 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
31474}
31475impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> VersionBaseBuilder<'a, 'b, A> {
31476 #[inline]
31477 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<&'b str>) {
31478 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(VersionBase::VT_ID, id);
31479 }
31480 #[inline]
31481 pub fn add_parent_id(&mut self, parent_id: flatbuffers::WIPOffset<&'b str>) {
31482 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(VersionBase::VT_PARENT_ID, parent_id);
31483 }
31484 #[inline]
31485 pub fn add_timestamp(&mut self, timestamp: i64) {
31486 self.fbb_.push_slot::<i64>(VersionBase::VT_TIMESTAMP, timestamp, 0);
31487 }
31488 #[inline]
31489 pub fn add_description(&mut self, description: flatbuffers::WIPOffset<&'b str>) {
31490 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(VersionBase::VT_DESCRIPTION, description);
31491 }
31492 #[inline]
31493 pub fn add_is_manual_save(&mut self, is_manual_save: bool) {
31494 self.fbb_.push_slot::<bool>(VersionBase::VT_IS_MANUAL_SAVE, is_manual_save, false);
31495 }
31496 #[inline]
31497 pub fn add_user_id(&mut self, user_id: flatbuffers::WIPOffset<&'b str>) {
31498 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(VersionBase::VT_USER_ID, user_id);
31499 }
31500 #[inline]
31501 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> VersionBaseBuilder<'a, 'b, A> {
31502 let start = _fbb.start_table();
31503 VersionBaseBuilder {
31504 fbb_: _fbb,
31505 start_: start,
31506 }
31507 }
31508 #[inline]
31509 pub fn finish(self) -> flatbuffers::WIPOffset<VersionBase<'a>> {
31510 let o = self.fbb_.end_table(self.start_);
31511 flatbuffers::WIPOffset::new(o.value())
31512 }
31513}
31514
31515impl core::fmt::Debug for VersionBase<'_> {
31516 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
31517 let mut ds = f.debug_struct("VersionBase");
31518 ds.field("id", &self.id());
31519 ds.field("parent_id", &self.parent_id());
31520 ds.field("timestamp", &self.timestamp());
31521 ds.field("description", &self.description());
31522 ds.field("is_manual_save", &self.is_manual_save());
31523 ds.field("user_id", &self.user_id());
31524 ds.finish()
31525 }
31526}
31527pub enum CheckpointOffset {}
31528#[derive(Copy, Clone, PartialEq)]
31529
31530pub struct Checkpoint<'a> {
31531 pub _tab: flatbuffers::Table<'a>,
31532}
31533
31534impl<'a> flatbuffers::Follow<'a> for Checkpoint<'a> {
31535 type Inner = Checkpoint<'a>;
31536 #[inline]
31537 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
31538 Self { _tab: flatbuffers::Table::new(buf, loc) }
31539 }
31540}
31541
31542impl<'a> Checkpoint<'a> {
31543 pub const VT_BASE: flatbuffers::VOffsetT = 4;
31544 pub const VT_DATA: flatbuffers::VOffsetT = 6;
31545 pub const VT_SIZE_BYTES: flatbuffers::VOffsetT = 8;
31546
31547 #[inline]
31548 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
31549 Checkpoint { _tab: table }
31550 }
31551 #[allow(unused_mut)]
31552 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
31553 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
31554 args: &'args CheckpointArgs<'args>
31555 ) -> flatbuffers::WIPOffset<Checkpoint<'bldr>> {
31556 let mut builder = CheckpointBuilder::new(_fbb);
31557 builder.add_size_bytes(args.size_bytes);
31558 if let Some(x) = args.data { builder.add_data(x); }
31559 if let Some(x) = args.base { builder.add_base(x); }
31560 builder.finish()
31561 }
31562
31563
31564 #[inline]
31565 pub fn base(&self) -> Option<VersionBase<'a>> {
31566 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<VersionBase>>(Checkpoint::VT_BASE, None)}
31570 }
31571 #[inline]
31572 pub fn data(&self) -> Option<flatbuffers::Vector<'a, u8>> {
31573 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(Checkpoint::VT_DATA, None)}
31577 }
31578 #[inline]
31579 pub fn size_bytes(&self) -> i64 {
31580 unsafe { self._tab.get::<i64>(Checkpoint::VT_SIZE_BYTES, Some(0)).unwrap()}
31584 }
31585}
31586
31587impl flatbuffers::Verifiable for Checkpoint<'_> {
31588 #[inline]
31589 fn run_verifier(
31590 v: &mut flatbuffers::Verifier, pos: usize
31591 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
31592 use self::flatbuffers::Verifiable;
31593 v.visit_table(pos)?
31594 .visit_field::<flatbuffers::ForwardsUOffset<VersionBase>>("base", Self::VT_BASE, false)?
31595 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("data", Self::VT_DATA, false)?
31596 .visit_field::<i64>("size_bytes", Self::VT_SIZE_BYTES, false)?
31597 .finish();
31598 Ok(())
31599 }
31600}
31601pub struct CheckpointArgs<'a> {
31602 pub base: Option<flatbuffers::WIPOffset<VersionBase<'a>>>,
31603 pub data: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
31604 pub size_bytes: i64,
31605}
31606impl<'a> Default for CheckpointArgs<'a> {
31607 #[inline]
31608 fn default() -> Self {
31609 CheckpointArgs {
31610 base: None,
31611 data: None,
31612 size_bytes: 0,
31613 }
31614 }
31615}
31616
31617pub struct CheckpointBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
31618 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
31619 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
31620}
31621impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> CheckpointBuilder<'a, 'b, A> {
31622 #[inline]
31623 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<VersionBase<'b >>) {
31624 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<VersionBase>>(Checkpoint::VT_BASE, base);
31625 }
31626 #[inline]
31627 pub fn add_data(&mut self, data: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
31628 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Checkpoint::VT_DATA, data);
31629 }
31630 #[inline]
31631 pub fn add_size_bytes(&mut self, size_bytes: i64) {
31632 self.fbb_.push_slot::<i64>(Checkpoint::VT_SIZE_BYTES, size_bytes, 0);
31633 }
31634 #[inline]
31635 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> CheckpointBuilder<'a, 'b, A> {
31636 let start = _fbb.start_table();
31637 CheckpointBuilder {
31638 fbb_: _fbb,
31639 start_: start,
31640 }
31641 }
31642 #[inline]
31643 pub fn finish(self) -> flatbuffers::WIPOffset<Checkpoint<'a>> {
31644 let o = self.fbb_.end_table(self.start_);
31645 flatbuffers::WIPOffset::new(o.value())
31646 }
31647}
31648
31649impl core::fmt::Debug for Checkpoint<'_> {
31650 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
31651 let mut ds = f.debug_struct("Checkpoint");
31652 ds.field("base", &self.base());
31653 ds.field("data", &self.data());
31654 ds.field("size_bytes", &self.size_bytes());
31655 ds.finish()
31656 }
31657}
31658pub enum JSONPatchOperationOffset {}
31659#[derive(Copy, Clone, PartialEq)]
31660
31661pub struct JSONPatchOperation<'a> {
31662 pub _tab: flatbuffers::Table<'a>,
31663}
31664
31665impl<'a> flatbuffers::Follow<'a> for JSONPatchOperation<'a> {
31666 type Inner = JSONPatchOperation<'a>;
31667 #[inline]
31668 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
31669 Self { _tab: flatbuffers::Table::new(buf, loc) }
31670 }
31671}
31672
31673impl<'a> JSONPatchOperation<'a> {
31674 pub const VT_OP: flatbuffers::VOffsetT = 4;
31675 pub const VT_PATH: flatbuffers::VOffsetT = 6;
31676 pub const VT_FROM: flatbuffers::VOffsetT = 8;
31677 pub const VT_VALUE: flatbuffers::VOffsetT = 10;
31678
31679 #[inline]
31680 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
31681 JSONPatchOperation { _tab: table }
31682 }
31683 #[allow(unused_mut)]
31684 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
31685 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
31686 args: &'args JSONPatchOperationArgs<'args>
31687 ) -> flatbuffers::WIPOffset<JSONPatchOperation<'bldr>> {
31688 let mut builder = JSONPatchOperationBuilder::new(_fbb);
31689 if let Some(x) = args.value { builder.add_value(x); }
31690 if let Some(x) = args.from { builder.add_from(x); }
31691 if let Some(x) = args.path { builder.add_path(x); }
31692 if let Some(x) = args.op { builder.add_op(x); }
31693 builder.finish()
31694 }
31695
31696
31697 #[inline]
31698 pub fn op(&self) -> Option<&'a str> {
31699 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(JSONPatchOperation::VT_OP, None)}
31703 }
31704 #[inline]
31705 pub fn path(&self) -> Option<&'a str> {
31706 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(JSONPatchOperation::VT_PATH, None)}
31710 }
31711 #[inline]
31712 pub fn from(&self) -> Option<&'a str> {
31713 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(JSONPatchOperation::VT_FROM, None)}
31717 }
31718 #[inline]
31719 pub fn value(&self) -> Option<&'a str> {
31720 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(JSONPatchOperation::VT_VALUE, None)}
31724 }
31725}
31726
31727impl flatbuffers::Verifiable for JSONPatchOperation<'_> {
31728 #[inline]
31729 fn run_verifier(
31730 v: &mut flatbuffers::Verifier, pos: usize
31731 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
31732 use self::flatbuffers::Verifiable;
31733 v.visit_table(pos)?
31734 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("op", Self::VT_OP, false)?
31735 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("path", Self::VT_PATH, false)?
31736 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("from", Self::VT_FROM, false)?
31737 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("value", Self::VT_VALUE, false)?
31738 .finish();
31739 Ok(())
31740 }
31741}
31742pub struct JSONPatchOperationArgs<'a> {
31743 pub op: Option<flatbuffers::WIPOffset<&'a str>>,
31744 pub path: Option<flatbuffers::WIPOffset<&'a str>>,
31745 pub from: Option<flatbuffers::WIPOffset<&'a str>>,
31746 pub value: Option<flatbuffers::WIPOffset<&'a str>>,
31747}
31748impl<'a> Default for JSONPatchOperationArgs<'a> {
31749 #[inline]
31750 fn default() -> Self {
31751 JSONPatchOperationArgs {
31752 op: None,
31753 path: None,
31754 from: None,
31755 value: None,
31756 }
31757 }
31758}
31759
31760pub struct JSONPatchOperationBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
31761 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
31762 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
31763}
31764impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> JSONPatchOperationBuilder<'a, 'b, A> {
31765 #[inline]
31766 pub fn add_op(&mut self, op: flatbuffers::WIPOffset<&'b str>) {
31767 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(JSONPatchOperation::VT_OP, op);
31768 }
31769 #[inline]
31770 pub fn add_path(&mut self, path: flatbuffers::WIPOffset<&'b str>) {
31771 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(JSONPatchOperation::VT_PATH, path);
31772 }
31773 #[inline]
31774 pub fn add_from(&mut self, from: flatbuffers::WIPOffset<&'b str>) {
31775 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(JSONPatchOperation::VT_FROM, from);
31776 }
31777 #[inline]
31778 pub fn add_value(&mut self, value: flatbuffers::WIPOffset<&'b str>) {
31779 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(JSONPatchOperation::VT_VALUE, value);
31780 }
31781 #[inline]
31782 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> JSONPatchOperationBuilder<'a, 'b, A> {
31783 let start = _fbb.start_table();
31784 JSONPatchOperationBuilder {
31785 fbb_: _fbb,
31786 start_: start,
31787 }
31788 }
31789 #[inline]
31790 pub fn finish(self) -> flatbuffers::WIPOffset<JSONPatchOperation<'a>> {
31791 let o = self.fbb_.end_table(self.start_);
31792 flatbuffers::WIPOffset::new(o.value())
31793 }
31794}
31795
31796impl core::fmt::Debug for JSONPatchOperation<'_> {
31797 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
31798 let mut ds = f.debug_struct("JSONPatchOperation");
31799 ds.field("op", &self.op());
31800 ds.field("path", &self.path());
31801 ds.field("from", &self.from());
31802 ds.field("value", &self.value());
31803 ds.finish()
31804 }
31805}
31806pub enum DeltaOffset {}
31807#[derive(Copy, Clone, PartialEq)]
31808
31809pub struct Delta<'a> {
31810 pub _tab: flatbuffers::Table<'a>,
31811}
31812
31813impl<'a> flatbuffers::Follow<'a> for Delta<'a> {
31814 type Inner = Delta<'a>;
31815 #[inline]
31816 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
31817 Self { _tab: flatbuffers::Table::new(buf, loc) }
31818 }
31819}
31820
31821impl<'a> Delta<'a> {
31822 pub const VT_BASE: flatbuffers::VOffsetT = 4;
31823 pub const VT_SIZE_BYTES: flatbuffers::VOffsetT = 8;
31824 pub const VT_PATCH: flatbuffers::VOffsetT = 10;
31825
31826 #[inline]
31827 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
31828 Delta { _tab: table }
31829 }
31830 #[allow(unused_mut)]
31831 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
31832 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
31833 args: &'args DeltaArgs<'args>
31834 ) -> flatbuffers::WIPOffset<Delta<'bldr>> {
31835 let mut builder = DeltaBuilder::new(_fbb);
31836 builder.add_size_bytes(args.size_bytes);
31837 if let Some(x) = args.patch { builder.add_patch(x); }
31838 if let Some(x) = args.base { builder.add_base(x); }
31839 builder.finish()
31840 }
31841
31842
31843 #[inline]
31844 pub fn base(&self) -> Option<VersionBase<'a>> {
31845 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<VersionBase>>(Delta::VT_BASE, None)}
31849 }
31850 #[inline]
31851 pub fn size_bytes(&self) -> i64 {
31852 unsafe { self._tab.get::<i64>(Delta::VT_SIZE_BYTES, Some(0)).unwrap()}
31856 }
31857 #[inline]
31858 pub fn patch(&self) -> Option<flatbuffers::Vector<'a, u8>> {
31859 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(Delta::VT_PATCH, None)}
31863 }
31864}
31865
31866impl flatbuffers::Verifiable for Delta<'_> {
31867 #[inline]
31868 fn run_verifier(
31869 v: &mut flatbuffers::Verifier, pos: usize
31870 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
31871 use self::flatbuffers::Verifiable;
31872 v.visit_table(pos)?
31873 .visit_field::<flatbuffers::ForwardsUOffset<VersionBase>>("base", Self::VT_BASE, false)?
31874 .visit_field::<i64>("size_bytes", Self::VT_SIZE_BYTES, false)?
31875 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("patch", Self::VT_PATCH, false)?
31876 .finish();
31877 Ok(())
31878 }
31879}
31880pub struct DeltaArgs<'a> {
31881 pub base: Option<flatbuffers::WIPOffset<VersionBase<'a>>>,
31882 pub size_bytes: i64,
31883 pub patch: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
31884}
31885impl<'a> Default for DeltaArgs<'a> {
31886 #[inline]
31887 fn default() -> Self {
31888 DeltaArgs {
31889 base: None,
31890 size_bytes: 0,
31891 patch: None,
31892 }
31893 }
31894}
31895
31896pub struct DeltaBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
31897 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
31898 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
31899}
31900impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DeltaBuilder<'a, 'b, A> {
31901 #[inline]
31902 pub fn add_base(&mut self, base: flatbuffers::WIPOffset<VersionBase<'b >>) {
31903 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<VersionBase>>(Delta::VT_BASE, base);
31904 }
31905 #[inline]
31906 pub fn add_size_bytes(&mut self, size_bytes: i64) {
31907 self.fbb_.push_slot::<i64>(Delta::VT_SIZE_BYTES, size_bytes, 0);
31908 }
31909 #[inline]
31910 pub fn add_patch(&mut self, patch: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
31911 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Delta::VT_PATCH, patch);
31912 }
31913 #[inline]
31914 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DeltaBuilder<'a, 'b, A> {
31915 let start = _fbb.start_table();
31916 DeltaBuilder {
31917 fbb_: _fbb,
31918 start_: start,
31919 }
31920 }
31921 #[inline]
31922 pub fn finish(self) -> flatbuffers::WIPOffset<Delta<'a>> {
31923 let o = self.fbb_.end_table(self.start_);
31924 flatbuffers::WIPOffset::new(o.value())
31925 }
31926}
31927
31928impl core::fmt::Debug for Delta<'_> {
31929 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
31930 let mut ds = f.debug_struct("Delta");
31931 ds.field("base", &self.base());
31932 ds.field("size_bytes", &self.size_bytes());
31933 ds.field("patch", &self.patch());
31934 ds.finish()
31935 }
31936}
31937pub enum VersionGraphMetadataOffset {}
31938#[derive(Copy, Clone, PartialEq)]
31939
31940pub struct VersionGraphMetadata<'a> {
31941 pub _tab: flatbuffers::Table<'a>,
31942}
31943
31944impl<'a> flatbuffers::Follow<'a> for VersionGraphMetadata<'a> {
31945 type Inner = VersionGraphMetadata<'a>;
31946 #[inline]
31947 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
31948 Self { _tab: flatbuffers::Table::new(buf, loc) }
31949 }
31950}
31951
31952impl<'a> VersionGraphMetadata<'a> {
31953 pub const VT_LAST_PRUNED: flatbuffers::VOffsetT = 4;
31954 pub const VT_TOTAL_SIZE: flatbuffers::VOffsetT = 6;
31955
31956 #[inline]
31957 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
31958 VersionGraphMetadata { _tab: table }
31959 }
31960 #[allow(unused_mut)]
31961 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
31962 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
31963 args: &'args VersionGraphMetadataArgs
31964 ) -> flatbuffers::WIPOffset<VersionGraphMetadata<'bldr>> {
31965 let mut builder = VersionGraphMetadataBuilder::new(_fbb);
31966 builder.add_total_size(args.total_size);
31967 builder.add_last_pruned(args.last_pruned);
31968 builder.finish()
31969 }
31970
31971
31972 #[inline]
31973 pub fn last_pruned(&self) -> i64 {
31974 unsafe { self._tab.get::<i64>(VersionGraphMetadata::VT_LAST_PRUNED, Some(0)).unwrap()}
31978 }
31979 #[inline]
31980 pub fn total_size(&self) -> i64 {
31981 unsafe { self._tab.get::<i64>(VersionGraphMetadata::VT_TOTAL_SIZE, Some(0)).unwrap()}
31985 }
31986}
31987
31988impl flatbuffers::Verifiable for VersionGraphMetadata<'_> {
31989 #[inline]
31990 fn run_verifier(
31991 v: &mut flatbuffers::Verifier, pos: usize
31992 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
31993 use self::flatbuffers::Verifiable;
31994 v.visit_table(pos)?
31995 .visit_field::<i64>("last_pruned", Self::VT_LAST_PRUNED, false)?
31996 .visit_field::<i64>("total_size", Self::VT_TOTAL_SIZE, false)?
31997 .finish();
31998 Ok(())
31999 }
32000}
32001pub struct VersionGraphMetadataArgs {
32002 pub last_pruned: i64,
32003 pub total_size: i64,
32004}
32005impl<'a> Default for VersionGraphMetadataArgs {
32006 #[inline]
32007 fn default() -> Self {
32008 VersionGraphMetadataArgs {
32009 last_pruned: 0,
32010 total_size: 0,
32011 }
32012 }
32013}
32014
32015pub struct VersionGraphMetadataBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
32016 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
32017 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
32018}
32019impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> VersionGraphMetadataBuilder<'a, 'b, A> {
32020 #[inline]
32021 pub fn add_last_pruned(&mut self, last_pruned: i64) {
32022 self.fbb_.push_slot::<i64>(VersionGraphMetadata::VT_LAST_PRUNED, last_pruned, 0);
32023 }
32024 #[inline]
32025 pub fn add_total_size(&mut self, total_size: i64) {
32026 self.fbb_.push_slot::<i64>(VersionGraphMetadata::VT_TOTAL_SIZE, total_size, 0);
32027 }
32028 #[inline]
32029 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> VersionGraphMetadataBuilder<'a, 'b, A> {
32030 let start = _fbb.start_table();
32031 VersionGraphMetadataBuilder {
32032 fbb_: _fbb,
32033 start_: start,
32034 }
32035 }
32036 #[inline]
32037 pub fn finish(self) -> flatbuffers::WIPOffset<VersionGraphMetadata<'a>> {
32038 let o = self.fbb_.end_table(self.start_);
32039 flatbuffers::WIPOffset::new(o.value())
32040 }
32041}
32042
32043impl core::fmt::Debug for VersionGraphMetadata<'_> {
32044 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
32045 let mut ds = f.debug_struct("VersionGraphMetadata");
32046 ds.field("last_pruned", &self.last_pruned());
32047 ds.field("total_size", &self.total_size());
32048 ds.finish()
32049 }
32050}
32051pub enum VersionGraphOffset {}
32052#[derive(Copy, Clone, PartialEq)]
32053
32054pub struct VersionGraph<'a> {
32055 pub _tab: flatbuffers::Table<'a>,
32056}
32057
32058impl<'a> flatbuffers::Follow<'a> for VersionGraph<'a> {
32059 type Inner = VersionGraph<'a>;
32060 #[inline]
32061 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
32062 Self { _tab: flatbuffers::Table::new(buf, loc) }
32063 }
32064}
32065
32066impl<'a> VersionGraph<'a> {
32067 pub const VT_USER_CHECKPOINT_VERSION_ID: flatbuffers::VOffsetT = 4;
32068 pub const VT_LATEST_VERSION_ID: flatbuffers::VOffsetT = 6;
32069 pub const VT_CHECKPOINTS: flatbuffers::VOffsetT = 8;
32070 pub const VT_DELTAS: flatbuffers::VOffsetT = 10;
32071 pub const VT_METADATA: flatbuffers::VOffsetT = 12;
32072
32073 #[inline]
32074 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
32075 VersionGraph { _tab: table }
32076 }
32077 #[allow(unused_mut)]
32078 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
32079 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
32080 args: &'args VersionGraphArgs<'args>
32081 ) -> flatbuffers::WIPOffset<VersionGraph<'bldr>> {
32082 let mut builder = VersionGraphBuilder::new(_fbb);
32083 if let Some(x) = args.metadata { builder.add_metadata(x); }
32084 if let Some(x) = args.deltas { builder.add_deltas(x); }
32085 if let Some(x) = args.checkpoints { builder.add_checkpoints(x); }
32086 if let Some(x) = args.latest_version_id { builder.add_latest_version_id(x); }
32087 if let Some(x) = args.user_checkpoint_version_id { builder.add_user_checkpoint_version_id(x); }
32088 builder.finish()
32089 }
32090
32091
32092 #[inline]
32093 pub fn user_checkpoint_version_id(&self) -> Option<&'a str> {
32094 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(VersionGraph::VT_USER_CHECKPOINT_VERSION_ID, None)}
32098 }
32099 #[inline]
32100 pub fn latest_version_id(&self) -> Option<&'a str> {
32101 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(VersionGraph::VT_LATEST_VERSION_ID, None)}
32105 }
32106 #[inline]
32107 pub fn checkpoints(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Checkpoint<'a>>>> {
32108 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Checkpoint>>>>(VersionGraph::VT_CHECKPOINTS, None)}
32112 }
32113 #[inline]
32114 pub fn deltas(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Delta<'a>>>> {
32115 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Delta>>>>(VersionGraph::VT_DELTAS, None)}
32119 }
32120 #[inline]
32121 pub fn metadata(&self) -> Option<VersionGraphMetadata<'a>> {
32122 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<VersionGraphMetadata>>(VersionGraph::VT_METADATA, None)}
32126 }
32127}
32128
32129impl flatbuffers::Verifiable for VersionGraph<'_> {
32130 #[inline]
32131 fn run_verifier(
32132 v: &mut flatbuffers::Verifier, pos: usize
32133 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
32134 use self::flatbuffers::Verifiable;
32135 v.visit_table(pos)?
32136 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("user_checkpoint_version_id", Self::VT_USER_CHECKPOINT_VERSION_ID, false)?
32137 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("latest_version_id", Self::VT_LATEST_VERSION_ID, false)?
32138 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<Checkpoint>>>>("checkpoints", Self::VT_CHECKPOINTS, false)?
32139 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<Delta>>>>("deltas", Self::VT_DELTAS, false)?
32140 .visit_field::<flatbuffers::ForwardsUOffset<VersionGraphMetadata>>("metadata", Self::VT_METADATA, false)?
32141 .finish();
32142 Ok(())
32143 }
32144}
32145pub struct VersionGraphArgs<'a> {
32146 pub user_checkpoint_version_id: Option<flatbuffers::WIPOffset<&'a str>>,
32147 pub latest_version_id: Option<flatbuffers::WIPOffset<&'a str>>,
32148 pub checkpoints: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Checkpoint<'a>>>>>,
32149 pub deltas: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Delta<'a>>>>>,
32150 pub metadata: Option<flatbuffers::WIPOffset<VersionGraphMetadata<'a>>>,
32151}
32152impl<'a> Default for VersionGraphArgs<'a> {
32153 #[inline]
32154 fn default() -> Self {
32155 VersionGraphArgs {
32156 user_checkpoint_version_id: None,
32157 latest_version_id: None,
32158 checkpoints: None,
32159 deltas: None,
32160 metadata: None,
32161 }
32162 }
32163}
32164
32165pub struct VersionGraphBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
32166 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
32167 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
32168}
32169impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> VersionGraphBuilder<'a, 'b, A> {
32170 #[inline]
32171 pub fn add_user_checkpoint_version_id(&mut self, user_checkpoint_version_id: flatbuffers::WIPOffset<&'b str>) {
32172 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(VersionGraph::VT_USER_CHECKPOINT_VERSION_ID, user_checkpoint_version_id);
32173 }
32174 #[inline]
32175 pub fn add_latest_version_id(&mut self, latest_version_id: flatbuffers::WIPOffset<&'b str>) {
32176 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(VersionGraph::VT_LATEST_VERSION_ID, latest_version_id);
32177 }
32178 #[inline]
32179 pub fn add_checkpoints(&mut self, checkpoints: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Checkpoint<'b >>>>) {
32180 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(VersionGraph::VT_CHECKPOINTS, checkpoints);
32181 }
32182 #[inline]
32183 pub fn add_deltas(&mut self, deltas: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Delta<'b >>>>) {
32184 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(VersionGraph::VT_DELTAS, deltas);
32185 }
32186 #[inline]
32187 pub fn add_metadata(&mut self, metadata: flatbuffers::WIPOffset<VersionGraphMetadata<'b >>) {
32188 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<VersionGraphMetadata>>(VersionGraph::VT_METADATA, metadata);
32189 }
32190 #[inline]
32191 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> VersionGraphBuilder<'a, 'b, A> {
32192 let start = _fbb.start_table();
32193 VersionGraphBuilder {
32194 fbb_: _fbb,
32195 start_: start,
32196 }
32197 }
32198 #[inline]
32199 pub fn finish(self) -> flatbuffers::WIPOffset<VersionGraph<'a>> {
32200 let o = self.fbb_.end_table(self.start_);
32201 flatbuffers::WIPOffset::new(o.value())
32202 }
32203}
32204
32205impl core::fmt::Debug for VersionGraph<'_> {
32206 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
32207 let mut ds = f.debug_struct("VersionGraph");
32208 ds.field("user_checkpoint_version_id", &self.user_checkpoint_version_id());
32209 ds.field("latest_version_id", &self.latest_version_id());
32210 ds.field("checkpoints", &self.checkpoints());
32211 ds.field("deltas", &self.deltas());
32212 ds.field("metadata", &self.metadata());
32213 ds.finish()
32214 }
32215}
32216pub enum DucExternalFileDataOffset {}
32217#[derive(Copy, Clone, PartialEq)]
32218
32219pub struct DucExternalFileData<'a> {
32220 pub _tab: flatbuffers::Table<'a>,
32221}
32222
32223impl<'a> flatbuffers::Follow<'a> for DucExternalFileData<'a> {
32224 type Inner = DucExternalFileData<'a>;
32225 #[inline]
32226 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
32227 Self { _tab: flatbuffers::Table::new(buf, loc) }
32228 }
32229}
32230
32231impl<'a> DucExternalFileData<'a> {
32232 pub const VT_MIME_TYPE: flatbuffers::VOffsetT = 4;
32233 pub const VT_ID: flatbuffers::VOffsetT = 6;
32234 pub const VT_DATA: flatbuffers::VOffsetT = 8;
32235 pub const VT_CREATED: flatbuffers::VOffsetT = 10;
32236 pub const VT_LAST_RETRIEVED: flatbuffers::VOffsetT = 12;
32237
32238 #[inline]
32239 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
32240 DucExternalFileData { _tab: table }
32241 }
32242 #[allow(unused_mut)]
32243 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
32244 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
32245 args: &'args DucExternalFileDataArgs<'args>
32246 ) -> flatbuffers::WIPOffset<DucExternalFileData<'bldr>> {
32247 let mut builder = DucExternalFileDataBuilder::new(_fbb);
32248 if let Some(x) = args.last_retrieved { builder.add_last_retrieved(x); }
32249 builder.add_created(args.created);
32250 if let Some(x) = args.data { builder.add_data(x); }
32251 if let Some(x) = args.id { builder.add_id(x); }
32252 if let Some(x) = args.mime_type { builder.add_mime_type(x); }
32253 builder.finish()
32254 }
32255
32256
32257 #[inline]
32258 pub fn mime_type(&self) -> Option<&'a str> {
32259 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucExternalFileData::VT_MIME_TYPE, None)}
32263 }
32264 #[inline]
32265 pub fn id(&self) -> &'a str {
32266 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucExternalFileData::VT_ID, None).unwrap()}
32270 }
32271 #[inline]
32272 pub fn key_compare_less_than(&self, o: &DucExternalFileData) -> bool {
32273 self.id() < o.id()
32274 }
32275
32276 #[inline]
32277 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
32278 let key = self.id();
32279 key.cmp(val)
32280 }
32281 #[inline]
32282 pub fn data(&self) -> Option<flatbuffers::Vector<'a, u8>> {
32283 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(DucExternalFileData::VT_DATA, None)}
32287 }
32288 #[inline]
32289 pub fn created(&self) -> i64 {
32290 unsafe { self._tab.get::<i64>(DucExternalFileData::VT_CREATED, Some(0)).unwrap()}
32294 }
32295 #[inline]
32296 pub fn last_retrieved(&self) -> Option<i64> {
32297 unsafe { self._tab.get::<i64>(DucExternalFileData::VT_LAST_RETRIEVED, None)}
32301 }
32302}
32303
32304impl flatbuffers::Verifiable for DucExternalFileData<'_> {
32305 #[inline]
32306 fn run_verifier(
32307 v: &mut flatbuffers::Verifier, pos: usize
32308 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
32309 use self::flatbuffers::Verifiable;
32310 v.visit_table(pos)?
32311 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("mime_type", Self::VT_MIME_TYPE, false)?
32312 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("id", Self::VT_ID, true)?
32313 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("data", Self::VT_DATA, false)?
32314 .visit_field::<i64>("created", Self::VT_CREATED, false)?
32315 .visit_field::<i64>("last_retrieved", Self::VT_LAST_RETRIEVED, false)?
32316 .finish();
32317 Ok(())
32318 }
32319}
32320pub struct DucExternalFileDataArgs<'a> {
32321 pub mime_type: Option<flatbuffers::WIPOffset<&'a str>>,
32322 pub id: Option<flatbuffers::WIPOffset<&'a str>>,
32323 pub data: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
32324 pub created: i64,
32325 pub last_retrieved: Option<i64>,
32326}
32327impl<'a> Default for DucExternalFileDataArgs<'a> {
32328 #[inline]
32329 fn default() -> Self {
32330 DucExternalFileDataArgs {
32331 mime_type: None,
32332 id: None, data: None,
32334 created: 0,
32335 last_retrieved: None,
32336 }
32337 }
32338}
32339
32340pub struct DucExternalFileDataBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
32341 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
32342 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
32343}
32344impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucExternalFileDataBuilder<'a, 'b, A> {
32345 #[inline]
32346 pub fn add_mime_type(&mut self, mime_type: flatbuffers::WIPOffset<&'b str>) {
32347 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucExternalFileData::VT_MIME_TYPE, mime_type);
32348 }
32349 #[inline]
32350 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<&'b str>) {
32351 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucExternalFileData::VT_ID, id);
32352 }
32353 #[inline]
32354 pub fn add_data(&mut self, data: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
32355 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucExternalFileData::VT_DATA, data);
32356 }
32357 #[inline]
32358 pub fn add_created(&mut self, created: i64) {
32359 self.fbb_.push_slot::<i64>(DucExternalFileData::VT_CREATED, created, 0);
32360 }
32361 #[inline]
32362 pub fn add_last_retrieved(&mut self, last_retrieved: i64) {
32363 self.fbb_.push_slot_always::<i64>(DucExternalFileData::VT_LAST_RETRIEVED, last_retrieved);
32364 }
32365 #[inline]
32366 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucExternalFileDataBuilder<'a, 'b, A> {
32367 let start = _fbb.start_table();
32368 DucExternalFileDataBuilder {
32369 fbb_: _fbb,
32370 start_: start,
32371 }
32372 }
32373 #[inline]
32374 pub fn finish(self) -> flatbuffers::WIPOffset<DucExternalFileData<'a>> {
32375 let o = self.fbb_.end_table(self.start_);
32376 self.fbb_.required(o, DucExternalFileData::VT_ID,"id");
32377 flatbuffers::WIPOffset::new(o.value())
32378 }
32379}
32380
32381impl core::fmt::Debug for DucExternalFileData<'_> {
32382 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
32383 let mut ds = f.debug_struct("DucExternalFileData");
32384 ds.field("mime_type", &self.mime_type());
32385 ds.field("id", &self.id());
32386 ds.field("data", &self.data());
32387 ds.field("created", &self.created());
32388 ds.field("last_retrieved", &self.last_retrieved());
32389 ds.finish()
32390 }
32391}
32392pub enum DucExternalFileEntryOffset {}
32393#[derive(Copy, Clone, PartialEq)]
32394
32395pub struct DucExternalFileEntry<'a> {
32396 pub _tab: flatbuffers::Table<'a>,
32397}
32398
32399impl<'a> flatbuffers::Follow<'a> for DucExternalFileEntry<'a> {
32400 type Inner = DucExternalFileEntry<'a>;
32401 #[inline]
32402 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
32403 Self { _tab: flatbuffers::Table::new(buf, loc) }
32404 }
32405}
32406
32407impl<'a> DucExternalFileEntry<'a> {
32408 pub const VT_KEY: flatbuffers::VOffsetT = 4;
32409 pub const VT_VALUE: flatbuffers::VOffsetT = 6;
32410
32411 #[inline]
32412 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
32413 DucExternalFileEntry { _tab: table }
32414 }
32415 #[allow(unused_mut)]
32416 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
32417 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
32418 args: &'args DucExternalFileEntryArgs<'args>
32419 ) -> flatbuffers::WIPOffset<DucExternalFileEntry<'bldr>> {
32420 let mut builder = DucExternalFileEntryBuilder::new(_fbb);
32421 if let Some(x) = args.value { builder.add_value(x); }
32422 if let Some(x) = args.key { builder.add_key(x); }
32423 builder.finish()
32424 }
32425
32426
32427 #[inline]
32428 pub fn key(&self) -> &'a str {
32429 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(DucExternalFileEntry::VT_KEY, None).unwrap()}
32433 }
32434 #[inline]
32435 pub fn key_compare_less_than(&self, o: &DucExternalFileEntry) -> bool {
32436 self.key() < o.key()
32437 }
32438
32439 #[inline]
32440 pub fn key_compare_with_value(&self, val: & str) -> ::core::cmp::Ordering {
32441 let key = self.key();
32442 key.cmp(val)
32443 }
32444 #[inline]
32445 pub fn value(&self) -> Option<DucExternalFileData<'a>> {
32446 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucExternalFileData>>(DucExternalFileEntry::VT_VALUE, None)}
32450 }
32451}
32452
32453impl flatbuffers::Verifiable for DucExternalFileEntry<'_> {
32454 #[inline]
32455 fn run_verifier(
32456 v: &mut flatbuffers::Verifier, pos: usize
32457 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
32458 use self::flatbuffers::Verifiable;
32459 v.visit_table(pos)?
32460 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("key", Self::VT_KEY, true)?
32461 .visit_field::<flatbuffers::ForwardsUOffset<DucExternalFileData>>("value", Self::VT_VALUE, false)?
32462 .finish();
32463 Ok(())
32464 }
32465}
32466pub struct DucExternalFileEntryArgs<'a> {
32467 pub key: Option<flatbuffers::WIPOffset<&'a str>>,
32468 pub value: Option<flatbuffers::WIPOffset<DucExternalFileData<'a>>>,
32469}
32470impl<'a> Default for DucExternalFileEntryArgs<'a> {
32471 #[inline]
32472 fn default() -> Self {
32473 DucExternalFileEntryArgs {
32474 key: None, value: None,
32476 }
32477 }
32478}
32479
32480pub struct DucExternalFileEntryBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
32481 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
32482 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
32483}
32484impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> DucExternalFileEntryBuilder<'a, 'b, A> {
32485 #[inline]
32486 pub fn add_key(&mut self, key: flatbuffers::WIPOffset<&'b str>) {
32487 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DucExternalFileEntry::VT_KEY, key);
32488 }
32489 #[inline]
32490 pub fn add_value(&mut self, value: flatbuffers::WIPOffset<DucExternalFileData<'b >>) {
32491 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucExternalFileData>>(DucExternalFileEntry::VT_VALUE, value);
32492 }
32493 #[inline]
32494 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> DucExternalFileEntryBuilder<'a, 'b, A> {
32495 let start = _fbb.start_table();
32496 DucExternalFileEntryBuilder {
32497 fbb_: _fbb,
32498 start_: start,
32499 }
32500 }
32501 #[inline]
32502 pub fn finish(self) -> flatbuffers::WIPOffset<DucExternalFileEntry<'a>> {
32503 let o = self.fbb_.end_table(self.start_);
32504 self.fbb_.required(o, DucExternalFileEntry::VT_KEY,"key");
32505 flatbuffers::WIPOffset::new(o.value())
32506 }
32507}
32508
32509impl core::fmt::Debug for DucExternalFileEntry<'_> {
32510 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
32511 let mut ds = f.debug_struct("DucExternalFileEntry");
32512 ds.field("key", &self.key());
32513 ds.field("value", &self.value());
32514 ds.finish()
32515 }
32516}
32517pub enum ExportedDataStateOffset {}
32518#[derive(Copy, Clone, PartialEq)]
32519
32520pub struct ExportedDataState<'a> {
32521 pub _tab: flatbuffers::Table<'a>,
32522}
32523
32524impl<'a> flatbuffers::Follow<'a> for ExportedDataState<'a> {
32525 type Inner = ExportedDataState<'a>;
32526 #[inline]
32527 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
32528 Self { _tab: flatbuffers::Table::new(buf, loc) }
32529 }
32530}
32531
32532impl<'a> ExportedDataState<'a> {
32533 pub const VT_TYPE_: flatbuffers::VOffsetT = 4;
32534 pub const VT_VERSION_LEGACY: flatbuffers::VOffsetT = 6;
32535 pub const VT_SOURCE: flatbuffers::VOffsetT = 8;
32536 pub const VT_VERSION: flatbuffers::VOffsetT = 10;
32537 pub const VT_THUMBNAIL: flatbuffers::VOffsetT = 12;
32538 pub const VT_DICTIONARY: flatbuffers::VOffsetT = 14;
32539 pub const VT_ELEMENTS: flatbuffers::VOffsetT = 16;
32540 pub const VT_BLOCKS: flatbuffers::VOffsetT = 18;
32541 pub const VT_GROUPS: flatbuffers::VOffsetT = 20;
32542 pub const VT_REGIONS: flatbuffers::VOffsetT = 22;
32543 pub const VT_LAYERS: flatbuffers::VOffsetT = 24;
32544 pub const VT_STANDARDS: flatbuffers::VOffsetT = 26;
32545 pub const VT_DUC_LOCAL_STATE: flatbuffers::VOffsetT = 28;
32546 pub const VT_DUC_GLOBAL_STATE: flatbuffers::VOffsetT = 30;
32547 pub const VT_EXTERNAL_FILES: flatbuffers::VOffsetT = 32;
32548 pub const VT_VERSION_GRAPH: flatbuffers::VOffsetT = 34;
32549 pub const VT_ID: flatbuffers::VOffsetT = 36;
32550 pub const VT_BLOCKINSTANCES: flatbuffers::VOffsetT = 38;
32551 pub const VT_BLOCKCOLLECTIONS: flatbuffers::VOffsetT = 40;
32552
32553 #[inline]
32554 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
32555 ExportedDataState { _tab: table }
32556 }
32557 #[allow(unused_mut)]
32558 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr, A: flatbuffers::Allocator + 'bldr>(
32559 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr, A>,
32560 args: &'args ExportedDataStateArgs<'args>
32561 ) -> flatbuffers::WIPOffset<ExportedDataState<'bldr>> {
32562 let mut builder = ExportedDataStateBuilder::new(_fbb);
32563 if let Some(x) = args.blockCollections { builder.add_blockCollections(x); }
32564 if let Some(x) = args.blockInstances { builder.add_blockInstances(x); }
32565 if let Some(x) = args.id { builder.add_id(x); }
32566 if let Some(x) = args.version_graph { builder.add_version_graph(x); }
32567 if let Some(x) = args.external_files { builder.add_external_files(x); }
32568 if let Some(x) = args.duc_global_state { builder.add_duc_global_state(x); }
32569 if let Some(x) = args.duc_local_state { builder.add_duc_local_state(x); }
32570 if let Some(x) = args.standards { builder.add_standards(x); }
32571 if let Some(x) = args.layers { builder.add_layers(x); }
32572 if let Some(x) = args.regions { builder.add_regions(x); }
32573 if let Some(x) = args.groups { builder.add_groups(x); }
32574 if let Some(x) = args.blocks { builder.add_blocks(x); }
32575 if let Some(x) = args.elements { builder.add_elements(x); }
32576 if let Some(x) = args.dictionary { builder.add_dictionary(x); }
32577 if let Some(x) = args.thumbnail { builder.add_thumbnail(x); }
32578 if let Some(x) = args.version { builder.add_version(x); }
32579 if let Some(x) = args.source { builder.add_source(x); }
32580 builder.add_version_legacy(args.version_legacy);
32581 if let Some(x) = args.type_ { builder.add_type_(x); }
32582 builder.finish()
32583 }
32584
32585
32586 #[inline]
32587 pub fn type_(&self) -> Option<&'a str> {
32588 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(ExportedDataState::VT_TYPE_, None)}
32592 }
32593 #[inline]
32594 pub fn version_legacy(&self) -> i32 {
32595 unsafe { self._tab.get::<i32>(ExportedDataState::VT_VERSION_LEGACY, Some(0)).unwrap()}
32599 }
32600 #[inline]
32601 pub fn source(&self) -> Option<&'a str> {
32602 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(ExportedDataState::VT_SOURCE, None)}
32606 }
32607 #[inline]
32608 pub fn version(&self) -> Option<&'a str> {
32609 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(ExportedDataState::VT_VERSION, None)}
32613 }
32614 #[inline]
32615 pub fn thumbnail(&self) -> Option<flatbuffers::Vector<'a, u8>> {
32616 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(ExportedDataState::VT_THUMBNAIL, None)}
32620 }
32621 #[inline]
32622 pub fn dictionary(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DictionaryEntry<'a>>>> {
32623 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DictionaryEntry>>>>(ExportedDataState::VT_DICTIONARY, None)}
32627 }
32628 #[inline]
32629 pub fn elements(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<ElementWrapper<'a>>>> {
32630 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<ElementWrapper>>>>(ExportedDataState::VT_ELEMENTS, None)}
32634 }
32635 #[inline]
32636 pub fn blocks(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucBlock<'a>>>> {
32637 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucBlock>>>>(ExportedDataState::VT_BLOCKS, None)}
32641 }
32642 #[inline]
32643 pub fn groups(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucGroup<'a>>>> {
32644 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucGroup>>>>(ExportedDataState::VT_GROUPS, None)}
32648 }
32649 #[inline]
32650 pub fn regions(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucRegion<'a>>>> {
32651 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucRegion>>>>(ExportedDataState::VT_REGIONS, None)}
32655 }
32656 #[inline]
32657 pub fn layers(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucLayer<'a>>>> {
32658 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucLayer>>>>(ExportedDataState::VT_LAYERS, None)}
32662 }
32663 #[inline]
32664 pub fn standards(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Standard<'a>>>> {
32665 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Standard>>>>(ExportedDataState::VT_STANDARDS, None)}
32669 }
32670 #[inline]
32671 pub fn duc_local_state(&self) -> Option<DucLocalState<'a>> {
32672 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucLocalState>>(ExportedDataState::VT_DUC_LOCAL_STATE, None)}
32676 }
32677 #[inline]
32678 pub fn duc_global_state(&self) -> Option<DucGlobalState<'a>> {
32679 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<DucGlobalState>>(ExportedDataState::VT_DUC_GLOBAL_STATE, None)}
32683 }
32684 #[inline]
32685 pub fn external_files(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucExternalFileEntry<'a>>>> {
32686 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucExternalFileEntry>>>>(ExportedDataState::VT_EXTERNAL_FILES, None)}
32690 }
32691 #[inline]
32692 pub fn version_graph(&self) -> Option<VersionGraph<'a>> {
32693 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<VersionGraph>>(ExportedDataState::VT_VERSION_GRAPH, None)}
32697 }
32698 #[inline]
32699 pub fn id(&self) -> Option<&'a str> {
32700 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(ExportedDataState::VT_ID, None)}
32704 }
32705 #[inline]
32706 pub fn blockInstances(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucBlockInstance<'a>>>> {
32707 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucBlockInstance>>>>(ExportedDataState::VT_BLOCKINSTANCES, None)}
32711 }
32712 #[inline]
32713 pub fn blockCollections(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucBlockCollection<'a>>>> {
32714 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucBlockCollection>>>>(ExportedDataState::VT_BLOCKCOLLECTIONS, None)}
32718 }
32719}
32720
32721impl flatbuffers::Verifiable for ExportedDataState<'_> {
32722 #[inline]
32723 fn run_verifier(
32724 v: &mut flatbuffers::Verifier, pos: usize
32725 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
32726 use self::flatbuffers::Verifiable;
32727 v.visit_table(pos)?
32728 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("type_", Self::VT_TYPE_, false)?
32729 .visit_field::<i32>("version_legacy", Self::VT_VERSION_LEGACY, false)?
32730 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("source", Self::VT_SOURCE, false)?
32731 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("version", Self::VT_VERSION, false)?
32732 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("thumbnail", Self::VT_THUMBNAIL, false)?
32733 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DictionaryEntry>>>>("dictionary", Self::VT_DICTIONARY, false)?
32734 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<ElementWrapper>>>>("elements", Self::VT_ELEMENTS, false)?
32735 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucBlock>>>>("blocks", Self::VT_BLOCKS, false)?
32736 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucGroup>>>>("groups", Self::VT_GROUPS, false)?
32737 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucRegion>>>>("regions", Self::VT_REGIONS, false)?
32738 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucLayer>>>>("layers", Self::VT_LAYERS, false)?
32739 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<Standard>>>>("standards", Self::VT_STANDARDS, false)?
32740 .visit_field::<flatbuffers::ForwardsUOffset<DucLocalState>>("duc_local_state", Self::VT_DUC_LOCAL_STATE, false)?
32741 .visit_field::<flatbuffers::ForwardsUOffset<DucGlobalState>>("duc_global_state", Self::VT_DUC_GLOBAL_STATE, false)?
32742 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucExternalFileEntry>>>>("external_files", Self::VT_EXTERNAL_FILES, false)?
32743 .visit_field::<flatbuffers::ForwardsUOffset<VersionGraph>>("version_graph", Self::VT_VERSION_GRAPH, false)?
32744 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("id", Self::VT_ID, false)?
32745 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucBlockInstance>>>>("blockInstances", Self::VT_BLOCKINSTANCES, false)?
32746 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DucBlockCollection>>>>("blockCollections", Self::VT_BLOCKCOLLECTIONS, false)?
32747 .finish();
32748 Ok(())
32749 }
32750}
32751pub struct ExportedDataStateArgs<'a> {
32752 pub type_: Option<flatbuffers::WIPOffset<&'a str>>,
32753 pub version_legacy: i32,
32754 pub source: Option<flatbuffers::WIPOffset<&'a str>>,
32755 pub version: Option<flatbuffers::WIPOffset<&'a str>>,
32756 pub thumbnail: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
32757 pub dictionary: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DictionaryEntry<'a>>>>>,
32758 pub elements: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<ElementWrapper<'a>>>>>,
32759 pub blocks: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucBlock<'a>>>>>,
32760 pub groups: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucGroup<'a>>>>>,
32761 pub regions: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucRegion<'a>>>>>,
32762 pub layers: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucLayer<'a>>>>>,
32763 pub standards: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Standard<'a>>>>>,
32764 pub duc_local_state: Option<flatbuffers::WIPOffset<DucLocalState<'a>>>,
32765 pub duc_global_state: Option<flatbuffers::WIPOffset<DucGlobalState<'a>>>,
32766 pub external_files: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucExternalFileEntry<'a>>>>>,
32767 pub version_graph: Option<flatbuffers::WIPOffset<VersionGraph<'a>>>,
32768 pub id: Option<flatbuffers::WIPOffset<&'a str>>,
32769 pub blockInstances: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucBlockInstance<'a>>>>>,
32770 pub blockCollections: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DucBlockCollection<'a>>>>>,
32771}
32772impl<'a> Default for ExportedDataStateArgs<'a> {
32773 #[inline]
32774 fn default() -> Self {
32775 ExportedDataStateArgs {
32776 type_: None,
32777 version_legacy: 0,
32778 source: None,
32779 version: None,
32780 thumbnail: None,
32781 dictionary: None,
32782 elements: None,
32783 blocks: None,
32784 groups: None,
32785 regions: None,
32786 layers: None,
32787 standards: None,
32788 duc_local_state: None,
32789 duc_global_state: None,
32790 external_files: None,
32791 version_graph: None,
32792 id: None,
32793 blockInstances: None,
32794 blockCollections: None,
32795 }
32796 }
32797}
32798
32799pub struct ExportedDataStateBuilder<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> {
32800 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
32801 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
32802}
32803impl<'a: 'b, 'b, A: flatbuffers::Allocator + 'a> ExportedDataStateBuilder<'a, 'b, A> {
32804 #[inline]
32805 pub fn add_type_(&mut self, type_: flatbuffers::WIPOffset<&'b str>) {
32806 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ExportedDataState::VT_TYPE_, type_);
32807 }
32808 #[inline]
32809 pub fn add_version_legacy(&mut self, version_legacy: i32) {
32810 self.fbb_.push_slot::<i32>(ExportedDataState::VT_VERSION_LEGACY, version_legacy, 0);
32811 }
32812 #[inline]
32813 pub fn add_source(&mut self, source: flatbuffers::WIPOffset<&'b str>) {
32814 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ExportedDataState::VT_SOURCE, source);
32815 }
32816 #[inline]
32817 pub fn add_version(&mut self, version: flatbuffers::WIPOffset<&'b str>) {
32818 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ExportedDataState::VT_VERSION, version);
32819 }
32820 #[inline]
32821 pub fn add_thumbnail(&mut self, thumbnail: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
32822 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ExportedDataState::VT_THUMBNAIL, thumbnail);
32823 }
32824 #[inline]
32825 pub fn add_dictionary(&mut self, dictionary: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DictionaryEntry<'b >>>>) {
32826 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ExportedDataState::VT_DICTIONARY, dictionary);
32827 }
32828 #[inline]
32829 pub fn add_elements(&mut self, elements: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<ElementWrapper<'b >>>>) {
32830 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ExportedDataState::VT_ELEMENTS, elements);
32831 }
32832 #[inline]
32833 pub fn add_blocks(&mut self, blocks: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucBlock<'b >>>>) {
32834 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ExportedDataState::VT_BLOCKS, blocks);
32835 }
32836 #[inline]
32837 pub fn add_groups(&mut self, groups: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucGroup<'b >>>>) {
32838 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ExportedDataState::VT_GROUPS, groups);
32839 }
32840 #[inline]
32841 pub fn add_regions(&mut self, regions: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucRegion<'b >>>>) {
32842 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ExportedDataState::VT_REGIONS, regions);
32843 }
32844 #[inline]
32845 pub fn add_layers(&mut self, layers: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucLayer<'b >>>>) {
32846 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ExportedDataState::VT_LAYERS, layers);
32847 }
32848 #[inline]
32849 pub fn add_standards(&mut self, standards: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Standard<'b >>>>) {
32850 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ExportedDataState::VT_STANDARDS, standards);
32851 }
32852 #[inline]
32853 pub fn add_duc_local_state(&mut self, duc_local_state: flatbuffers::WIPOffset<DucLocalState<'b >>) {
32854 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucLocalState>>(ExportedDataState::VT_DUC_LOCAL_STATE, duc_local_state);
32855 }
32856 #[inline]
32857 pub fn add_duc_global_state(&mut self, duc_global_state: flatbuffers::WIPOffset<DucGlobalState<'b >>) {
32858 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<DucGlobalState>>(ExportedDataState::VT_DUC_GLOBAL_STATE, duc_global_state);
32859 }
32860 #[inline]
32861 pub fn add_external_files(&mut self, external_files: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucExternalFileEntry<'b >>>>) {
32862 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ExportedDataState::VT_EXTERNAL_FILES, external_files);
32863 }
32864 #[inline]
32865 pub fn add_version_graph(&mut self, version_graph: flatbuffers::WIPOffset<VersionGraph<'b >>) {
32866 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<VersionGraph>>(ExportedDataState::VT_VERSION_GRAPH, version_graph);
32867 }
32868 #[inline]
32869 pub fn add_id(&mut self, id: flatbuffers::WIPOffset<&'b str>) {
32870 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ExportedDataState::VT_ID, id);
32871 }
32872 #[inline]
32873 pub fn add_blockInstances(&mut self, blockInstances: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucBlockInstance<'b >>>>) {
32874 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ExportedDataState::VT_BLOCKINSTANCES, blockInstances);
32875 }
32876 #[inline]
32877 pub fn add_blockCollections(&mut self, blockCollections: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DucBlockCollection<'b >>>>) {
32878 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ExportedDataState::VT_BLOCKCOLLECTIONS, blockCollections);
32879 }
32880 #[inline]
32881 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>) -> ExportedDataStateBuilder<'a, 'b, A> {
32882 let start = _fbb.start_table();
32883 ExportedDataStateBuilder {
32884 fbb_: _fbb,
32885 start_: start,
32886 }
32887 }
32888 #[inline]
32889 pub fn finish(self) -> flatbuffers::WIPOffset<ExportedDataState<'a>> {
32890 let o = self.fbb_.end_table(self.start_);
32891 flatbuffers::WIPOffset::new(o.value())
32892 }
32893}
32894
32895impl core::fmt::Debug for ExportedDataState<'_> {
32896 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
32897 let mut ds = f.debug_struct("ExportedDataState");
32898 ds.field("type_", &self.type_());
32899 ds.field("version_legacy", &self.version_legacy());
32900 ds.field("source", &self.source());
32901 ds.field("version", &self.version());
32902 ds.field("thumbnail", &self.thumbnail());
32903 ds.field("dictionary", &self.dictionary());
32904 ds.field("elements", &self.elements());
32905 ds.field("blocks", &self.blocks());
32906 ds.field("groups", &self.groups());
32907 ds.field("regions", &self.regions());
32908 ds.field("layers", &self.layers());
32909 ds.field("standards", &self.standards());
32910 ds.field("duc_local_state", &self.duc_local_state());
32911 ds.field("duc_global_state", &self.duc_global_state());
32912 ds.field("external_files", &self.external_files());
32913 ds.field("version_graph", &self.version_graph());
32914 ds.field("id", &self.id());
32915 ds.field("blockInstances", &self.blockInstances());
32916 ds.field("blockCollections", &self.blockCollections());
32917 ds.finish()
32918 }
32919}
32920#[inline]
32921pub fn root_as_exported_data_state(buf: &[u8]) -> Result<ExportedDataState, flatbuffers::InvalidFlatbuffer> {
32928 flatbuffers::root::<ExportedDataState>(buf)
32929}
32930#[inline]
32931pub fn size_prefixed_root_as_exported_data_state(buf: &[u8]) -> Result<ExportedDataState, flatbuffers::InvalidFlatbuffer> {
32938 flatbuffers::size_prefixed_root::<ExportedDataState>(buf)
32939}
32940#[inline]
32941pub fn root_as_exported_data_state_with_opts<'b, 'o>(
32948 opts: &'o flatbuffers::VerifierOptions,
32949 buf: &'b [u8],
32950) -> Result<ExportedDataState<'b>, flatbuffers::InvalidFlatbuffer> {
32951 flatbuffers::root_with_opts::<ExportedDataState<'b>>(opts, buf)
32952}
32953#[inline]
32954pub fn size_prefixed_root_as_exported_data_state_with_opts<'b, 'o>(
32961 opts: &'o flatbuffers::VerifierOptions,
32962 buf: &'b [u8],
32963) -> Result<ExportedDataState<'b>, flatbuffers::InvalidFlatbuffer> {
32964 flatbuffers::size_prefixed_root_with_opts::<ExportedDataState<'b>>(opts, buf)
32965}
32966#[inline]
32967pub unsafe fn root_as_exported_data_state_unchecked(buf: &[u8]) -> ExportedDataState {
32971 flatbuffers::root_unchecked::<ExportedDataState>(buf)
32972}
32973#[inline]
32974pub unsafe fn size_prefixed_root_as_exported_data_state_unchecked(buf: &[u8]) -> ExportedDataState {
32978 flatbuffers::size_prefixed_root_unchecked::<ExportedDataState>(buf)
32979}
32980pub const EXPORTED_DATA_STATE_IDENTIFIER: &str = "DUC_";
32981
32982#[inline]
32983pub fn exported_data_state_buffer_has_identifier(buf: &[u8]) -> bool {
32984 flatbuffers::buffer_has_identifier(buf, EXPORTED_DATA_STATE_IDENTIFIER, false)
32985}
32986
32987#[inline]
32988pub fn exported_data_state_size_prefixed_buffer_has_identifier(buf: &[u8]) -> bool {
32989 flatbuffers::buffer_has_identifier(buf, EXPORTED_DATA_STATE_IDENTIFIER, true)
32990}
32991
32992#[inline]
32993pub fn finish_exported_data_state_buffer<'a, 'b, A: flatbuffers::Allocator + 'a>(
32994 fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>,
32995 root: flatbuffers::WIPOffset<ExportedDataState<'a>>) {
32996 fbb.finish(root, Some(EXPORTED_DATA_STATE_IDENTIFIER));
32997}
32998
32999#[inline]
33000pub fn finish_size_prefixed_exported_data_state_buffer<'a, 'b, A: flatbuffers::Allocator + 'a>(fbb: &'b mut flatbuffers::FlatBufferBuilder<'a, A>, root: flatbuffers::WIPOffset<ExportedDataState<'a>>) {
33001 fbb.finish_size_prefixed(root, Some(EXPORTED_DATA_STATE_IDENTIFIER));
33002}
33003}