// 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 blend_node;
pub use self::blend_node::BlendNode;

mod blur_node;
pub use self::blur_node::BlurNode;

mod border_node;
pub use self::border_node::BorderNode;

#[cfg(feature = "broadway")]
#[cfg_attr(docsrs, doc(cfg(feature = "broadway")))]
mod broadway_renderer;
#[cfg(feature = "broadway")]
#[cfg_attr(docsrs, doc(cfg(feature = "broadway")))]
pub use self::broadway_renderer::BroadwayRenderer;

mod cairo_node;
pub use self::cairo_node::CairoNode;

mod cairo_renderer;
pub use self::cairo_renderer::CairoRenderer;

mod clip_node;
pub use self::clip_node::ClipNode;

mod color_matrix_node;
pub use self::color_matrix_node::ColorMatrixNode;

mod color_node;
pub use self::color_node::ColorNode;

#[cfg(feature = "v4_20")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
mod component_transfer_node;
#[cfg(feature = "v4_20")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
pub use self::component_transfer_node::ComponentTransferNode;

#[cfg(feature = "v4_22")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
mod composite_node;
#[cfg(feature = "v4_22")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
pub use self::composite_node::CompositeNode;

mod conic_gradient_node;
pub use self::conic_gradient_node::ConicGradientNode;

mod container_node;
pub use self::container_node::ContainerNode;

#[cfg(feature = "v4_22")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
mod copy_node;
#[cfg(feature = "v4_22")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
pub use self::copy_node::CopyNode;

mod cross_fade_node;
pub use self::cross_fade_node::CrossFadeNode;

mod debug_node;
pub use self::debug_node::DebugNode;

#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
mod fill_node;
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::fill_node::FillNode;

#[cfg(feature = "v4_2")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
mod gl_renderer;
#[cfg(feature = "v4_2")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_2")))]
pub use self::gl_renderer::GLRenderer;

#[cfg_attr(feature = "v4_16", deprecated = "Since 4.16")]
mod gl_shader;
#[cfg_attr(feature = "v4_16", deprecated = "Since 4.16")]
pub use self::gl_shader::GLShader;

mod gl_shader_node;
pub use self::gl_shader_node::GLShaderNode;

mod inset_shadow_node;
pub use self::inset_shadow_node::InsetShadowNode;

#[cfg(feature = "v4_22")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
mod isolation_node;
#[cfg(feature = "v4_22")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
pub use self::isolation_node::IsolationNode;

mod linear_gradient_node;
pub use self::linear_gradient_node::LinearGradientNode;

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

mod opacity_node;
pub use self::opacity_node::OpacityNode;

mod outset_shadow_node;
pub use self::outset_shadow_node::OutsetShadowNode;

#[cfg(feature = "v4_22")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
mod paste_node;
#[cfg(feature = "v4_22")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
pub use self::paste_node::PasteNode;

mod radial_gradient_node;
pub use self::radial_gradient_node::RadialGradientNode;

mod render_node;
pub use self::render_node::RenderNode;

mod renderer;
pub use self::renderer::Renderer;

mod repeat_node;
pub use self::repeat_node::RepeatNode;

mod repeating_linear_gradient_node;
pub use self::repeating_linear_gradient_node::RepeatingLinearGradientNode;

mod repeating_radial_gradient_node;
pub use self::repeating_radial_gradient_node::RepeatingRadialGradientNode;

mod rounded_clip_node;
pub use self::rounded_clip_node::RoundedClipNode;

mod shadow_node;
pub use self::shadow_node::ShadowNode;

#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
mod stroke_node;
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::stroke_node::StrokeNode;

#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
mod subsurface_node;
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::subsurface_node::SubsurfaceNode;

mod text_node;
pub use self::text_node::TextNode;

mod texture_node;
pub use self::texture_node::TextureNode;

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

mod transform_node;
pub use self::transform_node::TransformNode;

#[cfg(feature = "vulkan")]
#[cfg_attr(docsrs, doc(cfg(feature = "vulkan")))]
mod vulkan_renderer;
#[cfg(feature = "vulkan")]
#[cfg_attr(docsrs, doc(cfg(feature = "vulkan")))]
pub use self::vulkan_renderer::VulkanRenderer;

#[cfg(feature = "v4_20")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
mod component_transfer;
#[cfg(feature = "v4_20")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
pub use self::component_transfer::ComponentTransfer;

#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
mod path;
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::path::Path;

#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
mod path_builder;
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::path_builder::PathBuilder;

#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
mod path_measure;
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::path_measure::PathMeasure;

#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
mod path_point;
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::path_point::PathPoint;

#[cfg(feature = "v4_22")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
mod render_replay;
#[cfg(feature = "v4_22")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
pub use self::render_replay::RenderReplay;

mod shader_args_builder;
pub use self::shader_args_builder::ShaderArgsBuilder;

#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
mod stroke;
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::stroke::Stroke;

mod transform;
pub use self::transform::Transform;

mod enums;
pub use self::enums::BlendMode;
pub use self::enums::Corner;
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::enums::FillRule;
#[allow(deprecated)]
pub use self::enums::GLUniformType;
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::enums::LineCap;
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::enums::LineJoin;
#[cfg(feature = "v4_10")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
pub use self::enums::MaskMode;
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::enums::PathDirection;
#[cfg(feature = "v4_20")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
pub use self::enums::PathIntersection;
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::enums::PathOperation;
#[cfg(feature = "v4_22")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
pub use self::enums::PorterDuff;
pub use self::enums::RenderNodeType;
pub use self::enums::ScalingFilter;
pub use self::enums::SerializationError;
pub use self::enums::TransformCategory;

mod flags;
#[cfg(feature = "v4_22")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))]
pub use self::flags::Isolation;
#[cfg(feature = "v4_14")]
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
pub use self::flags::PathForeachFlags;

pub(crate) mod traits {
    pub use super::renderer::GskRendererExt;
}
pub(crate) mod builders {
    #[cfg_attr(feature = "v4_16", deprecated = "Since 4.16")]
    pub use super::gl_shader::GLShaderBuilder;
}
