1use glib::translate::*;
6use glib::value::FromValue;
7use glib::value::FromValueOptional;
8use glib::value::SetValue;
9use glib::value::Value;
10use glib::StaticType;
11use glib::Type;
12use gobject_sys;
13use pango_sys;
14use std::fmt;
15
16#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
17pub enum Alignment {
18 Left,
19 Center,
20 Right,
21 #[doc(hidden)]
22 __Unknown(i32),
23}
24
25impl fmt::Display for Alignment {
26 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
27 write!(
28 f,
29 "Alignment::{}",
30 match *self {
31 Alignment::Left => "Left",
32 Alignment::Center => "Center",
33 Alignment::Right => "Right",
34 _ => "Unknown",
35 }
36 )
37 }
38}
39
40#[doc(hidden)]
41impl ToGlib for Alignment {
42 type GlibType = pango_sys::PangoAlignment;
43
44 fn to_glib(&self) -> pango_sys::PangoAlignment {
45 match *self {
46 Alignment::Left => pango_sys::PANGO_ALIGN_LEFT,
47 Alignment::Center => pango_sys::PANGO_ALIGN_CENTER,
48 Alignment::Right => pango_sys::PANGO_ALIGN_RIGHT,
49 Alignment::__Unknown(value) => value,
50 }
51 }
52}
53
54#[doc(hidden)]
55impl FromGlib<pango_sys::PangoAlignment> for Alignment {
56 fn from_glib(value: pango_sys::PangoAlignment) -> Self {
57 match value {
58 0 => Alignment::Left,
59 1 => Alignment::Center,
60 2 => Alignment::Right,
61 value => Alignment::__Unknown(value),
62 }
63 }
64}
65
66impl StaticType for Alignment {
67 fn static_type() -> Type {
68 unsafe { from_glib(pango_sys::pango_alignment_get_type()) }
69 }
70}
71
72impl<'a> FromValueOptional<'a> for Alignment {
73 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
74 Some(FromValue::from_value(value))
75 }
76}
77
78impl<'a> FromValue<'a> for Alignment {
79 unsafe fn from_value(value: &Value) -> Self {
80 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
81 }
82}
83
84impl SetValue for Alignment {
85 unsafe fn set_value(value: &mut Value, this: &Self) {
86 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
87 }
88}
89
90#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
91pub enum AttrType {
92 Invalid,
93 Language,
94 Family,
95 Style,
96 Weight,
97 Variant,
98 Stretch,
99 Size,
100 FontDesc,
101 Foreground,
102 Background,
103 Underline,
104 Strikethrough,
105 Rise,
106 Shape,
107 Scale,
108 Fallback,
109 LetterSpacing,
110 UnderlineColor,
111 StrikethroughColor,
112 AbsoluteSize,
113 Gravity,
114 GravityHint,
115 FontFeatures,
116 ForegroundAlpha,
117 BackgroundAlpha,
118 #[doc(hidden)]
119 __Unknown(i32),
120}
121
122impl fmt::Display for AttrType {
123 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
124 write!(
125 f,
126 "AttrType::{}",
127 match *self {
128 AttrType::Invalid => "Invalid",
129 AttrType::Language => "Language",
130 AttrType::Family => "Family",
131 AttrType::Style => "Style",
132 AttrType::Weight => "Weight",
133 AttrType::Variant => "Variant",
134 AttrType::Stretch => "Stretch",
135 AttrType::Size => "Size",
136 AttrType::FontDesc => "FontDesc",
137 AttrType::Foreground => "Foreground",
138 AttrType::Background => "Background",
139 AttrType::Underline => "Underline",
140 AttrType::Strikethrough => "Strikethrough",
141 AttrType::Rise => "Rise",
142 AttrType::Shape => "Shape",
143 AttrType::Scale => "Scale",
144 AttrType::Fallback => "Fallback",
145 AttrType::LetterSpacing => "LetterSpacing",
146 AttrType::UnderlineColor => "UnderlineColor",
147 AttrType::StrikethroughColor => "StrikethroughColor",
148 AttrType::AbsoluteSize => "AbsoluteSize",
149 AttrType::Gravity => "Gravity",
150 AttrType::GravityHint => "GravityHint",
151 AttrType::FontFeatures => "FontFeatures",
152 AttrType::ForegroundAlpha => "ForegroundAlpha",
153 AttrType::BackgroundAlpha => "BackgroundAlpha",
154 _ => "Unknown",
155 }
156 )
157 }
158}
159
160#[doc(hidden)]
161impl ToGlib for AttrType {
162 type GlibType = pango_sys::PangoAttrType;
163
164 fn to_glib(&self) -> pango_sys::PangoAttrType {
165 match *self {
166 AttrType::Invalid => pango_sys::PANGO_ATTR_INVALID,
167 AttrType::Language => pango_sys::PANGO_ATTR_LANGUAGE,
168 AttrType::Family => pango_sys::PANGO_ATTR_FAMILY,
169 AttrType::Style => pango_sys::PANGO_ATTR_STYLE,
170 AttrType::Weight => pango_sys::PANGO_ATTR_WEIGHT,
171 AttrType::Variant => pango_sys::PANGO_ATTR_VARIANT,
172 AttrType::Stretch => pango_sys::PANGO_ATTR_STRETCH,
173 AttrType::Size => pango_sys::PANGO_ATTR_SIZE,
174 AttrType::FontDesc => pango_sys::PANGO_ATTR_FONT_DESC,
175 AttrType::Foreground => pango_sys::PANGO_ATTR_FOREGROUND,
176 AttrType::Background => pango_sys::PANGO_ATTR_BACKGROUND,
177 AttrType::Underline => pango_sys::PANGO_ATTR_UNDERLINE,
178 AttrType::Strikethrough => pango_sys::PANGO_ATTR_STRIKETHROUGH,
179 AttrType::Rise => pango_sys::PANGO_ATTR_RISE,
180 AttrType::Shape => pango_sys::PANGO_ATTR_SHAPE,
181 AttrType::Scale => pango_sys::PANGO_ATTR_SCALE,
182 AttrType::Fallback => pango_sys::PANGO_ATTR_FALLBACK,
183 AttrType::LetterSpacing => pango_sys::PANGO_ATTR_LETTER_SPACING,
184 AttrType::UnderlineColor => pango_sys::PANGO_ATTR_UNDERLINE_COLOR,
185 AttrType::StrikethroughColor => pango_sys::PANGO_ATTR_STRIKETHROUGH_COLOR,
186 AttrType::AbsoluteSize => pango_sys::PANGO_ATTR_ABSOLUTE_SIZE,
187 AttrType::Gravity => pango_sys::PANGO_ATTR_GRAVITY,
188 AttrType::GravityHint => pango_sys::PANGO_ATTR_GRAVITY_HINT,
189 AttrType::FontFeatures => pango_sys::PANGO_ATTR_FONT_FEATURES,
190 AttrType::ForegroundAlpha => pango_sys::PANGO_ATTR_FOREGROUND_ALPHA,
191 AttrType::BackgroundAlpha => pango_sys::PANGO_ATTR_BACKGROUND_ALPHA,
192 AttrType::__Unknown(value) => value,
193 }
194 }
195}
196
197#[doc(hidden)]
198impl FromGlib<pango_sys::PangoAttrType> for AttrType {
199 fn from_glib(value: pango_sys::PangoAttrType) -> Self {
200 match value {
201 0 => AttrType::Invalid,
202 1 => AttrType::Language,
203 2 => AttrType::Family,
204 3 => AttrType::Style,
205 4 => AttrType::Weight,
206 5 => AttrType::Variant,
207 6 => AttrType::Stretch,
208 7 => AttrType::Size,
209 8 => AttrType::FontDesc,
210 9 => AttrType::Foreground,
211 10 => AttrType::Background,
212 11 => AttrType::Underline,
213 12 => AttrType::Strikethrough,
214 13 => AttrType::Rise,
215 14 => AttrType::Shape,
216 15 => AttrType::Scale,
217 16 => AttrType::Fallback,
218 17 => AttrType::LetterSpacing,
219 18 => AttrType::UnderlineColor,
220 19 => AttrType::StrikethroughColor,
221 20 => AttrType::AbsoluteSize,
222 21 => AttrType::Gravity,
223 22 => AttrType::GravityHint,
224 23 => AttrType::FontFeatures,
225 24 => AttrType::ForegroundAlpha,
226 25 => AttrType::BackgroundAlpha,
227 value => AttrType::__Unknown(value),
228 }
229 }
230}
231
232impl StaticType for AttrType {
233 fn static_type() -> Type {
234 unsafe { from_glib(pango_sys::pango_attr_type_get_type()) }
235 }
236}
237
238impl<'a> FromValueOptional<'a> for AttrType {
239 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
240 Some(FromValue::from_value(value))
241 }
242}
243
244impl<'a> FromValue<'a> for AttrType {
245 unsafe fn from_value(value: &Value) -> Self {
246 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
247 }
248}
249
250impl SetValue for AttrType {
251 unsafe fn set_value(value: &mut Value, this: &Self) {
252 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
253 }
254}
255
256#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
257pub enum BidiType {
258 L,
259 Lre,
260 Lro,
261 R,
262 Al,
263 Rle,
264 Rlo,
265 Pdf,
266 En,
267 Es,
268 Et,
269 An,
270 Cs,
271 Nsm,
272 Bn,
273 B,
274 S,
275 Ws,
276 On,
277 #[doc(hidden)]
278 __Unknown(i32),
279}
280
281impl fmt::Display for BidiType {
282 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
283 write!(
284 f,
285 "BidiType::{}",
286 match *self {
287 BidiType::L => "L",
288 BidiType::Lre => "Lre",
289 BidiType::Lro => "Lro",
290 BidiType::R => "R",
291 BidiType::Al => "Al",
292 BidiType::Rle => "Rle",
293 BidiType::Rlo => "Rlo",
294 BidiType::Pdf => "Pdf",
295 BidiType::En => "En",
296 BidiType::Es => "Es",
297 BidiType::Et => "Et",
298 BidiType::An => "An",
299 BidiType::Cs => "Cs",
300 BidiType::Nsm => "Nsm",
301 BidiType::Bn => "Bn",
302 BidiType::B => "B",
303 BidiType::S => "S",
304 BidiType::Ws => "Ws",
305 BidiType::On => "On",
306 _ => "Unknown",
307 }
308 )
309 }
310}
311
312#[doc(hidden)]
313impl ToGlib for BidiType {
314 type GlibType = pango_sys::PangoBidiType;
315
316 fn to_glib(&self) -> pango_sys::PangoBidiType {
317 match *self {
318 BidiType::L => pango_sys::PANGO_BIDI_TYPE_L,
319 BidiType::Lre => pango_sys::PANGO_BIDI_TYPE_LRE,
320 BidiType::Lro => pango_sys::PANGO_BIDI_TYPE_LRO,
321 BidiType::R => pango_sys::PANGO_BIDI_TYPE_R,
322 BidiType::Al => pango_sys::PANGO_BIDI_TYPE_AL,
323 BidiType::Rle => pango_sys::PANGO_BIDI_TYPE_RLE,
324 BidiType::Rlo => pango_sys::PANGO_BIDI_TYPE_RLO,
325 BidiType::Pdf => pango_sys::PANGO_BIDI_TYPE_PDF,
326 BidiType::En => pango_sys::PANGO_BIDI_TYPE_EN,
327 BidiType::Es => pango_sys::PANGO_BIDI_TYPE_ES,
328 BidiType::Et => pango_sys::PANGO_BIDI_TYPE_ET,
329 BidiType::An => pango_sys::PANGO_BIDI_TYPE_AN,
330 BidiType::Cs => pango_sys::PANGO_BIDI_TYPE_CS,
331 BidiType::Nsm => pango_sys::PANGO_BIDI_TYPE_NSM,
332 BidiType::Bn => pango_sys::PANGO_BIDI_TYPE_BN,
333 BidiType::B => pango_sys::PANGO_BIDI_TYPE_B,
334 BidiType::S => pango_sys::PANGO_BIDI_TYPE_S,
335 BidiType::Ws => pango_sys::PANGO_BIDI_TYPE_WS,
336 BidiType::On => pango_sys::PANGO_BIDI_TYPE_ON,
337 BidiType::__Unknown(value) => value,
338 }
339 }
340}
341
342#[doc(hidden)]
343impl FromGlib<pango_sys::PangoBidiType> for BidiType {
344 fn from_glib(value: pango_sys::PangoBidiType) -> Self {
345 match value {
346 0 => BidiType::L,
347 1 => BidiType::Lre,
348 2 => BidiType::Lro,
349 3 => BidiType::R,
350 4 => BidiType::Al,
351 5 => BidiType::Rle,
352 6 => BidiType::Rlo,
353 7 => BidiType::Pdf,
354 8 => BidiType::En,
355 9 => BidiType::Es,
356 10 => BidiType::Et,
357 11 => BidiType::An,
358 12 => BidiType::Cs,
359 13 => BidiType::Nsm,
360 14 => BidiType::Bn,
361 15 => BidiType::B,
362 16 => BidiType::S,
363 17 => BidiType::Ws,
364 18 => BidiType::On,
365 value => BidiType::__Unknown(value),
366 }
367 }
368}
369
370impl StaticType for BidiType {
371 fn static_type() -> Type {
372 unsafe { from_glib(pango_sys::pango_bidi_type_get_type()) }
373 }
374}
375
376impl<'a> FromValueOptional<'a> for BidiType {
377 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
378 Some(FromValue::from_value(value))
379 }
380}
381
382impl<'a> FromValue<'a> for BidiType {
383 unsafe fn from_value(value: &Value) -> Self {
384 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
385 }
386}
387
388impl SetValue for BidiType {
389 unsafe fn set_value(value: &mut Value, this: &Self) {
390 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
391 }
392}
393
394#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
395pub enum CoverageLevel {
396 None,
397 Fallback,
398 Approximate,
399 Exact,
400 #[doc(hidden)]
401 __Unknown(i32),
402}
403
404impl fmt::Display for CoverageLevel {
405 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
406 write!(
407 f,
408 "CoverageLevel::{}",
409 match *self {
410 CoverageLevel::None => "None",
411 CoverageLevel::Fallback => "Fallback",
412 CoverageLevel::Approximate => "Approximate",
413 CoverageLevel::Exact => "Exact",
414 _ => "Unknown",
415 }
416 )
417 }
418}
419
420#[doc(hidden)]
421impl ToGlib for CoverageLevel {
422 type GlibType = pango_sys::PangoCoverageLevel;
423
424 fn to_glib(&self) -> pango_sys::PangoCoverageLevel {
425 match *self {
426 CoverageLevel::None => pango_sys::PANGO_COVERAGE_NONE,
427 CoverageLevel::Fallback => pango_sys::PANGO_COVERAGE_FALLBACK,
428 CoverageLevel::Approximate => pango_sys::PANGO_COVERAGE_APPROXIMATE,
429 CoverageLevel::Exact => pango_sys::PANGO_COVERAGE_EXACT,
430 CoverageLevel::__Unknown(value) => value,
431 }
432 }
433}
434
435#[doc(hidden)]
436impl FromGlib<pango_sys::PangoCoverageLevel> for CoverageLevel {
437 fn from_glib(value: pango_sys::PangoCoverageLevel) -> Self {
438 match value {
439 0 => CoverageLevel::None,
440 1 => CoverageLevel::Fallback,
441 2 => CoverageLevel::Approximate,
442 3 => CoverageLevel::Exact,
443 value => CoverageLevel::__Unknown(value),
444 }
445 }
446}
447
448impl StaticType for CoverageLevel {
449 fn static_type() -> Type {
450 unsafe { from_glib(pango_sys::pango_coverage_level_get_type()) }
451 }
452}
453
454impl<'a> FromValueOptional<'a> for CoverageLevel {
455 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
456 Some(FromValue::from_value(value))
457 }
458}
459
460impl<'a> FromValue<'a> for CoverageLevel {
461 unsafe fn from_value(value: &Value) -> Self {
462 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
463 }
464}
465
466impl SetValue for CoverageLevel {
467 unsafe fn set_value(value: &mut Value, this: &Self) {
468 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
469 }
470}
471
472#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
473pub enum Direction {
474 Ltr,
475 Rtl,
476 TtbLtr,
477 TtbRtl,
478 WeakLtr,
479 WeakRtl,
480 Neutral,
481 #[doc(hidden)]
482 __Unknown(i32),
483}
484
485impl fmt::Display for Direction {
486 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
487 write!(
488 f,
489 "Direction::{}",
490 match *self {
491 Direction::Ltr => "Ltr",
492 Direction::Rtl => "Rtl",
493 Direction::TtbLtr => "TtbLtr",
494 Direction::TtbRtl => "TtbRtl",
495 Direction::WeakLtr => "WeakLtr",
496 Direction::WeakRtl => "WeakRtl",
497 Direction::Neutral => "Neutral",
498 _ => "Unknown",
499 }
500 )
501 }
502}
503
504#[doc(hidden)]
505impl ToGlib for Direction {
506 type GlibType = pango_sys::PangoDirection;
507
508 fn to_glib(&self) -> pango_sys::PangoDirection {
509 match *self {
510 Direction::Ltr => pango_sys::PANGO_DIRECTION_LTR,
511 Direction::Rtl => pango_sys::PANGO_DIRECTION_RTL,
512 Direction::TtbLtr => pango_sys::PANGO_DIRECTION_TTB_LTR,
513 Direction::TtbRtl => pango_sys::PANGO_DIRECTION_TTB_RTL,
514 Direction::WeakLtr => pango_sys::PANGO_DIRECTION_WEAK_LTR,
515 Direction::WeakRtl => pango_sys::PANGO_DIRECTION_WEAK_RTL,
516 Direction::Neutral => pango_sys::PANGO_DIRECTION_NEUTRAL,
517 Direction::__Unknown(value) => value,
518 }
519 }
520}
521
522#[doc(hidden)]
523impl FromGlib<pango_sys::PangoDirection> for Direction {
524 fn from_glib(value: pango_sys::PangoDirection) -> Self {
525 match value {
526 0 => Direction::Ltr,
527 1 => Direction::Rtl,
528 2 => Direction::TtbLtr,
529 3 => Direction::TtbRtl,
530 4 => Direction::WeakLtr,
531 5 => Direction::WeakRtl,
532 6 => Direction::Neutral,
533 value => Direction::__Unknown(value),
534 }
535 }
536}
537
538impl StaticType for Direction {
539 fn static_type() -> Type {
540 unsafe { from_glib(pango_sys::pango_direction_get_type()) }
541 }
542}
543
544impl<'a> FromValueOptional<'a> for Direction {
545 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
546 Some(FromValue::from_value(value))
547 }
548}
549
550impl<'a> FromValue<'a> for Direction {
551 unsafe fn from_value(value: &Value) -> Self {
552 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
553 }
554}
555
556impl SetValue for Direction {
557 unsafe fn set_value(value: &mut Value, this: &Self) {
558 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
559 }
560}
561
562#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
563pub enum EllipsizeMode {
564 None,
565 Start,
566 Middle,
567 End,
568 #[doc(hidden)]
569 __Unknown(i32),
570}
571
572impl fmt::Display for EllipsizeMode {
573 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
574 write!(
575 f,
576 "EllipsizeMode::{}",
577 match *self {
578 EllipsizeMode::None => "None",
579 EllipsizeMode::Start => "Start",
580 EllipsizeMode::Middle => "Middle",
581 EllipsizeMode::End => "End",
582 _ => "Unknown",
583 }
584 )
585 }
586}
587
588#[doc(hidden)]
589impl ToGlib for EllipsizeMode {
590 type GlibType = pango_sys::PangoEllipsizeMode;
591
592 fn to_glib(&self) -> pango_sys::PangoEllipsizeMode {
593 match *self {
594 EllipsizeMode::None => pango_sys::PANGO_ELLIPSIZE_NONE,
595 EllipsizeMode::Start => pango_sys::PANGO_ELLIPSIZE_START,
596 EllipsizeMode::Middle => pango_sys::PANGO_ELLIPSIZE_MIDDLE,
597 EllipsizeMode::End => pango_sys::PANGO_ELLIPSIZE_END,
598 EllipsizeMode::__Unknown(value) => value,
599 }
600 }
601}
602
603#[doc(hidden)]
604impl FromGlib<pango_sys::PangoEllipsizeMode> for EllipsizeMode {
605 fn from_glib(value: pango_sys::PangoEllipsizeMode) -> Self {
606 match value {
607 0 => EllipsizeMode::None,
608 1 => EllipsizeMode::Start,
609 2 => EllipsizeMode::Middle,
610 3 => EllipsizeMode::End,
611 value => EllipsizeMode::__Unknown(value),
612 }
613 }
614}
615
616impl StaticType for EllipsizeMode {
617 fn static_type() -> Type {
618 unsafe { from_glib(pango_sys::pango_ellipsize_mode_get_type()) }
619 }
620}
621
622impl<'a> FromValueOptional<'a> for EllipsizeMode {
623 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
624 Some(FromValue::from_value(value))
625 }
626}
627
628impl<'a> FromValue<'a> for EllipsizeMode {
629 unsafe fn from_value(value: &Value) -> Self {
630 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
631 }
632}
633
634impl SetValue for EllipsizeMode {
635 unsafe fn set_value(value: &mut Value, this: &Self) {
636 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
637 }
638}
639
640#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
641pub enum Gravity {
642 South,
643 East,
644 North,
645 West,
646 Auto,
647 #[doc(hidden)]
648 __Unknown(i32),
649}
650
651impl fmt::Display for Gravity {
652 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
653 write!(
654 f,
655 "Gravity::{}",
656 match *self {
657 Gravity::South => "South",
658 Gravity::East => "East",
659 Gravity::North => "North",
660 Gravity::West => "West",
661 Gravity::Auto => "Auto",
662 _ => "Unknown",
663 }
664 )
665 }
666}
667
668#[doc(hidden)]
669impl ToGlib for Gravity {
670 type GlibType = pango_sys::PangoGravity;
671
672 fn to_glib(&self) -> pango_sys::PangoGravity {
673 match *self {
674 Gravity::South => pango_sys::PANGO_GRAVITY_SOUTH,
675 Gravity::East => pango_sys::PANGO_GRAVITY_EAST,
676 Gravity::North => pango_sys::PANGO_GRAVITY_NORTH,
677 Gravity::West => pango_sys::PANGO_GRAVITY_WEST,
678 Gravity::Auto => pango_sys::PANGO_GRAVITY_AUTO,
679 Gravity::__Unknown(value) => value,
680 }
681 }
682}
683
684#[doc(hidden)]
685impl FromGlib<pango_sys::PangoGravity> for Gravity {
686 fn from_glib(value: pango_sys::PangoGravity) -> Self {
687 match value {
688 0 => Gravity::South,
689 1 => Gravity::East,
690 2 => Gravity::North,
691 3 => Gravity::West,
692 4 => Gravity::Auto,
693 value => Gravity::__Unknown(value),
694 }
695 }
696}
697
698impl StaticType for Gravity {
699 fn static_type() -> Type {
700 unsafe { from_glib(pango_sys::pango_gravity_get_type()) }
701 }
702}
703
704impl<'a> FromValueOptional<'a> for Gravity {
705 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
706 Some(FromValue::from_value(value))
707 }
708}
709
710impl<'a> FromValue<'a> for Gravity {
711 unsafe fn from_value(value: &Value) -> Self {
712 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
713 }
714}
715
716impl SetValue for Gravity {
717 unsafe fn set_value(value: &mut Value, this: &Self) {
718 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
719 }
720}
721
722#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
723pub enum GravityHint {
724 Natural,
725 Strong,
726 Line,
727 #[doc(hidden)]
728 __Unknown(i32),
729}
730
731impl fmt::Display for GravityHint {
732 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
733 write!(
734 f,
735 "GravityHint::{}",
736 match *self {
737 GravityHint::Natural => "Natural",
738 GravityHint::Strong => "Strong",
739 GravityHint::Line => "Line",
740 _ => "Unknown",
741 }
742 )
743 }
744}
745
746#[doc(hidden)]
747impl ToGlib for GravityHint {
748 type GlibType = pango_sys::PangoGravityHint;
749
750 fn to_glib(&self) -> pango_sys::PangoGravityHint {
751 match *self {
752 GravityHint::Natural => pango_sys::PANGO_GRAVITY_HINT_NATURAL,
753 GravityHint::Strong => pango_sys::PANGO_GRAVITY_HINT_STRONG,
754 GravityHint::Line => pango_sys::PANGO_GRAVITY_HINT_LINE,
755 GravityHint::__Unknown(value) => value,
756 }
757 }
758}
759
760#[doc(hidden)]
761impl FromGlib<pango_sys::PangoGravityHint> for GravityHint {
762 fn from_glib(value: pango_sys::PangoGravityHint) -> Self {
763 match value {
764 0 => GravityHint::Natural,
765 1 => GravityHint::Strong,
766 2 => GravityHint::Line,
767 value => GravityHint::__Unknown(value),
768 }
769 }
770}
771
772impl StaticType for GravityHint {
773 fn static_type() -> Type {
774 unsafe { from_glib(pango_sys::pango_gravity_hint_get_type()) }
775 }
776}
777
778impl<'a> FromValueOptional<'a> for GravityHint {
779 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
780 Some(FromValue::from_value(value))
781 }
782}
783
784impl<'a> FromValue<'a> for GravityHint {
785 unsafe fn from_value(value: &Value) -> Self {
786 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
787 }
788}
789
790impl SetValue for GravityHint {
791 unsafe fn set_value(value: &mut Value, this: &Self) {
792 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
793 }
794}
795
796#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
797pub enum RenderPart {
798 Foreground,
799 Background,
800 Underline,
801 Strikethrough,
802 #[doc(hidden)]
803 __Unknown(i32),
804}
805
806impl fmt::Display for RenderPart {
807 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
808 write!(
809 f,
810 "RenderPart::{}",
811 match *self {
812 RenderPart::Foreground => "Foreground",
813 RenderPart::Background => "Background",
814 RenderPart::Underline => "Underline",
815 RenderPart::Strikethrough => "Strikethrough",
816 _ => "Unknown",
817 }
818 )
819 }
820}
821
822#[doc(hidden)]
823impl ToGlib for RenderPart {
824 type GlibType = pango_sys::PangoRenderPart;
825
826 fn to_glib(&self) -> pango_sys::PangoRenderPart {
827 match *self {
828 RenderPart::Foreground => pango_sys::PANGO_RENDER_PART_FOREGROUND,
829 RenderPart::Background => pango_sys::PANGO_RENDER_PART_BACKGROUND,
830 RenderPart::Underline => pango_sys::PANGO_RENDER_PART_UNDERLINE,
831 RenderPart::Strikethrough => pango_sys::PANGO_RENDER_PART_STRIKETHROUGH,
832 RenderPart::__Unknown(value) => value,
833 }
834 }
835}
836
837#[doc(hidden)]
838impl FromGlib<pango_sys::PangoRenderPart> for RenderPart {
839 fn from_glib(value: pango_sys::PangoRenderPart) -> Self {
840 match value {
841 0 => RenderPart::Foreground,
842 1 => RenderPart::Background,
843 2 => RenderPart::Underline,
844 3 => RenderPart::Strikethrough,
845 value => RenderPart::__Unknown(value),
846 }
847 }
848}
849
850impl StaticType for RenderPart {
851 fn static_type() -> Type {
852 unsafe { from_glib(pango_sys::pango_render_part_get_type()) }
853 }
854}
855
856impl<'a> FromValueOptional<'a> for RenderPart {
857 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
858 Some(FromValue::from_value(value))
859 }
860}
861
862impl<'a> FromValue<'a> for RenderPart {
863 unsafe fn from_value(value: &Value) -> Self {
864 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
865 }
866}
867
868impl SetValue for RenderPart {
869 unsafe fn set_value(value: &mut Value, this: &Self) {
870 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
871 }
872}
873
874#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
875pub enum Script {
876 InvalidCode,
877 Common,
878 Inherited,
879 Arabic,
880 Armenian,
881 Bengali,
882 Bopomofo,
883 Cherokee,
884 Coptic,
885 Cyrillic,
886 Deseret,
887 Devanagari,
888 Ethiopic,
889 Georgian,
890 Gothic,
891 Greek,
892 Gujarati,
893 Gurmukhi,
894 Han,
895 Hangul,
896 Hebrew,
897 Hiragana,
898 Kannada,
899 Katakana,
900 Khmer,
901 Lao,
902 Latin,
903 Malayalam,
904 Mongolian,
905 Myanmar,
906 Ogham,
907 OldItalic,
908 Oriya,
909 Runic,
910 Sinhala,
911 Syriac,
912 Tamil,
913 Telugu,
914 Thaana,
915 Thai,
916 Tibetan,
917 CanadianAboriginal,
918 Yi,
919 Tagalog,
920 Hanunoo,
921 Buhid,
922 Tagbanwa,
923 Braille,
924 Cypriot,
925 Limbu,
926 Osmanya,
927 Shavian,
928 LinearB,
929 TaiLe,
930 Ugaritic,
931 NewTaiLue,
932 Buginese,
933 Glagolitic,
934 Tifinagh,
935 SylotiNagri,
936 OldPersian,
937 Kharoshthi,
938 Unknown,
939 Balinese,
940 Cuneiform,
941 Phoenician,
942 PhagsPa,
943 Nko,
944 KayahLi,
945 Lepcha,
946 Rejang,
947 Sundanese,
948 Saurashtra,
949 Cham,
950 OlChiki,
951 Vai,
952 Carian,
953 Lycian,
954 Lydian,
955 Batak,
956 Brahmi,
957 Mandaic,
958 Chakma,
959 MeroiticCursive,
960 MeroiticHieroglyphs,
961 Miao,
962 Sharada,
963 SoraSompeng,
964 Takri,
965 BassaVah,
966 CaucasianAlbanian,
967 Duployan,
968 Elbasan,
969 Grantha,
970 Khojki,
971 Khudawadi,
972 LinearA,
973 Mahajani,
974 Manichaean,
975 MendeKikakui,
976 Modi,
977 Mro,
978 Nabataean,
979 OldNorthArabian,
980 OldPermic,
981 PahawhHmong,
982 Palmyrene,
983 PauCinHau,
984 PsalterPahlavi,
985 Siddham,
986 Tirhuta,
987 WarangCiti,
988 Ahom,
989 AnatolianHieroglyphs,
990 Hatran,
991 Multani,
992 OldHungarian,
993 Signwriting,
994 #[doc(hidden)]
995 __Unknown(i32),
996}
997
998impl fmt::Display for Script {
999 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1000 write!(
1001 f,
1002 "Script::{}",
1003 match *self {
1004 Script::InvalidCode => "InvalidCode",
1005 Script::Common => "Common",
1006 Script::Inherited => "Inherited",
1007 Script::Arabic => "Arabic",
1008 Script::Armenian => "Armenian",
1009 Script::Bengali => "Bengali",
1010 Script::Bopomofo => "Bopomofo",
1011 Script::Cherokee => "Cherokee",
1012 Script::Coptic => "Coptic",
1013 Script::Cyrillic => "Cyrillic",
1014 Script::Deseret => "Deseret",
1015 Script::Devanagari => "Devanagari",
1016 Script::Ethiopic => "Ethiopic",
1017 Script::Georgian => "Georgian",
1018 Script::Gothic => "Gothic",
1019 Script::Greek => "Greek",
1020 Script::Gujarati => "Gujarati",
1021 Script::Gurmukhi => "Gurmukhi",
1022 Script::Han => "Han",
1023 Script::Hangul => "Hangul",
1024 Script::Hebrew => "Hebrew",
1025 Script::Hiragana => "Hiragana",
1026 Script::Kannada => "Kannada",
1027 Script::Katakana => "Katakana",
1028 Script::Khmer => "Khmer",
1029 Script::Lao => "Lao",
1030 Script::Latin => "Latin",
1031 Script::Malayalam => "Malayalam",
1032 Script::Mongolian => "Mongolian",
1033 Script::Myanmar => "Myanmar",
1034 Script::Ogham => "Ogham",
1035 Script::OldItalic => "OldItalic",
1036 Script::Oriya => "Oriya",
1037 Script::Runic => "Runic",
1038 Script::Sinhala => "Sinhala",
1039 Script::Syriac => "Syriac",
1040 Script::Tamil => "Tamil",
1041 Script::Telugu => "Telugu",
1042 Script::Thaana => "Thaana",
1043 Script::Thai => "Thai",
1044 Script::Tibetan => "Tibetan",
1045 Script::CanadianAboriginal => "CanadianAboriginal",
1046 Script::Yi => "Yi",
1047 Script::Tagalog => "Tagalog",
1048 Script::Hanunoo => "Hanunoo",
1049 Script::Buhid => "Buhid",
1050 Script::Tagbanwa => "Tagbanwa",
1051 Script::Braille => "Braille",
1052 Script::Cypriot => "Cypriot",
1053 Script::Limbu => "Limbu",
1054 Script::Osmanya => "Osmanya",
1055 Script::Shavian => "Shavian",
1056 Script::LinearB => "LinearB",
1057 Script::TaiLe => "TaiLe",
1058 Script::Ugaritic => "Ugaritic",
1059 Script::NewTaiLue => "NewTaiLue",
1060 Script::Buginese => "Buginese",
1061 Script::Glagolitic => "Glagolitic",
1062 Script::Tifinagh => "Tifinagh",
1063 Script::SylotiNagri => "SylotiNagri",
1064 Script::OldPersian => "OldPersian",
1065 Script::Kharoshthi => "Kharoshthi",
1066 Script::Unknown => "Unknown",
1067 Script::Balinese => "Balinese",
1068 Script::Cuneiform => "Cuneiform",
1069 Script::Phoenician => "Phoenician",
1070 Script::PhagsPa => "PhagsPa",
1071 Script::Nko => "Nko",
1072 Script::KayahLi => "KayahLi",
1073 Script::Lepcha => "Lepcha",
1074 Script::Rejang => "Rejang",
1075 Script::Sundanese => "Sundanese",
1076 Script::Saurashtra => "Saurashtra",
1077 Script::Cham => "Cham",
1078 Script::OlChiki => "OlChiki",
1079 Script::Vai => "Vai",
1080 Script::Carian => "Carian",
1081 Script::Lycian => "Lycian",
1082 Script::Lydian => "Lydian",
1083 Script::Batak => "Batak",
1084 Script::Brahmi => "Brahmi",
1085 Script::Mandaic => "Mandaic",
1086 Script::Chakma => "Chakma",
1087 Script::MeroiticCursive => "MeroiticCursive",
1088 Script::MeroiticHieroglyphs => "MeroiticHieroglyphs",
1089 Script::Miao => "Miao",
1090 Script::Sharada => "Sharada",
1091 Script::SoraSompeng => "SoraSompeng",
1092 Script::Takri => "Takri",
1093 Script::BassaVah => "BassaVah",
1094 Script::CaucasianAlbanian => "CaucasianAlbanian",
1095 Script::Duployan => "Duployan",
1096 Script::Elbasan => "Elbasan",
1097 Script::Grantha => "Grantha",
1098 Script::Khojki => "Khojki",
1099 Script::Khudawadi => "Khudawadi",
1100 Script::LinearA => "LinearA",
1101 Script::Mahajani => "Mahajani",
1102 Script::Manichaean => "Manichaean",
1103 Script::MendeKikakui => "MendeKikakui",
1104 Script::Modi => "Modi",
1105 Script::Mro => "Mro",
1106 Script::Nabataean => "Nabataean",
1107 Script::OldNorthArabian => "OldNorthArabian",
1108 Script::OldPermic => "OldPermic",
1109 Script::PahawhHmong => "PahawhHmong",
1110 Script::Palmyrene => "Palmyrene",
1111 Script::PauCinHau => "PauCinHau",
1112 Script::PsalterPahlavi => "PsalterPahlavi",
1113 Script::Siddham => "Siddham",
1114 Script::Tirhuta => "Tirhuta",
1115 Script::WarangCiti => "WarangCiti",
1116 Script::Ahom => "Ahom",
1117 Script::AnatolianHieroglyphs => "AnatolianHieroglyphs",
1118 Script::Hatran => "Hatran",
1119 Script::Multani => "Multani",
1120 Script::OldHungarian => "OldHungarian",
1121 Script::Signwriting => "Signwriting",
1122 _ => "Unknown",
1123 }
1124 )
1125 }
1126}
1127
1128#[doc(hidden)]
1129impl ToGlib for Script {
1130 type GlibType = pango_sys::PangoScript;
1131
1132 fn to_glib(&self) -> pango_sys::PangoScript {
1133 match *self {
1134 Script::InvalidCode => pango_sys::PANGO_SCRIPT_INVALID_CODE,
1135 Script::Common => pango_sys::PANGO_SCRIPT_COMMON,
1136 Script::Inherited => pango_sys::PANGO_SCRIPT_INHERITED,
1137 Script::Arabic => pango_sys::PANGO_SCRIPT_ARABIC,
1138 Script::Armenian => pango_sys::PANGO_SCRIPT_ARMENIAN,
1139 Script::Bengali => pango_sys::PANGO_SCRIPT_BENGALI,
1140 Script::Bopomofo => pango_sys::PANGO_SCRIPT_BOPOMOFO,
1141 Script::Cherokee => pango_sys::PANGO_SCRIPT_CHEROKEE,
1142 Script::Coptic => pango_sys::PANGO_SCRIPT_COPTIC,
1143 Script::Cyrillic => pango_sys::PANGO_SCRIPT_CYRILLIC,
1144 Script::Deseret => pango_sys::PANGO_SCRIPT_DESERET,
1145 Script::Devanagari => pango_sys::PANGO_SCRIPT_DEVANAGARI,
1146 Script::Ethiopic => pango_sys::PANGO_SCRIPT_ETHIOPIC,
1147 Script::Georgian => pango_sys::PANGO_SCRIPT_GEORGIAN,
1148 Script::Gothic => pango_sys::PANGO_SCRIPT_GOTHIC,
1149 Script::Greek => pango_sys::PANGO_SCRIPT_GREEK,
1150 Script::Gujarati => pango_sys::PANGO_SCRIPT_GUJARATI,
1151 Script::Gurmukhi => pango_sys::PANGO_SCRIPT_GURMUKHI,
1152 Script::Han => pango_sys::PANGO_SCRIPT_HAN,
1153 Script::Hangul => pango_sys::PANGO_SCRIPT_HANGUL,
1154 Script::Hebrew => pango_sys::PANGO_SCRIPT_HEBREW,
1155 Script::Hiragana => pango_sys::PANGO_SCRIPT_HIRAGANA,
1156 Script::Kannada => pango_sys::PANGO_SCRIPT_KANNADA,
1157 Script::Katakana => pango_sys::PANGO_SCRIPT_KATAKANA,
1158 Script::Khmer => pango_sys::PANGO_SCRIPT_KHMER,
1159 Script::Lao => pango_sys::PANGO_SCRIPT_LAO,
1160 Script::Latin => pango_sys::PANGO_SCRIPT_LATIN,
1161 Script::Malayalam => pango_sys::PANGO_SCRIPT_MALAYALAM,
1162 Script::Mongolian => pango_sys::PANGO_SCRIPT_MONGOLIAN,
1163 Script::Myanmar => pango_sys::PANGO_SCRIPT_MYANMAR,
1164 Script::Ogham => pango_sys::PANGO_SCRIPT_OGHAM,
1165 Script::OldItalic => pango_sys::PANGO_SCRIPT_OLD_ITALIC,
1166 Script::Oriya => pango_sys::PANGO_SCRIPT_ORIYA,
1167 Script::Runic => pango_sys::PANGO_SCRIPT_RUNIC,
1168 Script::Sinhala => pango_sys::PANGO_SCRIPT_SINHALA,
1169 Script::Syriac => pango_sys::PANGO_SCRIPT_SYRIAC,
1170 Script::Tamil => pango_sys::PANGO_SCRIPT_TAMIL,
1171 Script::Telugu => pango_sys::PANGO_SCRIPT_TELUGU,
1172 Script::Thaana => pango_sys::PANGO_SCRIPT_THAANA,
1173 Script::Thai => pango_sys::PANGO_SCRIPT_THAI,
1174 Script::Tibetan => pango_sys::PANGO_SCRIPT_TIBETAN,
1175 Script::CanadianAboriginal => pango_sys::PANGO_SCRIPT_CANADIAN_ABORIGINAL,
1176 Script::Yi => pango_sys::PANGO_SCRIPT_YI,
1177 Script::Tagalog => pango_sys::PANGO_SCRIPT_TAGALOG,
1178 Script::Hanunoo => pango_sys::PANGO_SCRIPT_HANUNOO,
1179 Script::Buhid => pango_sys::PANGO_SCRIPT_BUHID,
1180 Script::Tagbanwa => pango_sys::PANGO_SCRIPT_TAGBANWA,
1181 Script::Braille => pango_sys::PANGO_SCRIPT_BRAILLE,
1182 Script::Cypriot => pango_sys::PANGO_SCRIPT_CYPRIOT,
1183 Script::Limbu => pango_sys::PANGO_SCRIPT_LIMBU,
1184 Script::Osmanya => pango_sys::PANGO_SCRIPT_OSMANYA,
1185 Script::Shavian => pango_sys::PANGO_SCRIPT_SHAVIAN,
1186 Script::LinearB => pango_sys::PANGO_SCRIPT_LINEAR_B,
1187 Script::TaiLe => pango_sys::PANGO_SCRIPT_TAI_LE,
1188 Script::Ugaritic => pango_sys::PANGO_SCRIPT_UGARITIC,
1189 Script::NewTaiLue => pango_sys::PANGO_SCRIPT_NEW_TAI_LUE,
1190 Script::Buginese => pango_sys::PANGO_SCRIPT_BUGINESE,
1191 Script::Glagolitic => pango_sys::PANGO_SCRIPT_GLAGOLITIC,
1192 Script::Tifinagh => pango_sys::PANGO_SCRIPT_TIFINAGH,
1193 Script::SylotiNagri => pango_sys::PANGO_SCRIPT_SYLOTI_NAGRI,
1194 Script::OldPersian => pango_sys::PANGO_SCRIPT_OLD_PERSIAN,
1195 Script::Kharoshthi => pango_sys::PANGO_SCRIPT_KHAROSHTHI,
1196 Script::Unknown => pango_sys::PANGO_SCRIPT_UNKNOWN,
1197 Script::Balinese => pango_sys::PANGO_SCRIPT_BALINESE,
1198 Script::Cuneiform => pango_sys::PANGO_SCRIPT_CUNEIFORM,
1199 Script::Phoenician => pango_sys::PANGO_SCRIPT_PHOENICIAN,
1200 Script::PhagsPa => pango_sys::PANGO_SCRIPT_PHAGS_PA,
1201 Script::Nko => pango_sys::PANGO_SCRIPT_NKO,
1202 Script::KayahLi => pango_sys::PANGO_SCRIPT_KAYAH_LI,
1203 Script::Lepcha => pango_sys::PANGO_SCRIPT_LEPCHA,
1204 Script::Rejang => pango_sys::PANGO_SCRIPT_REJANG,
1205 Script::Sundanese => pango_sys::PANGO_SCRIPT_SUNDANESE,
1206 Script::Saurashtra => pango_sys::PANGO_SCRIPT_SAURASHTRA,
1207 Script::Cham => pango_sys::PANGO_SCRIPT_CHAM,
1208 Script::OlChiki => pango_sys::PANGO_SCRIPT_OL_CHIKI,
1209 Script::Vai => pango_sys::PANGO_SCRIPT_VAI,
1210 Script::Carian => pango_sys::PANGO_SCRIPT_CARIAN,
1211 Script::Lycian => pango_sys::PANGO_SCRIPT_LYCIAN,
1212 Script::Lydian => pango_sys::PANGO_SCRIPT_LYDIAN,
1213 Script::Batak => pango_sys::PANGO_SCRIPT_BATAK,
1214 Script::Brahmi => pango_sys::PANGO_SCRIPT_BRAHMI,
1215 Script::Mandaic => pango_sys::PANGO_SCRIPT_MANDAIC,
1216 Script::Chakma => pango_sys::PANGO_SCRIPT_CHAKMA,
1217 Script::MeroiticCursive => pango_sys::PANGO_SCRIPT_MEROITIC_CURSIVE,
1218 Script::MeroiticHieroglyphs => pango_sys::PANGO_SCRIPT_MEROITIC_HIEROGLYPHS,
1219 Script::Miao => pango_sys::PANGO_SCRIPT_MIAO,
1220 Script::Sharada => pango_sys::PANGO_SCRIPT_SHARADA,
1221 Script::SoraSompeng => pango_sys::PANGO_SCRIPT_SORA_SOMPENG,
1222 Script::Takri => pango_sys::PANGO_SCRIPT_TAKRI,
1223 Script::BassaVah => pango_sys::PANGO_SCRIPT_BASSA_VAH,
1224 Script::CaucasianAlbanian => pango_sys::PANGO_SCRIPT_CAUCASIAN_ALBANIAN,
1225 Script::Duployan => pango_sys::PANGO_SCRIPT_DUPLOYAN,
1226 Script::Elbasan => pango_sys::PANGO_SCRIPT_ELBASAN,
1227 Script::Grantha => pango_sys::PANGO_SCRIPT_GRANTHA,
1228 Script::Khojki => pango_sys::PANGO_SCRIPT_KHOJKI,
1229 Script::Khudawadi => pango_sys::PANGO_SCRIPT_KHUDAWADI,
1230 Script::LinearA => pango_sys::PANGO_SCRIPT_LINEAR_A,
1231 Script::Mahajani => pango_sys::PANGO_SCRIPT_MAHAJANI,
1232 Script::Manichaean => pango_sys::PANGO_SCRIPT_MANICHAEAN,
1233 Script::MendeKikakui => pango_sys::PANGO_SCRIPT_MENDE_KIKAKUI,
1234 Script::Modi => pango_sys::PANGO_SCRIPT_MODI,
1235 Script::Mro => pango_sys::PANGO_SCRIPT_MRO,
1236 Script::Nabataean => pango_sys::PANGO_SCRIPT_NABATAEAN,
1237 Script::OldNorthArabian => pango_sys::PANGO_SCRIPT_OLD_NORTH_ARABIAN,
1238 Script::OldPermic => pango_sys::PANGO_SCRIPT_OLD_PERMIC,
1239 Script::PahawhHmong => pango_sys::PANGO_SCRIPT_PAHAWH_HMONG,
1240 Script::Palmyrene => pango_sys::PANGO_SCRIPT_PALMYRENE,
1241 Script::PauCinHau => pango_sys::PANGO_SCRIPT_PAU_CIN_HAU,
1242 Script::PsalterPahlavi => pango_sys::PANGO_SCRIPT_PSALTER_PAHLAVI,
1243 Script::Siddham => pango_sys::PANGO_SCRIPT_SIDDHAM,
1244 Script::Tirhuta => pango_sys::PANGO_SCRIPT_TIRHUTA,
1245 Script::WarangCiti => pango_sys::PANGO_SCRIPT_WARANG_CITI,
1246 Script::Ahom => pango_sys::PANGO_SCRIPT_AHOM,
1247 Script::AnatolianHieroglyphs => pango_sys::PANGO_SCRIPT_ANATOLIAN_HIEROGLYPHS,
1248 Script::Hatran => pango_sys::PANGO_SCRIPT_HATRAN,
1249 Script::Multani => pango_sys::PANGO_SCRIPT_MULTANI,
1250 Script::OldHungarian => pango_sys::PANGO_SCRIPT_OLD_HUNGARIAN,
1251 Script::Signwriting => pango_sys::PANGO_SCRIPT_SIGNWRITING,
1252 Script::__Unknown(value) => value,
1253 }
1254 }
1255}
1256
1257#[doc(hidden)]
1258impl FromGlib<pango_sys::PangoScript> for Script {
1259 fn from_glib(value: pango_sys::PangoScript) -> Self {
1260 match value {
1261 -1 => Script::InvalidCode,
1262 0 => Script::Common,
1263 1 => Script::Inherited,
1264 2 => Script::Arabic,
1265 3 => Script::Armenian,
1266 4 => Script::Bengali,
1267 5 => Script::Bopomofo,
1268 6 => Script::Cherokee,
1269 7 => Script::Coptic,
1270 8 => Script::Cyrillic,
1271 9 => Script::Deseret,
1272 10 => Script::Devanagari,
1273 11 => Script::Ethiopic,
1274 12 => Script::Georgian,
1275 13 => Script::Gothic,
1276 14 => Script::Greek,
1277 15 => Script::Gujarati,
1278 16 => Script::Gurmukhi,
1279 17 => Script::Han,
1280 18 => Script::Hangul,
1281 19 => Script::Hebrew,
1282 20 => Script::Hiragana,
1283 21 => Script::Kannada,
1284 22 => Script::Katakana,
1285 23 => Script::Khmer,
1286 24 => Script::Lao,
1287 25 => Script::Latin,
1288 26 => Script::Malayalam,
1289 27 => Script::Mongolian,
1290 28 => Script::Myanmar,
1291 29 => Script::Ogham,
1292 30 => Script::OldItalic,
1293 31 => Script::Oriya,
1294 32 => Script::Runic,
1295 33 => Script::Sinhala,
1296 34 => Script::Syriac,
1297 35 => Script::Tamil,
1298 36 => Script::Telugu,
1299 37 => Script::Thaana,
1300 38 => Script::Thai,
1301 39 => Script::Tibetan,
1302 40 => Script::CanadianAboriginal,
1303 41 => Script::Yi,
1304 42 => Script::Tagalog,
1305 43 => Script::Hanunoo,
1306 44 => Script::Buhid,
1307 45 => Script::Tagbanwa,
1308 46 => Script::Braille,
1309 47 => Script::Cypriot,
1310 48 => Script::Limbu,
1311 49 => Script::Osmanya,
1312 50 => Script::Shavian,
1313 51 => Script::LinearB,
1314 52 => Script::TaiLe,
1315 53 => Script::Ugaritic,
1316 54 => Script::NewTaiLue,
1317 55 => Script::Buginese,
1318 56 => Script::Glagolitic,
1319 57 => Script::Tifinagh,
1320 58 => Script::SylotiNagri,
1321 59 => Script::OldPersian,
1322 60 => Script::Kharoshthi,
1323 61 => Script::Unknown,
1324 62 => Script::Balinese,
1325 63 => Script::Cuneiform,
1326 64 => Script::Phoenician,
1327 65 => Script::PhagsPa,
1328 66 => Script::Nko,
1329 67 => Script::KayahLi,
1330 68 => Script::Lepcha,
1331 69 => Script::Rejang,
1332 70 => Script::Sundanese,
1333 71 => Script::Saurashtra,
1334 72 => Script::Cham,
1335 73 => Script::OlChiki,
1336 74 => Script::Vai,
1337 75 => Script::Carian,
1338 76 => Script::Lycian,
1339 77 => Script::Lydian,
1340 78 => Script::Batak,
1341 79 => Script::Brahmi,
1342 80 => Script::Mandaic,
1343 81 => Script::Chakma,
1344 82 => Script::MeroiticCursive,
1345 83 => Script::MeroiticHieroglyphs,
1346 84 => Script::Miao,
1347 85 => Script::Sharada,
1348 86 => Script::SoraSompeng,
1349 87 => Script::Takri,
1350 88 => Script::BassaVah,
1351 89 => Script::CaucasianAlbanian,
1352 90 => Script::Duployan,
1353 91 => Script::Elbasan,
1354 92 => Script::Grantha,
1355 93 => Script::Khojki,
1356 94 => Script::Khudawadi,
1357 95 => Script::LinearA,
1358 96 => Script::Mahajani,
1359 97 => Script::Manichaean,
1360 98 => Script::MendeKikakui,
1361 99 => Script::Modi,
1362 100 => Script::Mro,
1363 101 => Script::Nabataean,
1364 102 => Script::OldNorthArabian,
1365 103 => Script::OldPermic,
1366 104 => Script::PahawhHmong,
1367 105 => Script::Palmyrene,
1368 106 => Script::PauCinHau,
1369 107 => Script::PsalterPahlavi,
1370 108 => Script::Siddham,
1371 109 => Script::Tirhuta,
1372 110 => Script::WarangCiti,
1373 111 => Script::Ahom,
1374 112 => Script::AnatolianHieroglyphs,
1375 113 => Script::Hatran,
1376 114 => Script::Multani,
1377 115 => Script::OldHungarian,
1378 116 => Script::Signwriting,
1379 value => Script::__Unknown(value),
1380 }
1381 }
1382}
1383
1384impl StaticType for Script {
1385 fn static_type() -> Type {
1386 unsafe { from_glib(pango_sys::pango_script_get_type()) }
1387 }
1388}
1389
1390impl<'a> FromValueOptional<'a> for Script {
1391 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
1392 Some(FromValue::from_value(value))
1393 }
1394}
1395
1396impl<'a> FromValue<'a> for Script {
1397 unsafe fn from_value(value: &Value) -> Self {
1398 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
1399 }
1400}
1401
1402impl SetValue for Script {
1403 unsafe fn set_value(value: &mut Value, this: &Self) {
1404 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
1405 }
1406}
1407
1408#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1409pub enum Stretch {
1410 UltraCondensed,
1411 ExtraCondensed,
1412 Condensed,
1413 SemiCondensed,
1414 Normal,
1415 SemiExpanded,
1416 Expanded,
1417 ExtraExpanded,
1418 UltraExpanded,
1419 #[doc(hidden)]
1420 __Unknown(i32),
1421}
1422
1423impl fmt::Display for Stretch {
1424 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1425 write!(
1426 f,
1427 "Stretch::{}",
1428 match *self {
1429 Stretch::UltraCondensed => "UltraCondensed",
1430 Stretch::ExtraCondensed => "ExtraCondensed",
1431 Stretch::Condensed => "Condensed",
1432 Stretch::SemiCondensed => "SemiCondensed",
1433 Stretch::Normal => "Normal",
1434 Stretch::SemiExpanded => "SemiExpanded",
1435 Stretch::Expanded => "Expanded",
1436 Stretch::ExtraExpanded => "ExtraExpanded",
1437 Stretch::UltraExpanded => "UltraExpanded",
1438 _ => "Unknown",
1439 }
1440 )
1441 }
1442}
1443
1444#[doc(hidden)]
1445impl ToGlib for Stretch {
1446 type GlibType = pango_sys::PangoStretch;
1447
1448 fn to_glib(&self) -> pango_sys::PangoStretch {
1449 match *self {
1450 Stretch::UltraCondensed => pango_sys::PANGO_STRETCH_ULTRA_CONDENSED,
1451 Stretch::ExtraCondensed => pango_sys::PANGO_STRETCH_EXTRA_CONDENSED,
1452 Stretch::Condensed => pango_sys::PANGO_STRETCH_CONDENSED,
1453 Stretch::SemiCondensed => pango_sys::PANGO_STRETCH_SEMI_CONDENSED,
1454 Stretch::Normal => pango_sys::PANGO_STRETCH_NORMAL,
1455 Stretch::SemiExpanded => pango_sys::PANGO_STRETCH_SEMI_EXPANDED,
1456 Stretch::Expanded => pango_sys::PANGO_STRETCH_EXPANDED,
1457 Stretch::ExtraExpanded => pango_sys::PANGO_STRETCH_EXTRA_EXPANDED,
1458 Stretch::UltraExpanded => pango_sys::PANGO_STRETCH_ULTRA_EXPANDED,
1459 Stretch::__Unknown(value) => value,
1460 }
1461 }
1462}
1463
1464#[doc(hidden)]
1465impl FromGlib<pango_sys::PangoStretch> for Stretch {
1466 fn from_glib(value: pango_sys::PangoStretch) -> Self {
1467 match value {
1468 0 => Stretch::UltraCondensed,
1469 1 => Stretch::ExtraCondensed,
1470 2 => Stretch::Condensed,
1471 3 => Stretch::SemiCondensed,
1472 4 => Stretch::Normal,
1473 5 => Stretch::SemiExpanded,
1474 6 => Stretch::Expanded,
1475 7 => Stretch::ExtraExpanded,
1476 8 => Stretch::UltraExpanded,
1477 value => Stretch::__Unknown(value),
1478 }
1479 }
1480}
1481
1482impl StaticType for Stretch {
1483 fn static_type() -> Type {
1484 unsafe { from_glib(pango_sys::pango_stretch_get_type()) }
1485 }
1486}
1487
1488impl<'a> FromValueOptional<'a> for Stretch {
1489 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
1490 Some(FromValue::from_value(value))
1491 }
1492}
1493
1494impl<'a> FromValue<'a> for Stretch {
1495 unsafe fn from_value(value: &Value) -> Self {
1496 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
1497 }
1498}
1499
1500impl SetValue for Stretch {
1501 unsafe fn set_value(value: &mut Value, this: &Self) {
1502 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
1503 }
1504}
1505
1506#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1507pub enum Style {
1508 Normal,
1509 Oblique,
1510 Italic,
1511 #[doc(hidden)]
1512 __Unknown(i32),
1513}
1514
1515impl fmt::Display for Style {
1516 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1517 write!(
1518 f,
1519 "Style::{}",
1520 match *self {
1521 Style::Normal => "Normal",
1522 Style::Oblique => "Oblique",
1523 Style::Italic => "Italic",
1524 _ => "Unknown",
1525 }
1526 )
1527 }
1528}
1529
1530#[doc(hidden)]
1531impl ToGlib for Style {
1532 type GlibType = pango_sys::PangoStyle;
1533
1534 fn to_glib(&self) -> pango_sys::PangoStyle {
1535 match *self {
1536 Style::Normal => pango_sys::PANGO_STYLE_NORMAL,
1537 Style::Oblique => pango_sys::PANGO_STYLE_OBLIQUE,
1538 Style::Italic => pango_sys::PANGO_STYLE_ITALIC,
1539 Style::__Unknown(value) => value,
1540 }
1541 }
1542}
1543
1544#[doc(hidden)]
1545impl FromGlib<pango_sys::PangoStyle> for Style {
1546 fn from_glib(value: pango_sys::PangoStyle) -> Self {
1547 match value {
1548 0 => Style::Normal,
1549 1 => Style::Oblique,
1550 2 => Style::Italic,
1551 value => Style::__Unknown(value),
1552 }
1553 }
1554}
1555
1556impl StaticType for Style {
1557 fn static_type() -> Type {
1558 unsafe { from_glib(pango_sys::pango_style_get_type()) }
1559 }
1560}
1561
1562impl<'a> FromValueOptional<'a> for Style {
1563 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
1564 Some(FromValue::from_value(value))
1565 }
1566}
1567
1568impl<'a> FromValue<'a> for Style {
1569 unsafe fn from_value(value: &Value) -> Self {
1570 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
1571 }
1572}
1573
1574impl SetValue for Style {
1575 unsafe fn set_value(value: &mut Value, this: &Self) {
1576 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
1577 }
1578}
1579
1580#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1581pub enum TabAlign {
1582 Left,
1583 #[doc(hidden)]
1584 __Unknown(i32),
1585}
1586
1587impl fmt::Display for TabAlign {
1588 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1589 write!(
1590 f,
1591 "TabAlign::{}",
1592 match *self {
1593 TabAlign::Left => "Left",
1594 _ => "Unknown",
1595 }
1596 )
1597 }
1598}
1599
1600#[doc(hidden)]
1601impl ToGlib for TabAlign {
1602 type GlibType = pango_sys::PangoTabAlign;
1603
1604 fn to_glib(&self) -> pango_sys::PangoTabAlign {
1605 match *self {
1606 TabAlign::Left => pango_sys::PANGO_TAB_LEFT,
1607 TabAlign::__Unknown(value) => value,
1608 }
1609 }
1610}
1611
1612#[doc(hidden)]
1613impl FromGlib<pango_sys::PangoTabAlign> for TabAlign {
1614 fn from_glib(value: pango_sys::PangoTabAlign) -> Self {
1615 match value {
1616 0 => TabAlign::Left,
1617 value => TabAlign::__Unknown(value),
1618 }
1619 }
1620}
1621
1622impl StaticType for TabAlign {
1623 fn static_type() -> Type {
1624 unsafe { from_glib(pango_sys::pango_tab_align_get_type()) }
1625 }
1626}
1627
1628impl<'a> FromValueOptional<'a> for TabAlign {
1629 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
1630 Some(FromValue::from_value(value))
1631 }
1632}
1633
1634impl<'a> FromValue<'a> for TabAlign {
1635 unsafe fn from_value(value: &Value) -> Self {
1636 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
1637 }
1638}
1639
1640impl SetValue for TabAlign {
1641 unsafe fn set_value(value: &mut Value, this: &Self) {
1642 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
1643 }
1644}
1645
1646#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1647pub enum Underline {
1648 None,
1649 Single,
1650 Double,
1651 Low,
1652 Error,
1653 #[doc(hidden)]
1654 __Unknown(i32),
1655}
1656
1657impl fmt::Display for Underline {
1658 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1659 write!(
1660 f,
1661 "Underline::{}",
1662 match *self {
1663 Underline::None => "None",
1664 Underline::Single => "Single",
1665 Underline::Double => "Double",
1666 Underline::Low => "Low",
1667 Underline::Error => "Error",
1668 _ => "Unknown",
1669 }
1670 )
1671 }
1672}
1673
1674#[doc(hidden)]
1675impl ToGlib for Underline {
1676 type GlibType = pango_sys::PangoUnderline;
1677
1678 fn to_glib(&self) -> pango_sys::PangoUnderline {
1679 match *self {
1680 Underline::None => pango_sys::PANGO_UNDERLINE_NONE,
1681 Underline::Single => pango_sys::PANGO_UNDERLINE_SINGLE,
1682 Underline::Double => pango_sys::PANGO_UNDERLINE_DOUBLE,
1683 Underline::Low => pango_sys::PANGO_UNDERLINE_LOW,
1684 Underline::Error => pango_sys::PANGO_UNDERLINE_ERROR,
1685 Underline::__Unknown(value) => value,
1686 }
1687 }
1688}
1689
1690#[doc(hidden)]
1691impl FromGlib<pango_sys::PangoUnderline> for Underline {
1692 fn from_glib(value: pango_sys::PangoUnderline) -> Self {
1693 match value {
1694 0 => Underline::None,
1695 1 => Underline::Single,
1696 2 => Underline::Double,
1697 3 => Underline::Low,
1698 4 => Underline::Error,
1699 value => Underline::__Unknown(value),
1700 }
1701 }
1702}
1703
1704impl StaticType for Underline {
1705 fn static_type() -> Type {
1706 unsafe { from_glib(pango_sys::pango_underline_get_type()) }
1707 }
1708}
1709
1710impl<'a> FromValueOptional<'a> for Underline {
1711 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
1712 Some(FromValue::from_value(value))
1713 }
1714}
1715
1716impl<'a> FromValue<'a> for Underline {
1717 unsafe fn from_value(value: &Value) -> Self {
1718 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
1719 }
1720}
1721
1722impl SetValue for Underline {
1723 unsafe fn set_value(value: &mut Value, this: &Self) {
1724 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
1725 }
1726}
1727
1728#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1729pub enum Variant {
1730 Normal,
1731 SmallCaps,
1732 #[doc(hidden)]
1733 __Unknown(i32),
1734}
1735
1736impl fmt::Display for Variant {
1737 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1738 write!(
1739 f,
1740 "Variant::{}",
1741 match *self {
1742 Variant::Normal => "Normal",
1743 Variant::SmallCaps => "SmallCaps",
1744 _ => "Unknown",
1745 }
1746 )
1747 }
1748}
1749
1750#[doc(hidden)]
1751impl ToGlib for Variant {
1752 type GlibType = pango_sys::PangoVariant;
1753
1754 fn to_glib(&self) -> pango_sys::PangoVariant {
1755 match *self {
1756 Variant::Normal => pango_sys::PANGO_VARIANT_NORMAL,
1757 Variant::SmallCaps => pango_sys::PANGO_VARIANT_SMALL_CAPS,
1758 Variant::__Unknown(value) => value,
1759 }
1760 }
1761}
1762
1763#[doc(hidden)]
1764impl FromGlib<pango_sys::PangoVariant> for Variant {
1765 fn from_glib(value: pango_sys::PangoVariant) -> Self {
1766 match value {
1767 0 => Variant::Normal,
1768 1 => Variant::SmallCaps,
1769 value => Variant::__Unknown(value),
1770 }
1771 }
1772}
1773
1774impl StaticType for Variant {
1775 fn static_type() -> Type {
1776 unsafe { from_glib(pango_sys::pango_variant_get_type()) }
1777 }
1778}
1779
1780impl<'a> FromValueOptional<'a> for Variant {
1781 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
1782 Some(FromValue::from_value(value))
1783 }
1784}
1785
1786impl<'a> FromValue<'a> for Variant {
1787 unsafe fn from_value(value: &Value) -> Self {
1788 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
1789 }
1790}
1791
1792impl SetValue for Variant {
1793 unsafe fn set_value(value: &mut Value, this: &Self) {
1794 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
1795 }
1796}
1797
1798#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1799pub enum Weight {
1800 Thin,
1801 Ultralight,
1802 Light,
1803 Semilight,
1804 Book,
1805 Normal,
1806 Medium,
1807 Semibold,
1808 Bold,
1809 Ultrabold,
1810 Heavy,
1811 Ultraheavy,
1812 #[doc(hidden)]
1813 __Unknown(i32),
1814}
1815
1816impl fmt::Display for Weight {
1817 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1818 write!(
1819 f,
1820 "Weight::{}",
1821 match *self {
1822 Weight::Thin => "Thin",
1823 Weight::Ultralight => "Ultralight",
1824 Weight::Light => "Light",
1825 Weight::Semilight => "Semilight",
1826 Weight::Book => "Book",
1827 Weight::Normal => "Normal",
1828 Weight::Medium => "Medium",
1829 Weight::Semibold => "Semibold",
1830 Weight::Bold => "Bold",
1831 Weight::Ultrabold => "Ultrabold",
1832 Weight::Heavy => "Heavy",
1833 Weight::Ultraheavy => "Ultraheavy",
1834 _ => "Unknown",
1835 }
1836 )
1837 }
1838}
1839
1840#[doc(hidden)]
1841impl ToGlib for Weight {
1842 type GlibType = pango_sys::PangoWeight;
1843
1844 fn to_glib(&self) -> pango_sys::PangoWeight {
1845 match *self {
1846 Weight::Thin => pango_sys::PANGO_WEIGHT_THIN,
1847 Weight::Ultralight => pango_sys::PANGO_WEIGHT_ULTRALIGHT,
1848 Weight::Light => pango_sys::PANGO_WEIGHT_LIGHT,
1849 Weight::Semilight => pango_sys::PANGO_WEIGHT_SEMILIGHT,
1850 Weight::Book => pango_sys::PANGO_WEIGHT_BOOK,
1851 Weight::Normal => pango_sys::PANGO_WEIGHT_NORMAL,
1852 Weight::Medium => pango_sys::PANGO_WEIGHT_MEDIUM,
1853 Weight::Semibold => pango_sys::PANGO_WEIGHT_SEMIBOLD,
1854 Weight::Bold => pango_sys::PANGO_WEIGHT_BOLD,
1855 Weight::Ultrabold => pango_sys::PANGO_WEIGHT_ULTRABOLD,
1856 Weight::Heavy => pango_sys::PANGO_WEIGHT_HEAVY,
1857 Weight::Ultraheavy => pango_sys::PANGO_WEIGHT_ULTRAHEAVY,
1858 Weight::__Unknown(value) => value,
1859 }
1860 }
1861}
1862
1863#[doc(hidden)]
1864impl FromGlib<pango_sys::PangoWeight> for Weight {
1865 fn from_glib(value: pango_sys::PangoWeight) -> Self {
1866 match value {
1867 100 => Weight::Thin,
1868 200 => Weight::Ultralight,
1869 300 => Weight::Light,
1870 350 => Weight::Semilight,
1871 380 => Weight::Book,
1872 400 => Weight::Normal,
1873 500 => Weight::Medium,
1874 600 => Weight::Semibold,
1875 700 => Weight::Bold,
1876 800 => Weight::Ultrabold,
1877 900 => Weight::Heavy,
1878 1000 => Weight::Ultraheavy,
1879 value => Weight::__Unknown(value),
1880 }
1881 }
1882}
1883
1884impl StaticType for Weight {
1885 fn static_type() -> Type {
1886 unsafe { from_glib(pango_sys::pango_weight_get_type()) }
1887 }
1888}
1889
1890impl<'a> FromValueOptional<'a> for Weight {
1891 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
1892 Some(FromValue::from_value(value))
1893 }
1894}
1895
1896impl<'a> FromValue<'a> for Weight {
1897 unsafe fn from_value(value: &Value) -> Self {
1898 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
1899 }
1900}
1901
1902impl SetValue for Weight {
1903 unsafe fn set_value(value: &mut Value, this: &Self) {
1904 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
1905 }
1906}
1907
1908#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1909pub enum WrapMode {
1910 Word,
1911 Char,
1912 WordChar,
1913 #[doc(hidden)]
1914 __Unknown(i32),
1915}
1916
1917impl fmt::Display for WrapMode {
1918 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1919 write!(
1920 f,
1921 "WrapMode::{}",
1922 match *self {
1923 WrapMode::Word => "Word",
1924 WrapMode::Char => "Char",
1925 WrapMode::WordChar => "WordChar",
1926 _ => "Unknown",
1927 }
1928 )
1929 }
1930}
1931
1932#[doc(hidden)]
1933impl ToGlib for WrapMode {
1934 type GlibType = pango_sys::PangoWrapMode;
1935
1936 fn to_glib(&self) -> pango_sys::PangoWrapMode {
1937 match *self {
1938 WrapMode::Word => pango_sys::PANGO_WRAP_WORD,
1939 WrapMode::Char => pango_sys::PANGO_WRAP_CHAR,
1940 WrapMode::WordChar => pango_sys::PANGO_WRAP_WORD_CHAR,
1941 WrapMode::__Unknown(value) => value,
1942 }
1943 }
1944}
1945
1946#[doc(hidden)]
1947impl FromGlib<pango_sys::PangoWrapMode> for WrapMode {
1948 fn from_glib(value: pango_sys::PangoWrapMode) -> Self {
1949 match value {
1950 0 => WrapMode::Word,
1951 1 => WrapMode::Char,
1952 2 => WrapMode::WordChar,
1953 value => WrapMode::__Unknown(value),
1954 }
1955 }
1956}
1957
1958impl StaticType for WrapMode {
1959 fn static_type() -> Type {
1960 unsafe { from_glib(pango_sys::pango_wrap_mode_get_type()) }
1961 }
1962}
1963
1964impl<'a> FromValueOptional<'a> for WrapMode {
1965 unsafe fn from_value_optional(value: &Value) -> Option<Self> {
1966 Some(FromValue::from_value(value))
1967 }
1968}
1969
1970impl<'a> FromValue<'a> for WrapMode {
1971 unsafe fn from_value(value: &Value) -> Self {
1972 from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
1973 }
1974}
1975
1976impl SetValue for WrapMode {
1977 unsafe fn set_value(value: &mut Value, this: &Self) {
1978 gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
1979 }
1980}