module AutoGUI.Info
  ( size
  , onScreen
  , position
  )

where

import AutoGUI.Call
import AutoGUI.Discard
import Control.Monad.IO.Class
import CPython.Simple
import Data.Text (Text)
import qualified Data.Text as T

-- | (screenWidth, screenHeight) of the primary monitor in pixels
size :: IO (Integer, Integer)
size :: IO (Integer, Integer)
size = Text -> [Arg] -> [(Text, Arg)] -> IO (Integer, Integer)
forall a. FromPy a => Text -> [Arg] -> [(Text, Arg)] -> IO a
pyautogui Text
"size" [] []

-- | (x, y) position of the mouse
position :: IO (Integer, Integer)
position :: IO (Integer, Integer)
position = Text -> [Arg] -> [(Text, Arg)] -> IO (Integer, Integer)
forall a. FromPy a => Text -> [Arg] -> [(Text, Arg)] -> IO a
pyautogui Text
"position" [] []

-- | Test whether (x, y) is within the screen size
onScreen :: Integer -> Integer -> IO Bool
onScreen :: Integer -> Integer -> IO Bool
onScreen Integer
x Integer
y = Text -> [Arg] -> [(Text, Arg)] -> IO Bool
forall a. FromPy a => Text -> [Arg] -> [(Text, Arg)] -> IO a
pyautogui Text
"onScreen" [Integer -> Arg
forall a. ToPy a => a -> Arg
arg Integer
x, Integer -> Arg
forall a. ToPy a => a -> Arg
arg Integer
y] []