    {-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}

    {- |
    Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
    License    : LGPL-2.1
    Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
    -}

    #define ENABLE_OVERLOADING \
           (!defined(__HADDOCK_VERSION__))

    module GI.Atk.Constants
        (
        pattern VERSION_MIN_REQUIRED            ,
        pattern MINOR_VERSION                   ,
        pattern MICRO_VERSION                   ,
        pattern MAJOR_VERSION                   ,
        pattern INTERFACE_AGE                   ,
        pattern BINARY_AGE                      ,

        ) where

    import Data.GI.Base.ShortPrelude
    import qualified Data.GI.Base.ShortPrelude as SP
    import qualified Data.GI.Base.Overloading as O
    import qualified Prelude as P

    import qualified Data.GI.Base.Attributes as GI.Attributes
    import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
    import qualified Data.GI.Base.GError as B.GError
    import qualified Data.GI.Base.GVariant as B.GVariant
    import qualified Data.GI.Base.GValue as B.GValue
    import qualified Data.GI.Base.GParamSpec as B.GParamSpec
    import qualified Data.GI.Base.CallStack as B.CallStack
    import qualified Data.Text as T
    import qualified Data.ByteString.Char8 as B
    import qualified Data.Map as Map
    import qualified Foreign.Ptr as FP

    {- |
    A macro that should be defined by the user prior to including
    the atk\/atk.h header.
    The definition should be one of the predefined ATK version
    macros: @/ATK_VERSION_2_12/@, @/ATK_VERSION_2_14/@,...

    This macro defines the earliest version of ATK that the package is
    required to be able to compile against.

    If the compiler is configured to warn about the use of deprecated
    functions, then using functions that were deprecated in version
    'GI.Atk.Constants.VERSION_MIN_REQUIRED' or earlier will cause warnings (but
    using functions deprecated in later releases will not).

    /Since: 2.14/
    -}
    pattern VERSION_MIN_REQUIRED = 2 :: Int32

    {- |
    Like 'GI.Atk.Functions.getMinorVersion', but from the headers used at
    application compile time, rather than from the library linked
    against at application run time.

    /Since: 2.7.4/
    -}
    pattern MINOR_VERSION = 33 :: Int32

    {- |
    Like 'GI.Atk.Functions.getMicroVersion', but from the headers used at
    application compile time, rather than from the library linked
    against at application run time.

    /Since: 2.7.4/
    -}
    pattern MICRO_VERSION = 3 :: Int32

    {- |
    Like 'GI.Atk.Functions.getMajorVersion', but from the headers used at
    application compile time, rather than from the library linked
    against at application run time.

    /Since: 2.7.4/
    -}
    pattern MAJOR_VERSION = 2 :: Int32

    {- |
    Like 'GI.Atk.Functions.getInterfaceAge', but from the headers used at
    application compile time, rather than from the library linked
    against at application run time.

    /Since: 2.7.4/
    -}
    pattern INTERFACE_AGE = 1 :: Int32

    {- |
    Like 'GI.Atk.Functions.getBinaryAge', but from the headers used at
    application compile time, rather than from the library linked
    against at application run time.

    /Since: 2.7.4/
    -}
    pattern BINARY_AGE = 23313 :: Int32