Skip to content

Commit

Permalink
Update changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
jzbrooks committed Nov 30, 2024
1 parent 8bcf4d9 commit 56078ae
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 3 deletions.
5 changes: 3 additions & 2 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,14 @@

### Added
- `com.jzbrooks.vgo.core.util.math.Surveyor`, which computes the bounding box of an arbitrary list of commands
- Bezier curve interpolation for all variants and elliptical arc bounding box functions
- Bézier curve interpolation for all variants and elliptical arc bounding box functions

### Changed

- `vgo-plugin` (`com.jzbrooks.vgo.plugin`) no longer requires a particular version of Android Gradle Plugin.
Note: `:vgo` is an abstract implementation of the tool which does not assume either a cli or plugin context. CLI related logic has been relocated into `:vgo-cli`.
- **Breaking:** `CubicCurve<*>.interpolate` has been split into `CubicBezierCurve.interpolate` and `SmoothCubicBezierCurve.interpolate`
- `com.jzbrooks.vgo.core.optimization.MergePaths` constructor accepts constraints. See `com.jzbrooks.vgo.core.optimization.MergePaths.Constraints`.
- Paths with an even odd fill rule can be merged

### Deprecated
Expand All @@ -22,7 +23,7 @@
- Overlapping paths are no longer merged, which avoids some image warping issues (#88, #101)
- Conversions without a specified output file will write a file the file extension corresponding to the format.
- Decimal separators are locale-invariant.
- Crash when using the cli to convert an svg containing a clip path to vector drawable.
- Crash when using the CLI to convert an SVG containing a clip path to vector drawable.
- (Vector Drawable) Path merging avoids merging a single path data string beyond the framework string length limit (#82)

### Security
Expand Down
25 changes: 25 additions & 0 deletions vgo-core/api/vgo-core.api
Original file line number Diff line number Diff line change
Expand Up @@ -545,13 +545,38 @@ public final class com/jzbrooks/vgo/core/optimization/ConvertCurvesToArcs : com/

public final class com/jzbrooks/vgo/core/optimization/MergePaths : com/jzbrooks/vgo/core/optimization/BottomUpOptimization {
public fun <init> ()V
public fun <init> (Lcom/jzbrooks/vgo/core/optimization/MergePaths$Constraints;)V
public synthetic fun <init> (Lcom/jzbrooks/vgo/core/optimization/MergePaths$Constraints;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun visit (Lcom/jzbrooks/vgo/core/graphic/ClipPath;)V
public fun visit (Lcom/jzbrooks/vgo/core/graphic/Extra;)V
public fun visit (Lcom/jzbrooks/vgo/core/graphic/Graphic;)V
public fun visit (Lcom/jzbrooks/vgo/core/graphic/Group;)V
public fun visit (Lcom/jzbrooks/vgo/core/graphic/Path;)V
}

public abstract interface class com/jzbrooks/vgo/core/optimization/MergePaths$Constraints {
}

public final class com/jzbrooks/vgo/core/optimization/MergePaths$Constraints$None : com/jzbrooks/vgo/core/optimization/MergePaths$Constraints {
public static final field INSTANCE Lcom/jzbrooks/vgo/core/optimization/MergePaths$Constraints$None;
public fun equals (Ljava/lang/Object;)Z
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class com/jzbrooks/vgo/core/optimization/MergePaths$Constraints$PathLength : com/jzbrooks/vgo/core/optimization/MergePaths$Constraints {
public fun <init> (Lcom/jzbrooks/vgo/core/graphic/command/CommandPrinter;I)V
public final fun component1 ()Lcom/jzbrooks/vgo/core/graphic/command/CommandPrinter;
public final fun component2 ()I
public final fun copy (Lcom/jzbrooks/vgo/core/graphic/command/CommandPrinter;I)Lcom/jzbrooks/vgo/core/optimization/MergePaths$Constraints$PathLength;
public static synthetic fun copy$default (Lcom/jzbrooks/vgo/core/optimization/MergePaths$Constraints$PathLength;Lcom/jzbrooks/vgo/core/graphic/command/CommandPrinter;IILjava/lang/Object;)Lcom/jzbrooks/vgo/core/optimization/MergePaths$Constraints$PathLength;
public fun equals (Ljava/lang/Object;)Z
public final fun getCommandPrinter ()Lcom/jzbrooks/vgo/core/graphic/command/CommandPrinter;
public final fun getMaxLength ()I
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public abstract interface class com/jzbrooks/vgo/core/optimization/Optimization {
public abstract fun optimize (Lcom/jzbrooks/vgo/core/graphic/Element;)V
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import com.jzbrooks.vgo.core.util.math.intersects
* Merges multiple paths into a single path where possible
*/
class MergePaths(
private val constraints: Constraints,
private val constraints: Constraints = Constraints.None,
) : BottomUpOptimization {
private val surveyor = Surveyor()

Expand Down

0 comments on commit 56078ae

Please sign in to comment.