1use crate::{ffi};
7use glib::{prelude::*,translate::*};
8
9#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
10#[derive(Clone, Copy)]
11#[non_exhaustive]
12#[doc(alias = "BisAlbumTransitionType")]
13pub enum AlbumTransitionType {
14 #[doc(alias = "BIS_ALBUM_TRANSITION_TYPE_OVER")]
15 Over,
16 #[doc(alias = "BIS_ALBUM_TRANSITION_TYPE_UNDER")]
17 Under,
18 #[doc(alias = "BIS_ALBUM_TRANSITION_TYPE_SLIDE")]
19 Slide,
20#[doc(hidden)]
21 __Unknown(i32),
22}
23
24#[doc(hidden)]
25impl IntoGlib for AlbumTransitionType {
26 type GlibType = ffi::BisAlbumTransitionType;
27
28 #[inline]
29fn into_glib(self) -> ffi::BisAlbumTransitionType {
30match self {
31 Self::Over => ffi::BIS_ALBUM_TRANSITION_TYPE_OVER,
32 Self::Under => ffi::BIS_ALBUM_TRANSITION_TYPE_UNDER,
33 Self::Slide => ffi::BIS_ALBUM_TRANSITION_TYPE_SLIDE,
34 Self::__Unknown(value) => value,
35}
36}
37}
38
39#[doc(hidden)]
40impl FromGlib<ffi::BisAlbumTransitionType> for AlbumTransitionType {
41 #[inline]
42unsafe fn from_glib(value: ffi::BisAlbumTransitionType) -> Self {
43 skip_assert_initialized!();
44
45match value {
46 ffi::BIS_ALBUM_TRANSITION_TYPE_OVER => Self::Over,
47 ffi::BIS_ALBUM_TRANSITION_TYPE_UNDER => Self::Under,
48 ffi::BIS_ALBUM_TRANSITION_TYPE_SLIDE => Self::Slide,
49 value => Self::__Unknown(value),
50}
51}
52}
53
54impl StaticType for AlbumTransitionType {
55 #[inline]
56 #[doc(alias = "bis_album_transition_type_get_type")]
57 fn static_type() -> glib::Type {
58 unsafe { from_glib(ffi::bis_album_transition_type_get_type()) }
59 }
60 }
61
62impl glib::HasParamSpec for AlbumTransitionType {
63 type ParamSpec = glib::ParamSpecEnum;
64 type SetValue = Self;
65 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
66
67 fn param_spec_builder() -> Self::BuilderFn {
68 Self::ParamSpec::builder_with_default
69 }
70}
71
72impl glib::value::ValueType for AlbumTransitionType {
73 type Type = Self;
74}
75
76unsafe impl<'a> glib::value::FromValue<'a> for AlbumTransitionType {
77 type Checker = glib::value::GenericValueTypeChecker<Self>;
78
79 #[inline]
80 unsafe fn from_value(value: &'a glib::Value) -> Self {
81 skip_assert_initialized!();
82 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
83 }
84}
85
86impl ToValue for AlbumTransitionType {
87 #[inline]
88 fn to_value(&self) -> glib::Value {
89 let mut value = glib::Value::for_value_type::<Self>();
90 unsafe {
91 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
92 }
93 value
94 }
95
96 #[inline]
97 fn value_type(&self) -> glib::Type {
98 Self::static_type()
99 }
100}
101
102impl From<AlbumTransitionType> for glib::Value {
103 #[inline]
104 fn from(v: AlbumTransitionType) -> Self {
105 skip_assert_initialized!();
106 ToValue::to_value(&v)
107 }
108}
109
110#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
111#[derive(Clone, Copy)]
112#[non_exhaustive]
113#[doc(alias = "BisAnimationState")]
114pub enum AnimationState {
115 #[doc(alias = "BIS_ANIMATION_IDLE")]
116 Idle,
117 #[doc(alias = "BIS_ANIMATION_PAUSED")]
118 Paused,
119 #[doc(alias = "BIS_ANIMATION_PLAYING")]
120 Playing,
121 #[doc(alias = "BIS_ANIMATION_FINISHED")]
122 Finished,
123#[doc(hidden)]
124 __Unknown(i32),
125}
126
127#[doc(hidden)]
128impl IntoGlib for AnimationState {
129 type GlibType = ffi::BisAnimationState;
130
131 #[inline]
132fn into_glib(self) -> ffi::BisAnimationState {
133match self {
134 Self::Idle => ffi::BIS_ANIMATION_IDLE,
135 Self::Paused => ffi::BIS_ANIMATION_PAUSED,
136 Self::Playing => ffi::BIS_ANIMATION_PLAYING,
137 Self::Finished => ffi::BIS_ANIMATION_FINISHED,
138 Self::__Unknown(value) => value,
139}
140}
141}
142
143#[doc(hidden)]
144impl FromGlib<ffi::BisAnimationState> for AnimationState {
145 #[inline]
146unsafe fn from_glib(value: ffi::BisAnimationState) -> Self {
147 skip_assert_initialized!();
148
149match value {
150 ffi::BIS_ANIMATION_IDLE => Self::Idle,
151 ffi::BIS_ANIMATION_PAUSED => Self::Paused,
152 ffi::BIS_ANIMATION_PLAYING => Self::Playing,
153 ffi::BIS_ANIMATION_FINISHED => Self::Finished,
154 value => Self::__Unknown(value),
155}
156}
157}
158
159impl StaticType for AnimationState {
160 #[inline]
161 #[doc(alias = "bis_animation_state_get_type")]
162 fn static_type() -> glib::Type {
163 unsafe { from_glib(ffi::bis_animation_state_get_type()) }
164 }
165 }
166
167impl glib::HasParamSpec for AnimationState {
168 type ParamSpec = glib::ParamSpecEnum;
169 type SetValue = Self;
170 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
171
172 fn param_spec_builder() -> Self::BuilderFn {
173 Self::ParamSpec::builder_with_default
174 }
175}
176
177impl glib::value::ValueType for AnimationState {
178 type Type = Self;
179}
180
181unsafe impl<'a> glib::value::FromValue<'a> for AnimationState {
182 type Checker = glib::value::GenericValueTypeChecker<Self>;
183
184 #[inline]
185 unsafe fn from_value(value: &'a glib::Value) -> Self {
186 skip_assert_initialized!();
187 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
188 }
189}
190
191impl ToValue for AnimationState {
192 #[inline]
193 fn to_value(&self) -> glib::Value {
194 let mut value = glib::Value::for_value_type::<Self>();
195 unsafe {
196 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
197 }
198 value
199 }
200
201 #[inline]
202 fn value_type(&self) -> glib::Type {
203 Self::static_type()
204 }
205}
206
207impl From<AnimationState> for glib::Value {
208 #[inline]
209 fn from(v: AnimationState) -> Self {
210 skip_assert_initialized!();
211 ToValue::to_value(&v)
212 }
213}
214
215#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
216#[derive(Clone, Copy)]
217#[non_exhaustive]
218#[doc(alias = "BisEasing")]
219pub enum Easing {
220 #[doc(alias = "BIS_LINEAR")]
221 Linear,
222 #[doc(alias = "BIS_EASE_IN_QUAD")]
223 EaseInQuad,
224 #[doc(alias = "BIS_EASE_OUT_QUAD")]
225 EaseOutQuad,
226 #[doc(alias = "BIS_EASE_IN_OUT_QUAD")]
227 EaseInOutQuad,
228 #[doc(alias = "BIS_EASE_IN_CUBIC")]
229 EaseInCubic,
230 #[doc(alias = "BIS_EASE_OUT_CUBIC")]
231 EaseOutCubic,
232 #[doc(alias = "BIS_EASE_IN_OUT_CUBIC")]
233 EaseInOutCubic,
234 #[doc(alias = "BIS_EASE_IN_QUART")]
235 EaseInQuart,
236 #[doc(alias = "BIS_EASE_OUT_QUART")]
237 EaseOutQuart,
238 #[doc(alias = "BIS_EASE_IN_OUT_QUART")]
239 EaseInOutQuart,
240 #[doc(alias = "BIS_EASE_IN_QUINT")]
241 EaseInQuint,
242 #[doc(alias = "BIS_EASE_OUT_QUINT")]
243 EaseOutQuint,
244 #[doc(alias = "BIS_EASE_IN_OUT_QUINT")]
245 EaseInOutQuint,
246 #[doc(alias = "BIS_EASE_IN_SINE")]
247 EaseInSine,
248 #[doc(alias = "BIS_EASE_OUT_SINE")]
249 EaseOutSine,
250 #[doc(alias = "BIS_EASE_IN_OUT_SINE")]
251 EaseInOutSine,
252 #[doc(alias = "BIS_EASE_IN_EXPO")]
253 EaseInExpo,
254 #[doc(alias = "BIS_EASE_OUT_EXPO")]
255 EaseOutExpo,
256 #[doc(alias = "BIS_EASE_IN_OUT_EXPO")]
257 EaseInOutExpo,
258 #[doc(alias = "BIS_EASE_IN_CIRC")]
259 EaseInCirc,
260 #[doc(alias = "BIS_EASE_OUT_CIRC")]
261 EaseOutCirc,
262 #[doc(alias = "BIS_EASE_IN_OUT_CIRC")]
263 EaseInOutCirc,
264 #[doc(alias = "BIS_EASE_IN_ELASTIC")]
265 EaseInElastic,
266 #[doc(alias = "BIS_EASE_OUT_ELASTIC")]
267 EaseOutElastic,
268 #[doc(alias = "BIS_EASE_IN_OUT_ELASTIC")]
269 EaseInOutElastic,
270 #[doc(alias = "BIS_EASE_IN_BACK")]
271 EaseInBack,
272 #[doc(alias = "BIS_EASE_OUT_BACK")]
273 EaseOutBack,
274 #[doc(alias = "BIS_EASE_IN_OUT_BACK")]
275 EaseInOutBack,
276 #[doc(alias = "BIS_EASE_IN_BOUNCE")]
277 EaseInBounce,
278 #[doc(alias = "BIS_EASE_OUT_BOUNCE")]
279 EaseOutBounce,
280 #[doc(alias = "BIS_EASE_IN_OUT_BOUNCE")]
281 EaseInOutBounce,
282#[doc(hidden)]
283 __Unknown(i32),
284}
285
286impl Easing {
287 #[doc(alias = "bis_easing_ease")]
288 pub fn ease(self, value: f64) -> f64 {
289 assert_initialized_main_thread!();
290 unsafe {
291 ffi::bis_easing_ease(self.into_glib(), value)
292 }
293 }
294}
295
296#[doc(hidden)]
297impl IntoGlib for Easing {
298 type GlibType = ffi::BisEasing;
299
300 fn into_glib(self) -> ffi::BisEasing {
301match self {
302 Self::Linear => ffi::BIS_LINEAR,
303 Self::EaseInQuad => ffi::BIS_EASE_IN_QUAD,
304 Self::EaseOutQuad => ffi::BIS_EASE_OUT_QUAD,
305 Self::EaseInOutQuad => ffi::BIS_EASE_IN_OUT_QUAD,
306 Self::EaseInCubic => ffi::BIS_EASE_IN_CUBIC,
307 Self::EaseOutCubic => ffi::BIS_EASE_OUT_CUBIC,
308 Self::EaseInOutCubic => ffi::BIS_EASE_IN_OUT_CUBIC,
309 Self::EaseInQuart => ffi::BIS_EASE_IN_QUART,
310 Self::EaseOutQuart => ffi::BIS_EASE_OUT_QUART,
311 Self::EaseInOutQuart => ffi::BIS_EASE_IN_OUT_QUART,
312 Self::EaseInQuint => ffi::BIS_EASE_IN_QUINT,
313 Self::EaseOutQuint => ffi::BIS_EASE_OUT_QUINT,
314 Self::EaseInOutQuint => ffi::BIS_EASE_IN_OUT_QUINT,
315 Self::EaseInSine => ffi::BIS_EASE_IN_SINE,
316 Self::EaseOutSine => ffi::BIS_EASE_OUT_SINE,
317 Self::EaseInOutSine => ffi::BIS_EASE_IN_OUT_SINE,
318 Self::EaseInExpo => ffi::BIS_EASE_IN_EXPO,
319 Self::EaseOutExpo => ffi::BIS_EASE_OUT_EXPO,
320 Self::EaseInOutExpo => ffi::BIS_EASE_IN_OUT_EXPO,
321 Self::EaseInCirc => ffi::BIS_EASE_IN_CIRC,
322 Self::EaseOutCirc => ffi::BIS_EASE_OUT_CIRC,
323 Self::EaseInOutCirc => ffi::BIS_EASE_IN_OUT_CIRC,
324 Self::EaseInElastic => ffi::BIS_EASE_IN_ELASTIC,
325 Self::EaseOutElastic => ffi::BIS_EASE_OUT_ELASTIC,
326 Self::EaseInOutElastic => ffi::BIS_EASE_IN_OUT_ELASTIC,
327 Self::EaseInBack => ffi::BIS_EASE_IN_BACK,
328 Self::EaseOutBack => ffi::BIS_EASE_OUT_BACK,
329 Self::EaseInOutBack => ffi::BIS_EASE_IN_OUT_BACK,
330 Self::EaseInBounce => ffi::BIS_EASE_IN_BOUNCE,
331 Self::EaseOutBounce => ffi::BIS_EASE_OUT_BOUNCE,
332 Self::EaseInOutBounce => ffi::BIS_EASE_IN_OUT_BOUNCE,
333 Self::__Unknown(value) => value,
334}
335}
336}
337
338#[doc(hidden)]
339impl FromGlib<ffi::BisEasing> for Easing {
340 unsafe fn from_glib(value: ffi::BisEasing) -> Self {
341 skip_assert_initialized!();
342
343match value {
344 ffi::BIS_LINEAR => Self::Linear,
345 ffi::BIS_EASE_IN_QUAD => Self::EaseInQuad,
346 ffi::BIS_EASE_OUT_QUAD => Self::EaseOutQuad,
347 ffi::BIS_EASE_IN_OUT_QUAD => Self::EaseInOutQuad,
348 ffi::BIS_EASE_IN_CUBIC => Self::EaseInCubic,
349 ffi::BIS_EASE_OUT_CUBIC => Self::EaseOutCubic,
350 ffi::BIS_EASE_IN_OUT_CUBIC => Self::EaseInOutCubic,
351 ffi::BIS_EASE_IN_QUART => Self::EaseInQuart,
352 ffi::BIS_EASE_OUT_QUART => Self::EaseOutQuart,
353 ffi::BIS_EASE_IN_OUT_QUART => Self::EaseInOutQuart,
354 ffi::BIS_EASE_IN_QUINT => Self::EaseInQuint,
355 ffi::BIS_EASE_OUT_QUINT => Self::EaseOutQuint,
356 ffi::BIS_EASE_IN_OUT_QUINT => Self::EaseInOutQuint,
357 ffi::BIS_EASE_IN_SINE => Self::EaseInSine,
358 ffi::BIS_EASE_OUT_SINE => Self::EaseOutSine,
359 ffi::BIS_EASE_IN_OUT_SINE => Self::EaseInOutSine,
360 ffi::BIS_EASE_IN_EXPO => Self::EaseInExpo,
361 ffi::BIS_EASE_OUT_EXPO => Self::EaseOutExpo,
362 ffi::BIS_EASE_IN_OUT_EXPO => Self::EaseInOutExpo,
363 ffi::BIS_EASE_IN_CIRC => Self::EaseInCirc,
364 ffi::BIS_EASE_OUT_CIRC => Self::EaseOutCirc,
365 ffi::BIS_EASE_IN_OUT_CIRC => Self::EaseInOutCirc,
366 ffi::BIS_EASE_IN_ELASTIC => Self::EaseInElastic,
367 ffi::BIS_EASE_OUT_ELASTIC => Self::EaseOutElastic,
368 ffi::BIS_EASE_IN_OUT_ELASTIC => Self::EaseInOutElastic,
369 ffi::BIS_EASE_IN_BACK => Self::EaseInBack,
370 ffi::BIS_EASE_OUT_BACK => Self::EaseOutBack,
371 ffi::BIS_EASE_IN_OUT_BACK => Self::EaseInOutBack,
372 ffi::BIS_EASE_IN_BOUNCE => Self::EaseInBounce,
373 ffi::BIS_EASE_OUT_BOUNCE => Self::EaseOutBounce,
374 ffi::BIS_EASE_IN_OUT_BOUNCE => Self::EaseInOutBounce,
375 value => Self::__Unknown(value),
376}
377}
378}
379
380impl StaticType for Easing {
381 #[inline]
382 #[doc(alias = "bis_easing_get_type")]
383 fn static_type() -> glib::Type {
384 unsafe { from_glib(ffi::bis_easing_get_type()) }
385 }
386 }
387
388impl glib::HasParamSpec for Easing {
389 type ParamSpec = glib::ParamSpecEnum;
390 type SetValue = Self;
391 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
392
393 fn param_spec_builder() -> Self::BuilderFn {
394 Self::ParamSpec::builder_with_default
395 }
396}
397
398impl glib::value::ValueType for Easing {
399 type Type = Self;
400}
401
402unsafe impl<'a> glib::value::FromValue<'a> for Easing {
403 type Checker = glib::value::GenericValueTypeChecker<Self>;
404
405 #[inline]
406 unsafe fn from_value(value: &'a glib::Value) -> Self {
407 skip_assert_initialized!();
408 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
409 }
410}
411
412impl ToValue for Easing {
413 #[inline]
414 fn to_value(&self) -> glib::Value {
415 let mut value = glib::Value::for_value_type::<Self>();
416 unsafe {
417 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
418 }
419 value
420 }
421
422 #[inline]
423 fn value_type(&self) -> glib::Type {
424 Self::static_type()
425 }
426}
427
428impl From<Easing> for glib::Value {
429 #[inline]
430 fn from(v: Easing) -> Self {
431 skip_assert_initialized!();
432 ToValue::to_value(&v)
433 }
434}
435
436#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
437#[derive(Clone, Copy)]
438#[non_exhaustive]
439#[doc(alias = "BisFoldThresholdPolicy")]
440pub enum FoldThresholdPolicy {
441 #[doc(alias = "BIS_FOLD_THRESHOLD_POLICY_MINIMUM")]
442 Minimum,
443 #[doc(alias = "BIS_FOLD_THRESHOLD_POLICY_NATURAL")]
444 Natural,
445#[doc(hidden)]
446 __Unknown(i32),
447}
448
449#[doc(hidden)]
450impl IntoGlib for FoldThresholdPolicy {
451 type GlibType = ffi::BisFoldThresholdPolicy;
452
453 #[inline]
454fn into_glib(self) -> ffi::BisFoldThresholdPolicy {
455match self {
456 Self::Minimum => ffi::BIS_FOLD_THRESHOLD_POLICY_MINIMUM,
457 Self::Natural => ffi::BIS_FOLD_THRESHOLD_POLICY_NATURAL,
458 Self::__Unknown(value) => value,
459}
460}
461}
462
463#[doc(hidden)]
464impl FromGlib<ffi::BisFoldThresholdPolicy> for FoldThresholdPolicy {
465 #[inline]
466unsafe fn from_glib(value: ffi::BisFoldThresholdPolicy) -> Self {
467 skip_assert_initialized!();
468
469match value {
470 ffi::BIS_FOLD_THRESHOLD_POLICY_MINIMUM => Self::Minimum,
471 ffi::BIS_FOLD_THRESHOLD_POLICY_NATURAL => Self::Natural,
472 value => Self::__Unknown(value),
473}
474}
475}
476
477impl StaticType for FoldThresholdPolicy {
478 #[inline]
479 #[doc(alias = "bis_fold_threshold_policy_get_type")]
480 fn static_type() -> glib::Type {
481 unsafe { from_glib(ffi::bis_fold_threshold_policy_get_type()) }
482 }
483 }
484
485impl glib::HasParamSpec for FoldThresholdPolicy {
486 type ParamSpec = glib::ParamSpecEnum;
487 type SetValue = Self;
488 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
489
490 fn param_spec_builder() -> Self::BuilderFn {
491 Self::ParamSpec::builder_with_default
492 }
493}
494
495impl glib::value::ValueType for FoldThresholdPolicy {
496 type Type = Self;
497}
498
499unsafe impl<'a> glib::value::FromValue<'a> for FoldThresholdPolicy {
500 type Checker = glib::value::GenericValueTypeChecker<Self>;
501
502 #[inline]
503 unsafe fn from_value(value: &'a glib::Value) -> Self {
504 skip_assert_initialized!();
505 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
506 }
507}
508
509impl ToValue for FoldThresholdPolicy {
510 #[inline]
511 fn to_value(&self) -> glib::Value {
512 let mut value = glib::Value::for_value_type::<Self>();
513 unsafe {
514 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
515 }
516 value
517 }
518
519 #[inline]
520 fn value_type(&self) -> glib::Type {
521 Self::static_type()
522 }
523}
524
525impl From<FoldThresholdPolicy> for glib::Value {
526 #[inline]
527 fn from(v: FoldThresholdPolicy) -> Self {
528 skip_assert_initialized!();
529 ToValue::to_value(&v)
530 }
531}
532
533#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
534#[derive(Clone, Copy)]
535#[non_exhaustive]
536#[doc(alias = "BisHuggerTransitionType")]
537pub enum HuggerTransitionType {
538 #[doc(alias = "BIS_HUGGER_TRANSITION_TYPE_NONE")]
539 None,
540 #[doc(alias = "BIS_HUGGER_TRANSITION_TYPE_CROSSFADE")]
541 Crossfade,
542#[doc(hidden)]
543 __Unknown(i32),
544}
545
546#[doc(hidden)]
547impl IntoGlib for HuggerTransitionType {
548 type GlibType = ffi::BisHuggerTransitionType;
549
550 #[inline]
551fn into_glib(self) -> ffi::BisHuggerTransitionType {
552match self {
553 Self::None => ffi::BIS_HUGGER_TRANSITION_TYPE_NONE,
554 Self::Crossfade => ffi::BIS_HUGGER_TRANSITION_TYPE_CROSSFADE,
555 Self::__Unknown(value) => value,
556}
557}
558}
559
560#[doc(hidden)]
561impl FromGlib<ffi::BisHuggerTransitionType> for HuggerTransitionType {
562 #[inline]
563unsafe fn from_glib(value: ffi::BisHuggerTransitionType) -> Self {
564 skip_assert_initialized!();
565
566match value {
567 ffi::BIS_HUGGER_TRANSITION_TYPE_NONE => Self::None,
568 ffi::BIS_HUGGER_TRANSITION_TYPE_CROSSFADE => Self::Crossfade,
569 value => Self::__Unknown(value),
570}
571}
572}
573
574impl StaticType for HuggerTransitionType {
575 #[inline]
576 #[doc(alias = "bis_hugger_transition_type_get_type")]
577 fn static_type() -> glib::Type {
578 unsafe { from_glib(ffi::bis_hugger_transition_type_get_type()) }
579 }
580 }
581
582impl glib::HasParamSpec for HuggerTransitionType {
583 type ParamSpec = glib::ParamSpecEnum;
584 type SetValue = Self;
585 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
586
587 fn param_spec_builder() -> Self::BuilderFn {
588 Self::ParamSpec::builder_with_default
589 }
590}
591
592impl glib::value::ValueType for HuggerTransitionType {
593 type Type = Self;
594}
595
596unsafe impl<'a> glib::value::FromValue<'a> for HuggerTransitionType {
597 type Checker = glib::value::GenericValueTypeChecker<Self>;
598
599 #[inline]
600 unsafe fn from_value(value: &'a glib::Value) -> Self {
601 skip_assert_initialized!();
602 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
603 }
604}
605
606impl ToValue for HuggerTransitionType {
607 #[inline]
608 fn to_value(&self) -> glib::Value {
609 let mut value = glib::Value::for_value_type::<Self>();
610 unsafe {
611 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
612 }
613 value
614 }
615
616 #[inline]
617 fn value_type(&self) -> glib::Type {
618 Self::static_type()
619 }
620}
621
622impl From<HuggerTransitionType> for glib::Value {
623 #[inline]
624 fn from(v: HuggerTransitionType) -> Self {
625 skip_assert_initialized!();
626 ToValue::to_value(&v)
627 }
628}
629
630#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
631#[derive(Clone, Copy)]
632#[non_exhaustive]
633#[doc(alias = "BisLapelFoldPolicy")]
634pub enum LapelFoldPolicy {
635 #[doc(alias = "BIS_LAPEL_FOLD_POLICY_NEVER")]
636 Never,
637 #[doc(alias = "BIS_LAPEL_FOLD_POLICY_ALWAYS")]
638 Always,
639 #[doc(alias = "BIS_LAPEL_FOLD_POLICY_AUTO")]
640 Auto,
641#[doc(hidden)]
642 __Unknown(i32),
643}
644
645#[doc(hidden)]
646impl IntoGlib for LapelFoldPolicy {
647 type GlibType = ffi::BisLapelFoldPolicy;
648
649 #[inline]
650fn into_glib(self) -> ffi::BisLapelFoldPolicy {
651match self {
652 Self::Never => ffi::BIS_LAPEL_FOLD_POLICY_NEVER,
653 Self::Always => ffi::BIS_LAPEL_FOLD_POLICY_ALWAYS,
654 Self::Auto => ffi::BIS_LAPEL_FOLD_POLICY_AUTO,
655 Self::__Unknown(value) => value,
656}
657}
658}
659
660#[doc(hidden)]
661impl FromGlib<ffi::BisLapelFoldPolicy> for LapelFoldPolicy {
662 #[inline]
663unsafe fn from_glib(value: ffi::BisLapelFoldPolicy) -> Self {
664 skip_assert_initialized!();
665
666match value {
667 ffi::BIS_LAPEL_FOLD_POLICY_NEVER => Self::Never,
668 ffi::BIS_LAPEL_FOLD_POLICY_ALWAYS => Self::Always,
669 ffi::BIS_LAPEL_FOLD_POLICY_AUTO => Self::Auto,
670 value => Self::__Unknown(value),
671}
672}
673}
674
675impl StaticType for LapelFoldPolicy {
676 #[inline]
677 #[doc(alias = "bis_lapel_fold_policy_get_type")]
678 fn static_type() -> glib::Type {
679 unsafe { from_glib(ffi::bis_lapel_fold_policy_get_type()) }
680 }
681 }
682
683impl glib::HasParamSpec for LapelFoldPolicy {
684 type ParamSpec = glib::ParamSpecEnum;
685 type SetValue = Self;
686 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
687
688 fn param_spec_builder() -> Self::BuilderFn {
689 Self::ParamSpec::builder_with_default
690 }
691}
692
693impl glib::value::ValueType for LapelFoldPolicy {
694 type Type = Self;
695}
696
697unsafe impl<'a> glib::value::FromValue<'a> for LapelFoldPolicy {
698 type Checker = glib::value::GenericValueTypeChecker<Self>;
699
700 #[inline]
701 unsafe fn from_value(value: &'a glib::Value) -> Self {
702 skip_assert_initialized!();
703 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
704 }
705}
706
707impl ToValue for LapelFoldPolicy {
708 #[inline]
709 fn to_value(&self) -> glib::Value {
710 let mut value = glib::Value::for_value_type::<Self>();
711 unsafe {
712 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
713 }
714 value
715 }
716
717 #[inline]
718 fn value_type(&self) -> glib::Type {
719 Self::static_type()
720 }
721}
722
723impl From<LapelFoldPolicy> for glib::Value {
724 #[inline]
725 fn from(v: LapelFoldPolicy) -> Self {
726 skip_assert_initialized!();
727 ToValue::to_value(&v)
728 }
729}
730
731#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
732#[derive(Clone, Copy)]
733#[non_exhaustive]
734#[doc(alias = "BisLapelTransitionType")]
735pub enum LapelTransitionType {
736 #[doc(alias = "BIS_LAPEL_TRANSITION_TYPE_OVER")]
737 Over,
738 #[doc(alias = "BIS_LAPEL_TRANSITION_TYPE_UNDER")]
739 Under,
740 #[doc(alias = "BIS_LAPEL_TRANSITION_TYPE_SLIDE")]
741 Slide,
742#[doc(hidden)]
743 __Unknown(i32),
744}
745
746#[doc(hidden)]
747impl IntoGlib for LapelTransitionType {
748 type GlibType = ffi::BisLapelTransitionType;
749
750 #[inline]
751fn into_glib(self) -> ffi::BisLapelTransitionType {
752match self {
753 Self::Over => ffi::BIS_LAPEL_TRANSITION_TYPE_OVER,
754 Self::Under => ffi::BIS_LAPEL_TRANSITION_TYPE_UNDER,
755 Self::Slide => ffi::BIS_LAPEL_TRANSITION_TYPE_SLIDE,
756 Self::__Unknown(value) => value,
757}
758}
759}
760
761#[doc(hidden)]
762impl FromGlib<ffi::BisLapelTransitionType> for LapelTransitionType {
763 #[inline]
764unsafe fn from_glib(value: ffi::BisLapelTransitionType) -> Self {
765 skip_assert_initialized!();
766
767match value {
768 ffi::BIS_LAPEL_TRANSITION_TYPE_OVER => Self::Over,
769 ffi::BIS_LAPEL_TRANSITION_TYPE_UNDER => Self::Under,
770 ffi::BIS_LAPEL_TRANSITION_TYPE_SLIDE => Self::Slide,
771 value => Self::__Unknown(value),
772}
773}
774}
775
776impl StaticType for LapelTransitionType {
777 #[inline]
778 #[doc(alias = "bis_lapel_transition_type_get_type")]
779 fn static_type() -> glib::Type {
780 unsafe { from_glib(ffi::bis_lapel_transition_type_get_type()) }
781 }
782 }
783
784impl glib::HasParamSpec for LapelTransitionType {
785 type ParamSpec = glib::ParamSpecEnum;
786 type SetValue = Self;
787 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
788
789 fn param_spec_builder() -> Self::BuilderFn {
790 Self::ParamSpec::builder_with_default
791 }
792}
793
794impl glib::value::ValueType for LapelTransitionType {
795 type Type = Self;
796}
797
798unsafe impl<'a> glib::value::FromValue<'a> for LapelTransitionType {
799 type Checker = glib::value::GenericValueTypeChecker<Self>;
800
801 #[inline]
802 unsafe fn from_value(value: &'a glib::Value) -> Self {
803 skip_assert_initialized!();
804 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
805 }
806}
807
808impl ToValue for LapelTransitionType {
809 #[inline]
810 fn to_value(&self) -> glib::Value {
811 let mut value = glib::Value::for_value_type::<Self>();
812 unsafe {
813 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
814 }
815 value
816 }
817
818 #[inline]
819 fn value_type(&self) -> glib::Type {
820 Self::static_type()
821 }
822}
823
824impl From<LapelTransitionType> for glib::Value {
825 #[inline]
826 fn from(v: LapelTransitionType) -> Self {
827 skip_assert_initialized!();
828 ToValue::to_value(&v)
829 }
830}
831
832#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
833#[derive(Clone, Copy)]
834#[non_exhaustive]
835#[doc(alias = "BisNavigationDirection")]
836pub enum NavigationDirection {
837 #[doc(alias = "BIS_NAVIGATION_DIRECTION_BACK")]
838 Back,
839 #[doc(alias = "BIS_NAVIGATION_DIRECTION_FORWARD")]
840 Forward,
841#[doc(hidden)]
842 __Unknown(i32),
843}
844
845#[doc(hidden)]
846impl IntoGlib for NavigationDirection {
847 type GlibType = ffi::BisNavigationDirection;
848
849 #[inline]
850fn into_glib(self) -> ffi::BisNavigationDirection {
851match self {
852 Self::Back => ffi::BIS_NAVIGATION_DIRECTION_BACK,
853 Self::Forward => ffi::BIS_NAVIGATION_DIRECTION_FORWARD,
854 Self::__Unknown(value) => value,
855}
856}
857}
858
859#[doc(hidden)]
860impl FromGlib<ffi::BisNavigationDirection> for NavigationDirection {
861 #[inline]
862unsafe fn from_glib(value: ffi::BisNavigationDirection) -> Self {
863 skip_assert_initialized!();
864
865match value {
866 ffi::BIS_NAVIGATION_DIRECTION_BACK => Self::Back,
867 ffi::BIS_NAVIGATION_DIRECTION_FORWARD => Self::Forward,
868 value => Self::__Unknown(value),
869}
870}
871}
872
873impl StaticType for NavigationDirection {
874 #[inline]
875 #[doc(alias = "bis_navigation_direction_get_type")]
876 fn static_type() -> glib::Type {
877 unsafe { from_glib(ffi::bis_navigation_direction_get_type()) }
878 }
879 }
880
881impl glib::HasParamSpec for NavigationDirection {
882 type ParamSpec = glib::ParamSpecEnum;
883 type SetValue = Self;
884 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
885
886 fn param_spec_builder() -> Self::BuilderFn {
887 Self::ParamSpec::builder_with_default
888 }
889}
890
891impl glib::value::ValueType for NavigationDirection {
892 type Type = Self;
893}
894
895unsafe impl<'a> glib::value::FromValue<'a> for NavigationDirection {
896 type Checker = glib::value::GenericValueTypeChecker<Self>;
897
898 #[inline]
899 unsafe fn from_value(value: &'a glib::Value) -> Self {
900 skip_assert_initialized!();
901 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
902 }
903}
904
905impl ToValue for NavigationDirection {
906 #[inline]
907 fn to_value(&self) -> glib::Value {
908 let mut value = glib::Value::for_value_type::<Self>();
909 unsafe {
910 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
911 }
912 value
913 }
914
915 #[inline]
916 fn value_type(&self) -> glib::Type {
917 Self::static_type()
918 }
919}
920
921impl From<NavigationDirection> for glib::Value {
922 #[inline]
923 fn from(v: NavigationDirection) -> Self {
924 skip_assert_initialized!();
925 ToValue::to_value(&v)
926 }
927}
928