From 6860d2c8bf97384380627c86d5860c3681e25b88 Mon Sep 17 00:00:00 2001 From: justin Date: Thu, 23 Mar 2023 00:06:58 +0000 Subject: [PATCH] Start work on old picture shader code --- src/Picture/Data.hs | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/src/Picture/Data.hs b/src/Picture/Data.hs index 9ed1edebe..7005f90b5 100644 --- a/src/Picture/Data.hs +++ b/src/Picture/Data.hs @@ -34,8 +34,23 @@ layerNum = fromEnum numLayers :: Int numLayers = length [minBound :: Layer .. maxBound] -newtype ShadNum = ShadNum {_unShadNum :: Int} - deriving (Eq, Ord, Show, Read) --Generic, Flat) +data ShadNum + = PolyShad + | PolyzShad + | BezShad + | TextShad + | ArcShad + | EllShad + deriving (Eq, Ord, Enum, Bounded, Show, Read) --Generic, Flat) + +numShads :: Int +numShads = length [minBound :: ShadNum .. maxBound] + +_unShadNum :: ShadNum -> Int +_unShadNum = fromEnum + +toShadNum :: Int -> ShadNum +toShadNum = toEnum polyNum, polyzNum, bezNum, textNum, arcNum, ellNum :: ShadNum {-# INLINE polyNum #-} @@ -44,12 +59,12 @@ polyNum, polyzNum, bezNum, textNum, arcNum, ellNum :: ShadNum {-# INLINE textNum #-} {-# INLINE arcNum #-} {-# INLINE ellNum #-} -polyNum = ShadNum 0 -polyzNum = ShadNum 1 -bezNum = ShadNum 2 -textNum = ShadNum 3 -arcNum = ShadNum 4 -ellNum = ShadNum 5 +polyNum = toShadNum 0 +polyzNum = toShadNum 1 +bezNum = toShadNum 2 +textNum = toShadNum 3 +arcNum = toShadNum 4 +ellNum = toShadNum 5 type Picture = [Verx]