2012-04-19 06:32:10 +00:00
|
|
|
|
2012-05-12 01:08:15 +00:00
|
|
|
module Hints where
|
2012-04-19 06:32:10 +00:00
|
|
|
|
|
|
|
import Types
|
|
|
|
|
|
|
|
elementT = ADT "Element" []
|
|
|
|
n2e2e = LambdaT IntT $ LambdaT elementT elementT
|
|
|
|
|
|
|
|
str2elem = map (\f -> (f, LambdaT StringT elementT))
|
|
|
|
[ "image", "video", "text", "leftText", "centerText", "rightText" ]
|
|
|
|
|
|
|
|
textAttrs =
|
|
|
|
[ ("link", LambdaT StringT s2s), ("fontSize", LambdaT IntT s2s) ] ++
|
|
|
|
map (\f -> (f, s2s))
|
|
|
|
["header", "italic", "bold", "underline"
|
|
|
|
, "overline", "strikeThrough" ]
|
|
|
|
where s2s = LambdaT StringT StringT
|
|
|
|
|
|
|
|
allHints = str2elem ++ textAttrs ++
|
|
|
|
[ ("flowDown", LambdaT (ADT "List" [elementT]) elementT)
|
|
|
|
, ("flowRight", LambdaT (ADT "List" [elementT]) elementT)
|
|
|
|
, ("opacity", n2e2e)
|
|
|
|
, ("width", n2e2e)
|
|
|
|
, ("height", n2e2e)
|
|
|
|
, ("size", LambdaT IntT n2e2e)
|
|
|
|
, ("centerX", LambdaT elementT elementT)
|
|
|
|
]
|
|
|
|
|
|
|
|
typeHints = Map.fromList allHints
|