Files
haxework/haxework/gui/IView.hx
2014-03-13 12:26:51 +04:00

63 lines
1.6 KiB
Haxe
Executable File

package haxework.gui;
import haxework.gui.core.VAlign;
import haxework.gui.core.HAlign;
import haxework.gui.skin.ISkin;
import haxework.gui.core.SizeType;
typedef Content = {
#if flash
var x(default,default):Float;
var y(default,default):Float;
var visible(default,default):Bool;
var mouseEnabled(default,default):Bool;
#else
var x(get,set):Float;
var y(get,set):Float;
var visible(get,set):Bool;
var mouseEnabled(get,set):Bool;
#end
}
interface IView<C:Content> {
public var id(default, default):String;
public var x(default, set):Float;
public var y(default, set):Float;
public var w(default, set):Float;
public var h(default, set):Float;
public var widthType(default, null):SizeType;
public var heightType(default, null):SizeType;
public var width(get, set):Float;
public var height(get, set):Float;
public var pWidth(default, set):Float;
public var pHeight(default, set):Float;
public var contentSize(default, set):Bool;
public var hAlign(default, set):HAlign;
public var vAlign(default, set):VAlign;
public var leftMargin(default, set):Float;
public var rightMargin(default, set):Float;
public var topMargin(default, set):Float;
public var bottomMargin(default, set):Float;
public var margins(null, set):Float;
public var content(default, null):C;
public var skin(default, set):ISkin<C, IView<C>>;
public var parent(default, null):Null<IGroupView<Dynamic>>;
public var inLayout(default, set):Bool;
public var visible(default, set):Bool;
public var index(default, set):Int;
public var mouseEnabled(default, set):Bool;
public function update():Void;
public function invalidate():Void;
}