📄 intrecttranslator.as
字号:
package de.geom
{
import flash.display.Sprite;
import de.math.UintScaler;
import de.geom.IntRectangle;
import de.geom.IntPoint;
import org.aswing.ASColor;
import org.aswing.graphics.*
public class IntRectTranslator
{
private var _startRect:IntRectangle;
private var _destRect:IntRectangle;
private var _xScaler:UintScaler;
private var _yScaler:UintScaler;
private var _resultRect:IntRectangle;
private var _checkMove:Boolean;
public function IntRectTranslator(startRect:IntRectangle,destRect:IntRectangle,checkMove:Boolean=false){
_checkMove=checkMove
_startRect=startRect;
_destRect=destRect;
_xScaler=new UintScaler(_startRect.x,_startRect.x+_startRect.width,_destRect.x,_destRect.x+_destRect.width,_checkMove);
_yScaler=new UintScaler(_startRect.y,_startRect.y+_startRect.height,_destRect.y,_destRect.y+_destRect.height,_checkMove);
normalize();
}
public function updateRange(startRect:IntRectangle,destRect:IntRectangle):IntRectangle{
_xScaler=new UintScaler(startRect.x,startRect.x+startRect.width,destRect.x,destRect.x+destRect.width);
_yScaler=new UintScaler(startRect.y,startRect.y+startRect.height,destRect.y,destRect.y+destRect.height);
return normalize();
}
public function getResult():IntRectangle{
return normalize();
}
public function drawResultRect (target:Sprite):void{
var g:Graphics2D = new Graphics2D(target.graphics);
var color:ASColor = new ASColor(0xff6600)
/*
var pen:Pen = new Pen(color);
g.drawRectangle(pen,_resultRect.x,_resultRect.y,_resultRect.width,_resultRect.height);
*/
var brush:SolidBrush=new SolidBrush(ASColor.ORANGE)
g.fillRectangle(brush,_resultRect.x,_resultRect.y,_resultRect.width,_resultRect.height);
//trace(_resultRect+ "___"+_startRect)
}
private function normalize():IntRectangle{
var result:IntPoint=new IntPoint();
var resultRect:IntRectangle=new IntRectangle()
resultRect.x=_xScaler.getResult(_startRect.x);
resultRect.y=_yScaler.getResult(_startRect.y);
resultRect.width=_xScaler.getResult(_startRect.width);
resultRect.height=_yScaler.getResult(_startRect.height);
_resultRect=resultRect;
return resultRect;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -