Files
haxework/haxework/gui/skin/BitmapSkin.hx
2013-12-17 16:48:50 +04:00

40 lines
1000 B
Haxe
Executable File

package haxework.gui.skin;
import flash.display.BitmapData;
import haxework.gui.utils.ColorUtils;
import haxework.gui.ButtonView.ButtonState;
import flash.display.Graphics;
import flash.display.Sprite;
class BitmapSkin implements ISkin<Sprite, SpriteView> implements ISize {
public var width(default, null):Float;
public var height(default, null):Float;
public var image(null, set):BitmapData;
public function new(?image:BitmapData = null) {
if (image != null) {
this.image = image;
}
}
private function set_image(value:BitmapData):BitmapData {
if (image != value) {
image = value;
width = image.width;
height = image.height;
}
return image;
}
public function draw(view:SpriteView):Void {
if (image == null) return;
var graphics:Graphics = view.content.graphics;
graphics.clear();
graphics.beginBitmapFill(image, null, false, true);
graphics.drawRect(0, 0, view.width, view.height);
graphics.endFill();
}
}