https://github.com/only-icesoul/jjkit-svgkit
https://github.com/only-icesoul/jjkit-svgkit
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/only-icesoul/jjkit-svgkit
- Owner: Only-IceSoul
- License: apache-2.0
- Created: 2024-06-22T22:23:46.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-07-28T17:12:58.000Z (10 months ago)
- Last Synced: 2025-01-22T21:11:56.597Z (4 months ago)
- Language: Kotlin
- Size: 177 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SVGKit
Draw svg path or custom paths with SVGKit
## INSTALLATION
1.-Add it in your settings.gradle.kts at the end of repositories:
```
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral() //this
maven { url 'https://jitpack.io' } or maven("https://jitpack.io") //this
}
}
```2.-libs.versions.toml
```
svgkit = "1.6"jjkit-svgkit = { module = "com.github.Only-IceSoul:jjkit-svgkit", version.ref = "svgkit" }
```
3.-build gradle APP```
dependencies {///
implementation(libs.jjkit.svgkit)
}```
4.-(Optional)
gradle-wrapper.properties 8.6 to 8.7
```
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists```
## USAGE
```kotlin
Mainactivity
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)SVGPathParser.setDensity(resources.displayMetrics.density)
SVGViewBox.setDensity(resources.displayMetrics.density)
SVGDrawable.setDensity(resources.displayMetrics.density)
PathDrawable.setDensity(resources.displayMetrics.density)}
``````kotlin
val svgCircle = remember {
SVGCircle()
.setR(40f)
.setCy(25f).setCx(25f)
.setViewBox(0f,0f,50f,50f)
.setStrokeColor(m.primary.toArgb())
.setStrokeWidth(5f)
.setStrokeEnd(0.5f)
.setFillColor(Color.Transparent.toArgb())
}Canvas(){
drawIntoCanvas {
//SVG DRAWABLE
//ANIMATION 0 - 1f
svgCircle.setStrokeStart( SVGUtil.clamp( 1f - (-animValue.value),0f,1f,1f,0f))
svgCircle.setStrokeEnd( SVGUtil.clamp( animValue.value,0f,1f,1f,1f) )//SETUP PAINT PATH STROKE
svgCircle.setup(size.width,size.height)//DRAW
//DRAW A BACKGROUND
svgCircle.getStrokePaint().color = myColorGray
CanvasDrawer.drawPath(it.nativeCanvas,svgCircle.getPath(),svgCircle.getStrokePaint())//RESTORE COLOR AND DRAW THE STROKE ANIMATION
svgCircle.getStrokePaint().color = svgCircle.getStrokeColor()
svgCircle.draw(it.nativeCanvas)
}
}
```[Example](./example.md)
## LICENSE
**Apache 2.0**