fixes
This commit is contained in:
@@ -38,5 +38,6 @@ class Root {
|
||||
var content:DisplayObject = view.content;
|
||||
view.width = content.stage.stageWidth;
|
||||
view.height = content.stage.stageHeight;
|
||||
//L.d("Screen", content.stage.stageWidth + "x" + content.stage.stageHeight);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,15 +171,15 @@ class TextView extends SpriteView implements ITextView<Sprite, TextField> {
|
||||
} else {
|
||||
textField.x = switch (layoutHAlign) {
|
||||
case HAlign.NONE: 0;
|
||||
case HAlign.LEFT: 0;
|
||||
case HAlign.LEFT: paddings;
|
||||
case HAlign.CENTER: (width - textField.width) / 2;
|
||||
case HAlign.RIGHT: width - textField.width;
|
||||
case HAlign.RIGHT: width - textField.width - paddings;
|
||||
}
|
||||
textField.y = switch (layoutVAlign) {
|
||||
case VAlign.NONE: 0;
|
||||
case VAlign.TOP: 0;
|
||||
case VAlign.TOP: paddings;
|
||||
case VAlign.MIDDLE: (height - textField.height) / 2;
|
||||
case VAlign.BOTTOM: height - textField.height;
|
||||
case VAlign.BOTTOM: height - textField.height - paddings;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package haxework.gui.skin;
|
||||
|
||||
import haxework.gui.utils.BitmapUtil;
|
||||
import haxework.gui.utils.DrawUtil;
|
||||
import flash.geom.Rectangle;
|
||||
import flash.display.BitmapData;
|
||||
@@ -21,8 +22,9 @@ class ButtonBitmapSkin implements ISkin<Sprite, ButtonView> implements ISize {
|
||||
public var downImage(null, set):BitmapData;
|
||||
|
||||
private var images:Map<ButtonState, BitmapData>;
|
||||
private var disable:BitmapData;
|
||||
|
||||
public function new(?image:BitmapData = null, ?fillType = null, ?color = -1) {
|
||||
public function new(?image:BitmapData = null, ?fillType:FillType = null, ?color = -1) {
|
||||
images = new Map<ButtonState, BitmapData>();
|
||||
if (image != null) {
|
||||
this.image = image;
|
||||
@@ -35,9 +37,9 @@ class ButtonBitmapSkin implements ISkin<Sprite, ButtonView> implements ISize {
|
||||
width = value.width;
|
||||
height = value.height;
|
||||
images.set(ButtonState.UP, value);
|
||||
images.set(ButtonState.DOWN, value);
|
||||
images.set(ButtonState.OVER, value);
|
||||
//images.set(ButtonState.DISABLE, value);
|
||||
images.set(ButtonState.DOWN, BitmapUtil.multiply(value, 0.8));
|
||||
images.set(ButtonState.OVER, BitmapUtil.multiply(value, 1.2));
|
||||
disable = BitmapUtil.grayscale(value, 0.2);
|
||||
return value;
|
||||
}
|
||||
|
||||
@@ -60,7 +62,7 @@ class ButtonBitmapSkin implements ISkin<Sprite, ButtonView> implements ISize {
|
||||
|
||||
public function draw(view:ButtonView):Void {
|
||||
if (images == null) return;
|
||||
var image:BitmapData = images.get(view.state);
|
||||
var image:BitmapData = view.disabled ? disable : images.get(view.state);
|
||||
DrawUtil.draw(view.content.graphics, image, new Rectangle(0, 0, view.width, view.height), fillType, color);
|
||||
}
|
||||
|
||||
|
||||
28
haxework/gui/utils/BitmapUtil.hx
Executable file
28
haxework/gui/utils/BitmapUtil.hx
Executable file
@@ -0,0 +1,28 @@
|
||||
package haxework.gui.utils;
|
||||
|
||||
import flash.geom.Point;
|
||||
import flash.filters.ColorMatrixFilter;
|
||||
import flash.geom.ColorTransform;
|
||||
import flash.display.BitmapData;
|
||||
|
||||
class BitmapUtil {
|
||||
|
||||
public static function multiply(image:BitmapData, m:Float):BitmapData {
|
||||
var ct:ColorTransform = new ColorTransform(m, m, m, 1.0, 0, 0, 0);
|
||||
var out:BitmapData = image.clone();
|
||||
out.colorTransform(out.rect, ct);
|
||||
return out;
|
||||
}
|
||||
|
||||
public static function grayscale(image:BitmapData, m:Float):BitmapData {
|
||||
var matrix:Array<Float> = [];
|
||||
matrix = matrix.concat([m, m, m, 0, 0]);
|
||||
matrix = matrix.concat([m, m, m, 0, 0]);
|
||||
matrix = matrix.concat([m, m, m, 0, 0]);
|
||||
matrix = matrix.concat([0, 0, 0, 1, 0]);
|
||||
var cmf:ColorMatrixFilter = new ColorMatrixFilter(matrix);
|
||||
var out:BitmapData = image.clone();
|
||||
out.applyFilter(out, out.rect, new Point(0,0), cmf);
|
||||
return out;
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@ import flash.geom.Rectangle;
|
||||
import flash.display.BitmapData;
|
||||
import flash.display.Graphics;
|
||||
|
||||
enum FillType {
|
||||
@:fakeEnum(String) enum FillType {
|
||||
NONE;
|
||||
DEFAULT;
|
||||
COVER;
|
||||
|
||||
@@ -43,19 +43,19 @@ class BaseMediaLoader<T> extends BaseLoader<T> {
|
||||
override private function internalRequest(url:String):Void {
|
||||
cockTimeout();
|
||||
loader = buildLoader();
|
||||
loader.load(new URLRequest(url), buildLoaderContext());
|
||||
loader.load(new URLRequest(url), buildLoaderContext(false));
|
||||
}
|
||||
|
||||
override private function internalFromBytes(data:ByteArray):Void {
|
||||
loader = buildLoader();
|
||||
loader.loadBytes(data, buildLoaderContext());
|
||||
loader.loadBytes(data, buildLoaderContext(true));
|
||||
}
|
||||
|
||||
private function buildLoaderContext():LoaderContext {
|
||||
private function buildLoaderContext(bytes:Bool):LoaderContext {
|
||||
return switch (Security.sandboxType) {
|
||||
case Security.REMOTE:
|
||||
//null;
|
||||
new LoaderContext(true, ApplicationDomain.currentDomain, SecurityDomain.currentDomain);
|
||||
bytes ? null : new LoaderContext(true, ApplicationDomain.currentDomain, SecurityDomain.currentDomain);
|
||||
case Security.APPLICATION:
|
||||
var loaderContext:LoaderContext = new LoaderContext();
|
||||
loaderContext.allowLoadBytesCodeExecution = true;
|
||||
|
||||
@@ -16,9 +16,9 @@ class UrlUtil {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static function parseParamsDynamic(url:String):Dynamic {
|
||||
public static function parseParamsDynamic(url:String, ?delimiter:String = "?"):Dynamic {
|
||||
var result:Dynamic = {}
|
||||
var tmp:String = url == null ? null : url.split("?")[1];
|
||||
var tmp:String = url == null ? null : delimiter == "" ? url : url.split(delimiter)[1];
|
||||
if (tmp != null) {
|
||||
var tmpArr:Array<String> = tmp.split("&");
|
||||
for (item in tmpArr) {
|
||||
|
||||
Reference in New Issue
Block a user