@@ -59,6 +59,10 @@ public Path(Path src) {
5959 int valNative = 0 ;
6060 if (src != null ) {
6161 valNative = src .mNativePath ;
62+ isSimplePath = src .isSimplePath ;
63+ if (src .rects != null ) {
64+ rects = new Region (src .rects );
65+ }
6266 }
6367 mNativePath = init2 (valNative );
6468 mDetectSimplePaths = HardwareRenderer .isAvailable ();
@@ -544,6 +548,7 @@ public void offset(float dx, float dy, Path dst) {
544548 int dstNative = 0 ;
545549 if (dst != null ) {
546550 dstNative = dst .mNativePath ;
551+ dst .isSimplePath = false ;
547552 }
548553 native_offset (mNativePath , dx , dy , dstNative );
549554 }
@@ -555,6 +560,7 @@ public void offset(float dx, float dy, Path dst) {
555560 * @param dy The amount in the Y direction to offset the entire path
556561 */
557562 public void offset (float dx , float dy ) {
563+ isSimplePath = false ;
558564 native_offset (mNativePath , dx , dy );
559565 }
560566
@@ -580,6 +586,7 @@ public void setLastPoint(float dx, float dy) {
580586 public void transform (Matrix matrix , Path dst ) {
581587 int dstNative = 0 ;
582588 if (dst != null ) {
589+ dst .isSimplePath = false ;
583590 dstNative = dst .mNativePath ;
584591 }
585592 native_transform (mNativePath , matrix .native_instance , dstNative );
@@ -591,6 +598,7 @@ public void transform(Matrix matrix, Path dst) {
591598 * @param matrix The matrix to apply to the path
592599 */
593600 public void transform (Matrix matrix ) {
601+ isSimplePath = false ;
594602 native_transform (mNativePath , matrix .native_instance );
595603 }
596604
0 commit comments