[ff]: Flost Window (such as Aero)
forked from Flost Window (such as Aero) (diff: 48)
ActionScript3 source code
/**
* Copyright bradsedito ( http://wonderfl.net/user/bradsedito )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/kbwg
*/
package
{
import flash.display.*;
import flash.events.*;
import flash.filters.*;
import flash.net.*;
import flash.system.*;
import jp.progression.casts.*;
import jp.progression.commands.display.*;
import jp.progression.commands.lists.*;
import jp.progression.commands.net.*;
import jp.progression.data.*;
public class Main extends CastDocument
{
private var window:Sprite = new Sprite();
private var windowMask:Sprite = new Sprite();
private var bg:Sprite = new Sprite();
private var flost:Sprite = new Sprite();
static public const URL:String = "http://farm3.static.flickr.com/2599/3989465047_d24f577563_b.jpg";
override protected function atReady():void
{
new SerialList
(
null,
new LoadBitmapData( new URLRequest(URL), {context:new LoaderContext(true)} ),
initWindow
).execute();
}
private function initWindow():void
{
addChild(bg);
addChild(flost);
addChild(windowMask);
addChild(window);
var res:Resource = getResourceById(URL);
bg.addChild(new Bitmap(res.toBitmapData()));
flost.addChild(new Bitmap(res.toBitmapData()));
window.blendMode = BlendMode.LAYER;
var f:Sprite = new WindowRect();
var r:Sprite = new WindowRect();
var o:Sprite = new Window();
f.filters = [new GlowFilter(0x0, 1, 12, 12, 2.5, 3)];
r.blendMode = BlendMode.ERASE;
window.addChild(f);
window.addChild(r);
window.addChild(o);
windowMask.addChild(new WindowRect);
flost.mask = windowMask;
flost.filters = [new BlurFilter(8, 8, 4)];
window.addEventListener(MouseEvent.MOUSE_DOWN, downHandler);
bg.x = flost.x = -100;
bg.y = flost.y = -170;
window.x = windowMask.x = 120;
window.y = windowMask.y = 120;
}
private function downHandler(e:MouseEvent):void
{
window.startDrag();
stage.addEventListener(MouseEvent.MOUSE_UP, upHandler);
stage.addEventListener(MouseEvent.MOUSE_MOVE, moveHandler);
}
private function moveHandler(e:MouseEvent):void
{
windowMask.x = window.x;
windowMask.y = window.y;
e.updateAfterEvent();
}
private function upHandler(e:MouseEvent):void
{
window.stopDrag();
stage.removeEventListener(MouseEvent.MOUSE_UP, upHandler);
stage.removeEventListener(MouseEvent.MOUSE_MOVE, moveHandler);
}
}
}
import flash.display.Sprite;
import flash.text.TextField;
class WindowRect extends Sprite
{
public function WindowRect()
{
graphics.beginFill(0x999999);
graphics.drawRoundRect(0, 0, 200, 200, 10);
}
}
class Window extends Sprite
{
public function Window()
{
graphics.lineStyle(1, 0xFFFFFF);
graphics.drawRoundRect(0, 0, 200, 200, 10);
graphics.lineStyle(1, 0xFFFFFF, 0.5);
graphics.drawRoundRect(4, 24, 192, 172, 0);
graphics.lineStyle(1, 0x000000);
graphics.beginFill(0xFFFFFF);
graphics.drawRoundRect(5, 25, 190, 170, 0);
}
}