New Mouse Icons for Mac!
Co-Authored-By: Mihai Alexandru <77043862+MAJigsaw77@users.noreply.github.com>
This commit is contained in:
co-authored by
Mihai Alexandru
parent
4285307d70
commit
a8997daecb
@@ -1,5 +1,8 @@
|
||||
package funkin.backend.utils;
|
||||
|
||||
import haxe.macro.Expr.Case;
|
||||
import openfl.ui.Mouse;
|
||||
import openfl.ui.MouseCursor;
|
||||
import funkin.backend.utils.native.*;
|
||||
|
||||
/**
|
||||
@@ -72,6 +75,17 @@ class NativeAPI {
|
||||
#end
|
||||
}
|
||||
|
||||
/**
|
||||
* Set cursor icon.
|
||||
**/
|
||||
public static function setCursorIcon(icon:CodeCursor) {
|
||||
#if mac
|
||||
Mac.setMouseCursorIcon(cast icon);
|
||||
#else
|
||||
Mouse.cursor = icon.toOpenFL();
|
||||
#end
|
||||
}
|
||||
|
||||
public static function consoleColorToANSI(color:ConsoleColor) {
|
||||
return switch(color) {
|
||||
case BLACK: 30;
|
||||
@@ -141,4 +155,95 @@ enum abstract MessageBoxIcon(Int) {
|
||||
var MSG_QUESTION = 0x00000020;
|
||||
var MSG_WARNING = 0x00000030;
|
||||
var MSG_INFORMATION = 0x00000040;
|
||||
}
|
||||
|
||||
enum abstract CodeCursor(String) {
|
||||
var CUSTOM;// = "arrow";
|
||||
var ARROW;// = "arrow";
|
||||
var CLICK;// = "click";
|
||||
var CROSSHAIR;// = "crosshair";
|
||||
var HAND;// = "hand";
|
||||
var IBEAM;// = "ibeam";
|
||||
var MOVE;// = "move";
|
||||
|
||||
var RESIZE_H;// = "resize_we";
|
||||
var RESIZE_V;// = "resize_ns";
|
||||
var RESIZE_TL;// = "resize_nw";
|
||||
var RESIZE_TR;// = "resize_ne";
|
||||
var RESIZE_BL;// = "resize_sw";
|
||||
var RESIZE_BR;// = "resize_se";
|
||||
var RESIZE_T;// = "resize_n";
|
||||
var RESIZE_B;// = "resize_b";
|
||||
var RESIZE_L;// = "resize_w";
|
||||
var RESIZE_R;// = "resize_e";
|
||||
|
||||
var WAIT;// = "wait";
|
||||
var WAIT_ARROW;// = "waitarrow";
|
||||
var DISABLED;// = "disabled";
|
||||
var DRAG;// = "drag";
|
||||
var DRAG_OPEN;// = "dragopen";
|
||||
|
||||
@:to public function toOpenFL():MouseCursor {
|
||||
return @:privateAccess switch(cast this) {
|
||||
case ARROW: MouseCursor.ARROW;
|
||||
case CROSSHAIR: MouseCursor.__CROSSHAIR;
|
||||
case CLICK: MouseCursor.BUTTON;
|
||||
case IBEAM: MouseCursor.IBEAM;
|
||||
case MOVE: MouseCursor.__MOVE;
|
||||
case HAND: MouseCursor.HAND;
|
||||
case DRAG: MouseCursor.HAND;
|
||||
case DRAG_OPEN: MouseCursor.HAND;
|
||||
case WAIT: MouseCursor.__WAIT;
|
||||
case WAIT_ARROW: MouseCursor.__WAIT_ARROW;
|
||||
|
||||
case DISABLED: MouseCursor.ARROW;
|
||||
|
||||
case RESIZE_TR: MouseCursor.__RESIZE_NESW;
|
||||
case RESIZE_BL: MouseCursor.__RESIZE_NESW;
|
||||
case RESIZE_TL: MouseCursor.__RESIZE_NWSE;
|
||||
case RESIZE_BR: MouseCursor.__RESIZE_NWSE;
|
||||
case RESIZE_H: MouseCursor.__RESIZE_WE;
|
||||
case RESIZE_V: MouseCursor.__RESIZE_NS;
|
||||
|
||||
case RESIZE_T: MouseCursor.__RESIZE_NS;
|
||||
case RESIZE_B: MouseCursor.__RESIZE_NS;
|
||||
|
||||
case RESIZE_L: MouseCursor.__RESIZE_WE;
|
||||
case RESIZE_R: MouseCursor.__RESIZE_WE;
|
||||
case CUSTOM: MouseCursor.__CUSTOM;
|
||||
//default: ARROW;
|
||||
}
|
||||
}
|
||||
|
||||
@:to public function toInt():Int {
|
||||
return switch(cast this) {
|
||||
case ARROW: 0;
|
||||
case CROSSHAIR: 1;
|
||||
case CLICK: 2;
|
||||
case IBEAM: 3;
|
||||
case MOVE: 4;
|
||||
case HAND: 5;
|
||||
case DRAG: 6;
|
||||
case DRAG_OPEN: 7;
|
||||
case WAIT: 8;
|
||||
case WAIT_ARROW: 9;
|
||||
|
||||
case DISABLED: 10;
|
||||
|
||||
case RESIZE_TR: 11;
|
||||
case RESIZE_BL: 12;
|
||||
case RESIZE_TL: 13;
|
||||
case RESIZE_BR: 14;
|
||||
case RESIZE_H: 15;
|
||||
case RESIZE_V: 16;
|
||||
|
||||
case RESIZE_T: 17;
|
||||
case RESIZE_B: 18;
|
||||
|
||||
case RESIZE_L: 19;
|
||||
case RESIZE_R: 20;
|
||||
|
||||
case CUSTOM: -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user