packages feed

eventloop-0.5.1.0: src/Eventloop/Module/StatefulGraphics/Types.hs

module Eventloop.Module.StatefulGraphics.Types where

import Eventloop.Types.Common
import Eventloop.Module.BasicShapes.Types
import Eventloop.Module.Websocket.Canvas.Types

data StatefulGraphicsOut
    = Draw StatefulGraphic
    | Remove NamedId
    deriving (Eq, Show)

data GraphicPerformed
    = Drawn StatefulGraphic
    | Modified StatefulGraphic
    | Removed StatefulGraphic
    | NoOp

type StatefulGraphic = (NamedId, Shape)

type GraphicsState = [StatefulGraphic]
type GraphicsStates = [(CanvasId, GraphicsState)]