Ansi Colors for Mac and Linux
This commit is contained in:
@@ -49,58 +49,92 @@ class NativeAPI {
|
|||||||
/**
|
/**
|
||||||
* Sets the console colors
|
* Sets the console colors
|
||||||
*/
|
*/
|
||||||
public static function setConsoleColors(foregroundColor:ConsoleColor = LIGHTGRAY, ?backgroundColor:ConsoleColor = BLACK) {
|
public static function setConsoleColors(foregroundColor:ConsoleColor = NONE, ?backgroundColor:ConsoleColor = NONE) {
|
||||||
#if windows
|
#if windows
|
||||||
|
if(foregroundColor == NONE)
|
||||||
|
foregroundColor = LIGHTGRAY;
|
||||||
|
if(backgroundColor == NONE)
|
||||||
|
backgroundColor = BLACK;
|
||||||
|
|
||||||
var fg = cast(foregroundColor, Int);
|
var fg = cast(foregroundColor, Int);
|
||||||
var bg = cast(backgroundColor, Int);
|
var bg = cast(backgroundColor, Int);
|
||||||
Windows.setConsoleColors((bg * 16) + fg);
|
Windows.setConsoleColors((bg * 16) + fg);
|
||||||
|
#else
|
||||||
|
Sys.print("\x1b[0m");
|
||||||
|
if(foregroundColor != NONE)
|
||||||
|
Sys.print("\x1b[" + Std.int(consoleColorToANSI(foregroundColor)) + "m");
|
||||||
|
if(backgroundColor != NONE)
|
||||||
|
Sys.print("\x1b[" + Std.int(consoleColorToANSI(backgroundColor) + 10) + "m");
|
||||||
#end
|
#end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function consoleColorToANSI(color:ConsoleColor) {
|
||||||
|
return switch(color) {
|
||||||
|
case BLACK: 30;
|
||||||
|
case DARKBLUE: 34;
|
||||||
|
case DARKGREEN: 32;
|
||||||
|
case DARKCYAN: 36;
|
||||||
|
case DARKRED: 31;
|
||||||
|
case DARKMAGENTA: 35;
|
||||||
|
case DARKYELLOW: 33;
|
||||||
|
case LIGHTGRAY: 37;
|
||||||
|
case GRAY: 90;
|
||||||
|
case BLUE: 94;
|
||||||
|
case GREEN: 92;
|
||||||
|
case CYAN: 96;
|
||||||
|
case RED: 91;
|
||||||
|
case MAGENTA: 95;
|
||||||
|
case YELLOW: 93;
|
||||||
|
case WHITE | _: 97;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static function consoleColorToOpenFL(color:ConsoleColor) {
|
public static function consoleColorToOpenFL(color:ConsoleColor) {
|
||||||
return switch(color) {
|
return switch(color) {
|
||||||
case BLACK: 0xFF000000;
|
case BLACK: 0xFF000000;
|
||||||
case DARKBLUE: 0xFF000088;
|
case DARKBLUE: 0xFF000088;
|
||||||
case DARKGREEN: 0xFF008800;
|
case DARKGREEN: 0xFF008800;
|
||||||
case DARKCYAN: 0xFF008888;
|
case DARKCYAN: 0xFF008888;
|
||||||
case DARKRED: 0xFF880000;
|
case DARKRED: 0xFF880000;
|
||||||
case DARKMAGENTA: 0xFF880000;
|
case DARKMAGENTA: 0xFF880000;
|
||||||
case DARKYELLOW: 0xFF888800;
|
case DARKYELLOW: 0xFF888800;
|
||||||
case LIGHTGRAY: 0xFFBBBBBB;
|
case LIGHTGRAY: 0xFFBBBBBB;
|
||||||
case GRAY: 0xFF888888;
|
case GRAY: 0xFF888888;
|
||||||
case BLUE: 0xFF0000FF;
|
case BLUE: 0xFF0000FF;
|
||||||
case GREEN: 0xFF00FF00;
|
case GREEN: 0xFF00FF00;
|
||||||
case CYAN: 0xFF00FFFF;
|
case CYAN: 0xFF00FFFF;
|
||||||
case RED: 0xFFFF0000;
|
case RED: 0xFFFF0000;
|
||||||
case MAGENTA: 0xFFFF00FF;
|
case MAGENTA: 0xFFFF00FF;
|
||||||
case YELLOW: 0xFFFFFF00;
|
case YELLOW: 0xFFFFFF00;
|
||||||
case WHITE | _: 0xFFFFFFFF;
|
case WHITE | _: 0xFFFFFFFF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@:enum abstract ConsoleColor(Int) {
|
enum abstract ConsoleColor(Int) {
|
||||||
var BLACK:ConsoleColor = 0;
|
var BLACK = 0;
|
||||||
var DARKBLUE:ConsoleColor = 1;
|
var DARKBLUE = 1;
|
||||||
var DARKGREEN:ConsoleColor = 2;
|
var DARKGREEN = 2;
|
||||||
var DARKCYAN:ConsoleColor = 3;
|
var DARKCYAN = 3;
|
||||||
var DARKRED:ConsoleColor = 4;
|
var DARKRED = 4;
|
||||||
var DARKMAGENTA:ConsoleColor = 5;
|
var DARKMAGENTA = 5;
|
||||||
var DARKYELLOW:ConsoleColor = 6;
|
var DARKYELLOW = 6;
|
||||||
var LIGHTGRAY:ConsoleColor = 7;
|
var LIGHTGRAY = 7;
|
||||||
var GRAY:ConsoleColor = 8;
|
var GRAY = 8;
|
||||||
var BLUE:ConsoleColor = 9;
|
var BLUE = 9;
|
||||||
var GREEN:ConsoleColor = 10;
|
var GREEN = 10;
|
||||||
var CYAN:ConsoleColor = 11;
|
var CYAN = 11;
|
||||||
var RED:ConsoleColor = 12;
|
var RED = 12;
|
||||||
var MAGENTA:ConsoleColor = 13;
|
var MAGENTA = 13;
|
||||||
var YELLOW:ConsoleColor = 14;
|
var YELLOW = 14;
|
||||||
var WHITE:ConsoleColor = 15;
|
var WHITE = 15;
|
||||||
|
|
||||||
|
var NONE = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@:enum abstract MessageBoxIcon(Int) {
|
enum abstract MessageBoxIcon(Int) {
|
||||||
var MSG_ERROR:MessageBoxIcon = 0x00000010;
|
var MSG_ERROR = 0x00000010;
|
||||||
var MSG_QUESTION:MessageBoxIcon = 0x00000020;
|
var MSG_QUESTION = 0x00000020;
|
||||||
var MSG_WARNING:MessageBoxIcon = 0x00000030;
|
var MSG_WARNING = 0x00000030;
|
||||||
var MSG_INFORMATION:MessageBoxIcon = 0x00000040;
|
var MSG_INFORMATION = 0x00000040;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user