[view] SpriteSkin: add round param

This commit is contained in:
2019-09-11 21:04:42 +03:00
parent 3478963a6f
commit a253aeaed4
2 changed files with 10 additions and 4 deletions

View File

@@ -14,10 +14,10 @@ using haxework.color.ColorUtil;
@:style(0xffffff) public var color(default, default):Null<Color>;
@:style(null) public var borderColor(default, default):Null<Color>;
public var round(default, default):Float;
@:style(15) public var round(default, default):Null<Float>;
private var colors:Map<ButtonState, Int>;
public function new(?color:Color, ?borderColor:Color, round:Float = 15) {
public function new(?color:Color, ?borderColor:Color, ?round:Float) {
this.color = color;
this.borderColor = borderColor;
this.round = round;

View File

@@ -6,10 +6,12 @@ import flash.display.Graphics;
@:style public var border(default, default):Border;
@:style public var background(default, default):Background;
@:style(null) public var round(default, default):Null<Float>;
public function new(?background:Background, ?border:Border) {
public function new(?background:Background, ?border:Border, ?round:Float) {
this.background = background != null ? background : new Background();
this.border = border != null ? border : new Border();
this.round = round;
}
public function draw(view:SpriteView):Void {
@@ -24,7 +26,11 @@ import flash.display.Graphics;
graphics.beginFill(0, 0);
}
var o = border.color != null ? border.thickness / 2 : 0;
graphics.drawRect(o, o, view.width - o * 2, view.height - o * 2);
if (round != null) {
graphics.drawRoundRect(o, o, view.width - o * 2, view.height - o * 2, round, round);
} else {
graphics.drawRect(o, o, view.width - o * 2, view.height - o * 2);
}
graphics.lineStyle();
graphics.endFill();
}