Skip to main content

gstreamer_analytics/auto/
flags.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
4// DO NOT EDIT
5
6use crate::ffi;
7use glib::{bitflags::bitflags, translate::*};
8
9#[cfg(feature = "v1_30")]
10bitflags! {
11    /// Flags describing the visibility state of a keypoint.
12    #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
13    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
14    #[doc(alias = "GstAnalyticsKeypointVisibility")]
15    pub struct KeypointVisibility: u32 {
16        /// Visibility is not known.
17        #[doc(alias = "GST_ANALYTICS_KEYPOINT_VISIBILITY_UNKNOWN")]
18        const UNKNOWN = ffi::GST_ANALYTICS_KEYPOINT_VISIBILITY_UNKNOWN as _;
19        /// Keypoint is fully visible.
20        #[doc(alias = "GST_ANALYTICS_KEYPOINT_VISIBILITY_VISIBLE")]
21        const VISIBLE = ffi::GST_ANALYTICS_KEYPOINT_VISIBILITY_VISIBLE as _;
22        /// Keypoint exists but is
23        ///  occluded.
24        #[doc(alias = "GST_ANALYTICS_KEYPOINT_VISIBILITY_OCCLUDED")]
25        const OCCLUDED = ffi::GST_ANALYTICS_KEYPOINT_VISIBILITY_OCCLUDED as _;
26        /// Keypoint position was
27        ///  projected by the analysis.
28        #[doc(alias = "GST_ANALYTICS_KEYPOINT_VISIBILITY_PROJECTED")]
29        const PROJECTED = ffi::GST_ANALYTICS_KEYPOINT_VISIBILITY_PROJECTED as _;
30    }
31}
32
33#[cfg(feature = "v1_30")]
34#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
35#[doc(hidden)]
36impl IntoGlib for KeypointVisibility {
37    type GlibType = ffi::GstAnalyticsKeypointVisibility;
38
39    #[inline]
40    fn into_glib(self) -> ffi::GstAnalyticsKeypointVisibility {
41        self.bits()
42    }
43}
44
45#[cfg(feature = "v1_30")]
46#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
47#[doc(hidden)]
48impl FromGlib<ffi::GstAnalyticsKeypointVisibility> for KeypointVisibility {
49    #[inline]
50    unsafe fn from_glib(value: ffi::GstAnalyticsKeypointVisibility) -> Self {
51        skip_assert_initialized!();
52        Self::from_bits_truncate(value)
53    }
54}
55
56bitflags! {
57    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
58    #[doc(alias = "GstAnalyticsRelTypes")]
59    pub struct RelTypes: u32 {
60        /// No relation
61        #[doc(alias = "GST_ANALYTICS_REL_TYPE_NONE")]
62        const NONE = ffi::GST_ANALYTICS_REL_TYPE_NONE as _;
63        /// First analysis-meta is part of second analysis-meta
64        #[doc(alias = "GST_ANALYTICS_REL_TYPE_IS_PART_OF")]
65        const IS_PART_OF = ffi::GST_ANALYTICS_REL_TYPE_IS_PART_OF as _;
66        /// First analysis-meta contain second analysis-meta.
67        #[doc(alias = "GST_ANALYTICS_REL_TYPE_CONTAIN")]
68        const CONTAIN = ffi::GST_ANALYTICS_REL_TYPE_CONTAIN as _;
69        /// First analysis-meta relate to second analysis-meta.
70        #[doc(alias = "GST_ANALYTICS_REL_TYPE_RELATE_TO")]
71        const RELATE_TO = ffi::GST_ANALYTICS_REL_TYPE_RELATE_TO as _;
72        /// Used to express relations between two groups where each group's components
73        /// correspond to the respective component in the other group.
74        #[cfg(feature = "v1_26")]
75        #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
76        #[doc(alias = "GST_ANALYTICS_REL_TYPE_N_TO_N")]
77        const N_TO_N = ffi::GST_ANALYTICS_REL_TYPE_N_TO_N as _;
78        /// Only use for criteria.
79        #[doc(alias = "GST_ANALYTICS_REL_TYPE_ANY")]
80        const ANY = ffi::GST_ANALYTICS_REL_TYPE_ANY as _;
81    }
82}
83
84#[doc(hidden)]
85impl IntoGlib for RelTypes {
86    type GlibType = ffi::GstAnalyticsRelTypes;
87
88    #[inline]
89    fn into_glib(self) -> ffi::GstAnalyticsRelTypes {
90        self.bits()
91    }
92}
93
94#[doc(hidden)]
95impl FromGlib<ffi::GstAnalyticsRelTypes> for RelTypes {
96    #[inline]
97    unsafe fn from_glib(value: ffi::GstAnalyticsRelTypes) -> Self {
98        skip_assert_initialized!();
99        Self::from_bits_truncate(value)
100    }
101}