A[asciilib] Colors
This commit is contained in:
4
projects/asciilib2/build.hxml
Normal file
4
projects/asciilib2/build.hxml
Normal file
@@ -0,0 +1,4 @@
|
||||
-lib kiss
|
||||
-cp src
|
||||
--main Main
|
||||
--interp
|
8
projects/asciilib2/src/Main.hx
Normal file
8
projects/asciilib2/src/Main.hx
Normal file
@@ -0,0 +1,8 @@
|
||||
package;
|
||||
|
||||
import kiss.Kiss;
|
||||
import kiss.Prelude;
|
||||
import asciilib.Surface;
|
||||
|
||||
@:build(kiss.Kiss.build("src/Main.kiss"))
|
||||
class Main {}
|
2
projects/asciilib2/src/Main.kiss
Normal file
2
projects/asciilib2/src/Main.kiss
Normal file
@@ -0,0 +1,2 @@
|
||||
(defun :Void main []
|
||||
(print "Hello world!"))
|
16
projects/asciilib2/src/asciilib/Colors.hx
Normal file
16
projects/asciilib2/src/asciilib/Colors.hx
Normal file
@@ -0,0 +1,16 @@
|
||||
package asciilib;
|
||||
|
||||
import haxe.io.Bytes;
|
||||
import kiss.Prelude;
|
||||
|
||||
typedef Color = {
|
||||
r:Int,
|
||||
g:Int,
|
||||
b:Int,
|
||||
}
|
||||
|
||||
/**
|
||||
* The Colors class represents a 2D grid of colors. Under the hood, it's byte channels
|
||||
*/
|
||||
@:build(kiss.Kiss.build("src/asciilib/Colors.kiss"))
|
||||
class Colors {}
|
17
projects/asciilib2/src/asciilib/Colors.kiss
Normal file
17
projects/asciilib2/src/asciilib/Colors.kiss
Normal file
@@ -0,0 +1,17 @@
|
||||
(defnew [_width _height &opt :Color fillColor]
|
||||
[:Int width _width
|
||||
:Int height _height
|
||||
:Int area (* width height)
|
||||
:Bytes red (Bytes.alloc area)
|
||||
:Bytes green (Bytes.alloc area)
|
||||
:Bytes blue (Bytes.alloc area)]
|
||||
|
||||
(unless fillColor (set fillColor Black))
|
||||
(fill fillColor))
|
||||
|
||||
(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))
|
6
projects/asciilib2/src/asciilib/Surface.hx
Normal file
6
projects/asciilib2/src/asciilib/Surface.hx
Normal file
@@ -0,0 +1,6 @@
|
||||
package asciilib;
|
||||
|
||||
import asciilib.Colors;
|
||||
|
||||
@:build(kiss.Kiss.build("src/asciilib/Surface.kiss"))
|
||||
class Surface {}
|
0
projects/asciilib2/src/asciilib/Surface.kiss
Normal file
0
projects/asciilib2/src/asciilib/Surface.kiss
Normal file
3
projects/asciilib2/test.sh
Normal file
3
projects/asciilib2/test.sh
Normal file
@@ -0,0 +1,3 @@
|
||||
#! /bin/bash
|
||||
|
||||
haxe build.hxml
|
Reference in New Issue
Block a user