@@ -15,7 +15,8 @@ textToText = [ "header", "italic", "bold", "underline"
1515 , "overline", "strikeThrough", "monospace" ]
1616
1717textAttrs = [ "toText" -: string ==> text
18− --, "link" -: string ==> text ==> text
18+ , "typeface" -: string ==> text ==> text
19+ , "link" -:: string ==> a ==> a
1920 , numScheme (\t -> t ==> text ==> text) "Text.height"
2021 ] ++ hasType (text ==> text) textToText
2122
@@ -29,38 +30,53 @@ elements = let iee = int ==> element ==> element in
2930 , "width" -: iee
3031 , "height" -: iee
3132 , "size" -: int ==> iee
33+ , "widthOf" -: element ==> int
34+ , "heightOf"-: element ==> int
35+ , "sizeOf" -: element ==> pairOf int
3236 , "color" -: color ==> element ==> element
33− , "box" -: iee
34− , "rectangle" -: int ==> int ==> element
37+ , "container" -: int ==> int ==> position ==> element ==> element
38+ , "spacer" -: int ==> int ==> element
3539 , "rightedText" -: text ==> element
3640 , "centeredText" -: text ==> element
3741 , "justifiedText" -: text ==> element
3842 , "asText" -:: a ==> element
3943 , "show" -:: a ==> text
4044 , "collage" -: int ==> int ==> listOf form ==> element
45+ , "fittedImage" -: int ==> int ==> string ==> element
4146 ]
4247
4348directions = hasType direction ["up","down","left","right","inward","outward"]
49+positions =
50+ hasType position ["topLeft","midLeft","bottomLeft","midTop","middle"
51+ ,"midBottom","topRight","midRight","bottomRight"] ++
52+ hasType (location ==> position)
53+ ["topLeftAt","bottomLeftAt","middleAt","topRightAt","bottomRightAt"] ++
54+ [ "absolute" -: int ==> location, "relative" -: float ==> location ]
4455colors = [ numScheme (\n -> n ==> n ==> n ==> color) "rgb"
4556 , numScheme (\n -> n ==> n ==> n ==> n ==> color) "rgba"
4657 ] ++ hasType color ["red","green","blue","black","white"
4758 ,"yellow","cyan","magenta","grey","gray"]
4859
4960lineTypes = [ numScheme (\n -> listOf (pairOf n) ==> line) "line"
61+ , numScheme (\n -> pairOf n ==> pairOf n ==> line) "segment"
5062 , "customLine" -: listOf int ==> color ==> line ==> form
5163 ] ++ hasType (color ==> line ==> form) ["solid","dashed","dotted"]
5264
5365shapes = [ twoNums (\n m -> listOf (pairOf n) ==> pairOf m ==> shape) "polygon"
5466 , "filled" -: color ==> shape ==> form
5567 , "outlined" -: color ==> shape ==> form
68+ , "textured" -: string ==> shape ==> form
5669 , "customOutline" -: listOf int ==> color ==> shape ==> form
57− , numScheme (\n -> n ==> n ==> form ==> form) "move"
58− , numScheme (\n -> n ==> form ==> form) "rotate"
59− , numScheme (\n -> n ==> form ==> form) "scale"
6070 ] ++ map (twoNums (\n m -> n ==> n ==> pairOf m ==> shape)) [ "ngon"
6171 , "rect"
6272 , "oval" ]
6373
74+collages = [ numScheme (\n -> pairOf n ==> element ==> form) "toForm"
75+ , numScheme (\n -> string ==> n ==> n ==> pairOf n ==> form) "sprite"
76+ , numScheme (\n -> n ==> n ==> form ==> form) "move"
77+ , numScheme (\n -> n ==> form ==> form) "rotate"
78+ , numScheme (\n -> n ==> form ==> form) "scale"
79+ ]
6480
6581-------- Foreign --------
6682
@@ -256,4 +272,5 @@ hints = mapM (\(n,s) -> (,) n `liftM` rescheme s) hs
256272 where hs = concat [ funcs, lists, signals, math, bools, str2elem, textAttrs
257273 , elements, directions, colors, lineTypes, shapes
258274 , concreteSignals, casts, polyCasts, json, maybeFuncs
275+ , positions, collages
259276 ]