Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9b17ebca authored by Sergei Vasilinetc's avatar Sergei Vasilinetc Committed by Android (Google) Code Review
Browse files

Merge "Turn off simplePath optimization then Path object is used as out param" into nyc-mr1-dev

parents 5e0a4284 a6a8557d
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -788,7 +788,7 @@ public class Canvas {
     * @return     true if the resulting is non-empty
     */
    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
     */
    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) {
            native_drawRegion(mNativeCanvasWrapper, path.rects.mNativeRegion, paint.getNativeInstance());
        } 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();
        }
        native_drawTextOnPath(mNativeCanvasWrapper, text, index, count,
                path.ni(), hOffset, vOffset,
                path.readOnlyNI(), hOffset, vOffset,
                paint.mBidiFlags, paint.getNativeInstance(), paint.mNativeTypeface);
    }

@@ -1915,7 +1915,7 @@ public class Canvas {
    public void drawTextOnPath(@NonNull String text, @NonNull Path path, float hOffset,
            float vOffset, @NonNull Paint paint) {
        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);
        }
    }
+3 −3
Original line number Diff line number Diff line
@@ -1021,7 +1021,7 @@ public class Paint {
     *                 drawn with a hairline (width == 0)
     */
    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();
        }
        nGetTextPath(mNativePaint, mNativeTypeface, mBidiFlags, text, index, count, x, y,
                path.ni());
                path.mutateNI());
    }

    /**
@@ -2416,7 +2416,7 @@ public class Paint {
            throw new IndexOutOfBoundsException();
        }
        nGetTextPath(mNativePaint, mNativeTypeface, mBidiFlags, text, start, end, x, y,
                path.ni());
                path.mutateNI());
    }

    /**
+6 −1
Original line number Diff line number Diff line
@@ -775,7 +775,12 @@ public class Path {
        }
    }

    final long ni() {
    final long readOnlyNI() {
        return mNativePath;
    }

    final long mutateNI() {
        isSimplePath = false;
        return mNativePath;
    }

+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ public class PathDashPathEffect extends PathEffect {
     */
    public PathDashPathEffect(Path shape, float advance, float phase,
                              Style style) {
        native_instance = nativeCreate(shape.ni(), advance, phase,
        native_instance = nativeCreate(shape.readOnlyNI(), advance, phase,
                                       style.native_style);
    }
    
+3 −4
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ public class PathMeasure {
    public PathMeasure(Path path, boolean forceClosed) {
        // The native implementation does not copy the path, prevent it from being GC'd
        mPath = path;
        native_instance = native_create(path != null ? path.ni() : 0,
        native_instance = native_create(path != null ? path.readOnlyNI() : 0,
                                        forceClosed);
    }

@@ -60,7 +60,7 @@ public class PathMeasure {
    public void setPath(Path path, boolean forceClosed) {
        mPath = path;
        native_setPath(native_instance,
                       path != null ? path.ni() : 0,
                       path != null ? path.readOnlyNI() : 0,
                       forceClosed);
    }

@@ -134,8 +134,7 @@ public class PathMeasure {
            return false;
        }

        dst.isSimplePath = false;
        return native_getSegment(native_instance, startD, stopD, dst.ni(), startWithMoveTo);
        return native_getSegment(native_instance, startD, stopD, dst.mutateNI(), startWithMoveTo);
    }

    /**
Loading