public class ArrowShape extends Shape
dashType, hasAddedToPaintList, id, isHoverTrace, mPaint, number, rotateAngle, sendByUserName, sendByUserNumber, userRole
构造器和说明 |
---|
ArrowShape(Paint paint) |
限定符和类型 | 方法和说明 |
---|---|
void |
appendPoint(LPPointF point) |
void |
copyShape(Shape shape) |
RectF |
getBoundary()
获取shape 范围参数
|
float |
getEx() |
float |
getEy() |
java.util.ArrayList<LPPointF> |
getPoints()
发送用点集
|
boolean |
isBoundaryOverlap(RectF rect)
判断边界是否相交
|
boolean |
isInBoundary(float x,
float y)
判断点击事件 是否位于shape 范围
|
boolean |
isTouchShape(float x,
float y)
判断是否点击到shape
|
boolean |
isValid()
图形是否有效.
|
void |
measureArrow() |
void |
moveShapeBy(float deltaX,
float deltaY)
move shape by
|
void |
onDraw(Canvas canvas,
Matrix matrix)
绘制图形 在onDraw里调用 避免复杂的计算和内存分配
param canvas
|
void |
onDraw(Canvas canvas,
Matrix matrix,
ShapeRegionInfo regionInfo)
绘制图形
|
double[] |
rotateVec(float px,
float py,
double ang,
boolean isChLen,
double newLen) |
void |
scaleShapeBy(int scaleDir,
float scaleX,
float scaleY,
float offsetX,
float offsetY,
RectF boundaryRect,
boolean isMoreSelect)
scale shape to sourcePoint
|
void |
setAngle(float rotateAngle)
设置当前角度
|
void |
setEx(int ex) |
void |
setEy(int ey) |
calcRotatePoint, copy, equals, getIn_angle, getPaint, getSourcePoint, setPaint, setSourcePoint
public void appendPoint(LPPointF point)
appendPoint
在类中 Shape
public void measureArrow()
public void onDraw(Canvas canvas, Matrix matrix)
Shape
public void onDraw(Canvas canvas, Matrix matrix, ShapeRegionInfo regionInfo)
Shape
public boolean isInBoundary(float x, float y)
Shape
isInBoundary
在类中 Shape
x
- rawXy
- rawYpublic boolean isTouchShape(float x, float y)
Shape
isTouchShape
在类中 Shape
x
- rawXy
- rawYpublic RectF getBoundary()
Shape
getBoundary
在类中 Shape
public void moveShapeBy(float deltaX, float deltaY)
Shape
moveShapeBy
在类中 Shape
deltaX
- distance by xdeltaY
- distance by ypublic void scaleShapeBy(int scaleDir, float scaleX, float scaleY, float offsetX, float offsetY, RectF boundaryRect, boolean isMoreSelect)
Shape
scaleShapeBy
在类中 Shape
scaleDir
- scale directionscaleX
- X xiascaleY
- Y xiaoffsetX
- 缩放X轴相对原来中心点偏移量offsetY
- 缩放Y轴相对原来中心点偏移量boundaryRect
- 外接框范围isMoreSelect
- 是否多选缩放,需要处理旋转角度在90 ~ 270scaleDir置相反public boolean isBoundaryOverlap(RectF rect)
Shape
isBoundaryOverlap
在类中 Shape
public double[] rotateVec(float px, float py, double ang, boolean isChLen, double newLen)
public float getEx()
public void setEx(int ex)
public float getEy()
public void setEy(int ey)