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