25 lines
594 B
Haxe
25 lines
594 B
Haxe
package haxework.view.theme;
|
|
|
|
import haxework.signal.Signal;
|
|
import haxework.color.Color;
|
|
|
|
typedef ThemeFont = {
|
|
@:optional var name:String;
|
|
@:optional var embed:Bool;
|
|
}
|
|
|
|
typedef ThemeColors = {
|
|
@:optional var light:Color;
|
|
@:optional var dark:Color;
|
|
@:optional var text:Color;
|
|
@:optional var border:Color;
|
|
@:optional var active:Color;
|
|
}
|
|
|
|
interface ITheme {
|
|
public var font(default, set):ThemeFont;
|
|
public var colors(default, set):ThemeColors;
|
|
public var updateSignal(default, null):Signal0;
|
|
public function resolve<T>(key:String, style:StyleId):T;
|
|
}
|