package {
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.geom.Point;
    import flash.net.Responder;
    import net.WhiteboardConnection;

    public class whiteboard extends Sprite
    {
        private var con:WhiteboardConnection = new WhiteboardConnection();
        private var canvas:Sprite;
        private var startPoint:Point = new Point();
        
        public function whiteboard()
        {
            init();
        }
        
        private function init():void
        {
            canvas = new Sprite();
            addChild(canvas);
            
            // 1px, 黒
            canvas.graphics.lineStyle(1, 0x000000);
            
            // 接続
            con.connect("rtmp://localhost/Whiteboard");
            con.setGraphics(canvas.graphics);
            
            // マウスイベントリスナ登録
            stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
            stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
        }
        
        private function onMouseDown(event:MouseEvent):void
        {
            startPoint.x = mouseX;
            startPoint.y = mouseY;
            stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
        }
        
        private function onMouseUp(event:MouseEvent):void
        {
            stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
        }
        
        private function onMouseMove(event:MouseEvent):void
        {
            con.call("drawLine", null, startPoint.x, startPoint.y, mouseX, mouseY);

            startPoint.x = mouseX;
            startPoint.y = mouseY;
        }
    }
}