[gui] Hide ScrollSkin if scroll ratio=1

This commit is contained in:
2018-07-27 17:27:56 +03:00
parent a518daed82
commit 2b9cea80bc
3 changed files with 19 additions and 16 deletions

View File

@@ -9,7 +9,7 @@ class HScrollSkin implements ISkin<ScrollView> {
public var foreColor(default, default):Int; public var foreColor(default, default):Int;
public var backColor(default, default):Int; public var backColor(default, default):Int;
public function new(?foreColor:Int = 0xffffff, ?backColor:Int = 0x707070) { public function new(foreColor:Int = 0xffffff, backColor:Int = 0x707070) {
this.foreColor = foreColor; this.foreColor = foreColor;
this.backColor = backColor; this.backColor = backColor;
} }
@@ -17,10 +17,12 @@ class HScrollSkin implements ISkin<ScrollView> {
public function draw(view:ScrollView):Void { public function draw(view:ScrollView):Void {
var graphics:Graphics = view.contentAsSprite.graphics; var graphics:Graphics = view.contentAsSprite.graphics;
graphics.clear(); graphics.clear();
graphics.beginFill(backColor); if (view.ratio < 1) {
graphics.drawRect(0, 0, view.width, view.height); graphics.beginFill(backColor);
graphics.beginFill(foreColor); graphics.drawRect(0, 0, view.width, view.height);
graphics.drawRect(view.width * view.position, 0, view.width * view.ratio, view.height); graphics.beginFill(foreColor);
graphics.endFill(); graphics.drawRect(view.width * view.position, 0, view.width * view.ratio, view.height);
graphics.endFill();
}
} }
} }

View File

@@ -9,7 +9,7 @@ class VScrollSkin implements ISkin<ScrollView> {
public var foreColor(default, default):Int; public var foreColor(default, default):Int;
public var backColor(default, default):Int; public var backColor(default, default):Int;
public function new(?foreColor:Int = 0xffffff, ?backColor:Int = 0x707070) { public function new(foreColor:Int = 0xffffff, backColor:Int = 0x707070) {
this.foreColor = foreColor; this.foreColor = foreColor;
this.backColor = backColor; this.backColor = backColor;
} }
@@ -17,10 +17,12 @@ class VScrollSkin implements ISkin<ScrollView> {
public function draw(view:ScrollView):Void { public function draw(view:ScrollView):Void {
var graphics:Graphics = view.contentAsSprite.graphics; var graphics:Graphics = view.contentAsSprite.graphics;
graphics.clear(); graphics.clear();
graphics.beginFill(backColor); if (view.ratio < 1) {
graphics.drawRect(0, 0, view.width, view.height); graphics.beginFill(backColor);
graphics.beginFill(foreColor); graphics.drawRect(0, 0, view.width, view.height);
graphics.drawRect(0, view.height * view.position, view.width, view.height * view.ratio); graphics.beginFill(foreColor);
graphics.endFill(); graphics.drawRect(0, view.height * view.position, view.width, view.height * view.ratio);
graphics.endFill();
}
} }
} }

View File

@@ -1,9 +1,8 @@
package haxework.gui.skin; package haxework.gui.skin;
import haxework.gui.utils.ColorUtils;
import haxework.gui.ButtonView.ButtonState;
import flash.display.Graphics; import flash.display.Graphics;
import flash.display.Sprite; import haxework.gui.ButtonView.ButtonState;
import haxework.gui.utils.ColorUtils;
class ButtonColorSkin implements ISkin<ButtonView> { class ButtonColorSkin implements ISkin<ButtonView> {
@@ -12,7 +11,7 @@ class ButtonColorSkin implements ISkin<ButtonView> {
public var disable(default, default):Int; public var disable(default, default):Int;
private var colors:Map<ButtonState, Int>; private var colors:Map<ButtonState, Int>;
public function new(?color:Int = 0xffffff, ?alpha:Float = 1.0) { public function new(color:Int = 0xffffff, alpha:Float = 1.0) {
this.color = color; this.color = color;
this.alpha = alpha; this.alpha = alpha;
} }