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


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif

module GI.Vips.Constants
    ( 
    pattern TRANSFORM_SHIFT                 ,
    pattern TRANSFORM_SCALE                 ,
    pattern META_XMP_NAME                   ,
    pattern META_SEQUENTIAL                 ,
    pattern META_RESOLUTION_UNIT            ,
    pattern META_PHOTOSHOP_NAME             ,
    pattern META_PAGE_HEIGHT                ,
    pattern META_ORIENTATION                ,
    pattern META_N_SUBIFDS                  ,
    pattern META_N_PAGES                    ,
    pattern META_LOADER                     ,
    pattern META_IPTC_NAME                  ,
    pattern META_IMAGEDESCRIPTION           ,
    pattern META_ICC_NAME                   ,
    pattern META_EXIF_NAME                  ,
    pattern MAX_COORD                       ,
    pattern MAGIC_SPARC                     ,
    pattern MAGIC_INTEL                     ,
    pattern INTERPOLATE_SHIFT               ,
    pattern INTERPOLATE_SCALE               ,
    pattern E_Z0                            ,
    pattern E_Y0                            ,
    pattern E_X0                            ,
    pattern D93_Z0                          ,
    pattern D93_Y0                          ,
    pattern D93_X0                          ,
    pattern D75_Z0                          ,
    pattern D75_Y0                          ,
    pattern D75_X0                          ,
    pattern D65_Z0                          ,
    pattern D65_Y0                          ,
    pattern D65_X0                          ,
    pattern D55_Z0                          ,
    pattern D55_Y0                          ,
    pattern D55_X0                          ,
    pattern D50_Z0                          ,
    pattern D50_Y0                          ,
    pattern D50_X0                          ,
    pattern D3250_Z0                        ,
    pattern D3250_Y0                        ,
    pattern D3250_X0                        ,
    pattern C_Z0                            ,
    pattern C_Y0                            ,
    pattern C_X0                            ,
    pattern B_Z0                            ,
    pattern B_Y0                            ,
    pattern B_X0                            ,
    pattern A_Z0                            ,
    pattern A_Y0                            ,
    pattern A_X0                            ,
    pattern ARGUMENT_REQUIRED_OUTPUT        ,
    pattern ARGUMENT_REQUIRED_INPUT         ,
    pattern ARGUMENT_OPTIONAL_OUTPUT        ,
    pattern ARGUMENT_OPTIONAL_INPUT         ,

    ) 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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
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.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
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
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R


-- | Many of the vips interpolators use fixed-point arithmetic for coordinate
-- calculation. This is how many bits of precision they use.
pattern $mTRANSFORM_SHIFT :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bTRANSFORM_SHIFT :: Int32
TRANSFORM_SHIFT = 6 :: Int32

-- | 'GI.Vips.Constants.TRANSFORM_SHIFT' as a multiplicative constant.
pattern $mTRANSFORM_SCALE :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bTRANSFORM_SCALE :: Int32
TRANSFORM_SCALE = 1 :: Int32

-- | The name that read and write operations use for the image\'s XMP data.
pattern $mMETA_XMP_NAME :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_XMP_NAME :: Text
META_XMP_NAME = "xmp-data" :: T.Text

-- | Images loaded via @/vips_sequential()/@ have this int field defined. Some
-- operations (eg. @/vips_shrinkv()/@) add extra caches if they see it on their
-- input.
pattern $mMETA_SEQUENTIAL :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_SEQUENTIAL :: Text
META_SEQUENTIAL = "vips-sequential" :: T.Text

-- | The JPEG and TIFF read and write operations use this to record the
-- file\'s preferred unit for resolution.
pattern $mMETA_RESOLUTION_UNIT :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_RESOLUTION_UNIT :: Text
META_RESOLUTION_UNIT = "resolution-unit" :: T.Text

-- | The name that TIFF read and write operations use for the image\'s
-- TIFFTAG_PHOTOSHOP data.
pattern $mMETA_PHOTOSHOP_NAME :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_PHOTOSHOP_NAME :: Text
META_PHOTOSHOP_NAME = "photoshop-data" :: T.Text

-- | If set, the height of each page when this image was loaded. If you save an
-- image with \"page-height\" set to a format that supports multiple pages, such
-- as tiff, the image will be saved as a series of pages.
pattern $mMETA_PAGE_HEIGHT :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_PAGE_HEIGHT :: Text
META_PAGE_HEIGHT = "page-height" :: T.Text

-- | The orientation tag for this image. An int from 1 - 8 using the standard
-- exif\/tiff meanings.
-- 
-- * 1 - The 0th row represents the visual top of the image, and the 0th column
--   represents the visual left-hand side.
-- * 2 - The 0th row represents the visual top of the image, and the 0th column
--   represents the visual right-hand side.
-- * 3 - The 0th row represents the visual bottom of the image, and the 0th
--   column represents the visual right-hand side.
-- * 4 - The 0th row represents the visual bottom of the image, and the 0th
--   column represents the visual left-hand side.
-- * 5 - The 0th row represents the visual left-hand side of the image, and the
--   0th column represents the visual top.
-- * 6 - The 0th row represents the visual right-hand side of the image, and the
--   0th column represents the visual top.
-- * 7 - The 0th row represents the visual right-hand side of the image, and the
--   0th column represents the visual bottom.
-- * 8 - The 0th row represents the visual left-hand side of the image, and the
--   0th column represents the visual bottom.
pattern $mMETA_ORIENTATION :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_ORIENTATION :: Text
META_ORIENTATION = "orientation" :: T.Text

-- | If set, the number of subifds in the first page of the file.
pattern $mMETA_N_SUBIFDS :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_N_SUBIFDS :: Text
META_N_SUBIFDS = "n-subifds" :: T.Text

-- | If set, the number of pages in the original file.
pattern $mMETA_N_PAGES :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_N_PAGES :: Text
META_N_PAGES = "n-pages" :: T.Text

-- | Record the name of the original loader here. Handy for hinting file formats
-- and for debugging.
pattern $mMETA_LOADER :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_LOADER :: Text
META_LOADER = "vips-loader" :: T.Text

-- | The name that read and write operations use for the image\'s IPTC data.
pattern $mMETA_IPTC_NAME :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_IPTC_NAME :: Text
META_IPTC_NAME = "iptc-data" :: T.Text

-- | The IMAGEDESCRIPTION tag. Often has useful metadata.
pattern $mMETA_IMAGEDESCRIPTION :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_IMAGEDESCRIPTION :: Text
META_IMAGEDESCRIPTION = "image-description" :: T.Text

-- | The name we use to attach an ICC profile. The file read and write
-- operations for TIFF, JPEG, PNG and others use this item of metadata to
-- attach and save ICC profiles. The profile is updated by the
-- @/vips_icc_transform()/@ operations.
pattern $mMETA_ICC_NAME :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_ICC_NAME :: Text
META_ICC_NAME = "icc-profile-data" :: T.Text

-- | The name that JPEG read and write operations use for the image\'s EXIF data.
pattern $mMETA_EXIF_NAME :: forall {r}. Text -> ((# #) -> r) -> ((# #) -> r) -> r
$bMETA_EXIF_NAME :: Text
META_EXIF_NAME = "exif-data" :: T.Text

-- | /No description available in the introspection data./
pattern $mMAX_COORD :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bMAX_COORD :: Int32
MAX_COORD = 10000000 :: Int32

-- | The first four bytes of a VIPS file in SPARC byte ordering.
pattern $mMAGIC_SPARC :: forall {r}. Word32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bMAGIC_SPARC :: Word32
MAGIC_SPARC = 150120118 :: Word32

-- | The first four bytes of a VIPS file in Intel byte ordering.
pattern $mMAGIC_INTEL :: forall {r}. Word32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bMAGIC_INTEL :: Word32
MAGIC_INTEL = 3064394248 :: Word32

-- | Many of the vips interpolators use fixed-point arithmetic for value
-- calcualtion. This is how many bits of precision they use.
pattern $mINTERPOLATE_SHIFT :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bINTERPOLATE_SHIFT :: Int32
INTERPOLATE_SHIFT = 12 :: Int32

-- | 'GI.Vips.Constants.INTERPOLATE_SHIFT' as a multiplicative constant.
pattern $mINTERPOLATE_SCALE :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bINTERPOLATE_SCALE :: Int32
INTERPOLATE_SCALE = 1 :: Int32

-- | /No description available in the introspection data./
pattern $mE_Z0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bE_Z0 :: Double
E_Z0 = 100.000000 :: Double

-- | /No description available in the introspection data./
pattern $mE_Y0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bE_Y0 :: Double
E_Y0 = 100.000000 :: Double

-- | Areas under curves for equal energy illuminant E.
pattern $mE_X0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bE_X0 :: Double
E_X0 = 100.000000 :: Double

-- | /No description available in the introspection data./
pattern $mD93_Z0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD93_Z0 :: Double
D93_Z0 = 130.770000 :: Double

-- | /No description available in the introspection data./
pattern $mD93_Y0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD93_Y0 :: Double
D93_Y0 = 100.000000 :: Double

-- | Areas under curves for D93, 2 degree observer.
pattern $mD93_X0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD93_X0 :: Double
D93_X0 = 89.740000 :: Double

-- | /No description available in the introspection data./
pattern $mD75_Z0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD75_Z0 :: Double
D75_Z0 = 122.571000 :: Double

-- | /No description available in the introspection data./
pattern $mD75_Y0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD75_Y0 :: Double
D75_Y0 = 100.000000 :: Double

-- | Areas under curves for D75, 2 degree observer.
pattern $mD75_X0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD75_X0 :: Double
D75_X0 = 94.968200 :: Double

-- | /No description available in the introspection data./
pattern $mD65_Z0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD65_Z0 :: Double
D65_Z0 = 108.882700 :: Double

-- | /No description available in the introspection data./
pattern $mD65_Y0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD65_Y0 :: Double
D65_Y0 = 100.000000 :: Double

-- | Areas under curves for D65, 2 degree observer.
pattern $mD65_X0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD65_X0 :: Double
D65_X0 = 95.047000 :: Double

-- | /No description available in the introspection data./
pattern $mD55_Z0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD55_Z0 :: Double
D55_Z0 = 92.087100 :: Double

-- | /No description available in the introspection data./
pattern $mD55_Y0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD55_Y0 :: Double
D55_Y0 = 100.000000 :: Double

-- | Areas under curves for D55, 2 degree observer.
pattern $mD55_X0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD55_X0 :: Double
D55_X0 = 95.683100 :: Double

-- | /No description available in the introspection data./
pattern $mD50_Z0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD50_Z0 :: Double
D50_Z0 = 82.468000 :: Double

-- | /No description available in the introspection data./
pattern $mD50_Y0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD50_Y0 :: Double
D50_Y0 = 100.000000 :: Double

-- | Areas under curves for D50, 2 degree observer.
pattern $mD50_X0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD50_X0 :: Double
D50_X0 = 96.425000 :: Double

-- | /No description available in the introspection data./
pattern $mD3250_Z0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD3250_Z0 :: Double
D3250_Z0 = 45.850100 :: Double

-- | /No description available in the introspection data./
pattern $mD3250_Y0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD3250_Y0 :: Double
D3250_Y0 = 100.000000 :: Double

-- | Areas under curves for black body at 3250K, 2 degree observer.
pattern $mD3250_X0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bD3250_X0 :: Double
D3250_X0 = 105.659000 :: Double

-- | /No description available in the introspection data./
pattern $mC_Z0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bC_Z0 :: Double
C_Z0 = 118.230000 :: Double

-- | /No description available in the introspection data./
pattern $mC_Y0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bC_Y0 :: Double
C_Y0 = 100.000000 :: Double

-- | Areas under curves for illuminant C (6774K), 2 degree observer.
pattern $mC_X0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bC_X0 :: Double
C_X0 = 98.070000 :: Double

-- | /No description available in the introspection data./
pattern $mB_Z0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bB_Z0 :: Double
B_Z0 = 85.223000 :: Double

-- | /No description available in the introspection data./
pattern $mB_Y0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bB_Y0 :: Double
B_Y0 = 100.000000 :: Double

-- | Areas under curves for illuminant B (4874K), 2 degree observer.
pattern $mB_X0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bB_X0 :: Double
B_X0 = 99.072000 :: Double

-- | /No description available in the introspection data./
pattern $mA_Z0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bA_Z0 :: Double
A_Z0 = 35.584900 :: Double

-- | /No description available in the introspection data./
pattern $mA_Y0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bA_Y0 :: Double
A_Y0 = 100.000000 :: Double

-- | Areas under curves for illuminant A (2856K), 2 degree observer.
pattern $mA_X0 :: forall {r}. Double -> ((# #) -> r) -> ((# #) -> r) -> r
$bA_X0 :: Double
A_X0 = 109.850300 :: Double

-- | /No description available in the introspection data./
pattern $mARGUMENT_REQUIRED_OUTPUT :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bARGUMENT_REQUIRED_OUTPUT :: Int32
ARGUMENT_REQUIRED_OUTPUT = 35 :: Int32

-- | /No description available in the introspection data./
pattern $mARGUMENT_REQUIRED_INPUT :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bARGUMENT_REQUIRED_INPUT :: Int32
ARGUMENT_REQUIRED_INPUT = 19 :: Int32

-- | /No description available in the introspection data./
pattern $mARGUMENT_OPTIONAL_OUTPUT :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bARGUMENT_OPTIONAL_OUTPUT :: Int32
ARGUMENT_OPTIONAL_OUTPUT = 34 :: Int32

-- | /No description available in the introspection data./
pattern $mARGUMENT_OPTIONAL_INPUT :: forall {r}. Int32 -> ((# #) -> r) -> ((# #) -> r) -> r
$bARGUMENT_OPTIONAL_INPUT :: Int32
ARGUMENT_OPTIONAL_INPUT = 18 :: Int32