Changes Vector defaultWidth/defaultHeight to use Dp
This makes programmatic Vector use a lot easier, as they can be defined
outside of a composable / density scope context.
Bug: b/146212530
Test: XmlVectorParserTest
Change-Id: Iad267c8242206328be222ca200d76edc522274a7
diff --git a/ui/integration-tests/test/src/main/java/androidx/ui/integration/test/framework/VectorAssetTestCase.kt b/ui/integration-tests/test/src/main/java/androidx/ui/integration/test/framework/VectorAssetTestCase.kt
index 3ab13ab..dda850b 100644
--- a/ui/integration-tests/test/src/main/java/androidx/ui/integration/test/framework/VectorAssetTestCase.kt
+++ b/ui/integration-tests/test/src/main/java/androidx/ui/integration/test/framework/VectorAssetTestCase.kt
@@ -19,7 +19,6 @@
import androidx.compose.Composable
import androidx.ui.core.TestTag
import androidx.ui.core.dp
-import androidx.ui.core.px
import androidx.ui.graphics.Color
import androidx.ui.graphics.SolidColor
import androidx.ui.graphics.StrokeCap
@@ -82,8 +81,8 @@
*/
@Composable
override fun getVectorAsset() = VectorAssetBuilder(
- defaultWidth = 84.px,
- defaultHeight = 84.px,
+ defaultWidth = 24.dp,
+ defaultHeight = 24.dp,
viewportWidth = 24f,
viewportHeight = 24f
).apply {
diff --git a/ui/ui-framework/api/0.1.0-dev04.txt b/ui/ui-framework/api/0.1.0-dev04.txt
index 2086670..d14369a 100644
--- a/ui/ui-framework/api/0.1.0-dev04.txt
+++ b/ui/ui-framework/api/0.1.0-dev04.txt
@@ -394,8 +394,15 @@
package androidx.ui.graphics.vector {
public final class VectorAsset {
- method public androidx.ui.core.Px getDefaultHeight();
- method public androidx.ui.core.Px getDefaultWidth();
+ method public String component1();
+ method public androidx.ui.core.Dp component2();
+ method public androidx.ui.core.Dp component3();
+ method public float component4();
+ method public float component5();
+ method public androidx.ui.graphics.vector.VectorGroup component6();
+ method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
+ method public androidx.ui.core.Dp getDefaultHeight();
+ method public androidx.ui.core.Dp getDefaultWidth();
method public String getName();
method public androidx.ui.graphics.vector.VectorGroup getRoot();
method public float getViewportHeight();
@@ -403,12 +410,12 @@
}
public final class VectorAssetBuilder {
- ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
+ ctor public VectorAssetBuilder(String name, androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth, float viewportHeight);
method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
method public androidx.ui.graphics.vector.VectorAsset build();
method public void ensureNotConsumed();
- method public androidx.ui.core.Px getDefaultHeight();
- method public androidx.ui.core.Px getDefaultWidth();
+ method public androidx.ui.core.Dp getDefaultHeight();
+ method public androidx.ui.core.Dp getDefaultWidth();
method public String getName();
method public float getViewportHeight();
method public float getViewportWidth();
@@ -430,6 +437,16 @@
public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
ctor public VectorGroup();
+ method public String component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public float component5();
+ method public float component6();
+ method public float component7();
+ method public float component8();
+ method public java.util.List<androidx.ui.graphics.vector.PathNode> component9();
+ method public androidx.ui.graphics.vector.VectorGroup copy(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
method public operator androidx.ui.graphics.vector.VectorNode get(int index);
method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
method public String getName();
@@ -450,6 +467,17 @@
public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
ctor public VectorPath(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+ method public String component1();
+ method public float component10();
+ method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
+ method public androidx.ui.graphics.Brush? component3();
+ method public float component4();
+ method public androidx.ui.graphics.Brush? component5();
+ method public float component6();
+ method public float component7();
+ method public androidx.ui.graphics.StrokeCap component8();
+ method public androidx.ui.graphics.StrokeJoin component9();
+ method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
method public androidx.ui.graphics.Brush? getFill();
method public float getFillAlpha();
method public String getName();
diff --git a/ui/ui-framework/api/current.txt b/ui/ui-framework/api/current.txt
index 2086670..d14369a 100644
--- a/ui/ui-framework/api/current.txt
+++ b/ui/ui-framework/api/current.txt
@@ -394,8 +394,15 @@
package androidx.ui.graphics.vector {
public final class VectorAsset {
- method public androidx.ui.core.Px getDefaultHeight();
- method public androidx.ui.core.Px getDefaultWidth();
+ method public String component1();
+ method public androidx.ui.core.Dp component2();
+ method public androidx.ui.core.Dp component3();
+ method public float component4();
+ method public float component5();
+ method public androidx.ui.graphics.vector.VectorGroup component6();
+ method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
+ method public androidx.ui.core.Dp getDefaultHeight();
+ method public androidx.ui.core.Dp getDefaultWidth();
method public String getName();
method public androidx.ui.graphics.vector.VectorGroup getRoot();
method public float getViewportHeight();
@@ -403,12 +410,12 @@
}
public final class VectorAssetBuilder {
- ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
+ ctor public VectorAssetBuilder(String name, androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth, float viewportHeight);
method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
method public androidx.ui.graphics.vector.VectorAsset build();
method public void ensureNotConsumed();
- method public androidx.ui.core.Px getDefaultHeight();
- method public androidx.ui.core.Px getDefaultWidth();
+ method public androidx.ui.core.Dp getDefaultHeight();
+ method public androidx.ui.core.Dp getDefaultWidth();
method public String getName();
method public float getViewportHeight();
method public float getViewportWidth();
@@ -430,6 +437,16 @@
public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
ctor public VectorGroup();
+ method public String component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public float component5();
+ method public float component6();
+ method public float component7();
+ method public float component8();
+ method public java.util.List<androidx.ui.graphics.vector.PathNode> component9();
+ method public androidx.ui.graphics.vector.VectorGroup copy(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
method public operator androidx.ui.graphics.vector.VectorNode get(int index);
method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
method public String getName();
@@ -450,6 +467,17 @@
public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
ctor public VectorPath(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+ method public String component1();
+ method public float component10();
+ method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
+ method public androidx.ui.graphics.Brush? component3();
+ method public float component4();
+ method public androidx.ui.graphics.Brush? component5();
+ method public float component6();
+ method public float component7();
+ method public androidx.ui.graphics.StrokeCap component8();
+ method public androidx.ui.graphics.StrokeJoin component9();
+ method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
method public androidx.ui.graphics.Brush? getFill();
method public float getFillAlpha();
method public String getName();
diff --git a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev04.txt b/ui/ui-framework/api/public_plus_experimental_0.1.0-dev04.txt
index 2086670..d14369a 100644
--- a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev04.txt
+++ b/ui/ui-framework/api/public_plus_experimental_0.1.0-dev04.txt
@@ -394,8 +394,15 @@
package androidx.ui.graphics.vector {
public final class VectorAsset {
- method public androidx.ui.core.Px getDefaultHeight();
- method public androidx.ui.core.Px getDefaultWidth();
+ method public String component1();
+ method public androidx.ui.core.Dp component2();
+ method public androidx.ui.core.Dp component3();
+ method public float component4();
+ method public float component5();
+ method public androidx.ui.graphics.vector.VectorGroup component6();
+ method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
+ method public androidx.ui.core.Dp getDefaultHeight();
+ method public androidx.ui.core.Dp getDefaultWidth();
method public String getName();
method public androidx.ui.graphics.vector.VectorGroup getRoot();
method public float getViewportHeight();
@@ -403,12 +410,12 @@
}
public final class VectorAssetBuilder {
- ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
+ ctor public VectorAssetBuilder(String name, androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth, float viewportHeight);
method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
method public androidx.ui.graphics.vector.VectorAsset build();
method public void ensureNotConsumed();
- method public androidx.ui.core.Px getDefaultHeight();
- method public androidx.ui.core.Px getDefaultWidth();
+ method public androidx.ui.core.Dp getDefaultHeight();
+ method public androidx.ui.core.Dp getDefaultWidth();
method public String getName();
method public float getViewportHeight();
method public float getViewportWidth();
@@ -430,6 +437,16 @@
public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
ctor public VectorGroup();
+ method public String component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public float component5();
+ method public float component6();
+ method public float component7();
+ method public float component8();
+ method public java.util.List<androidx.ui.graphics.vector.PathNode> component9();
+ method public androidx.ui.graphics.vector.VectorGroup copy(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
method public operator androidx.ui.graphics.vector.VectorNode get(int index);
method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
method public String getName();
@@ -450,6 +467,17 @@
public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
ctor public VectorPath(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+ method public String component1();
+ method public float component10();
+ method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
+ method public androidx.ui.graphics.Brush? component3();
+ method public float component4();
+ method public androidx.ui.graphics.Brush? component5();
+ method public float component6();
+ method public float component7();
+ method public androidx.ui.graphics.StrokeCap component8();
+ method public androidx.ui.graphics.StrokeJoin component9();
+ method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
method public androidx.ui.graphics.Brush? getFill();
method public float getFillAlpha();
method public String getName();
diff --git a/ui/ui-framework/api/public_plus_experimental_current.txt b/ui/ui-framework/api/public_plus_experimental_current.txt
index 2086670..d14369a 100644
--- a/ui/ui-framework/api/public_plus_experimental_current.txt
+++ b/ui/ui-framework/api/public_plus_experimental_current.txt
@@ -394,8 +394,15 @@
package androidx.ui.graphics.vector {
public final class VectorAsset {
- method public androidx.ui.core.Px getDefaultHeight();
- method public androidx.ui.core.Px getDefaultWidth();
+ method public String component1();
+ method public androidx.ui.core.Dp component2();
+ method public androidx.ui.core.Dp component3();
+ method public float component4();
+ method public float component5();
+ method public androidx.ui.graphics.vector.VectorGroup component6();
+ method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
+ method public androidx.ui.core.Dp getDefaultHeight();
+ method public androidx.ui.core.Dp getDefaultWidth();
method public String getName();
method public androidx.ui.graphics.vector.VectorGroup getRoot();
method public float getViewportHeight();
@@ -403,12 +410,12 @@
}
public final class VectorAssetBuilder {
- ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
+ ctor public VectorAssetBuilder(String name, androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth, float viewportHeight);
method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
method public androidx.ui.graphics.vector.VectorAsset build();
method public void ensureNotConsumed();
- method public androidx.ui.core.Px getDefaultHeight();
- method public androidx.ui.core.Px getDefaultWidth();
+ method public androidx.ui.core.Dp getDefaultHeight();
+ method public androidx.ui.core.Dp getDefaultWidth();
method public String getName();
method public float getViewportHeight();
method public float getViewportWidth();
@@ -430,6 +437,16 @@
public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
ctor public VectorGroup();
+ method public String component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public float component5();
+ method public float component6();
+ method public float component7();
+ method public float component8();
+ method public java.util.List<androidx.ui.graphics.vector.PathNode> component9();
+ method public androidx.ui.graphics.vector.VectorGroup copy(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
method public operator androidx.ui.graphics.vector.VectorNode get(int index);
method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
method public String getName();
@@ -450,6 +467,17 @@
public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
ctor public VectorPath(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+ method public String component1();
+ method public float component10();
+ method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
+ method public androidx.ui.graphics.Brush? component3();
+ method public float component4();
+ method public androidx.ui.graphics.Brush? component5();
+ method public float component6();
+ method public float component7();
+ method public androidx.ui.graphics.StrokeCap component8();
+ method public androidx.ui.graphics.StrokeJoin component9();
+ method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
method public androidx.ui.graphics.Brush? getFill();
method public float getFillAlpha();
method public String getName();
diff --git a/ui/ui-framework/api/restricted_0.1.0-dev04.txt b/ui/ui-framework/api/restricted_0.1.0-dev04.txt
index 2086670..d14369a 100644
--- a/ui/ui-framework/api/restricted_0.1.0-dev04.txt
+++ b/ui/ui-framework/api/restricted_0.1.0-dev04.txt
@@ -394,8 +394,15 @@
package androidx.ui.graphics.vector {
public final class VectorAsset {
- method public androidx.ui.core.Px getDefaultHeight();
- method public androidx.ui.core.Px getDefaultWidth();
+ method public String component1();
+ method public androidx.ui.core.Dp component2();
+ method public androidx.ui.core.Dp component3();
+ method public float component4();
+ method public float component5();
+ method public androidx.ui.graphics.vector.VectorGroup component6();
+ method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
+ method public androidx.ui.core.Dp getDefaultHeight();
+ method public androidx.ui.core.Dp getDefaultWidth();
method public String getName();
method public androidx.ui.graphics.vector.VectorGroup getRoot();
method public float getViewportHeight();
@@ -403,12 +410,12 @@
}
public final class VectorAssetBuilder {
- ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
+ ctor public VectorAssetBuilder(String name, androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth, float viewportHeight);
method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
method public androidx.ui.graphics.vector.VectorAsset build();
method public void ensureNotConsumed();
- method public androidx.ui.core.Px getDefaultHeight();
- method public androidx.ui.core.Px getDefaultWidth();
+ method public androidx.ui.core.Dp getDefaultHeight();
+ method public androidx.ui.core.Dp getDefaultWidth();
method public String getName();
method public float getViewportHeight();
method public float getViewportWidth();
@@ -430,6 +437,16 @@
public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
ctor public VectorGroup();
+ method public String component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public float component5();
+ method public float component6();
+ method public float component7();
+ method public float component8();
+ method public java.util.List<androidx.ui.graphics.vector.PathNode> component9();
+ method public androidx.ui.graphics.vector.VectorGroup copy(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
method public operator androidx.ui.graphics.vector.VectorNode get(int index);
method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
method public String getName();
@@ -450,6 +467,17 @@
public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
ctor public VectorPath(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+ method public String component1();
+ method public float component10();
+ method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
+ method public androidx.ui.graphics.Brush? component3();
+ method public float component4();
+ method public androidx.ui.graphics.Brush? component5();
+ method public float component6();
+ method public float component7();
+ method public androidx.ui.graphics.StrokeCap component8();
+ method public androidx.ui.graphics.StrokeJoin component9();
+ method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
method public androidx.ui.graphics.Brush? getFill();
method public float getFillAlpha();
method public String getName();
diff --git a/ui/ui-framework/api/restricted_current.txt b/ui/ui-framework/api/restricted_current.txt
index 2086670..d14369a 100644
--- a/ui/ui-framework/api/restricted_current.txt
+++ b/ui/ui-framework/api/restricted_current.txt
@@ -394,8 +394,15 @@
package androidx.ui.graphics.vector {
public final class VectorAsset {
- method public androidx.ui.core.Px getDefaultHeight();
- method public androidx.ui.core.Px getDefaultWidth();
+ method public String component1();
+ method public androidx.ui.core.Dp component2();
+ method public androidx.ui.core.Dp component3();
+ method public float component4();
+ method public float component5();
+ method public androidx.ui.graphics.vector.VectorGroup component6();
+ method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
+ method public androidx.ui.core.Dp getDefaultHeight();
+ method public androidx.ui.core.Dp getDefaultWidth();
method public String getName();
method public androidx.ui.graphics.vector.VectorGroup getRoot();
method public float getViewportHeight();
@@ -403,12 +410,12 @@
}
public final class VectorAssetBuilder {
- ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
+ ctor public VectorAssetBuilder(String name, androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth, float viewportHeight);
method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
method public androidx.ui.graphics.vector.VectorAsset build();
method public void ensureNotConsumed();
- method public androidx.ui.core.Px getDefaultHeight();
- method public androidx.ui.core.Px getDefaultWidth();
+ method public androidx.ui.core.Dp getDefaultHeight();
+ method public androidx.ui.core.Dp getDefaultWidth();
method public String getName();
method public float getViewportHeight();
method public float getViewportWidth();
@@ -430,6 +437,16 @@
public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
ctor public VectorGroup();
+ method public String component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public float component5();
+ method public float component6();
+ method public float component7();
+ method public float component8();
+ method public java.util.List<androidx.ui.graphics.vector.PathNode> component9();
+ method public androidx.ui.graphics.vector.VectorGroup copy(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
method public operator androidx.ui.graphics.vector.VectorNode get(int index);
method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
method public String getName();
@@ -450,6 +467,17 @@
public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
ctor public VectorPath(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+ method public String component1();
+ method public float component10();
+ method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
+ method public androidx.ui.graphics.Brush? component3();
+ method public float component4();
+ method public androidx.ui.graphics.Brush? component5();
+ method public float component6();
+ method public float component7();
+ method public androidx.ui.graphics.StrokeCap component8();
+ method public androidx.ui.graphics.StrokeJoin component9();
+ method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
method public androidx.ui.graphics.Brush? getFill();
method public float getFillAlpha();
method public String getName();
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/graphics/vector/VectorInvalidationTestCase.kt b/ui/ui-framework/src/androidTest/java/androidx/ui/graphics/vector/VectorInvalidationTestCase.kt
index 57c8d8e..5a788e1 100644
--- a/ui/ui-framework/src/androidTest/java/androidx/ui/graphics/vector/VectorInvalidationTestCase.kt
+++ b/ui/ui-framework/src/androidTest/java/androidx/ui/graphics/vector/VectorInvalidationTestCase.kt
@@ -48,7 +48,7 @@
val vectorAsset = loadVectorResource(state.value)
WithDensity {
vectorAsset.resource.resource?.let {
- val width = it.defaultWidth.toDp()
+ val width = it.defaultWidth
vectorSize = width.toIntPx().value
AtLeastSize(size = width.toIntPx()) {
Draw { canvas, parentSize ->
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/graphics/vector/compat/XmlVectorParserTest.kt b/ui/ui-framework/src/androidTest/java/androidx/ui/graphics/vector/compat/XmlVectorParserTest.kt
index 4f4287c..132daea 100644
--- a/ui/ui-framework/src/androidTest/java/androidx/ui/graphics/vector/compat/XmlVectorParserTest.kt
+++ b/ui/ui-framework/src/androidTest/java/androidx/ui/graphics/vector/compat/XmlVectorParserTest.kt
@@ -18,14 +18,12 @@
import androidx.test.filters.SmallTest
import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.core.Px
-
-import androidx.ui.graphics.vector.VectorPath
+import androidx.ui.core.dp
import androidx.ui.framework.test.R
import androidx.ui.graphics.Color
import androidx.ui.graphics.SolidColor
import androidx.ui.graphics.vector.PathCommand
-import androidx.ui.graphics.vector.PathNode
+import androidx.ui.graphics.vector.VectorPath
import androidx.ui.res.loadVectorResource
import org.junit.Assert.assertEquals
import org.junit.Test
@@ -44,8 +42,7 @@
res,
R.drawable.test_compose_vector
)
- val density = res.displayMetrics.density
- val expectedSize = Px(density*24)
+ val expectedSize = 24.dp
assertEquals(expectedSize, asset.defaultWidth)
assertEquals(expectedSize, asset.defaultHeight)
assertEquals(24.0f, asset.viewportWidth)
@@ -57,20 +54,20 @@
val path = node.pathData
assertEquals(3, path.size)
- assertEquals(PathCommand.MoveTo, path.get(0).command)
- assertEquals(20.0f, path.get(0).args[0])
- assertEquals(10.0f, path.get(0).args[1])
+ assertEquals(PathCommand.MoveTo, path[0].command)
+ assertEquals(20.0f, path[0].args[0])
+ assertEquals(10.0f, path[0].args[1])
- assertEquals(PathCommand.RelativeLineTo, path.get(1).command)
- assertEquals(6, path.get(1).args.size)
- assertEquals(10.0f, path.get(1).args[0])
- assertEquals(0.0f, path.get(1).args[1])
- assertEquals(0.0f, path.get(1).args[2])
- assertEquals(10.0f, path.get(1).args[3])
- assertEquals(-10.0f, path.get(1).args[4])
- assertEquals(0.0f, path.get(1).args[5])
+ assertEquals(PathCommand.RelativeLineTo, path[1].command)
+ assertEquals(6, path[1].args.size)
+ assertEquals(10.0f, path[1].args[0])
+ assertEquals(0.0f, path[1].args[1])
+ assertEquals(0.0f, path[1].args[2])
+ assertEquals(10.0f, path[1].args[3])
+ assertEquals(-10.0f, path[1].args[4])
+ assertEquals(0.0f, path[1].args[5])
- assertEquals(PathCommand.RelativeClose, path.get(2).command)
- assertEquals(0, path.get(2).args.size)
+ assertEquals(PathCommand.RelativeClose, path[2].command)
+ assertEquals(0, path[2].args.size)
}
}
\ No newline at end of file
diff --git a/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/VectorAsset.kt b/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/VectorAsset.kt
index 3ce6d70..b35b046 100644
--- a/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/VectorAsset.kt
+++ b/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/VectorAsset.kt
@@ -18,7 +18,7 @@
import androidx.compose.Composable
import androidx.ui.core.Alignment
-import androidx.ui.core.Px
+import androidx.ui.core.Dp
import androidx.ui.graphics.BlendMode
import androidx.ui.graphics.Brush
import androidx.ui.graphics.Color
@@ -44,14 +44,14 @@
val name: String = DefaultGroupName,
/**
- * Intrinsic width of the Vector in pixels
+ * Intrinsic width of the Vector in [Dp]
*/
- val defaultWidth: Px,
+ val defaultWidth: Dp,
/**
- * Intrinsic height of the Vector in pixels
+ * Intrinsic height of the Vector in [Dp]
*/
- val defaultHeight: Px,
+ val defaultHeight: Dp,
/**
* Used to define the width of the viewport space. Viewport is basically the virtual canvas
@@ -200,7 +200,7 @@
* Vector graphics object that is generated as a result of [VectorAssetBuilder]]
* It can be composed and rendered by passing it as an argument to [DrawVector]
*/
-class VectorAsset internal constructor(
+data class VectorAsset internal constructor(
/**
* Name of the Vector asset
@@ -208,14 +208,14 @@
val name: String,
/**
- * Intrinsic width of the vector asset in pixels
+ * Intrinsic width of the vector asset in [Dp]
*/
- val defaultWidth: Px,
+ val defaultWidth: Dp,
/**
- * Intrinsic height of the vector asset in pixels
+ * Intrinsic height of the vector asset in [Dp]
*/
- val defaultHeight: Px,
+ val defaultHeight: Dp,
/**
* Used to define the width of the viewport space. Viewport is basically the virtual canvas
@@ -240,7 +240,7 @@
* The transformations are defined in the same coordinates as the viewport.
* The transformations are applied in the order of scale, rotate then translate.
*/
-class VectorGroup(
+data class VectorGroup(
/**
* Name of the corresponding group
*/
@@ -317,7 +317,7 @@
* Leaf node of a Vector graphics tree. This specifies a path shape and parameters
* to color and style the the shape itself
*/
-class VectorPath(
+data class VectorPath(
/**
* Name of the corresponding path
*/
diff --git a/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/compat/XmlVectorParser.kt b/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/compat/XmlVectorParser.kt
index c7b248e..53be7f4 100644
--- a/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/compat/XmlVectorParser.kt
+++ b/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/compat/XmlVectorParser.kt
@@ -20,17 +20,14 @@
import android.util.AttributeSet
import androidx.core.content.res.ComplexColorCompat
import androidx.core.content.res.TypedArrayUtils
-import androidx.ui.core.Px
-import androidx.ui.graphics.vector.VectorAssetBuilder
+import androidx.ui.core.dp
import androidx.ui.graphics.Brush
import androidx.ui.graphics.Color
+import androidx.ui.graphics.Shader
import androidx.ui.graphics.ShaderBrush
import androidx.ui.graphics.SolidColor
-
-import androidx.ui.graphics.Shader
import androidx.ui.graphics.StrokeCap
import androidx.ui.graphics.StrokeJoin
-import androidx.ui.graphics.vector.addPathNodes
import androidx.ui.graphics.vector.DefaultPivotX
import androidx.ui.graphics.vector.DefaultPivotY
import androidx.ui.graphics.vector.DefaultRotation
@@ -40,6 +37,8 @@
import androidx.ui.graphics.vector.DefaultTranslationY
import androidx.ui.graphics.vector.EmptyPath
import androidx.ui.graphics.vector.PathNode
+import androidx.ui.graphics.vector.VectorAssetBuilder
+import androidx.ui.graphics.vector.addPathNodes
import org.xmlpull.v1.XmlPullParser
import org.xmlpull.v1.XmlPullParserException
@@ -156,13 +155,11 @@
if (viewportWidth <= 0) {
throw XmlPullParserException(
- vectorAttrs.getPositionDescription() +
- "<VectorGraphic> tag requires viewportWidth > 0"
+ vectorAttrs.positionDescription + "<VectorGraphic> tag requires viewportWidth > 0"
)
} else if (viewportHeight <= 0) {
throw XmlPullParserException(
- vectorAttrs.getPositionDescription() +
- "<VectorGraphic> tag requires viewportHeight > 0"
+ vectorAttrs.positionDescription + "<VectorGraphic> tag requires viewportHeight > 0"
)
}
@@ -173,11 +170,14 @@
AndroidVectorResources.STYLEABLE_VECTOR_DRAWABLE_HEIGHT, 0.0f
)
+ val defaultWidthDp = (defaultWidth / res.displayMetrics.density).dp
+ val defaultHeightDp = (defaultHeight / res.displayMetrics.density).dp
+
vectorAttrs.recycle()
return VectorAssetBuilder(
- defaultWidth = Px(defaultWidth),
- defaultHeight = Px(defaultHeight),
+ defaultWidth = defaultWidthDp,
+ defaultHeight = defaultHeightDp,
viewportWidth = viewportWidth,
viewportHeight = viewportHeight
)