Wrap text
Report abuse
NativeWindowDecorator.as
package {
import flash.desktop.NativeApplication;
import flash.display.NativeWindow;
import flash.display.NativeWindowInitOptions;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
public class NativeWindowDecorator {
private var _target:Sprite;
public function get target():Sprite {
return _target;
}
public function set target(value:Sprite):void {
if(value != _target) {
_target = value;
addWindowDecorations();
}
}
public function NativeWindowDecorator(target:Sprite) {
_target = target;
addWindowDecorations();
}
public function addWindowDecorations():void {
if(_target == null)
return;
else {
var win:NativeWindow = new NativeWindow(
new NativeWindowInitOptions());
win.activate();
win.addEventListener(Event.CLOSE,
function(e:Event = null):void {
NativeApplication.nativeApplication.exit(0);
});
win.stage.addChild(_target);
_target.stage.align = StageAlign.TOP_LEFT;
_target.stage.scaleMode = StageScaleMode.NO_SCALE;
win.width = _target.width;
win.height = _target.height;
}
}
}
}
DecoratorTest.as
package {
import flash.display.Sprite;
public class DecoratorTest extends Sprite {
public function DecoratorTest() {
graphics.clear();
graphics.beginFill(0xcbd4dd);
graphics.drawRect(0, 0, 200, 200);
graphics.endFill();
var d:NativeWindowDecorator = new NativeWindowDecorator(this);
}
}
}