Skip to main content

gf_metadata/
axes.rs

1// This file is generated by rust-protobuf 3.7.2. Do not edit
2// .proto file is parsed by protoc --rs_out=...
3// @generated
4
5// https://github.com/rust-lang/rust-clippy/issues/702
6#![allow(unknown_lints)]
7#![allow(clippy::all)]
8
9#![allow(unused_attributes)]
10#![cfg_attr(rustfmt, rustfmt::skip)]
11
12#![allow(dead_code)]
13#![allow(missing_docs)]
14#![allow(non_camel_case_types)]
15#![allow(non_snake_case)]
16#![allow(non_upper_case_globals)]
17#![allow(trivial_casts)]
18#![allow(unused_results)]
19#![allow(unused_mut)]
20
21//! Generated file from `axes.proto`
22
23/// Generated files are compatible only with the same version
24/// of protobuf runtime.
25const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_7_2;
26
27///  An axis in the GF Axis Registry
28// @@protoc_insertion_point(message:AxisProto)
29#[derive(PartialEq,Clone,Default,Debug)]
30pub struct AxisProto {
31    // message fields
32    ///  Axis tag
33    // @@protoc_insertion_point(field:AxisProto.tag)
34    pub tag: ::std::option::Option<::std::string::String>,
35    ///  Display name for axis, e.g. "Optical size" for 'opsz'
36    ///  Like 'Name' in
37    ///  https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxistag_opsz
38    // @@protoc_insertion_point(field:AxisProto.display_name)
39    pub display_name: ::std::option::Option<::std::string::String>,
40    ///  Lower bound for the axis
41    // @@protoc_insertion_point(field:AxisProto.min_value)
42    pub min_value: ::std::option::Option<f32>,
43    ///  The default position to use and to prefer for exemplars
44    // @@protoc_insertion_point(field:AxisProto.default_value)
45    pub default_value: ::std::option::Option<f32>,
46    ///  Upper bound for the axis
47    // @@protoc_insertion_point(field:AxisProto.max_value)
48    pub max_value: ::std::option::Option<f32>,
49    ///  Input values for this axis must aligned to 10^precision
50    // @@protoc_insertion_point(field:AxisProto.precision)
51    pub precision: ::std::option::Option<i32>,
52    ///  Fallback positions along the axis
53    // @@protoc_insertion_point(field:AxisProto.fallback)
54    pub fallback: ::std::vec::Vec<FallbackProto>,
55    ///  Short descriptive paragraph
56    // @@protoc_insertion_point(field:AxisProto.description)
57    pub description: ::std::option::Option<::std::string::String>,
58    ///  Whether only the fallback positions should be used, for example, an axis
59    ///  might have only three relevant positions: the min, the middle, and the max.
60    // @@protoc_insertion_point(field:AxisProto.fallback_only)
61    pub fallback_only: ::std::option::Option<bool>,
62    ///  The thumbnail image for this axis, if any.
63    // @@protoc_insertion_point(field:AxisProto.illustration_url)
64    pub illustration_url: ::std::option::Option<::std::string::String>,
65    // special fields
66    // @@protoc_insertion_point(special_field:AxisProto.special_fields)
67    pub special_fields: ::protobuf::SpecialFields,
68}
69
70impl<'a> ::std::default::Default for &'a AxisProto {
71    fn default() -> &'a AxisProto {
72        <AxisProto as ::protobuf::Message>::default_instance()
73    }
74}
75
76impl AxisProto {
77    pub fn new() -> AxisProto {
78        ::std::default::Default::default()
79    }
80
81    // optional string tag = 1;
82
83    pub fn tag(&self) -> &str {
84        match self.tag.as_ref() {
85            Some(v) => v,
86            None => "",
87        }
88    }
89
90    pub fn clear_tag(&mut self) {
91        self.tag = ::std::option::Option::None;
92    }
93
94    pub fn has_tag(&self) -> bool {
95        self.tag.is_some()
96    }
97
98    // Param is passed by value, moved
99    pub fn set_tag(&mut self, v: ::std::string::String) {
100        self.tag = ::std::option::Option::Some(v);
101    }
102
103    // Mutable pointer to the field.
104    // If field is not initialized, it is initialized with default value first.
105    pub fn mut_tag(&mut self) -> &mut ::std::string::String {
106        if self.tag.is_none() {
107            self.tag = ::std::option::Option::Some(::std::string::String::new());
108        }
109        self.tag.as_mut().unwrap()
110    }
111
112    // Take field
113    pub fn take_tag(&mut self) -> ::std::string::String {
114        self.tag.take().unwrap_or_else(|| ::std::string::String::new())
115    }
116
117    // optional string display_name = 7;
118
119    pub fn display_name(&self) -> &str {
120        match self.display_name.as_ref() {
121            Some(v) => v,
122            None => "",
123        }
124    }
125
126    pub fn clear_display_name(&mut self) {
127        self.display_name = ::std::option::Option::None;
128    }
129
130    pub fn has_display_name(&self) -> bool {
131        self.display_name.is_some()
132    }
133
134    // Param is passed by value, moved
135    pub fn set_display_name(&mut self, v: ::std::string::String) {
136        self.display_name = ::std::option::Option::Some(v);
137    }
138
139    // Mutable pointer to the field.
140    // If field is not initialized, it is initialized with default value first.
141    pub fn mut_display_name(&mut self) -> &mut ::std::string::String {
142        if self.display_name.is_none() {
143            self.display_name = ::std::option::Option::Some(::std::string::String::new());
144        }
145        self.display_name.as_mut().unwrap()
146    }
147
148    // Take field
149    pub fn take_display_name(&mut self) -> ::std::string::String {
150        self.display_name.take().unwrap_or_else(|| ::std::string::String::new())
151    }
152
153    // optional float min_value = 2;
154
155    pub fn min_value(&self) -> f32 {
156        self.min_value.unwrap_or(0.)
157    }
158
159    pub fn clear_min_value(&mut self) {
160        self.min_value = ::std::option::Option::None;
161    }
162
163    pub fn has_min_value(&self) -> bool {
164        self.min_value.is_some()
165    }
166
167    // Param is passed by value, moved
168    pub fn set_min_value(&mut self, v: f32) {
169        self.min_value = ::std::option::Option::Some(v);
170    }
171
172    // optional float default_value = 3;
173
174    pub fn default_value(&self) -> f32 {
175        self.default_value.unwrap_or(0.)
176    }
177
178    pub fn clear_default_value(&mut self) {
179        self.default_value = ::std::option::Option::None;
180    }
181
182    pub fn has_default_value(&self) -> bool {
183        self.default_value.is_some()
184    }
185
186    // Param is passed by value, moved
187    pub fn set_default_value(&mut self, v: f32) {
188        self.default_value = ::std::option::Option::Some(v);
189    }
190
191    // optional float max_value = 4;
192
193    pub fn max_value(&self) -> f32 {
194        self.max_value.unwrap_or(0.)
195    }
196
197    pub fn clear_max_value(&mut self) {
198        self.max_value = ::std::option::Option::None;
199    }
200
201    pub fn has_max_value(&self) -> bool {
202        self.max_value.is_some()
203    }
204
205    // Param is passed by value, moved
206    pub fn set_max_value(&mut self, v: f32) {
207        self.max_value = ::std::option::Option::Some(v);
208    }
209
210    // optional int32 precision = 5;
211
212    pub fn precision(&self) -> i32 {
213        self.precision.unwrap_or(0)
214    }
215
216    pub fn clear_precision(&mut self) {
217        self.precision = ::std::option::Option::None;
218    }
219
220    pub fn has_precision(&self) -> bool {
221        self.precision.is_some()
222    }
223
224    // Param is passed by value, moved
225    pub fn set_precision(&mut self, v: i32) {
226        self.precision = ::std::option::Option::Some(v);
227    }
228
229    // optional string description = 8;
230
231    pub fn description(&self) -> &str {
232        match self.description.as_ref() {
233            Some(v) => v,
234            None => "",
235        }
236    }
237
238    pub fn clear_description(&mut self) {
239        self.description = ::std::option::Option::None;
240    }
241
242    pub fn has_description(&self) -> bool {
243        self.description.is_some()
244    }
245
246    // Param is passed by value, moved
247    pub fn set_description(&mut self, v: ::std::string::String) {
248        self.description = ::std::option::Option::Some(v);
249    }
250
251    // Mutable pointer to the field.
252    // If field is not initialized, it is initialized with default value first.
253    pub fn mut_description(&mut self) -> &mut ::std::string::String {
254        if self.description.is_none() {
255            self.description = ::std::option::Option::Some(::std::string::String::new());
256        }
257        self.description.as_mut().unwrap()
258    }
259
260    // Take field
261    pub fn take_description(&mut self) -> ::std::string::String {
262        self.description.take().unwrap_or_else(|| ::std::string::String::new())
263    }
264
265    // optional bool fallback_only = 9;
266
267    pub fn fallback_only(&self) -> bool {
268        self.fallback_only.unwrap_or(false)
269    }
270
271    pub fn clear_fallback_only(&mut self) {
272        self.fallback_only = ::std::option::Option::None;
273    }
274
275    pub fn has_fallback_only(&self) -> bool {
276        self.fallback_only.is_some()
277    }
278
279    // Param is passed by value, moved
280    pub fn set_fallback_only(&mut self, v: bool) {
281        self.fallback_only = ::std::option::Option::Some(v);
282    }
283
284    // optional string illustration_url = 10;
285
286    pub fn illustration_url(&self) -> &str {
287        match self.illustration_url.as_ref() {
288            Some(v) => v,
289            None => "",
290        }
291    }
292
293    pub fn clear_illustration_url(&mut self) {
294        self.illustration_url = ::std::option::Option::None;
295    }
296
297    pub fn has_illustration_url(&self) -> bool {
298        self.illustration_url.is_some()
299    }
300
301    // Param is passed by value, moved
302    pub fn set_illustration_url(&mut self, v: ::std::string::String) {
303        self.illustration_url = ::std::option::Option::Some(v);
304    }
305
306    // Mutable pointer to the field.
307    // If field is not initialized, it is initialized with default value first.
308    pub fn mut_illustration_url(&mut self) -> &mut ::std::string::String {
309        if self.illustration_url.is_none() {
310            self.illustration_url = ::std::option::Option::Some(::std::string::String::new());
311        }
312        self.illustration_url.as_mut().unwrap()
313    }
314
315    // Take field
316    pub fn take_illustration_url(&mut self) -> ::std::string::String {
317        self.illustration_url.take().unwrap_or_else(|| ::std::string::String::new())
318    }
319
320    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
321        let mut fields = ::std::vec::Vec::with_capacity(10);
322        let mut oneofs = ::std::vec::Vec::with_capacity(0);
323        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
324            "tag",
325            |m: &AxisProto| { &m.tag },
326            |m: &mut AxisProto| { &mut m.tag },
327        ));
328        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
329            "display_name",
330            |m: &AxisProto| { &m.display_name },
331            |m: &mut AxisProto| { &mut m.display_name },
332        ));
333        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
334            "min_value",
335            |m: &AxisProto| { &m.min_value },
336            |m: &mut AxisProto| { &mut m.min_value },
337        ));
338        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
339            "default_value",
340            |m: &AxisProto| { &m.default_value },
341            |m: &mut AxisProto| { &mut m.default_value },
342        ));
343        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
344            "max_value",
345            |m: &AxisProto| { &m.max_value },
346            |m: &mut AxisProto| { &mut m.max_value },
347        ));
348        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
349            "precision",
350            |m: &AxisProto| { &m.precision },
351            |m: &mut AxisProto| { &mut m.precision },
352        ));
353        fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
354            "fallback",
355            |m: &AxisProto| { &m.fallback },
356            |m: &mut AxisProto| { &mut m.fallback },
357        ));
358        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
359            "description",
360            |m: &AxisProto| { &m.description },
361            |m: &mut AxisProto| { &mut m.description },
362        ));
363        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
364            "fallback_only",
365            |m: &AxisProto| { &m.fallback_only },
366            |m: &mut AxisProto| { &mut m.fallback_only },
367        ));
368        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
369            "illustration_url",
370            |m: &AxisProto| { &m.illustration_url },
371            |m: &mut AxisProto| { &mut m.illustration_url },
372        ));
373        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<AxisProto>(
374            "AxisProto",
375            fields,
376            oneofs,
377        )
378    }
379}
380
381impl ::protobuf::Message for AxisProto {
382    const NAME: &'static str = "AxisProto";
383
384    fn is_initialized(&self) -> bool {
385        true
386    }
387
388    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
389        while let Some(tag) = is.read_raw_tag_or_eof()? {
390            match tag {
391                10 => {
392                    self.tag = ::std::option::Option::Some(is.read_string()?);
393                },
394                58 => {
395                    self.display_name = ::std::option::Option::Some(is.read_string()?);
396                },
397                21 => {
398                    self.min_value = ::std::option::Option::Some(is.read_float()?);
399                },
400                29 => {
401                    self.default_value = ::std::option::Option::Some(is.read_float()?);
402                },
403                37 => {
404                    self.max_value = ::std::option::Option::Some(is.read_float()?);
405                },
406                40 => {
407                    self.precision = ::std::option::Option::Some(is.read_int32()?);
408                },
409                50 => {
410                    self.fallback.push(is.read_message()?);
411                },
412                66 => {
413                    self.description = ::std::option::Option::Some(is.read_string()?);
414                },
415                72 => {
416                    self.fallback_only = ::std::option::Option::Some(is.read_bool()?);
417                },
418                82 => {
419                    self.illustration_url = ::std::option::Option::Some(is.read_string()?);
420                },
421                tag => {
422                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
423                },
424            };
425        }
426        ::std::result::Result::Ok(())
427    }
428
429    // Compute sizes of nested messages
430    #[allow(unused_variables)]
431    fn compute_size(&self) -> u64 {
432        let mut my_size = 0;
433        if let Some(v) = self.tag.as_ref() {
434            my_size += ::protobuf::rt::string_size(1, &v);
435        }
436        if let Some(v) = self.display_name.as_ref() {
437            my_size += ::protobuf::rt::string_size(7, &v);
438        }
439        if let Some(v) = self.min_value {
440            my_size += 1 + 4;
441        }
442        if let Some(v) = self.default_value {
443            my_size += 1 + 4;
444        }
445        if let Some(v) = self.max_value {
446            my_size += 1 + 4;
447        }
448        if let Some(v) = self.precision {
449            my_size += ::protobuf::rt::int32_size(5, v);
450        }
451        for value in &self.fallback {
452            let len = value.compute_size();
453            my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
454        };
455        if let Some(v) = self.description.as_ref() {
456            my_size += ::protobuf::rt::string_size(8, &v);
457        }
458        if let Some(v) = self.fallback_only {
459            my_size += 1 + 1;
460        }
461        if let Some(v) = self.illustration_url.as_ref() {
462            my_size += ::protobuf::rt::string_size(10, &v);
463        }
464        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
465        self.special_fields.cached_size().set(my_size as u32);
466        my_size
467    }
468
469    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
470        if let Some(v) = self.tag.as_ref() {
471            os.write_string(1, v)?;
472        }
473        if let Some(v) = self.display_name.as_ref() {
474            os.write_string(7, v)?;
475        }
476        if let Some(v) = self.min_value {
477            os.write_float(2, v)?;
478        }
479        if let Some(v) = self.default_value {
480            os.write_float(3, v)?;
481        }
482        if let Some(v) = self.max_value {
483            os.write_float(4, v)?;
484        }
485        if let Some(v) = self.precision {
486            os.write_int32(5, v)?;
487        }
488        for v in &self.fallback {
489            ::protobuf::rt::write_message_field_with_cached_size(6, v, os)?;
490        };
491        if let Some(v) = self.description.as_ref() {
492            os.write_string(8, v)?;
493        }
494        if let Some(v) = self.fallback_only {
495            os.write_bool(9, v)?;
496        }
497        if let Some(v) = self.illustration_url.as_ref() {
498            os.write_string(10, v)?;
499        }
500        os.write_unknown_fields(self.special_fields.unknown_fields())?;
501        ::std::result::Result::Ok(())
502    }
503
504    fn special_fields(&self) -> &::protobuf::SpecialFields {
505        &self.special_fields
506    }
507
508    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
509        &mut self.special_fields
510    }
511
512    fn new() -> AxisProto {
513        AxisProto::new()
514    }
515
516    fn clear(&mut self) {
517        self.tag = ::std::option::Option::None;
518        self.display_name = ::std::option::Option::None;
519        self.min_value = ::std::option::Option::None;
520        self.default_value = ::std::option::Option::None;
521        self.max_value = ::std::option::Option::None;
522        self.precision = ::std::option::Option::None;
523        self.fallback.clear();
524        self.description = ::std::option::Option::None;
525        self.fallback_only = ::std::option::Option::None;
526        self.illustration_url = ::std::option::Option::None;
527        self.special_fields.clear();
528    }
529
530    fn default_instance() -> &'static AxisProto {
531        static instance: AxisProto = AxisProto {
532            tag: ::std::option::Option::None,
533            display_name: ::std::option::Option::None,
534            min_value: ::std::option::Option::None,
535            default_value: ::std::option::Option::None,
536            max_value: ::std::option::Option::None,
537            precision: ::std::option::Option::None,
538            fallback: ::std::vec::Vec::new(),
539            description: ::std::option::Option::None,
540            fallback_only: ::std::option::Option::None,
541            illustration_url: ::std::option::Option::None,
542            special_fields: ::protobuf::SpecialFields::new(),
543        };
544        &instance
545    }
546}
547
548impl ::protobuf::MessageFull for AxisProto {
549    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
550        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
551        descriptor.get(|| file_descriptor().message_by_package_relative_name("AxisProto").unwrap()).clone()
552    }
553}
554
555impl ::std::fmt::Display for AxisProto {
556    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
557        ::protobuf::text_format::fmt(self, f)
558    }
559}
560
561impl ::protobuf::reflect::ProtobufValue for AxisProto {
562    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
563}
564
565// @@protoc_insertion_point(message:FallbackProto)
566#[derive(PartialEq,Clone,Default,Debug)]
567pub struct FallbackProto {
568    // message fields
569    // @@protoc_insertion_point(field:FallbackProto.name)
570    pub name: ::std::option::Option<::std::string::String>,
571    // @@protoc_insertion_point(field:FallbackProto.value)
572    pub value: ::std::option::Option<f32>,
573    // @@protoc_insertion_point(field:FallbackProto.display_name)
574    pub display_name: ::std::option::Option<::std::string::String>,
575    // special fields
576    // @@protoc_insertion_point(special_field:FallbackProto.special_fields)
577    pub special_fields: ::protobuf::SpecialFields,
578}
579
580impl<'a> ::std::default::Default for &'a FallbackProto {
581    fn default() -> &'a FallbackProto {
582        <FallbackProto as ::protobuf::Message>::default_instance()
583    }
584}
585
586impl FallbackProto {
587    pub fn new() -> FallbackProto {
588        ::std::default::Default::default()
589    }
590
591    // optional string name = 1;
592
593    pub fn name(&self) -> &str {
594        match self.name.as_ref() {
595            Some(v) => v,
596            None => "",
597        }
598    }
599
600    pub fn clear_name(&mut self) {
601        self.name = ::std::option::Option::None;
602    }
603
604    pub fn has_name(&self) -> bool {
605        self.name.is_some()
606    }
607
608    // Param is passed by value, moved
609    pub fn set_name(&mut self, v: ::std::string::String) {
610        self.name = ::std::option::Option::Some(v);
611    }
612
613    // Mutable pointer to the field.
614    // If field is not initialized, it is initialized with default value first.
615    pub fn mut_name(&mut self) -> &mut ::std::string::String {
616        if self.name.is_none() {
617            self.name = ::std::option::Option::Some(::std::string::String::new());
618        }
619        self.name.as_mut().unwrap()
620    }
621
622    // Take field
623    pub fn take_name(&mut self) -> ::std::string::String {
624        self.name.take().unwrap_or_else(|| ::std::string::String::new())
625    }
626
627    // optional float value = 2;
628
629    pub fn value(&self) -> f32 {
630        self.value.unwrap_or(0.)
631    }
632
633    pub fn clear_value(&mut self) {
634        self.value = ::std::option::Option::None;
635    }
636
637    pub fn has_value(&self) -> bool {
638        self.value.is_some()
639    }
640
641    // Param is passed by value, moved
642    pub fn set_value(&mut self, v: f32) {
643        self.value = ::std::option::Option::Some(v);
644    }
645
646    // optional string display_name = 3;
647
648    pub fn display_name(&self) -> &str {
649        match self.display_name.as_ref() {
650            Some(v) => v,
651            None => "",
652        }
653    }
654
655    pub fn clear_display_name(&mut self) {
656        self.display_name = ::std::option::Option::None;
657    }
658
659    pub fn has_display_name(&self) -> bool {
660        self.display_name.is_some()
661    }
662
663    // Param is passed by value, moved
664    pub fn set_display_name(&mut self, v: ::std::string::String) {
665        self.display_name = ::std::option::Option::Some(v);
666    }
667
668    // Mutable pointer to the field.
669    // If field is not initialized, it is initialized with default value first.
670    pub fn mut_display_name(&mut self) -> &mut ::std::string::String {
671        if self.display_name.is_none() {
672            self.display_name = ::std::option::Option::Some(::std::string::String::new());
673        }
674        self.display_name.as_mut().unwrap()
675    }
676
677    // Take field
678    pub fn take_display_name(&mut self) -> ::std::string::String {
679        self.display_name.take().unwrap_or_else(|| ::std::string::String::new())
680    }
681
682    fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
683        let mut fields = ::std::vec::Vec::with_capacity(3);
684        let mut oneofs = ::std::vec::Vec::with_capacity(0);
685        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
686            "name",
687            |m: &FallbackProto| { &m.name },
688            |m: &mut FallbackProto| { &mut m.name },
689        ));
690        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
691            "value",
692            |m: &FallbackProto| { &m.value },
693            |m: &mut FallbackProto| { &mut m.value },
694        ));
695        fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
696            "display_name",
697            |m: &FallbackProto| { &m.display_name },
698            |m: &mut FallbackProto| { &mut m.display_name },
699        ));
700        ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<FallbackProto>(
701            "FallbackProto",
702            fields,
703            oneofs,
704        )
705    }
706}
707
708impl ::protobuf::Message for FallbackProto {
709    const NAME: &'static str = "FallbackProto";
710
711    fn is_initialized(&self) -> bool {
712        true
713    }
714
715    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
716        while let Some(tag) = is.read_raw_tag_or_eof()? {
717            match tag {
718                10 => {
719                    self.name = ::std::option::Option::Some(is.read_string()?);
720                },
721                21 => {
722                    self.value = ::std::option::Option::Some(is.read_float()?);
723                },
724                26 => {
725                    self.display_name = ::std::option::Option::Some(is.read_string()?);
726                },
727                tag => {
728                    ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
729                },
730            };
731        }
732        ::std::result::Result::Ok(())
733    }
734
735    // Compute sizes of nested messages
736    #[allow(unused_variables)]
737    fn compute_size(&self) -> u64 {
738        let mut my_size = 0;
739        if let Some(v) = self.name.as_ref() {
740            my_size += ::protobuf::rt::string_size(1, &v);
741        }
742        if let Some(v) = self.value {
743            my_size += 1 + 4;
744        }
745        if let Some(v) = self.display_name.as_ref() {
746            my_size += ::protobuf::rt::string_size(3, &v);
747        }
748        my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
749        self.special_fields.cached_size().set(my_size as u32);
750        my_size
751    }
752
753    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
754        if let Some(v) = self.name.as_ref() {
755            os.write_string(1, v)?;
756        }
757        if let Some(v) = self.value {
758            os.write_float(2, v)?;
759        }
760        if let Some(v) = self.display_name.as_ref() {
761            os.write_string(3, v)?;
762        }
763        os.write_unknown_fields(self.special_fields.unknown_fields())?;
764        ::std::result::Result::Ok(())
765    }
766
767    fn special_fields(&self) -> &::protobuf::SpecialFields {
768        &self.special_fields
769    }
770
771    fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
772        &mut self.special_fields
773    }
774
775    fn new() -> FallbackProto {
776        FallbackProto::new()
777    }
778
779    fn clear(&mut self) {
780        self.name = ::std::option::Option::None;
781        self.value = ::std::option::Option::None;
782        self.display_name = ::std::option::Option::None;
783        self.special_fields.clear();
784    }
785
786    fn default_instance() -> &'static FallbackProto {
787        static instance: FallbackProto = FallbackProto {
788            name: ::std::option::Option::None,
789            value: ::std::option::Option::None,
790            display_name: ::std::option::Option::None,
791            special_fields: ::protobuf::SpecialFields::new(),
792        };
793        &instance
794    }
795}
796
797impl ::protobuf::MessageFull for FallbackProto {
798    fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
799        static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
800        descriptor.get(|| file_descriptor().message_by_package_relative_name("FallbackProto").unwrap()).clone()
801    }
802}
803
804impl ::std::fmt::Display for FallbackProto {
805    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
806        ::protobuf::text_format::fmt(self, f)
807    }
808}
809
810impl ::protobuf::reflect::ProtobufValue for FallbackProto {
811    type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
812}
813
814static file_descriptor_proto_data: &'static [u8] = b"\
815    \n\naxes.proto\"\xdb\x02\n\tAxisProto\x12\x10\n\x03tag\x18\x01\x20\x01(\
816    \tR\x03tag\x12!\n\x0cdisplay_name\x18\x07\x20\x01(\tR\x0bdisplayName\x12\
817    \x1b\n\tmin_value\x18\x02\x20\x01(\x02R\x08minValue\x12#\n\rdefault_valu\
818    e\x18\x03\x20\x01(\x02R\x0cdefaultValue\x12\x1b\n\tmax_value\x18\x04\x20\
819    \x01(\x02R\x08maxValue\x12\x1c\n\tprecision\x18\x05\x20\x01(\x05R\tpreci\
820    sion\x12*\n\x08fallback\x18\x06\x20\x03(\x0b2\x0e.FallbackProtoR\x08fall\
821    back\x12\x20\n\x0bdescription\x18\x08\x20\x01(\tR\x0bdescription\x12#\n\
822    \rfallback_only\x18\t\x20\x01(\x08R\x0cfallbackOnly\x12)\n\x10illustrati\
823    on_url\x18\n\x20\x01(\tR\x0fillustrationUrl\"\\\n\rFallbackProto\x12\x12\
824    \n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x14\n\x05value\x18\x02\x20\
825    \x01(\x02R\x05value\x12!\n\x0cdisplay_name\x18\x03\x20\x01(\tR\x0bdispla\
826    yNameJ\xdf\x0c\n\x06\x12\x04\0\0-\x01\n#\n\x01\x0c\x12\x03\0\0\x12\"\x19\
827    \x20GF\x20Axis\x20Registry\x20Protos\n\n-\n\x02\x04\0\x12\x04\x04\0'\x01\
828    \x1a!\x20An\x20axis\x20in\x20the\x20GF\x20Axis\x20Registry\n\n\n\n\x03\
829    \x04\0\x01\x12\x03\x04\x08\x11\n\x17\n\x04\x04\0\x02\0\x12\x03\x06\x02\
830    \x1a\x1a\n\x20Axis\x20tag\n\n\x0c\n\x05\x04\0\x02\0\x04\x12\x03\x06\x02\
831    \n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x06\x0b\x11\n\x0c\n\x05\x04\0\x02\
832    \0\x01\x12\x03\x06\x12\x15\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x06\x18\
833    \x19\n\xa1\x01\n\x04\x04\0\x02\x01\x12\x03\x0b\x02#\x1a\x93\x01\x20Displ\
834    ay\x20name\x20for\x20axis,\x20e.g.\x20\"Optical\x20size\"\x20for\x20'ops\
835    z'\n\x20Like\x20'Name'\x20in\n\x20https://docs.microsoft.com/en-us/typog\
836    raphy/opentype/spec/dvaraxistag_opsz\n\n\x0c\n\x05\x04\0\x02\x01\x04\x12\
837    \x03\x0b\x02\n\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x0b\x0b\x11\n\x0c\n\
838    \x05\x04\0\x02\x01\x01\x12\x03\x0b\x12\x1e\n\x0c\n\x05\x04\0\x02\x01\x03\
839    \x12\x03\x0b!\"\n'\n\x04\x04\0\x02\x02\x12\x03\x0e\x02\x1f\x1a\x1a\x20Lo\
840    wer\x20bound\x20for\x20the\x20axis\n\n\x0c\n\x05\x04\0\x02\x02\x04\x12\
841    \x03\x0e\x02\n\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03\x0e\x0b\x10\n\x0c\n\
842    \x05\x04\0\x02\x02\x01\x12\x03\x0e\x11\x1a\n\x0c\n\x05\x04\0\x02\x02\x03\
843    \x12\x03\x0e\x1d\x1e\nF\n\x04\x04\0\x02\x03\x12\x03\x11\x02#\x1a9\x20The\
844    \x20default\x20position\x20to\x20use\x20and\x20to\x20prefer\x20for\x20ex\
845    emplars\n\n\x0c\n\x05\x04\0\x02\x03\x04\x12\x03\x11\x02\n\n\x0c\n\x05\
846    \x04\0\x02\x03\x05\x12\x03\x11\x0b\x10\n\x0c\n\x05\x04\0\x02\x03\x01\x12\
847    \x03\x11\x11\x1e\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03\x11!\"\n'\n\x04\
848    \x04\0\x02\x04\x12\x03\x14\x02\x1f\x1a\x1a\x20Upper\x20bound\x20for\x20t\
849    he\x20axis\n\n\x0c\n\x05\x04\0\x02\x04\x04\x12\x03\x14\x02\n\n\x0c\n\x05\
850    \x04\0\x02\x04\x05\x12\x03\x14\x0b\x10\n\x0c\n\x05\x04\0\x02\x04\x01\x12\
851    \x03\x14\x11\x1a\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03\x14\x1d\x1e\nF\n\
852    \x04\x04\0\x02\x05\x12\x03\x17\x02\x1f\x1a9\x20Input\x20values\x20for\
853    \x20this\x20axis\x20must\x20aligned\x20to\x2010^precision\n\n\x0c\n\x05\
854    \x04\0\x02\x05\x04\x12\x03\x17\x02\n\n\x0c\n\x05\x04\0\x02\x05\x05\x12\
855    \x03\x17\x0b\x10\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x03\x17\x11\x1a\n\x0c\
856    \n\x05\x04\0\x02\x05\x03\x12\x03\x17\x1d\x1e\n0\n\x04\x04\0\x02\x06\x12\
857    \x03\x1a\x02&\x1a#\x20Fallback\x20positions\x20along\x20the\x20axis\n\n\
858    \x0c\n\x05\x04\0\x02\x06\x04\x12\x03\x1a\x02\n\n\x0c\n\x05\x04\0\x02\x06\
859    \x06\x12\x03\x1a\x0b\x18\n\x0c\n\x05\x04\0\x02\x06\x01\x12\x03\x1a\x19!\
860    \n\x0c\n\x05\x04\0\x02\x06\x03\x12\x03\x1a$%\n*\n\x04\x04\0\x02\x07\x12\
861    \x03\x1d\x02\"\x1a\x1d\x20Short\x20descriptive\x20paragraph\n\n\x0c\n\
862    \x05\x04\0\x02\x07\x04\x12\x03\x1d\x02\n\n\x0c\n\x05\x04\0\x02\x07\x05\
863    \x12\x03\x1d\x0b\x11\n\x0c\n\x05\x04\0\x02\x07\x01\x12\x03\x1d\x12\x1d\n\
864    \x0c\n\x05\x04\0\x02\x07\x03\x12\x03\x1d\x20!\n\xa5\x01\n\x04\x04\0\x02\
865    \x08\x12\x03!\x02\"\x1a\x97\x01\x20Whether\x20only\x20the\x20fallback\
866    \x20positions\x20should\x20be\x20used,\x20for\x20example,\x20an\x20axis\
867    \n\x20might\x20have\x20only\x20three\x20relevant\x20positions:\x20the\
868    \x20min,\x20the\x20middle,\x20and\x20the\x20max.\n\n\x0c\n\x05\x04\0\x02\
869    \x08\x04\x12\x03!\x02\n\n\x0c\n\x05\x04\0\x02\x08\x05\x12\x03!\x0b\x0f\n\
870    \x0c\n\x05\x04\0\x02\x08\x01\x12\x03!\x10\x1d\n\x0c\n\x05\x04\0\x02\x08\
871    \x03\x12\x03!\x20!\n9\n\x04\x04\0\x02\t\x12\x03$\x02(\x1a,\x20The\x20thu\
872    mbnail\x20image\x20for\x20this\x20axis,\x20if\x20any.\n\n\x0c\n\x05\x04\
873    \0\x02\t\x04\x12\x03$\x02\n\n\x0c\n\x05\x04\0\x02\t\x05\x12\x03$\x0b\x11\
874    \n\x0c\n\x05\x04\0\x02\t\x01\x12\x03$\x12\"\n\x0c\n\x05\x04\0\x02\t\x03\
875    \x12\x03$%'\n\n\n\x02\x04\x01\x12\x04)\0-\x01\n\n\n\x03\x04\x01\x01\x12\
876    \x03)\x08\x15\n\x0b\n\x04\x04\x01\x02\0\x12\x03*\x02\x1b\n\x0c\n\x05\x04\
877    \x01\x02\0\x04\x12\x03*\x02\n\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03*\x0b\
878    \x11\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03*\x12\x16\n\x0c\n\x05\x04\x01\
879    \x02\0\x03\x12\x03*\x19\x1a\n\x0b\n\x04\x04\x01\x02\x01\x12\x03+\x02\x1b\
880    \n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03+\x02\n\n\x0c\n\x05\x04\x01\x02\
881    \x01\x05\x12\x03+\x0b\x10\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03+\x11\
882    \x16\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03+\x19\x1a\n\x0b\n\x04\x04\
883    \x01\x02\x02\x12\x03,\x02#\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03,\x02\
884    \n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03,\x0b\x11\n\x0c\n\x05\x04\x01\
885    \x02\x02\x01\x12\x03,\x12\x1e\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03,!\
886    \"\
887";
888
889/// `FileDescriptorProto` object which was a source for this generated file
890fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
891    static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new();
892    file_descriptor_proto_lazy.get(|| {
893        ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
894    })
895}
896
897/// `FileDescriptor` object which allows dynamic access to files
898pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
899    static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new();
900    static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
901    file_descriptor.get(|| {
902        let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
903            let mut deps = ::std::vec::Vec::with_capacity(0);
904            let mut messages = ::std::vec::Vec::with_capacity(2);
905            messages.push(AxisProto::generated_message_descriptor_data());
906            messages.push(FallbackProto::generated_message_descriptor_data());
907            let mut enums = ::std::vec::Vec::with_capacity(0);
908            ::protobuf::reflect::GeneratedFileDescriptor::new_generated(
909                file_descriptor_proto(),
910                deps,
911                messages,
912                enums,
913            )
914        });
915        ::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor)
916    })
917}