{-# LANGUAGE DeriveGeneric, DeriveAnyClass #-} module Eventloop.Types.Events where import GHC.Generics (Generic) import Control.DeepSeq import Eventloop.Module.Websocket.Keyboard.Types import Eventloop.Module.Websocket.Mouse.Types import Eventloop.Module.Websocket.Canvas.Types import Eventloop.Module.DrawTrees.Types import Eventloop.Module.BasicShapes.Types import Eventloop.Module.File.Types import Eventloop.Module.StatefulGraphics.Types import Eventloop.Module.StdIn.Types import Eventloop.Module.StdOut.Types import Eventloop.Module.Timer.Types import Eventloop.Module.Graphs.Types data In = Start | InKeyboard Keyboard | InMouse MouseIn | InFile FileIn | InTimer TimerIn | InStdIn StdInIn | InCanvas CanvasIn | InGraphs GraphsIn deriving (Eq, Show) data Out = OutFile FileOut | OutTimer TimerOut | OutStdOut StdOutOut | OutStdIn StdInOut | OutCanvas CanvasOut | OutBasicShapes BasicShapesOut | OutDrawTrees DrawTreesOut | OutGraphs GraphsOut | OutStatefulGraphics CanvasId [StatefulGraphicsOut] | Stop deriving (Eq, Show, Generic, NFData)