diff --git a/haxework/core/Const.hx b/haxework/core/Const.hx index 44e33f1..dd8b6a9 100755 --- a/haxework/core/Const.hx +++ b/haxework/core/Const.hx @@ -1,8 +1,15 @@ package haxework.core; class Const { + #if flash public static var UINT_MAX_VALUE:UInt = untyped __global__["uint"].MAX_VALUE; public static var UINT_MIN_VALUE:UInt = untyped __global__["uint"].MIN_VALUE; public static var INT_MAX_VALUE:Int = untyped __global__["int"].MAX_VALUE; public static var INT_MIN_VALUE:Int = untyped __global__["int"].MIN_VALUE; + #else + public static var UINT_MAX_VALUE:UInt = 0xffffffff; + public static var UINT_MIN_VALUE:UInt = 0; + public static var INT_MAX_VALUE:Int = 0xffffffff; + public static var INT_MIN_VALUE:Int = -0xffffffff; + #end } \ No newline at end of file diff --git a/haxework/gui/IView.hx b/haxework/gui/IView.hx index 31f3086..5b5afe7 100755 --- a/haxework/gui/IView.hx +++ b/haxework/gui/IView.hx @@ -6,9 +6,15 @@ import haxework.gui.skin.ISkin; import haxework.gui.core.SizeType; typedef Content = { - var x:Float; - var y:Float; - var visible:Bool; + #if flash + var x(default,default):Float; + var y(default,default):Float; + var visible(default,default):Bool; + #else + var x(get,set):Float; + var y(get,set):Float; + var visible(get,set):Bool; + #end } interface IView { diff --git a/haxework/gui/InputView.hx b/haxework/gui/InputView.hx index e613fa8..f31bfb1 100755 --- a/haxework/gui/InputView.hx +++ b/haxework/gui/InputView.hx @@ -1,5 +1,7 @@ package haxework.gui; +import haxework.dispath.Dispatcher; +import haxework.dispath.IDispatcher; import flash.events.Event; import flash.text.TextFormat; import flash.text.TextFieldAutoSize; @@ -13,11 +15,13 @@ import flash.text.TextFieldType; class InputView extends TextView implements IDisposable { public var hint(default, set):String; + public var dispatcher(default, null):IDispatcher; private var hintTextField:TextField; public function new() { super(); + dispatcher = new Dispatcher(); textField.type = TextFieldType.INPUT; textField.addEventListener(Event.CHANGE, onTextChange); textField.addEventListener(KeyboardEvent.KEY_UP, onKeyUp); @@ -51,6 +55,7 @@ class InputView extends TextView implements IDisposable { private function onKeyUp(event:KeyboardEvent):Void { event.stopImmediatePropagation(); + dispatcher.dispatch(function(listener) listener.onKeyUp(textField.text)); } private function onKeyDown(event:KeyboardEvent):Void { @@ -72,4 +77,8 @@ class InputView extends TextView implements IDisposable { textField.removeEventListener(KeyboardEvent.KEY_UP, onKeyUp); textField.removeEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); } +} + +typedef InputViewListener = { + public function onKeyUp(text:String):Void; } \ No newline at end of file diff --git a/haxework/gui/TextView.hx b/haxework/gui/TextView.hx index 3a7ce1d..99a07e5 100755 --- a/haxework/gui/TextView.hx +++ b/haxework/gui/TextView.hx @@ -87,7 +87,12 @@ class TextView extends SpriteView implements ITextView { private function set_align(value:TextFormatAlign):TextFormatAlign { if (align != value) { - textFormat.align = align = value; + align = value; + #if (flash || html5) + textFormat.align = value; + #else + textFormat.align = Std.string(value); + #end invalidate(); } return align; diff --git a/haxework/net/BaseURLLoader.hx b/haxework/net/BaseURLLoader.hx index 6111875..348d1ca 100755 --- a/haxework/net/BaseURLLoader.hx +++ b/haxework/net/BaseURLLoader.hx @@ -45,9 +45,13 @@ class BaseURLLoader extends BaseLoader { } override private function internalFromBytes(data:ByteArray):Void { - var data:T = extrudeResultFromBytes(data); var c:ICallback = callback; - c.callSuccessAsync(data); + if (data == null) { + c.callFailAsync("Content not found"); + } else { + var data:T = extrudeResultFromBytes(data); + c.callSuccessAsync(data); + } Timer.delay(dispose, 1); }