use crate::ffi;
use glib::{bitflags::bitflags, translate::*};
#[cfg(feature = "v1_30")]
bitflags! {
#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
#[doc(alias = "GstAnalyticsKeypointVisibility")]
pub struct KeypointVisibility: u32 {
#[doc(alias = "GST_ANALYTICS_KEYPOINT_VISIBILITY_UNKNOWN")]
const UNKNOWN = ffi::GST_ANALYTICS_KEYPOINT_VISIBILITY_UNKNOWN as _;
#[doc(alias = "GST_ANALYTICS_KEYPOINT_VISIBILITY_VISIBLE")]
const VISIBLE = ffi::GST_ANALYTICS_KEYPOINT_VISIBILITY_VISIBLE as _;
#[doc(alias = "GST_ANALYTICS_KEYPOINT_VISIBILITY_OCCLUDED")]
const OCCLUDED = ffi::GST_ANALYTICS_KEYPOINT_VISIBILITY_OCCLUDED as _;
#[doc(alias = "GST_ANALYTICS_KEYPOINT_VISIBILITY_PROJECTED")]
const PROJECTED = ffi::GST_ANALYTICS_KEYPOINT_VISIBILITY_PROJECTED as _;
}
}
#[cfg(feature = "v1_30")]
#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
#[doc(hidden)]
impl IntoGlib for KeypointVisibility {
type GlibType = ffi::GstAnalyticsKeypointVisibility;
#[inline]
fn into_glib(self) -> ffi::GstAnalyticsKeypointVisibility {
self.bits()
}
}
#[cfg(feature = "v1_30")]
#[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
#[doc(hidden)]
impl FromGlib<ffi::GstAnalyticsKeypointVisibility> for KeypointVisibility {
#[inline]
unsafe fn from_glib(value: ffi::GstAnalyticsKeypointVisibility) -> Self {
skip_assert_initialized!();
Self::from_bits_truncate(value)
}
}
bitflags! {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
#[doc(alias = "GstAnalyticsRelTypes")]
pub struct RelTypes: u32 {
#[doc(alias = "GST_ANALYTICS_REL_TYPE_NONE")]
const NONE = ffi::GST_ANALYTICS_REL_TYPE_NONE as _;
#[doc(alias = "GST_ANALYTICS_REL_TYPE_IS_PART_OF")]
const IS_PART_OF = ffi::GST_ANALYTICS_REL_TYPE_IS_PART_OF as _;
#[doc(alias = "GST_ANALYTICS_REL_TYPE_CONTAIN")]
const CONTAIN = ffi::GST_ANALYTICS_REL_TYPE_CONTAIN as _;
#[doc(alias = "GST_ANALYTICS_REL_TYPE_RELATE_TO")]
const RELATE_TO = ffi::GST_ANALYTICS_REL_TYPE_RELATE_TO as _;
#[cfg(feature = "v1_26")]
#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
#[doc(alias = "GST_ANALYTICS_REL_TYPE_N_TO_N")]
const N_TO_N = ffi::GST_ANALYTICS_REL_TYPE_N_TO_N as _;
#[doc(alias = "GST_ANALYTICS_REL_TYPE_ANY")]
const ANY = ffi::GST_ANALYTICS_REL_TYPE_ANY as _;
}
}
#[doc(hidden)]
impl IntoGlib for RelTypes {
type GlibType = ffi::GstAnalyticsRelTypes;
#[inline]
fn into_glib(self) -> ffi::GstAnalyticsRelTypes {
self.bits()
}
}
#[doc(hidden)]
impl FromGlib<ffi::GstAnalyticsRelTypes> for RelTypes {
#[inline]
unsafe fn from_glib(value: ffi::GstAnalyticsRelTypes) -> Self {
skip_assert_initialized!();
Self::from_bits_truncate(value)
}
}