/*---------------- FILE HEADER --------------------------------------- This file is part of Geoide. Copyright (C) 2005-2006 by: IDgis B.V. http://www.idgis.nl This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Contact: Herman Assink IDgis bv P.O. Box 15 7450 AA Holten The Netherlands E-Mail: herman.assink@idgis.nl * @version 1.4.0 * @author IDgis team * ------------------------------------------------------------------------*/ import nl.idgis.giclient.util.URLTools; class nl.idgis.giclient.gui.CustomCursor extends MovieClip{ private var xOffsetCustomCursor:Number = 0; private var yOffsetCustomCursor:Number = 0; private var hideMouse:Boolean = false; private var depth:Number = 0; private var intervalID:Number = 0; private var x:Number; private var y:Number; private var dragging:Boolean = false; private var intervaltime:Number; function onLoad():Void { intervalID = setInterval(this,"moveCursor", intervaltime); } function resetInterval():Void{ clearInterval(intervalID); } function onSmartRelease() { _parent.onSmartRelease(); } private function showCustomCursor():Void { this._visible = true; if(hideMouse==true){ Mouse.hide(); } } private function setDragging(dragging:Boolean):Void{ this.dragging = dragging; } private function hideCustomCursor():Void { this._visible = false; Mouse.show(); } /** * This method is called after the mapmode is changed * in the mapviewer */ function updateCustomCursor(customCursorURL:String,hideMouse:Boolean,xOffset:Number,yOffset:Number,visibility:Boolean):Void{ if (this["customCursorGraphic"] != null) { this["customCursorGraphic"].removeMovieClip(); } this.hideMouse = hideMouse; this.xOffsetCustomCursor = xOffset; this.yOffsetCustomCursor = yOffset; var initObject:Object = {_width: 20, _height: 20}; URLTools.loadMovie(this, customCursorURL, "customCursorGraphic", depth, initObject); if(visibility){ showCustomCursor(); } else{ hideCustomCursor(); } } function moveCursor():Void { //check of de cursor op dezelfde plaats blijft if(dragging ||(x == _parent._xmouse && y == _parent._ymouse)){ this._x = _parent._xmouse + xOffsetCustomCursor; this._y = _parent._ymouse + yOffsetCustomCursor; this["customCursorGraphic"]._visible = true; } else{ this["customCursorGraphic"]._visible = false; x = _parent._xmouse; y = _parent._ymouse; } } }