-- GENERATED by C->Haskell Compiler, version 0.28.7 Switcheroo, 25 November 2017 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 "src/XlsxWriter/Format.chs" #-}
{-# LANGUAGE ForeignFunctionInterface #-}
-- | https://libxlsxwriter.github.io/format_8h.html
module XlsxWriter.Format where
import qualified Foreign.C.Types as C2HSImp
import qualified Foreign.Ptr as C2HSImp






import Foreign.C
import Data.ByteString

data Format_struct
type Format = C2HSImp.Ptr (Format_struct)
{-# LINE 12 "src/XlsxWriter/Format.chs" #-}


data FormatAlignment = LxwAlignNone
                     | LxwAlignLeft
                     | LxwAlignCenter
                     | LxwAlignRight
                     | LxwAlignFill
                     | LxwAlignJustify
                     | LxwAlignCenterAcross
                     | LxwAlignDistributed
                     | LxwAlignVerticalTop
                     | LxwAlignVerticalBottom
                     | LxwAlignVerticalCenter
                     | LxwAlignVerticalJustify
                     | LxwAlignVerticalDistributed
  deriving (Show,Eq)
instance Enum FormatAlignment where
  succ LxwAlignNone = LxwAlignLeft
  succ LxwAlignLeft = LxwAlignCenter
  succ LxwAlignCenter = LxwAlignRight
  succ LxwAlignRight = LxwAlignFill
  succ LxwAlignFill = LxwAlignJustify
  succ LxwAlignJustify = LxwAlignCenterAcross
  succ LxwAlignCenterAcross = LxwAlignDistributed
  succ LxwAlignDistributed = LxwAlignVerticalTop
  succ LxwAlignVerticalTop = LxwAlignVerticalBottom
  succ LxwAlignVerticalBottom = LxwAlignVerticalCenter
  succ LxwAlignVerticalCenter = LxwAlignVerticalJustify
  succ LxwAlignVerticalJustify = LxwAlignVerticalDistributed
  succ LxwAlignVerticalDistributed = error "FormatAlignment.succ: LxwAlignVerticalDistributed has no successor"

  pred LxwAlignLeft = LxwAlignNone
  pred LxwAlignCenter = LxwAlignLeft
  pred LxwAlignRight = LxwAlignCenter
  pred LxwAlignFill = LxwAlignRight
  pred LxwAlignJustify = LxwAlignFill
  pred LxwAlignCenterAcross = LxwAlignJustify
  pred LxwAlignDistributed = LxwAlignCenterAcross
  pred LxwAlignVerticalTop = LxwAlignDistributed
  pred LxwAlignVerticalBottom = LxwAlignVerticalTop
  pred LxwAlignVerticalCenter = LxwAlignVerticalBottom
  pred LxwAlignVerticalJustify = LxwAlignVerticalCenter
  pred LxwAlignVerticalDistributed = LxwAlignVerticalJustify
  pred LxwAlignNone = error "FormatAlignment.pred: LxwAlignNone has no predecessor"

  enumFromTo from to = go from
    where
      end = fromEnum to
      go v = case compare (fromEnum v) end of
                 LT -> v : go (succ v)
                 EQ -> [v]
                 GT -> []

  enumFrom from = enumFromTo from LxwAlignVerticalDistributed

  fromEnum LxwAlignNone = 0
  fromEnum LxwAlignLeft = 1
  fromEnum LxwAlignCenter = 2
  fromEnum LxwAlignRight = 3
  fromEnum LxwAlignFill = 4
  fromEnum LxwAlignJustify = 5
  fromEnum LxwAlignCenterAcross = 6
  fromEnum LxwAlignDistributed = 7
  fromEnum LxwAlignVerticalTop = 8
  fromEnum LxwAlignVerticalBottom = 9
  fromEnum LxwAlignVerticalCenter = 10
  fromEnum LxwAlignVerticalJustify = 11
  fromEnum LxwAlignVerticalDistributed = 12

  toEnum 0 = LxwAlignNone
  toEnum 1 = LxwAlignLeft
  toEnum 2 = LxwAlignCenter
  toEnum 3 = LxwAlignRight
  toEnum 4 = LxwAlignFill
  toEnum 5 = LxwAlignJustify
  toEnum 6 = LxwAlignCenterAcross
  toEnum 7 = LxwAlignDistributed
  toEnum 8 = LxwAlignVerticalTop
  toEnum 9 = LxwAlignVerticalBottom
  toEnum 10 = LxwAlignVerticalCenter
  toEnum 11 = LxwAlignVerticalJustify
  toEnum 12 = LxwAlignVerticalDistributed
  toEnum unmatched = error ("FormatAlignment.toEnum: Cannot match " ++ show unmatched)

{-# LINE 14 "src/XlsxWriter/Format.chs" #-}


data FormatUnderline = LxwUnderlineNone
                     | LxwUnderlineSingle
                     | LxwUnderlineDouble
                     | LxwUnderlineSingleAccounting
                     | LxwUnderlineDoubleAccounting
  deriving (Show,Eq)
instance Enum FormatUnderline where
  succ LxwUnderlineNone = LxwUnderlineSingle
  succ LxwUnderlineSingle = LxwUnderlineDouble
  succ LxwUnderlineDouble = LxwUnderlineSingleAccounting
  succ LxwUnderlineSingleAccounting = LxwUnderlineDoubleAccounting
  succ LxwUnderlineDoubleAccounting = error "FormatUnderline.succ: LxwUnderlineDoubleAccounting has no successor"

  pred LxwUnderlineSingle = LxwUnderlineNone
  pred LxwUnderlineDouble = LxwUnderlineSingle
  pred LxwUnderlineSingleAccounting = LxwUnderlineDouble
  pred LxwUnderlineDoubleAccounting = LxwUnderlineSingleAccounting
  pred LxwUnderlineNone = error "FormatUnderline.pred: LxwUnderlineNone has no predecessor"

  enumFromTo from to = go from
    where
      end = fromEnum to
      go v = case compare (fromEnum v) end of
                 LT -> v : go (succ v)
                 EQ -> [v]
                 GT -> []

  enumFrom from = enumFromTo from LxwUnderlineDoubleAccounting

  fromEnum LxwUnderlineNone = 0
  fromEnum LxwUnderlineSingle = 1
  fromEnum LxwUnderlineDouble = 2
  fromEnum LxwUnderlineSingleAccounting = 3
  fromEnum LxwUnderlineDoubleAccounting = 4

  toEnum 0 = LxwUnderlineNone
  toEnum 1 = LxwUnderlineSingle
  toEnum 2 = LxwUnderlineDouble
  toEnum 3 = LxwUnderlineSingleAccounting
  toEnum 4 = LxwUnderlineDoubleAccounting
  toEnum unmatched = error ("FormatUnderline.toEnum: Cannot match " ++ show unmatched)

{-# LINE 16 "src/XlsxWriter/Format.chs" #-}


data FormatScript = LxwFontSuperscript
                  | LxwFontSubscript
  deriving (Show,Eq)
instance Enum FormatScript where
  succ LxwFontSuperscript = LxwFontSubscript
  succ LxwFontSubscript = error "FormatScript.succ: LxwFontSubscript has no successor"

  pred LxwFontSubscript = LxwFontSuperscript
  pred LxwFontSuperscript = error "FormatScript.pred: LxwFontSuperscript has no predecessor"

  enumFromTo from to = go from
    where
      end = fromEnum to
      go v = case compare (fromEnum v) end of
                 LT -> v : go (succ v)
                 EQ -> [v]
                 GT -> []

  enumFrom from = enumFromTo from LxwFontSubscript

  fromEnum LxwFontSuperscript = 1
  fromEnum LxwFontSubscript = 2

  toEnum 1 = LxwFontSuperscript
  toEnum 2 = LxwFontSubscript
  toEnum unmatched = error ("FormatScript.toEnum: Cannot match " ++ show unmatched)

{-# LINE 18 "src/XlsxWriter/Format.chs" #-}


data FormatDiagonal = LxwDiagonalBorderUp
                    | LxwDiagonalBorderDown
                    | LxwDiagonalBorderUpDown
  deriving (Show,Eq)
instance Enum FormatDiagonal where
  succ LxwDiagonalBorderUp = LxwDiagonalBorderDown
  succ LxwDiagonalBorderDown = LxwDiagonalBorderUpDown
  succ LxwDiagonalBorderUpDown = error "FormatDiagonal.succ: LxwDiagonalBorderUpDown has no successor"

  pred LxwDiagonalBorderDown = LxwDiagonalBorderUp
  pred LxwDiagonalBorderUpDown = LxwDiagonalBorderDown
  pred LxwDiagonalBorderUp = error "FormatDiagonal.pred: LxwDiagonalBorderUp has no predecessor"

  enumFromTo from to = go from
    where
      end = fromEnum to
      go v = case compare (fromEnum v) end of
                 LT -> v : go (succ v)
                 EQ -> [v]
                 GT -> []

  enumFrom from = enumFromTo from LxwDiagonalBorderUpDown

  fromEnum LxwDiagonalBorderUp = 1
  fromEnum LxwDiagonalBorderDown = 2
  fromEnum LxwDiagonalBorderUpDown = 3

  toEnum 1 = LxwDiagonalBorderUp
  toEnum 2 = LxwDiagonalBorderDown
  toEnum 3 = LxwDiagonalBorderUpDown
  toEnum unmatched = error ("FormatDiagonal.toEnum: Cannot match " ++ show unmatched)

{-# LINE 20 "src/XlsxWriter/Format.chs" #-}


data FormatDefinedColor = LxwColorNavy
                        | LxwColorBlue
                        | LxwColorGreen
                        | LxwColorLime
                        | LxwColorCyan
                        | LxwColorBrown
                        | LxwColorPurple
                        | LxwColorGray
                        | LxwColorSilver
                        | LxwColorRed
                        | LxwColorMagenta
                        | LxwColorPink
                        | LxwColorOrange
                        | LxwColorYellow
                        | LxwColorWhite
                        | LxwColorBlack
  deriving (Show,Eq)
instance Enum FormatDefinedColor where
  succ LxwColorNavy = LxwColorBlue
  succ LxwColorBlue = LxwColorGreen
  succ LxwColorGreen = LxwColorLime
  succ LxwColorLime = LxwColorCyan
  succ LxwColorCyan = LxwColorBrown
  succ LxwColorBrown = LxwColorPurple
  succ LxwColorPurple = LxwColorGray
  succ LxwColorGray = LxwColorSilver
  succ LxwColorSilver = LxwColorRed
  succ LxwColorRed = LxwColorMagenta
  succ LxwColorMagenta = LxwColorOrange
  succ LxwColorPink = LxwColorOrange
  succ LxwColorOrange = LxwColorYellow
  succ LxwColorYellow = LxwColorWhite
  succ LxwColorWhite = LxwColorBlack
  succ LxwColorBlack = error "FormatDefinedColor.succ: LxwColorBlack has no successor"

  pred LxwColorBlue = LxwColorNavy
  pred LxwColorGreen = LxwColorBlue
  pred LxwColorLime = LxwColorGreen
  pred LxwColorCyan = LxwColorLime
  pred LxwColorBrown = LxwColorCyan
  pred LxwColorPurple = LxwColorBrown
  pred LxwColorGray = LxwColorPurple
  pred LxwColorSilver = LxwColorGray
  pred LxwColorRed = LxwColorSilver
  pred LxwColorMagenta = LxwColorRed
  pred LxwColorPink = LxwColorRed
  pred LxwColorOrange = LxwColorMagenta
  pred LxwColorYellow = LxwColorOrange
  pred LxwColorWhite = LxwColorYellow
  pred LxwColorBlack = LxwColorWhite
  pred LxwColorNavy = error "FormatDefinedColor.pred: LxwColorNavy has no predecessor"

  enumFromTo from to = go from
    where
      end = fromEnum to
      go v = case compare (fromEnum v) end of
                 LT -> v : go (succ v)
                 EQ -> [v]
                 GT -> []

  enumFrom from = enumFromTo from LxwColorBlack

  fromEnum :: FormatDefinedColor -> Int
fromEnum FormatDefinedColor
LxwColorNavy = Int
128
  fromEnum FormatDefinedColor
LxwColorBlue = Int
255
  fromEnum FormatDefinedColor
LxwColorGreen = Int
32768
  fromEnum FormatDefinedColor
LxwColorLime = Int
65280
  fromEnum FormatDefinedColor
LxwColorCyan = Int
65535
  fromEnum FormatDefinedColor
LxwColorBrown = Int
8388608
  fromEnum FormatDefinedColor
LxwColorPurple = Int
8388736
  fromEnum LxwColorGray = Int
8421504
  fromEnum FormatDefinedColor
LxwColorSilver = Int
12632256
  enumFrom :: FormatPattern -> [FormatPattern]
fromEnum FormatDefinedColor
LxwColorRed = Int
16711680
  fromEnum FormatDefinedColor
LxwColorMagenta = Int
16711935
  fromEnum FormatDefinedColor
LxwColorPink = Int
16711935
  fromEnum FormatDefinedColor
LxwColorOrange = Int
16737792
  fromEnum FormatDefinedColor
LxwColorYellow = Int
16776960
  fromEnum FormatDefinedColor
LxwColorWhite = Int
16777215
  fromEnum FormatDefinedColor
LxwColorBlack = Int
16777216

  toEnum 128 = LxwColorNavy
  toEnum 255 = LxwColorBlue
  toEnum 32768 = LxwColorGreen
  toEnum 65280 = LxwColorLime
  toEnum 65535 = LxwColorCyan
  toEnum 8388608 = LxwColorBrown
  toEnum 8388736 = LxwColorPurple
  toEnum 8421504 = LxwColorGray
  toEnum 12632256 = LxwColorSilver
  toEnum 16711680 = LxwColorRed
  toEnum 16711935 = LxwColorMagenta
  toEnum 16737792 = LxwColorOrange
  toEnum 16776960 = LxwColorYellow
  toEnum 16777215 = LxwColorWhite
  toEnum :: Int -> FormatPattern
toEnum 16777216 = LxwColorBlack
  toEnum unmatched = error ("FormatDefinedColor.toEnum: Cannot match " ++ show unmatched)

{-# LINE 22 "src/XlsxWriter/Format.chs" #-}


data FormatPattern = LxwPatternNone
                   | LxwPatternSolid
                   | LxwPatternMediumGray
                   | LxwPatternDarkGray
                   | LxwPatternLightGray
                   | LxwPatternDarkHorizontal
                   | LxwPatternDarkVertical
                   | LxwPatternDarkDown
                   | LxwPatternDarkUp
                   | LxwPatternDarkGrid
                   | LxwPatternDarkTrellis
                   | LxwPatternLightHorizontal
                   | LxwPatternLightVertical
                   | LxwPatternLightDown
                   | LxwPatternLightUp
                   | LxwPatternLightGrid
                   | LxwPatternLightTrellis
                   | LxwPatternGray125
                   | LxwPatternGray0625
  deriving (Show,Eq)
instance Enum FormatPattern where
  succ LxwPatternNone = LxwPatternSolid
  succ LxwPatternSolid = LxwPatternMediumGray
  succ LxwPatternMediumGray = LxwPatternDarkGray
  succ LxwPatternDarkGray = LxwPatternLightGray
  succ LxwPatternLightGray = LxwPatternDarkHorizontal
  succ LxwPatternDarkHorizontal = LxwPatternDarkVertical
  succ LxwPatternDarkVertical = LxwPatternDarkDown
  succ LxwPatternDarkDown = LxwPatternDarkUp
  succ LxwPatternDarkUp = LxwPatternDarkGrid
  succ LxwPatternDarkGrid = LxwPatternDarkTrellis
  succ LxwPatternDarkTrellis = LxwPatternLightHorizontal
  succ LxwPatternLightHorizontal = LxwPatternLightVertical
  succ LxwPatternLightVertical = LxwPatternLightDown
  succ LxwPatternLightDown = LxwPatternLightUp
  succ LxwPatternLightUp = LxwPatternLightGrid
  succ LxwPatternLightGrid = LxwPatternLightTrellis
  succ LxwPatternLightTrellis = LxwPatternGray125
  succ LxwPatternGray125 = LxwPatternGray0625
  succ LxwPatternGray0625 = error "FormatPattern.succ: LxwPatternGray0625 has no successor"

  pred LxwPatternSolid = LxwPatternNone
  pred LxwPatternMediumGray = LxwPatternSolid
  pred LxwPatternDarkGray = LxwPatternMediumGray
  pred LxwPatternLightGray = LxwPatternDarkGray
  pred LxwPatternDarkHorizontal = LxwPatternLightGray
  pred LxwPatternDarkVertical = LxwPatternDarkHorizontal
  pred LxwPatternDarkDown = LxwPatternDarkVertical
  pred LxwPatternDarkUp = LxwPatternDarkDown
  pred LxwPatternDarkGrid = LxwPatternDarkUp
  pred LxwPatternDarkTrellis = LxwPatternDarkGrid
  pred LxwPatternLightHorizontal = LxwPatternDarkTrellis
  pred LxwPatternLightVertical = LxwPatternLightHorizontal
  pred LxwPatternLightDown = LxwPatternLightVertical
  pred LxwPatternLightUp = LxwPatternLightDown
  pred LxwPatternLightGrid = LxwPatternLightUp
  pred LxwPatternLightTrellis = LxwPatternLightGrid
  pred LxwPatternGray125 = LxwPatternLightTrellis
  pred LxwPatternGray0625 = LxwPatternGray125
  pred LxwPatternNone = error "FormatPattern.pred: LxwPatternNone has no predecessor"

  enumFromTo from to = go from
    where
      end = fromEnum to
      go v = case compare (fromEnum v) end of
                 LT -> v : go (succ v)
                 EQ -> [v]
                 GT -> []

  enumFrom from = enumFromTo from LxwPatternGray0625

  fromEnum LxwPatternNone = 0
  fromEnum LxwPatternSolid = 1
  fromEnum LxwPatternMediumGray = 2
  fromEnum LxwPatternDarkGray = 3
  fromEnum LxwPatternLightGray = 4
  fromEnum LxwPatternDarkHorizontal = 5
  fromEnum LxwPatternDarkVertical = 6
  fromEnum LxwPatternDarkDown = 7
  fromEnum LxwPatternDarkUp = 8
  fromEnum LxwPatternDarkGrid = 9
  fromEnum LxwPatternDarkTrellis = 10
  fromEnum LxwPatternLightHorizontal = 11
  fromEnum LxwPatternLightVertical = 12
  fromEnum LxwPatternLightDown = 13
  fromEnum LxwPatternLightUp = 14
  fromEnum LxwPatternLightGrid = 15
  fromEnum LxwPatternLightTrellis = 16
  fromEnum LxwPatternGray125 = 17
  fromEnum LxwPatternGray0625 = 18

  toEnum 0 = LxwPatternNone
  toEnum 1 = LxwPatternSolid
  toEnum 2 = LxwPatternMediumGray
  toEnum 3 = LxwPatternDarkGray
  toEnum 4 = LxwPatternLightGray
  toEnum 5 = LxwPatternDarkHorizontal
  toEnum 6 = LxwPatternDarkVertical
  toEnum 7 = LxwPatternDarkDown
  toEnum 8 = LxwPatternDarkUp
  toEnum 9 = LxwPatternDarkGrid
  toEnum 10 = LxwPatternDarkTrellis
  toEnum 11 = LxwPatternLightHorizontal
  toEnum 12 = LxwPatternLightVertical
  toEnum 13 = LxwPatternLightDown
  toEnum 14 = LxwPatternLightUp
  toEnum 15 = LxwPatternLightGrid
  toEnum 16 = LxwPatternLightTrellis
  toEnum 17 = LxwPatternGray125
  toEnum 18 = LxwPatternGray0625
  toEnum unmatched = error ("FormatPattern.toEnum: Cannot match " ++ show unmatched)

{-# LINE 24 "src/XlsxWriter/Format.chs" #-}


data FormatBorder = LxwBorderNone
                  | LxwBorderThin
                  | LxwBorderMedium
                  | LxwBorderDashed
                  | LxwBorderDotted
                  | LxwBorderThick
                  | LxwBorderDouble
                  | LxwBorderHair
                  | LxwBorderMediumDashed
                  | LxwBorderDashDot
                  | LxwBorderMediumDashDot
                  | LxwBorderDashDotDot
                  | LxwBorderMediumDashDotDot
                  | LxwBorderSlantDashDot
  deriving (Enum,Show,Eq)

{-# LINE 26 "src/XlsxWriter/Format.chs" #-}


format_set_hidden :: (Format) -> IO ()
format_set_hidden a1 =
  let {a1' = id a1} in 
  format_set_hidden'_ a1' >>
  return ()

{-# LINE 29 "src/XlsxWriter/Format.chs" #-}


format_set_unlocked :: (Format) -> IO ()
format_set_unlocked a1 =
  let {a1' = id a1} in 
  format_set_unlocked'_ a1' >>
  return ()

{-# LINE 32 "src/XlsxWriter/Format.chs" #-}


format_set_num_format :: (Format) -> (ByteString) -> IO ()
format_set_num_format a1 a2 =
  let {a1' = id a1} in 
  useAsCString a2 $ \a2' -> 
  format_set_num_format'_ a1' a2' >>
  return ()

{-# LINE 35 "src/XlsxWriter/Format.chs" #-}


format_set_num_format_index :: (Format) -> (Int) -> IO ()
format_set_num_format_index a1 a2 =
  let {a1' = id a1} in 
  let {a2' = fromIntegral a2} in 
  format_set_num_format_index'_ a1' a2' >>
  return ()

{-# LINE 38 "src/XlsxWriter/Format.chs" #-}


format_set_align :: (Format) -> (FormatAlignment) -> IO ()
format_set_align a1 a2 =
  let {a1' = id a1} in 
  let {a2' = (fromIntegral . fromEnum) a2} in 
  format_set_align'_ a1' a2' >>
  return ()

{-# LINE 40 "src/XlsxWriter/Format.chs" #-}


-- Fonts
format_set_font_name :: (Format) -> (ByteString) -> IO ()
format_set_font_name a1 a2 =
  let {a1' = id a1} in 
  useAsCString a2 $ \a2' -> 
  format_set_font_name'_ a1' a2' >>
  return ()

{-# LINE 43 "src/XlsxWriter/Format.chs" #-}

format_set_font_size :: (Format) -> (Double) -> IO ()
format_set_font_size a1 a2 =
  let {a1' = id a1} in 
  let {a2' = realToFrac a2} in 
  format_set_font_size'_ a1' a2' >>
  return ()

{-# LINE 44 "src/XlsxWriter/Format.chs" #-}

format_set_font_color :: (Format) -> (FormatDefinedColor) -> IO ()
format_set_font_color a1 a2 =
  let {a1' = id a1} in 
  let {a2' = (fromIntegral . fromEnum) a2} in 
  format_set_font_color'_ a1' a2' >>
  return ()

{-# LINE 45 "src/XlsxWriter/Format.chs" #-}

format_set_bold :: (Format) -> IO ()
format_set_bold a1 =
  let {a1' = id a1} in 
  format_set_bold'_ a1' >>
  return ()

{-# LINE 46 "src/XlsxWriter/Format.chs" #-}

format_set_italic :: (Format) -> IO ()
format_set_italic a1 =
  let {a1' = id a1} in 
  format_set_italic'_ a1' >>
  return ()

{-# LINE 47 "src/XlsxWriter/Format.chs" #-}

format_set_underline :: (Format) -> (FormatUnderline) -> IO ()
format_set_underline a1 a2 =
  let {a1' = id a1} in 
  let {a2' = (fromIntegral . fromEnum) a2} in 
  format_set_underline'_ a1' a2' >>
  return ()

{-# LINE 48 "src/XlsxWriter/Format.chs" #-}

format_set_font_strikeout :: (Format) -> IO ()
format_set_font_strikeout a1 =
  let {a1' = id a1} in 
  format_set_font_strikeout'_ a1' >>
  return ()

{-# LINE 49 "src/XlsxWriter/Format.chs" #-}

format_set_font_script :: (Format) -> (FormatScript) -> IO ()
format_set_font_script a1 a2 =
  let {a1' = id a1} in 
  let {a2' = (fromIntegral . fromEnum) a2} in 
  format_set_font_script'_ a1' a2' >>
  return ()

{-# LINE 50 "src/XlsxWriter/Format.chs" #-}


format_set_text_wrap :: (Format) -> IO ()
format_set_text_wrap a1 =
  let {a1' = id a1} in 
  format_set_text_wrap'_ a1' >>
  return ()

{-# LINE 52 "src/XlsxWriter/Format.chs" #-}


format_set_pattern :: (Format) -> (FormatPattern) -> IO ()
format_set_pattern a1 a2 =
  let {a1' = id a1} in 
  let {a2' = (fromIntegral . fromEnum) a2} in 
  format_set_pattern'_ a1' a2' >>
  return ()

{-# LINE 54 "src/XlsxWriter/Format.chs" #-}

format_set_bg_color :: (Format) -> (FormatDefinedColor) -> IO ()
format_set_bg_color a1 a2 =
  let {a1' = id a1} in 
  let {a2' = (fromIntegral . fromEnum) a2} in 
  format_set_bg_color'_ a1' a2' >>
  return ()

{-# LINE 55 "src/XlsxWriter/Format.chs" #-}

format_set_fg_color :: (Format) -> (FormatDefinedColor) -> IO ()
format_set_fg_color a1 a2 =
  let {a1' = id a1} in 
  let {a2' = (fromIntegral . fromEnum) a2} in 
  format_set_fg_color'_ a1' a2' >>
  return ()

{-# LINE 56 "src/XlsxWriter/Format.chs" #-}


-- Borders, etc
format_set_border :: (Format) -> (FormatBorder) -> IO ()
format_set_border a1 a2 =
  let {a1' = id a1} in 
  let {a2' = (fromIntegral . fromEnum) a2} in 
  format_set_border'_ a1' a2' >>
  return ()

{-# LINE 59 "src/XlsxWriter/Format.chs" #-}

format_set_bottom :: (Format) -> (FormatBorder) -> IO ()
format_set_bottom a1 a2 =
  let {a1' = id a1} in 
  let {a2' = (fromIntegral . fromEnum) a2} in 
  format_set_bottom'_ a1' a2' >>
  return ()

{-# LINE 60 "src/XlsxWriter/Format.chs" #-}

format_set_top :: (Format) -> (FormatBorder) -> IO ()
format_set_top a1 a2 =
  let {a1' = id a1} in 
  let {a2' = (fromIntegral . fromEnum) a2} in 
  format_set_top'_ a1' a2' >>
  return ()

{-# LINE 61 "src/XlsxWriter/Format.chs" #-}

format_set_left :: (Format) -> (FormatBorder) -> IO ()
format_set_left a1 a2 =
  let {a1' = id a1} in 
  let {a2' = (fromIntegral . fromEnum) a2} in 
  format_set_left'_ a1' a2' >>
  return ()

{-# LINE 62 "src/XlsxWriter/Format.chs" #-}

format_set_right :: (Format) -> (FormatBorder) -> IO ()
format_set_right a1 a2 =
  let {a1' = id a1} in 
  let {a2' = (fromIntegral . fromEnum) a2} in 
  format_set_right'_ a1' a2' >>
  return ()

{-# LINE 63 "src/XlsxWriter/Format.chs" #-}

format_set_border_color :: (Format) -> (FormatDefinedColor) -> IO ()
format_set_border_color a1 a2 =
  let {a1' = id a1} in 
  let {a2' = (fromIntegral . fromEnum) a2} in 
  format_set_border_color'_ a1' a2' >>
  return ()

{-# LINE 64 "src/XlsxWriter/Format.chs" #-}

format_set_top_color :: (Format) -> (FormatDefinedColor) -> IO ()
format_set_top_color a1 a2 =
  let {a1' = id a1} in 
  let {a2' = (fromIntegral . fromEnum) a2} in 
  format_set_top_color'_ a1' a2' >>
  return ()

{-# LINE 65 "src/XlsxWriter/Format.chs" #-}

format_set_left_color :: (Format) -> (FormatDefinedColor) -> IO ()
format_set_left_color a1 a2 =
  let {a1' = id a1} in 
  let {a2' = (fromIntegral . fromEnum) a2} in 
  format_set_left_color'_ a1' a2' >>
  return ()

{-# LINE 66 "src/XlsxWriter/Format.chs" #-}

format_set_right_color :: (Format) -> (FormatDefinedColor) -> IO ()
format_set_right_color a1 a2 =
  let {a1' = id a1} in 
  let {a2' = (fromIntegral . fromEnum) a2} in 
  format_set_right_color'_ a1' a2' >>
  return ()

{-# LINE 67 "src/XlsxWriter/Format.chs" #-}


foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_hidden"
  format_set_hidden'_ :: ((Format) -> (IO ()))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_unlocked"
  format_set_unlocked'_ :: ((Format) -> (IO ()))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_num_format"
  format_set_num_format'_ :: ((Format) -> ((C2HSImp.Ptr C2HSImp.CChar) -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_num_format_index"
  format_set_num_format_index'_ :: ((Format) -> (C2HSImp.CUChar -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_align"
  format_set_align'_ :: ((Format) -> (C2HSImp.CUChar -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_font_name"
  format_set_font_name'_ :: ((Format) -> ((C2HSImp.Ptr C2HSImp.CChar) -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_font_size"
  format_set_font_size'_ :: ((Format) -> (C2HSImp.CDouble -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_font_color"
  format_set_font_color'_ :: ((Format) -> (C2HSImp.CUInt -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_bold"
  format_set_bold'_ :: ((Format) -> (IO ()))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_italic"
  format_set_italic'_ :: ((Format) -> (IO ()))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_underline"
  format_set_underline'_ :: ((Format) -> (C2HSImp.CUChar -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_font_strikeout"
  format_set_font_strikeout'_ :: ((Format) -> (IO ()))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_font_script"
  format_set_font_script'_ :: ((Format) -> (C2HSImp.CUChar -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_text_wrap"
  format_set_text_wrap'_ :: ((Format) -> (IO ()))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_pattern"
  format_set_pattern'_ :: ((Format) -> (C2HSImp.CUChar -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_bg_color"
  format_set_bg_color'_ :: ((Format) -> (C2HSImp.CUInt -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_fg_color"
  format_set_fg_color'_ :: ((Format) -> (C2HSImp.CUInt -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_border"
  format_set_border'_ :: ((Format) -> (C2HSImp.CUChar -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_bottom"
  format_set_bottom'_ :: ((Format) -> (C2HSImp.CUChar -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_top"
  format_set_top'_ :: ((Format) -> (C2HSImp.CUChar -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_left"
  format_set_left'_ :: ((Format) -> (C2HSImp.CUChar -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_right"
  format_set_right'_ :: ((Format) -> (C2HSImp.CUChar -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_border_color"
  format_set_border_color'_ :: ((Format) -> (C2HSImp.CUInt -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_top_color"
  format_set_top_color'_ :: ((Format) -> (C2HSImp.CUInt -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_left_color"
  format_set_left_color'_ :: ((Format) -> (C2HSImp.CUInt -> (IO ())))

foreign import ccall unsafe "XlsxWriter/Format.chs.h format_set_right_color"
  format_set_right_color'_ :: ((Format) -> (C2HSImp.CUInt -> (IO ())))