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


{-# LINE 1 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}
{-# LANGUAGE CPP, TypeSynonymInstances, FlexibleInstances, MultiParamTypeClasses, FlexibleContexts #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Graphics.UI.FLTK.LowLevel.Base.Clock
  (
    ClockType(..),
    clockNew,
    clockNewWithType,
    clockCustom,
    Hour(..),
    Minute(..),
    Second(..),
    ClockByTime (..),
    ClockSinceEpoch(..),
    ClockSetTimeType(..)
  , drawClockBase
  , handleClockBase
  , resizeClockBase
  , hideClockBase
  , showWidgetClockBase
    -- * Hierarchy
    --
    -- $hierarchy

    -- * Clock
    --
    -- $functions
  )
where
import qualified Foreign.C.Types as C2HSImp
import qualified Foreign.Ptr as C2HSImp





import C2HS hiding (cFromEnum, cFromBool, cToBool,cToEnum)
import Graphics.UI.FLTK.LowLevel.Fl_Enumerations
import Graphics.UI.FLTK.LowLevel.Fl_Types
import Graphics.UI.FLTK.LowLevel.Utils
import Graphics.UI.FLTK.LowLevel.Hierarchy
import Graphics.UI.FLTK.LowLevel.Dispatch
import qualified Data.Text as T
import Data.Char
import Graphics.UI.FLTK.LowLevel.Base.Widget

data ClockType = SquareClock
               | AnalogClock
               | DigitalClock
               | RoundClock
  deriving (Int -> ClockType -> ShowS
[ClockType] -> ShowS
ClockType -> String
(Int -> ClockType -> ShowS)
-> (ClockType -> String)
-> ([ClockType] -> ShowS)
-> Show ClockType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ClockType] -> ShowS
$cshowList :: [ClockType] -> ShowS
show :: ClockType -> String
$cshow :: ClockType -> String
showsPrec :: Int -> ClockType -> ShowS
$cshowsPrec :: Int -> ClockType -> ShowS
Show)
instance Enum ClockType where
  succ SquareClock = RoundClock
  succ AnalogClock = RoundClock
  succ DigitalClock = RoundClock
  succ RoundClock = error "ClockType.succ: RoundClock has no successor"

  pred RoundClock = SquareClock
  pred SquareClock = error "ClockType.pred: SquareClock has no predecessor"
  pred AnalogClock = error "ClockType.pred: AnalogClock has no predecessor"
  pred DigitalClock = error "ClockType.pred: DigitalClock 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 :: ClockType -> [ClockType]
enumFrom from :: ClockType
from = ClockType -> ClockType -> [ClockType]
forall a. Enum a => a -> a -> [a]
enumFromTo ClockType
from ClockType
RoundClock

  fromEnum :: ClockType -> Int
fromEnum SquareClock = 0
  fromEnum AnalogClock = 0
  fromEnum DigitalClock = 0
  fromEnum RoundClock = 1

  toEnum 0 = SquareClock
  toEnum 1 = RoundClock
  toEnum unmatched = error ("ClockType.toEnum: Cannot match " ++ show unmatched)

{-# LINE 49 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

newtype Hour = Hour Int deriving Show
newtype Minute = Minute Int deriving Show
newtype Second = Second Int deriving Show
data ClockByTime = ClockByTime Hour Minute Second deriving Show
data ClockSinceEpoch = ClockSinceEpoch Second deriving Show
data ClockSetTimeType = ClockSetByTime ClockByTime | ClockSetSinceEpoch ClockSinceEpoch deriving Show

overriddenWidgetNewWithLabel' :: (Int) -> (Int) -> (Int) -> (Int) -> (CString) -> (Ptr ()) -> IO ((Ptr ()))
overriddenWidgetNewWithLabel' a1 a2 a3 a4 a5 a6 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  (flip ($)) a5 $ \a5' -> 
  let {a6' = id a6} in 
  overriddenWidgetNewWithLabel''_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = id res} in
  return (res')

{-# LINE 57 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

overriddenWidgetNew' :: (Int) -> (Int) -> (Int) -> (Int) -> (Ptr ()) -> IO ((Ptr ()))
overriddenWidgetNew' a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = id a5} in 
  overriddenWidgetNew''_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = id res} in
  return (res')

{-# LINE 58 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

clockCustom ::
       Rectangle                         -- ^ The bounds of this Clock
    -> Maybe T.Text                      -- ^ The Clock label
    -> Maybe (Ref Clock -> IO ())           -- ^ Optional custom drawing function
    -> Maybe (CustomWidgetFuncs Clock)      -- ^ Optional custom widget functions
    -> IO (Ref Clock)
clockCustom rectangle l' draw' funcs' =
  widgetMaker
    rectangle
    l'
    draw'
    funcs'
    overriddenWidgetNew'
    overriddenWidgetNewWithLabel'

clockNew' :: (Int) -> (Int) -> (Int) -> (Int) -> IO ((Ptr ()))
clockNew' a1 a2 a3 a4 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  clockNew''_ a1' a2' a3' a4' >>= \res ->
  let {res' = id res} in
  return (res')

{-# LINE 74 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

clockNewWithLabel' :: (Int) -> (Int) -> (Int) -> (Int) -> (CString) -> IO ((Ptr ()))
clockNewWithLabel' a1 a2 a3 a4 a5 =
  let {a1' = fromIntegral a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  (flip ($)) a5 $ \a5' -> 
  clockNewWithLabel''_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = id res} in
  return (res')

{-# LINE 75 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

clockNewWithClockType' :: (CUChar) -> (Int) -> (Int) -> (Int) -> (Int) -> (CString) -> IO ((Ptr ()))
clockNewWithClockType' a1 a2 a3 a4 a5 a6 =
  let {a1' = id a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  (flip ($)) a6 $ \a6' -> 
  clockNewWithClockType''_ a1' a2' a3' a4' a5' a6' >>= \res ->
  let {res' = id res} in
  return (res')

{-# LINE 76 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

clockNew :: Rectangle -> Maybe T.Text -> IO (Ref Clock)
clockNew rectangle l' =
  widgetMaker
    rectangle
    l'
    Nothing
    Nothing
    overriddenWidgetNew'
    overriddenWidgetNewWithLabel'

clockNewWithType :: ClockType -> Rectangle -> T.Text -> IO (Ref Clock)
clockNewWithType clocktype' rectangle' label' =
    let (x_pos, y_pos, width, height) = fromRectangle rectangle'
    in do
    ref <- copyTextToCString label' >>= \l' -> clockNewWithClockType' (castCharToCUChar . chr . fromEnum $ clocktype') x_pos y_pos width height l'  >>= toRef
    setFlag ref WidgetFlagCopiedLabel
    setFlag ref WidgetFlagCopiedTooltip
    return ref

setValueWithhms' :: (Ptr ()) -> (Int) -> (Int) -> (Int) -> IO ()
setValueWithhms' :: Ptr () -> Int -> Int -> Int -> IO ()
setValueWithhms' a1 :: Ptr ()
a1 a2 a3 :: Int
a3 a4 :: Int
a4 =
  let {a1' :: Ptr ()
a1' = Ptr () -> Ptr ()
forall a. a -> a
id Ptr ()
a1} in 
  let {a2' :: CInt
a2' = Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
a2} in 
  let {a2' :: CULong
a3' = Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
a3} in 
  let {a4' = fromIntegral a4} in 
  Ptr () -> CInt -> CInt -> CInt -> IO ()
setValueWithhms''_ Ptr ()
a1' CInt
a2' CInt
a3' CInt
a4' IO () -> IO () -> IO ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
  () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

{-# LINE 96 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

setValue' :: (Ptr ()) -> (CULong) -> IO ()
setValue' a1 a2 =
  let {a1' = id a1} in 
  let {a2' = id a2} in 
  setValue''_ a1' a2' >>
  return ()

{-# LINE 97 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}


instance (impl ~ ( ClockSetTimeType -> IO ())) => Op (SetValue ()) ClockBase orig impl where
  runOp _ _ clock' clockvalue = withRef clock' $ \clockPtr ->
    case clockvalue of
     ClockSetByTime (ClockByTime (Hour h)(Minute m) (Second s)) -> setValueWithhms' clockPtr h m s
     ClockSetSinceEpoch (ClockSinceEpoch (Second s)) -> setValue' clockPtr (fromIntegral s)

getValue' :: (Ptr ()) -> IO ((CULong))
getValue' :: Ptr () -> IO CULong
getValue' a1 :: Ptr ()
a1 =
  let {a1' = id a1} in 
  getValue''_ a1' >>= \res ->
  let {res' :: CULong
res' = CULong -> CULong
forall a. a -> a
id CULong
res} in
  CULong -> IO CULong
forall (m :: * -> *) a. Monad m => a -> m a
return (CULong
res')

{-# LINE 105 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

instance (impl ~ (IO ClockSinceEpoch)) => Op (GetValueSinceEpoch ()) ClockBase orig impl where
  runOp _ _ clock' = withRef clock' $ \clockPtr ->
    getValue' clockPtr >>= return . ClockSinceEpoch . Second . fromIntegral

clockHour' :: (Ptr ()) -> IO ((Int))
clockHour' a1 =
  let {a1' = id a1} in 
  clockHour''_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 110 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

clockMinute' :: (Ptr ()) -> IO ((Int))
clockMinute' a1 =
  let {a1' = id a1} in 
  clockMinute''_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 111 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

clockSecond' :: (Ptr ()) -> IO ((Int))
clockSecond' a1 =
  let {a1' = id a1} in 
  clockSecond''_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 112 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

instance (impl ~ (IO ClockByTime)) => Op (GetValue ()) ClockBase orig impl where
  runOp _ _ clock' = withRef clock' $ \clockPtr -> do
    hour' <- clockHour' clockPtr
    minute' <- clockMinute' clockPtr
    second' <- clockSecond' clockPtr
    return $ ClockByTime (Hour hour') (Minute minute') (Second second')

setType' :: (Ptr ()) -> (Word8) -> IO ()
setType' :: Ptr () -> Word8 -> IO ()
setType' a1 :: Ptr ()
a1 a2 :: Word8
a2 =
  let {a1' = id a1} in 
  let {a2' :: CUChar
a2' = Word8 -> CUChar
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word8
a2} in 
  Ptr () -> CUChar -> IO ()
setType''_ Ptr ()
a1' CUChar
a2' IO () -> IO () -> IO ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
  () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

{-# LINE 120 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

instance (impl ~ (ClockType ->  IO ())) => Op (SetType ()) ClockBase orig impl where
  runOp _ _ clock type'' = withRef clock $ \clockPtr -> setType' clockPtr (fromIntegral (fromEnum type''))

type' :: (Ptr ()) -> IO ((Word8))
type' a1 =
  let {a1' = id a1} in 
  type''_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 124 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

instance (impl ~ ( IO (ClockType))) => Op (GetType_ ()) ClockBase orig impl where
   runOp _ _ clock = withRef clock $ \clockPtr -> type' clockPtr >>= return . toEnum . fromIntegral


drawSuper' :: (Ptr ()) -> IO ((()))
drawSuper' a1 =
  let {a1' = id a1} in 
  drawSuper''_ a1' >>= \res ->
  let {res' = supressWarningAboutRes res} in
  return (res')

{-# LINE 129 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

drawClockBase ::  Ref ClockBase -> IO ()
drawClockBase clock = withRef clock $ \clockPtr -> drawSuper' clockPtr
handleSuper' :: (Ptr ()) -> (Int) -> IO ((Int))
handleSuper' a1 a2 =
  let {a1' = id a1} in 
  let {a2' = fromIntegral a2} in 
  handleSuper''_ a1' a2' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 132 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

handleClockBase :: Ref ClockBase -> Event ->  IO (Either UnknownEvent ())
handleClockBase clock event = withRef clock $ \clockPtr -> handleSuper' clockPtr (fromIntegral (fromEnum event)) >>= return . successOrUnknownEvent
resizeSuper' :: (Ptr ()) -> (Int) -> (Int) -> (Int) -> (Int) -> IO ((()))
resizeSuper' a1 a2 a3 a4 a5 =
  let {a1' = id a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  resizeSuper''_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = supressWarningAboutRes res} in
  return (res')

{-# LINE 135 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

resizeClockBase :: Ref ClockBase -> Rectangle -> IO ()
resizeClockBase clock rectangle =
    let (x_pos, y_pos, width, height) = fromRectangle rectangle
    in withRef clock $ \clockPtr -> resizeSuper' clockPtr x_pos y_pos width height
hideSuper' :: (Ptr ()) -> IO ((()))
hideSuper' a1 =
  let {a1' = id a1} in 
  hideSuper''_ a1' >>= \res ->
  let {res' = supressWarningAboutRes res} in
  return (res')

{-# LINE 140 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

hideClockBase ::  Ref ClockBase -> IO ()
hideClockBase clock = withRef clock $ \clockPtr -> hideSuper' clockPtr
showSuper' :: (Ptr ()) -> IO ((()))
showSuper' a1 =
  let {a1' = id a1} in 
  showSuper''_ a1' >>= \res ->
  let {res' = supressWarningAboutRes res} in
  return (res')

{-# LINE 143 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

showWidgetClockBase ::  Ref ClockBase -> IO ()
showWidgetClockBase clock = withRef clock $ \clockPtr -> showSuper' clockPtr

getShadow' :: (Ptr ()) -> IO ((Bool))
getShadow' a1 =
  let {a1' = id a1} in 
  getShadow''_ a1' >>= \res ->
  let {res' = cToBool res} in
  return (res')

{-# LINE 147 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

instance (impl ~ (IO Bool)) => Op (GetShadow ()) ClockBase orig impl where
  runOp _ _ clock = withRef clock $ \clockPtr -> getShadow' clockPtr
setShadow' :: (Ptr ()) -> (Bool) -> IO ()
setShadow' a1 a2 =
  let {a1' = id a1} in 
  let {a2' = cFromBool a2} in 
  setShadow''_ a1' a2' >>
  return ()

{-# LINE 150 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

instance (impl ~ (Bool -> IO ())) => Op (SetShadow ()) ClockBase orig impl where
  runOp _ _ clock shadow = withRef clock $ \clockPtr -> setShadow' clockPtr shadow

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

{-# LINE 154 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

instance (impl ~ (  IO ())) => Op (Draw ()) ClockBase orig impl where
  runOp _ _ clock = withRef clock $ \clockPtr -> draw'' clockPtr
clockHandle' :: (Ptr ()) -> (CInt) -> IO ((Int))
clockHandle' a1 a2 =
  let {a1' = id a1} in 
  let {a2' = id a2} in 
  clockHandle''_ a1' a2' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')

{-# LINE 157 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

instance (impl ~ (Event -> IO (Either UnknownEvent ()))) => Op (Handle ()) ClockBase orig impl where
  runOp _ _ clock event = withRef clock (\p -> clockHandle' p (fromIntegral . fromEnum $ event)) >>= return  . successOrUnknownEvent
show' :: (Ptr ()) -> IO ()
show' a1 =
  let {a1' = id a1} in 
  show''_ a1' >>
  return ()

{-# LINE 160 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

instance (impl ~ (  IO ())) => Op (ShowWidget ()) ClockBase orig impl where
  runOp _ _ clock = withRef clock $ \clockPtr -> show' clockPtr
hide' :: (Ptr ()) -> IO ()
hide' a1 =
  let {a1' = id a1} in 
  hide''_ a1' >>
  return ()

{-# LINE 163 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

instance (impl ~ (  IO ())) => Op (Hide ()) ClockBase orig impl where
  runOp _ _ clock = withRef clock $ \clockPtr -> hide' clockPtr
resize' :: (Ptr ()) -> (Int) -> (Int) -> (Int) -> (Int) -> IO ((()))
resize' a1 a2 a3 a4 a5 =
  let {a1' = id a1} in 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  let {a5' = fromIntegral a5} in 
  resize''_ a1' a2' a3' a4' a5' >>= \res ->
  let {res' = supressWarningAboutRes res} in
  return (res')

{-# LINE 166 "src/Graphics/UI/FLTK/LowLevel/Base/Clock.chs" #-}

instance (impl ~ (Rectangle -> IO ())) => Op (Resize ()) ClockBase orig impl where
  runOp _ _ clock rectangle = withRef clock $ \clockPtr -> do
                                 let (x_pos,y_pos,w_pos,h_pos) = fromRectangle rectangle
                                 resize' clockPtr x_pos y_pos w_pos h_pos


-- $hierarchy
-- @
-- "Graphics.UI.FLTK.LowLevel.Base.Widget"
--  |
--  v
-- "Graphics.UI.FLTK.LowLevel.Base.Clock"
-- @

-- $functions
-- @
-- draw :: 'Ref' 'ClockBase' -> 'IO' ()
--
-- getShadow :: 'Ref' 'ClockBase' -> 'IO' 'Bool'
--
-- getType_ :: 'Ref' 'ClockBase' -> 'IO' ('ClockType')
--
-- getValue :: 'Ref' 'ClockBase' -> 'IO' 'ClockByTime'
--
-- getValueSinceEpoch :: 'Ref' 'ClockBase' -> 'IO' 'ClockSinceEpoch'
--
-- handle :: 'Ref' 'ClockBase' -> 'Event' -> 'IO' ('Either' 'UnknownEvent' ())
--
-- hide :: 'Ref' 'ClockBase' -> 'IO' ()
--
-- resize :: 'Ref' 'ClockBase' -> 'Rectangle' -> 'IO' ()
--
-- setShadow :: 'Ref' 'ClockBase' -> 'Bool' -> 'IO' ()
--
-- setType :: 'Ref' 'ClockBase' -> 'ClockType' -> 'IO' ()
--
-- setValue :: 'Ref' 'ClockBase' -> 'ClockSetTimeType' -> 'IO' ()
--
-- showWidget :: 'Ref' 'ClockBase' -> 'IO' ()
-- @

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_OverriddenClock_New_WithLabel"
  overriddenWidgetNewWithLabel''_ :: (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CChar) -> ((C2HSImp.Ptr ()) -> (IO (C2HSImp.Ptr ()))))))))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_OverriddenClock_New"
  overriddenWidgetNew''_ :: (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr ()) -> (IO (C2HSImp.Ptr ())))))))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_New"
  clockNew''_ :: (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (IO (C2HSImp.Ptr ()))))))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_New_WithLabel"
  clockNewWithLabel''_ :: (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CChar) -> (IO (C2HSImp.Ptr ())))))))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_New_WithClockType"
  clockNewWithClockType''_ :: (C2HSImp.CUChar -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> ((C2HSImp.Ptr C2HSImp.CChar) -> (IO (C2HSImp.Ptr ()))))))))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_set_value_with_hms"
  setValueWithhms''_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (IO ())))))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_set_value"
  setValue''_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CULong -> (IO ())))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_value"
  getValue''_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CULong))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_hour"
  clockHour''_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_minute"
  clockMinute''_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_second"
  clockSecond''_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_set_type"
  setType''_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CUChar -> (IO ())))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_type"
  type''_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CUChar))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_draw_super"
  drawSuper''_ :: ((C2HSImp.Ptr ()) -> (IO ()))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_handle_super"
  handleSuper''_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_resize_super"
  resizeSuper''_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (IO ()))))))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_hide_super"
  hideSuper''_ :: ((C2HSImp.Ptr ()) -> (IO ()))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_show_super"
  showSuper''_ :: ((C2HSImp.Ptr ()) -> (IO ()))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_get_shadow"
  getShadow''_ :: ((C2HSImp.Ptr ()) -> (IO C2HSImp.CInt))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_set_shadow"
  setShadow''_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO ())))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_draw"
  draw'''_ :: ((C2HSImp.Ptr ()) -> (IO ()))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_handle"
  clockHandle''_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (IO C2HSImp.CInt)))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_show"
  show''_ :: ((C2HSImp.Ptr ()) -> (IO ()))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_hide"
  hide''_ :: ((C2HSImp.Ptr ()) -> (IO ()))

foreign import ccall safe "Graphics/UI/FLTK/LowLevel/Base/Clock.chs.h Fl_Clock_resize"
  resize''_ :: ((C2HSImp.Ptr ()) -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (C2HSImp.CInt -> (IO ()))))))