diff --git a/projects/asciilib2/src/asciilib/Colors.hx b/projects/asciilib2/src/asciilib/Colors.hx index d58f45df..272cdae1 100644 --- a/projects/asciilib2/src/asciilib/Colors.hx +++ b/projects/asciilib2/src/asciilib/Colors.hx @@ -1,7 +1,6 @@ package asciilib; import haxe.io.Bytes; -import kiss.Prelude; typedef Color = { r:Int, diff --git a/projects/asciilib2/src/asciilib/Colors.kiss b/projects/asciilib2/src/asciilib/Colors.kiss index 2076fcc3..50751074 100644 --- a/projects/asciilib2/src/asciilib/Colors.kiss +++ b/projects/asciilib2/src/asciilib/Colors.kiss @@ -6,12 +6,12 @@ :Bytes green (Bytes.alloc area) :Bytes blue (Bytes.alloc area)] - (unless fillColor (set fillColor Black)) - (fill fillColor)) + (fill (or fillColor Black))) (defmethod fill [:Color color] (red.fill 0 area color.r) (green.fill 0 area color.g) (blue.fill 0 area color.b)) -(defvar Black (object r 0 g 0 b 0)) \ No newline at end of file +(defvar Black (object r 0 g 0 b 0)) +(defvar White (object r 255 g 255 b 255)) \ No newline at end of file diff --git a/projects/asciilib2/src/asciilib/Grid.hx b/projects/asciilib2/src/asciilib/Grid.hx new file mode 100644 index 00000000..444c9b26 --- /dev/null +++ b/projects/asciilib2/src/asciilib/Grid.hx @@ -0,0 +1,4 @@ +package asciilib; + +@:build(kiss.Kiss.build("src/asciilib/Grid.kiss")) +class Grid {} diff --git a/projects/asciilib2/src/asciilib/Grid.kiss b/projects/asciilib2/src/asciilib/Grid.kiss new file mode 100644 index 00000000..8daa13b8 --- /dev/null +++ b/projects/asciilib2/src/asciilib/Grid.kiss @@ -0,0 +1,4 @@ +(defnew [_width _height :T defaultValue] + [:Int width _width + :Int height _height + :Array> rows (for _ (range height) (for _ (range width) defaultValue))]) \ No newline at end of file diff --git a/projects/asciilib2/src/asciilib/Letters.hx b/projects/asciilib2/src/asciilib/Letters.hx new file mode 100644 index 00000000..69a2bd11 --- /dev/null +++ b/projects/asciilib2/src/asciilib/Letters.hx @@ -0,0 +1,4 @@ +package asciilib; + +@:build(kiss.Kiss.build("src/asciilib/Letters.kiss")) +class Letters {} diff --git a/projects/asciilib2/src/asciilib/Letters.kiss b/projects/asciilib2/src/asciilib/Letters.kiss new file mode 100644 index 00000000..c87f4e2f --- /dev/null +++ b/projects/asciilib2/src/asciilib/Letters.kiss @@ -0,0 +1,4 @@ +(defnew [_width _height &opt :String letter] + [:Int width _width + :Int height _height + :Array rows (for _ (range height) (* (or letter " ") width))]) \ No newline at end of file diff --git a/projects/asciilib2/src/asciilib/Surface.kiss b/projects/asciilib2/src/asciilib/Surface.kiss index e69de29b..739f1d58 100644 --- a/projects/asciilib2/src/asciilib/Surface.kiss +++ b/projects/asciilib2/src/asciilib/Surface.kiss @@ -0,0 +1,8 @@ +(defnew [_width _height &opt :Color backgroundColor :String letter :Color letterColor] + [:Int width _width + :Int height _height + :Colors backgroundColors (new Colors width height (or backgroundColor Colors.Black)) + :Letters letters (new Letters width height (or letter " ")) + :Colors letterColors (new Colors width height (or letterColor Colors.White)) + :Grid opacity (new Grid width height true) + :Grid specialInfo (new Grid width height "")]) \ No newline at end of file diff --git a/projects/asciilib2/src/asciilib/import.hx b/projects/asciilib2/src/asciilib/import.hx new file mode 100644 index 00000000..3485251a --- /dev/null +++ b/projects/asciilib2/src/asciilib/import.hx @@ -0,0 +1 @@ +import kiss.Prelude;