Preserve fill type in Path.reset().

Bug: 10838355
Change-Id: I7bdecb945fc35dfed02d37745678ae7bda906628
This commit is contained in:
Mike Klein
2013-10-02 10:37:49 -04:00
parent 00fb27dda8
commit d0f379c197
2 changed files with 41 additions and 0 deletions

View File

@@ -78,7 +78,11 @@ public class Path {
mLastDirection = null;
if (rects != null) rects.setEmpty();
}
// We promised not to change this, so preserve it around the native
// call, which does now reset fill type.
final FillType fillType = getFillType();
native_reset(mNativePath);
setFillType(fillType);
}
/**

View File

@@ -0,0 +1,37 @@
/*
* Copyright (C) 2013 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.graphics;
import android.test.suitebuilder.annotation.SmallTest;
import junit.framework.TestCase;
public class PathTest extends TestCase {
@SmallTest
public void testResetPreservesFillType() throws Exception {
Path path = new Path();
final Path.FillType defaultFillType = path.getFillType();
final Path.FillType fillType = Path.FillType.INVERSE_EVEN_ODD;
assertFalse(fillType.equals(defaultFillType)); // Sanity check for the test itself.
path.setFillType(fillType);
path.reset();
assertEquals(path.getFillType(), fillType);
}
}