📄 intrectscaler.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.Graphics2D;
import org.aswing.graphics.Pen;
public class IntRectScaler
{
private var _startRect:IntRectangle;
private var _normRect:IntRectangle;
private var _xScaler:UintScaler;
private var _yScaler:UintScaler;
private var _point:IntPoint;
private var _checkMove:Boolean;
public function IntRectScaler(startRect:IntRectangle,normRect:IntRectangle,checkMove:Boolean=false){
_checkMove=checkMove
_startRect=startRect;
_normRect=normRect;
_xScaler=new UintScaler(_startRect.x,_startRect.x+_startRect.width,_normRect.x,_normRect.x+_normRect.width,_checkMove);
_yScaler=new UintScaler(_startRect.y,_startRect.y+_startRect.height,_normRect.y,_normRect.y+_normRect.height,_checkMove);
}
public function getResult(point:IntPoint):IntPoint{
_point=point;
return normalize();
}
public function drawNormRect (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,_normRect.x,_normRect.y,_normRect.width,_normRect.height);
}
public function drawStartRect (target:Sprite):void{
var g:Graphics2D = new Graphics2D(target.graphics);
var color:ASColor = new ASColor(0x0000ff)
var pen:Pen = new Pen(color);
g.drawRectangle(pen,_startRect.x,_startRect.y,_startRect.width,_startRect.height);
}
private function normalize():IntPoint{
var result:IntPoint=new IntPoint();
result.x=_xScaler.getResult(_point.x)
result.y=_yScaler.getResult(_point.y)
return result;
}
public function updateRange(startRect:IntRectangle,normRect:IntRectangle):IntPoint{
_xScaler=new UintScaler(_startRect.x,_startRect.x+_startRect.width,_normRect.x,_normRect.x+_normRect.width);
_yScaler=new UintScaler(_startRect.y,_startRect.y+_startRect.height,_normRect.y,_normRect.y+_normRect.height);
return normalize();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -