// This file was generated by gir (https://github.com/gtk-rs/gir)
// from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT

mod app_launch_context;
pub use self::app_launch_context::AppLaunchContext;

mod button_event;
pub use self::button_event::ButtonEvent;

mod cairo_context;
pub use self::cairo_context::CairoContext;

#[cfg(feature = "v4_16")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
mod cicp_params;
#[cfg(feature = "v4_16")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
pub use self::cicp_params::CicpParams;

mod clipboard;
pub use self::clipboard::Clipboard;

mod content_deserializer;
pub use self::content_deserializer::ContentDeserializer;

mod content_provider;
pub use self::content_provider::ContentProvider;

mod content_serializer;
pub use self::content_serializer::ContentSerializer;

mod crossing_event;
pub use self::crossing_event::CrossingEvent;

mod cursor;
pub use self::cursor::Cursor;

mod dnd_event;
pub use self::dnd_event::DNDEvent;

mod delete_event;
pub use self::delete_event::DeleteEvent;

mod device;
pub use self::device::Device;

mod device_pad;
pub use self::device_pad::DevicePad;

mod device_tool;
pub use self::device_tool::DeviceTool;

mod display;
pub use self::display::Display;

mod display_manager;
pub use self::display_manager::DisplayManager;

#[cfg(target_os = "linux")]
#[cfg_attr(docsrs, doc(cfg(target_os = "linux")))]
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
mod dmabuf_texture;
#[cfg(target_os = "linux")]
#[cfg_attr(docsrs, doc(cfg(target_os = "linux")))]
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::dmabuf_texture::DmabufTexture;

#[cfg(target_os = "linux")]
#[cfg_attr(docsrs, doc(cfg(target_os = "linux")))]
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
mod dmabuf_texture_builder;
#[cfg(target_os = "linux")]
#[cfg_attr(docsrs, doc(cfg(target_os = "linux")))]
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::dmabuf_texture_builder::DmabufTextureBuilder;

mod drag;
pub use self::drag::Drag;

mod drag_surface;
pub use self::drag_surface::DragSurface;

mod draw_context;
pub use self::draw_context::DrawContext;

mod drop;
pub use self::drop::Drop;

mod event;
pub use self::event::Event;

mod focus_event;
pub use self::focus_event::FocusEvent;

mod frame_clock;
pub use self::frame_clock::FrameClock;

mod gl_context;
pub use self::gl_context::GLContext;

mod gl_texture;
pub use self::gl_texture::GLTexture;

#[cfg(feature = "v4_12")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
mod gl_texture_builder;
#[cfg(feature = "v4_12")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
pub use self::gl_texture_builder::GLTextureBuilder;

mod grab_broken_event;
pub use self::grab_broken_event::GrabBrokenEvent;

mod key_event;
pub use self::key_event::KeyEvent;

mod memory_texture;
pub use self::memory_texture::MemoryTexture;

#[cfg(feature = "v4_16")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
mod memory_texture_builder;
#[cfg(feature = "v4_16")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
pub use self::memory_texture_builder::MemoryTextureBuilder;

mod monitor;
pub use self::monitor::Monitor;

mod motion_event;
pub use self::motion_event::MotionEvent;

mod pad_event;
pub use self::pad_event::PadEvent;

mod paintable;
pub use self::paintable::Paintable;

mod popup;
pub use self::popup::Popup;

mod proximity_event;
pub use self::proximity_event::ProximityEvent;

mod scroll_event;
pub use self::scroll_event::ScrollEvent;

mod seat;
pub use self::seat::Seat;

mod snapshot;
pub use self::snapshot::Snapshot;

mod surface;
pub use self::surface::Surface;

mod texture;
pub use self::texture::Texture;

mod toplevel;
pub use self::toplevel::Toplevel;

mod touch_event;
pub use self::touch_event::TouchEvent;

mod touchpad_event;
pub use self::touchpad_event::TouchpadEvent;

#[cfg_attr(feature = "v4_14", deprecated = "Since 4.14")]
mod vulkan_context;
#[cfg_attr(feature = "v4_14", deprecated = "Since 4.14")]
pub use self::vulkan_context::VulkanContext;

#[cfg(feature = "v4_16")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
mod color_state;
#[cfg(feature = "v4_16")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
pub use self::color_state::ColorState;

mod content_formats;
pub use self::content_formats::ContentFormats;

mod content_formats_builder;
pub use self::content_formats_builder::ContentFormatsBuilder;

#[cfg(target_os = "linux")]
#[cfg_attr(docsrs, doc(cfg(target_os = "linux")))]
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
mod dmabuf_formats;
#[cfg(target_os = "linux")]
#[cfg_attr(docsrs, doc(cfg(target_os = "linux")))]
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::dmabuf_formats::DmabufFormats;

mod event_sequence;
pub use self::event_sequence::EventSequence;

#[cfg(feature = "v4_6")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
mod file_list;
#[cfg(feature = "v4_6")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
pub use self::file_list::FileList;

mod frame_timings;
pub use self::frame_timings::FrameTimings;

mod popup_layout;
pub use self::popup_layout::PopupLayout;

mod rgba;
pub use self::rgba::RGBA;

mod rectangle;
pub use self::rectangle::Rectangle;

#[cfg(feature = "v4_10")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
mod texture_downloader;
#[cfg(feature = "v4_10")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
pub use self::texture_downloader::TextureDownloader;

mod toplevel_layout;
pub use self::toplevel_layout::ToplevelLayout;

mod enums;
pub use self::enums::AxisUse;
#[cfg(feature = "v4_16")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
pub use self::enums::CicpRange;
pub use self::enums::CrossingMode;
pub use self::enums::DevicePadFeature;
pub use self::enums::DeviceToolType;
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
#[cfg(target_os = "linux")]
#[cfg_attr(docsrs, doc(cfg(target_os = "linux")))]
pub use self::enums::DmabufError;
pub use self::enums::DragCancelReason;
pub use self::enums::EventType;
pub use self::enums::FullscreenMode;
pub use self::enums::GLError;
pub use self::enums::Gravity;
pub use self::enums::InputSource;
pub use self::enums::KeyMatch;
pub use self::enums::MemoryFormat;
pub use self::enums::NotifyType;
pub use self::enums::ScrollDirection;
#[cfg(feature = "v4_20")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
pub use self::enums::ScrollRelativeDirection;
#[cfg(feature = "v4_8")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
pub use self::enums::ScrollUnit;
pub use self::enums::SubpixelLayout;
pub use self::enums::SurfaceEdge;
#[cfg(feature = "v4_6")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
pub use self::enums::TextureError;
#[cfg(feature = "v4_4")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
pub use self::enums::TitlebarGesture;
pub use self::enums::TouchpadGesturePhase;
pub use self::enums::VulkanError;

mod flags;
pub use self::flags::AnchorHints;
pub use self::flags::AxisFlags;
pub use self::flags::DragAction;
pub use self::flags::FrameClockPhase;
pub use self::flags::ModifierType;
pub use self::flags::PaintableFlags;
pub use self::flags::SeatCapabilities;
#[cfg(feature = "v4_20")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
pub use self::flags::ToplevelCapabilities;
pub use self::flags::ToplevelState;
#[cfg(feature = "v4_6")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
pub use self::flags::GLAPI;

pub(crate) mod functions;

pub(crate) mod traits {
    pub use super::app_launch_context::GdkAppLaunchContextExt;
    pub use super::content_provider::ContentProviderExt;
    pub use super::device::DeviceExt;
    pub use super::device_pad::DevicePadExt;
    pub use super::display::DisplayExt;
    pub use super::drag::DragExt;
    pub use super::drag_surface::DragSurfaceExt;
    pub use super::draw_context::DrawContextExt;
    pub use super::gl_context::GLContextExt;
    pub use super::monitor::MonitorExt;
    pub use super::paintable::PaintableExt;
    pub use super::popup::PopupExt;
    pub use super::seat::SeatExt;
    pub use super::surface::SurfaceExt;
    pub use super::texture::TextureExt;
    pub use super::toplevel::ToplevelExt;
}
pub(crate) mod builders {
    pub use super::cursor::CursorBuilder;
}
