HGamer3D-0.9.0: HGamer3D/Data/ScreenRect.hs
{-
Datatypes to specify a geometric angle
HGamer3D Library (A project to enable 3D game development in Haskell)
Copyright 2011-2017 Peter Althainz
Distributed under the Apache License, Version 2.0
(See attached file LICENSE or copy at
http://www.apache.org/licenses/LICENSE-2.0)
file: HGamer3D/Data/ScreenRect.hs
-}
module HGamer3D.Data.ScreenRect
where
import Fresco
import Data.Binary.Serialise.CBOR
import Data.Binary.Serialise.CBOR.Encoding
import Data.Binary.Serialise.CBOR.Decoding
import Data.Text
import Data.Monoid
import Control.Applicative
data ScreenRect = ScreenRect {
screenRectX::Int,
screenRectY::Int,
screenRectWidth::Int,
screenRectHeight::Int
} deriving (Eq, Read, Show)
ctScreenRect :: ComponentType ScreenRect
ctScreenRect = ComponentType 0x16877957e32da6b1
instance Serialise ScreenRect where
encode (ScreenRect v1 v2 v3 v4) = encodeListLen 4 <> encode v1 <> encode v2 <> encode v3 <> encode v4
decode = decodeListLenOf 4 >> ScreenRect <$> decode <*> decode <*> decode <*> decode