Skip to content

Instantly share code, notes, and snippets.

@glassesfactory
Created October 19, 2011 18:22
Show Gist options
  • Save glassesfactory/1299194 to your computer and use it in GitHub Desktop.
Save glassesfactory/1299194 to your computer and use it in GitHub Desktop.
/*////////////////////////////////////////////
GFWindowObsererTest
Autor glassesfactory
Date 2011/10/19
Copyright 2011 glasses factory
http://glasses-factory.net
/*////////////////////////////////////////////
package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import net.glassesfactory.events.GFWindowEvent;
import net.glassesfactory.ui.GFWindowObserver;
[SWF(width="465", height="465", backgroundColor="0xbababa")]
public class GFWindowObserverTest extends Sprite
{
public function GFWindowObserverTest()
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
_debugger = new TextField();
_debugger.autoSize = TextFieldAutoSize.LEFT;
addChild( _debugger );
_debugger.text = "GFWindowObserver Test\n";
_box = new Sprite();
_box.graphics.beginFill( 0xff0000);
_box.graphics.drawRect( 0, 0, 100, 100 );
_box.graphics.endFill();
_box.x = 100;
_box.y = 100;
_box.addEventListener( MouseEvent.MOUSE_DOWN, _mouseDownHandler );
_box.addEventListener( MouseEvent.MOUSE_UP, _mouseUpHandler );
stage.addEventListener( MouseEvent.MOUSE_UP, _mouseUpHandler );
addChild( _box );
GFWindowObserver.init(this.stage);
stage.addEventListener( Event.DEACTIVATE, _stageDeactivateHandler );
stage.addEventListener( GFWindowEvent.WINDOW_ACTIVE, _windowActivateHandler );
stage.addEventListener( GFWindowEvent.WINDOW_DEACTIVE, _windowDeactivateHandler );
stage.addEventListener( GFWindowEvent.SWF_OUTSIDE_MOUSE_UP, _outSideUpHandler );
}
//SWF の外でマウスがアップされた時
private function _outSideUpHandler( event:GFWindowEvent ):void{
_debugger.appendText( "mouse up outside\n");
_box.stopDrag();
}
//マウスだうん
private function _mouseDownHandler( event:MouseEvent ):void{
_box.startDrag(false );
}
//マウスあっぷ
private function _mouseUpHandler( event:MouseEvent ):void{
_box.stopDrag();
}
//swf から離れたとき
private function _stageDeactivateHandler( event:Event ):void{
_debugger.appendText( "swf deactivate\n");
}
//もっかい戻ってきた
private function _windowActivateHandler( event:GFWindowEvent ):void{
trace( "GFWindowObserver::Window Activate" );
_debugger.appendText( "Window Activate\n");
}
//Ctrl + tab とかで現在のブラウザ窓から本当に離れたとき
private function _windowDeactivateHandler( event:GFWindowEvent ):void{
trace( "GFWindowObserver::Window Deactivate" );
_debugger.appendText( "Window Deactivate\n");
}
private var _debugger:TextField;
private var _box:Sprite;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment