package com.techlabs.puzzle {
import com.bit101.components.PushButton;
import com.techlabs.puzzle.events.PuzzleEvent;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.PixelSnapping;
import flash.display.Sprite;
import flash.events.Event;
import flash.geom.Matrix;
public class ControlPanel extends Sprite {
private var _shuffleButton:PushButton;
private var _flashPuzzle:PushButton;
private var _flexPuzzle:PushButton;
private var _preview:Bitmap;
public function ControlPanel() {
_shuffleButton = new PushButton(this, 20, 20, "Shuffle", shuffleBoardHandler);
_flashPuzzle = new PushButton(this, 20, 45, "Flash Puzzle", changeImageHandler);
_flexPuzzle = new PushButton(this, 20, 70, "Flex Puzzle", changeImageHandler);
}
public function setPreview(image:Bitmap):void {
var scale:Number = 100/image.width;
var m:Matrix = new Matrix();
m.scale(scale, scale);
var bmd:BitmapData = new BitmapData(image.width*scale, image.width*scale);
bmd.draw(image, m);
_preview = new Bitmap(bmd, PixelSnapping.AUTO, true);
addChild(_preview);
_preview.x = 20;
_preview.y = 105;
}
private function shuffleBoardHandler(e:Event):void {
dispatchEvent(new PuzzleEvent(PuzzleEvent.SHUFFLE));
}
private function changeImageHandler(e:Event):void {
if (e.target.label == "Flash Puzzle")
dispatchEvent(new PuzzleEvent(PuzzleEvent.CHANGE_IMAGE, null, "assets/Puzzle_Flash.png"));
else
dispatchEvent(new PuzzleEvent(PuzzleEvent.CHANGE_IMAGE, null, "assets/Puzzle_Flex.png"));
}
}
}