public class LaserShape extends Shape
限定符和类型 | 字段和说明 |
---|---|
static float |
OUTER_RADIUS |
dashType, hasAddedToPaintList, id, isHoverTrace, mPaint, number, rotateAngle, sendByUserName, sendByUserNumber, userRole
构造器和说明 |
---|
LaserShape(Paint paint) |
限定符和类型 | 方法和说明 |
---|---|
void |
appendPoint(LPPointF point) |
void |
copyShape(Shape shape) |
RectF |
getBoundary()
获取shape 范围参数
|
PointF |
getCenter() |
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 |
moveShapeBy(float x,
float y)
move shape by
|
void |
moveShapeTo(float x,
float y) |
void |
onDraw(Canvas canvas,
Matrix matrix)
绘制图形 在onDraw里调用 避免复杂的计算和内存分配
param canvas
|
void |
onDraw(Canvas canvas,
Matrix matrix,
ShapeRegionInfo regionInfo)
绘制图形
|
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 |
setCursorVectorDrawable(androidx.vectordrawable.graphics.drawable.VectorDrawableCompat vectorDrawable) |
void |
setShowMouse(Bitmap mouseBitmap) |
void |
setValid(boolean valid) |
calcRotatePoint, copy, equals, getIn_angle, getPaint, getSourcePoint, setPaint, setSourcePoint
public static final float OUTER_RADIUS
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 x, float y)
Shape
moveShapeBy
在类中 Shape
x
- distance by xy
- distance by ypublic void moveShapeTo(float x, float y)
public void setValid(boolean valid)
public 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 void appendPoint(LPPointF point)
appendPoint
在类中 Shape
public PointF getCenter()
public void setAngle(float rotateAngle)
Shape
public void setShowMouse(Bitmap mouseBitmap)
public void setCursorVectorDrawable(androidx.vectordrawable.graphics.drawable.VectorDrawableCompat vectorDrawable)