40 lines
1000 B
Haxe
Executable File
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();
|
|
}
|
|
|
|
} |