Region.op:当两个区域重合时该如何处理,有6个取值:
DIFFERENCE::从region1中减去region2
INTERSECT:区region1和region3部分
REPLACE:用region2替换region1
REVERCE_DIFFERENCE:从region2中减去region1
UNION:合并region1和region2
XOR:取region1和region2不重合的部分
Region的函数
Region():构造函数,创建一个新的没有任何内容的region
Region(Region src):创建一个和src一样的region
Region(RectF src):创建一个矩形src表示的region
Region(int left,int top,int right,int bottom):创建一个矩形region
void contains(int x,int y):是否包含点(x,y)
Path getBoundaryPath():获取该region的边界并作为一个新的path返回
boolean getBoundary(Path path):获取该region的边界并将其存入指定的path中
boolean getBounds(RectF dst):获取region的边界并存入指定的矩形dst中
Rect getBounds():获取region的边界并作为矩形返回
boolean isComplex():是否有两个以上的区域
boolean isEmpty():是否是该region没有内容
boolean isRect():该region是否是矩形
boolean op(Region region,Region.op op):将当前region与指定的region按照op进行处理
boolean op(RectF rect,Region region,Region.op op):将指定的rect与region按照op进行处理,并将结果返回给当前region
boolean op(Region region1,Region region2,Region.op op):将region1和region2按照op进行处理,并将结果返回给当前的region
boolean quickContains(int left,int top,int right,int bottom):该region是否是一个单个矩形并且包含指定的矩形
boolean quickContains(RectF src):同上
boolean quickReject(int left,int top,int right,int bottom):该region是否和指定 的矩形没有相交的地方
boolean quicReject(RectF src):同上
boolean quickRejectRejion region):该region是否和指定的region没有相交的地方
boolean set(int left,int top,int right,int bottom):将该region设置为指定的矩形
boolean set(RectF src):同上
boolean set(Region region):将该region设置为指定的region
void setEmpty():将该region的内容清空
void translate(int x,int y):将当前region移动x,y
void translate(int x,int y,Region dst):将当前region移动x,y的结果存入dst中
boolean setPath(Path path,Region clip):取path和clip重合的部分