Turn off simplePath optimization then Path object is used as out param
Change-Id: I4d9ae5c756b2ed1ba30483e8685ce1ad6c1f0c03 fixes:30349106
This commit is contained in:
@@ -788,7 +788,7 @@ public class Canvas {
|
|||||||
* @return true if the resulting is non-empty
|
* @return true if the resulting is non-empty
|
||||||
*/
|
*/
|
||||||
public boolean clipPath(@NonNull Path path, @NonNull Region.Op op) {
|
public boolean clipPath(@NonNull Path path, @NonNull Region.Op op) {
|
||||||
return native_clipPath(mNativeCanvasWrapper, path.ni(), op.nativeInt);
|
return native_clipPath(mNativeCanvasWrapper, path.readOnlyNI(), op.nativeInt);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -907,7 +907,7 @@ public class Canvas {
|
|||||||
* does not intersect with the canvas' clip
|
* does not intersect with the canvas' clip
|
||||||
*/
|
*/
|
||||||
public boolean quickReject(@NonNull Path path, @NonNull EdgeType type) {
|
public boolean quickReject(@NonNull Path path, @NonNull EdgeType type) {
|
||||||
return native_quickReject(mNativeCanvasWrapper, path.ni());
|
return native_quickReject(mNativeCanvasWrapper, path.readOnlyNI());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1259,7 +1259,7 @@ public class Canvas {
|
|||||||
if (path.isSimplePath && path.rects != null) {
|
if (path.isSimplePath && path.rects != null) {
|
||||||
native_drawRegion(mNativeCanvasWrapper, path.rects.mNativeRegion, paint.getNativeInstance());
|
native_drawRegion(mNativeCanvasWrapper, path.rects.mNativeRegion, paint.getNativeInstance());
|
||||||
} else {
|
} else {
|
||||||
native_drawPath(mNativeCanvasWrapper, path.ni(), paint.getNativeInstance());
|
native_drawPath(mNativeCanvasWrapper, path.readOnlyNI(), paint.getNativeInstance());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1895,7 +1895,7 @@ public class Canvas {
|
|||||||
throw new ArrayIndexOutOfBoundsException();
|
throw new ArrayIndexOutOfBoundsException();
|
||||||
}
|
}
|
||||||
native_drawTextOnPath(mNativeCanvasWrapper, text, index, count,
|
native_drawTextOnPath(mNativeCanvasWrapper, text, index, count,
|
||||||
path.ni(), hOffset, vOffset,
|
path.readOnlyNI(), hOffset, vOffset,
|
||||||
paint.mBidiFlags, paint.getNativeInstance(), paint.mNativeTypeface);
|
paint.mBidiFlags, paint.getNativeInstance(), paint.mNativeTypeface);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1915,7 +1915,7 @@ public class Canvas {
|
|||||||
public void drawTextOnPath(@NonNull String text, @NonNull Path path, float hOffset,
|
public void drawTextOnPath(@NonNull String text, @NonNull Path path, float hOffset,
|
||||||
float vOffset, @NonNull Paint paint) {
|
float vOffset, @NonNull Paint paint) {
|
||||||
if (text.length() > 0) {
|
if (text.length() > 0) {
|
||||||
native_drawTextOnPath(mNativeCanvasWrapper, text, path.ni(), hOffset, vOffset,
|
native_drawTextOnPath(mNativeCanvasWrapper, text, path.readOnlyNI(), hOffset, vOffset,
|
||||||
paint.mBidiFlags, paint.getNativeInstance(), paint.mNativeTypeface);
|
paint.mBidiFlags, paint.getNativeInstance(), paint.mNativeTypeface);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1021,7 +1021,7 @@ public class Paint {
|
|||||||
* drawn with a hairline (width == 0)
|
* drawn with a hairline (width == 0)
|
||||||
*/
|
*/
|
||||||
public boolean getFillPath(Path src, Path dst) {
|
public boolean getFillPath(Path src, Path dst) {
|
||||||
return nGetFillPath(mNativePaint, src.ni(), dst.ni());
|
return nGetFillPath(mNativePaint, src.readOnlyNI(), dst.mutateNI());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2394,7 +2394,7 @@ public class Paint {
|
|||||||
throw new ArrayIndexOutOfBoundsException();
|
throw new ArrayIndexOutOfBoundsException();
|
||||||
}
|
}
|
||||||
nGetTextPath(mNativePaint, mNativeTypeface, mBidiFlags, text, index, count, x, y,
|
nGetTextPath(mNativePaint, mNativeTypeface, mBidiFlags, text, index, count, x, y,
|
||||||
path.ni());
|
path.mutateNI());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2416,7 +2416,7 @@ public class Paint {
|
|||||||
throw new IndexOutOfBoundsException();
|
throw new IndexOutOfBoundsException();
|
||||||
}
|
}
|
||||||
nGetTextPath(mNativePaint, mNativeTypeface, mBidiFlags, text, start, end, x, y,
|
nGetTextPath(mNativePaint, mNativeTypeface, mBidiFlags, text, start, end, x, y,
|
||||||
path.ni());
|
path.mutateNI());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -775,7 +775,12 @@ public class Path {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
final long ni() {
|
final long readOnlyNI() {
|
||||||
|
return mNativePath;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long mutateNI() {
|
||||||
|
isSimplePath = false;
|
||||||
return mNativePath;
|
return mNativePath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class PathDashPathEffect extends PathEffect {
|
|||||||
*/
|
*/
|
||||||
public PathDashPathEffect(Path shape, float advance, float phase,
|
public PathDashPathEffect(Path shape, float advance, float phase,
|
||||||
Style style) {
|
Style style) {
|
||||||
native_instance = nativeCreate(shape.ni(), advance, phase,
|
native_instance = nativeCreate(shape.readOnlyNI(), advance, phase,
|
||||||
style.native_style);
|
style.native_style);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ public class PathMeasure {
|
|||||||
public PathMeasure(Path path, boolean forceClosed) {
|
public PathMeasure(Path path, boolean forceClosed) {
|
||||||
// The native implementation does not copy the path, prevent it from being GC'd
|
// The native implementation does not copy the path, prevent it from being GC'd
|
||||||
mPath = path;
|
mPath = path;
|
||||||
native_instance = native_create(path != null ? path.ni() : 0,
|
native_instance = native_create(path != null ? path.readOnlyNI() : 0,
|
||||||
forceClosed);
|
forceClosed);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ public class PathMeasure {
|
|||||||
public void setPath(Path path, boolean forceClosed) {
|
public void setPath(Path path, boolean forceClosed) {
|
||||||
mPath = path;
|
mPath = path;
|
||||||
native_setPath(native_instance,
|
native_setPath(native_instance,
|
||||||
path != null ? path.ni() : 0,
|
path != null ? path.readOnlyNI() : 0,
|
||||||
forceClosed);
|
forceClosed);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -134,8 +134,7 @@ public class PathMeasure {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
dst.isSimplePath = false;
|
return native_getSegment(native_instance, startD, stopD, dst.mutateNI(), startWithMoveTo);
|
||||||
return native_getSegment(native_instance, startD, stopD, dst.ni(), startWithMoveTo);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ public class Region implements Parcelable {
|
|||||||
* (with no antialiasing).
|
* (with no antialiasing).
|
||||||
*/
|
*/
|
||||||
public boolean setPath(Path path, Region clip) {
|
public boolean setPath(Path path, Region clip) {
|
||||||
return nativeSetPath(mNativeRegion, path.ni(), clip.mNativeRegion);
|
return nativeSetPath(mNativeRegion, path.readOnlyNI(), clip.mNativeRegion);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -155,7 +155,7 @@ public class Region implements Parcelable {
|
|||||||
*/
|
*/
|
||||||
public Path getBoundaryPath() {
|
public Path getBoundaryPath() {
|
||||||
Path path = new Path();
|
Path path = new Path();
|
||||||
nativeGetBoundaryPath(mNativeRegion, path.ni());
|
nativeGetBoundaryPath(mNativeRegion, path.mutateNI());
|
||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -164,7 +164,7 @@ public class Region implements Parcelable {
|
|||||||
* path will also be empty.
|
* path will also be empty.
|
||||||
*/
|
*/
|
||||||
public boolean getBoundaryPath(Path path) {
|
public boolean getBoundaryPath(Path path) {
|
||||||
return nativeGetBoundaryPath(mNativeRegion, path.ni());
|
return nativeGetBoundaryPath(mNativeRegion, path.mutateNI());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user