{-# LINE 1 "Graphics\\Win32\\Window\\AnimateWindow.hsc" #-}
{-# LANGUAGE CPP #-}
{- |
   Module      :  Graphics.Win32.Window.AnimateWindow
   Copyright   :  2013 shelarcy
   License     :  BSD-style

   Maintainer  :  shelarcy@gmail.com
   Stability   :  Provisional
   Portability :  Non-portable (Win32 API)

   Provide AnimatedWindow function and flags.
-}
module Graphics.Win32.Window.AnimateWindow where
import Graphics.Win32.GDI.Types ( HWND )
import System.Win32.Types       ( DWORD, BOOL, failIfFalse_ )


#include "windows_cconv.h"


type AnimateWindowType = DWORD

aW_SLIDE         :: AnimateWindowType
aW_SLIDE         =  262144
aW_ACTIVATE      :: AnimateWindowType
aW_ACTIVATE      =  131072
aW_BLEND         :: AnimateWindowType
aW_BLEND         =  524288
aW_HIDE          :: AnimateWindowType
aW_HIDE          =  65536
aW_CENTER        :: AnimateWindowType
aW_CENTER        =  16
aW_HOR_POSITIVE  :: AnimateWindowType
aW_HOR_POSITIVE  =  1
aW_HOR_NEGATIVE  :: AnimateWindowType
aW_HOR_NEGATIVE  =  2
aW_VER_POSITIVE  :: AnimateWindowType
aW_VER_POSITIVE  =  4
aW_VER_NEGATIVE  :: AnimateWindowType
aW_VER_NEGATIVE  =  8

{-# LINE 34 "Graphics\\Win32\\Window\\AnimateWindow.hsc" #-}

animateWindow :: HWND -> DWORD -> AnimateWindowType -> IO ()
animateWindow hwnd dwTime dwFlags
  = failIfFalse_ "AnimateWindow" $ c_AnimateWindow hwnd dwTime dwFlags

foreign import WINDOWS_CCONV "windows.h AnimateWindow"
    c_AnimateWindow :: HWND -> DWORD -> AnimateWindowType -> IO BOOL