mirror of
https://github.com/SimpleMobileTools/Simple-Draw.git
synced 2025-02-12 01:30:50 +01:00
properly open svg files
This commit is contained in:
parent
dab7102e61
commit
e919534780
@ -5,7 +5,6 @@ import com.simplemobiletools.draw.actions.Action
|
|||||||
import com.simplemobiletools.draw.actions.Line
|
import com.simplemobiletools.draw.actions.Line
|
||||||
import com.simplemobiletools.draw.actions.Move
|
import com.simplemobiletools.draw.actions.Move
|
||||||
import com.simplemobiletools.draw.actions.Quad
|
import com.simplemobiletools.draw.actions.Quad
|
||||||
import java.io.IOException
|
|
||||||
import java.io.ObjectInputStream
|
import java.io.ObjectInputStream
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
import java.security.InvalidParameterException
|
import java.security.InvalidParameterException
|
||||||
@ -16,7 +15,6 @@ class MyPath : Path(), Serializable {
|
|||||||
|
|
||||||
private val actions = LinkedList<Action>()
|
private val actions = LinkedList<Action>()
|
||||||
|
|
||||||
@Throws(IOException::class, ClassNotFoundException::class)
|
|
||||||
private fun readObject(inputStream: ObjectInputStream) {
|
private fun readObject(inputStream: ObjectInputStream) {
|
||||||
inputStream.defaultReadObject()
|
inputStream.defaultReadObject()
|
||||||
|
|
||||||
@ -25,7 +23,6 @@ class MyPath : Path(), Serializable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Throws(InvalidParameterException::class)
|
|
||||||
fun readObject(pathData: String) {
|
fun readObject(pathData: String) {
|
||||||
val tokens = pathData.split("\\s+".toRegex()).dropLastWhile(String::isEmpty).toTypedArray()
|
val tokens = pathData.split("\\s+".toRegex()).dropLastWhile(String::isEmpty).toTypedArray()
|
||||||
var i = 0
|
var i = 0
|
||||||
|
@ -1,14 +1,11 @@
|
|||||||
package com.simplemobiletools.draw.actions
|
package com.simplemobiletools.draw.actions
|
||||||
|
|
||||||
import android.graphics.Path
|
import android.graphics.Path
|
||||||
|
|
||||||
import java.io.IOException
|
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
import java.io.Writer
|
import java.io.Writer
|
||||||
|
|
||||||
interface Action : Serializable {
|
interface Action : Serializable {
|
||||||
fun perform(path: Path)
|
fun perform(path: Path)
|
||||||
|
|
||||||
@Throws(IOException::class)
|
|
||||||
fun perform(writer: Writer)
|
fun perform(writer: Writer)
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
package com.simplemobiletools.draw.actions
|
package com.simplemobiletools.draw.actions
|
||||||
|
|
||||||
import android.graphics.Path
|
import android.graphics.Path
|
||||||
|
|
||||||
import java.io.IOException
|
|
||||||
import java.io.Writer
|
import java.io.Writer
|
||||||
import java.security.InvalidParameterException
|
import java.security.InvalidParameterException
|
||||||
|
|
||||||
@ -11,9 +9,8 @@ class Line : Action {
|
|||||||
val x: Float
|
val x: Float
|
||||||
val y: Float
|
val y: Float
|
||||||
|
|
||||||
@Throws(InvalidParameterException::class)
|
|
||||||
constructor(data: String) {
|
constructor(data: String) {
|
||||||
if (data.startsWith("L"))
|
if (!data.startsWith("L"))
|
||||||
throw InvalidParameterException("The Line data should start with 'L'.")
|
throw InvalidParameterException("The Line data should start with 'L'.")
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -35,7 +32,6 @@ class Line : Action {
|
|||||||
path.lineTo(x, y)
|
path.lineTo(x, y)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Throws(IOException::class)
|
|
||||||
override fun perform(writer: Writer) {
|
override fun perform(writer: Writer) {
|
||||||
writer.write("L")
|
writer.write("L")
|
||||||
writer.write(x.toString())
|
writer.write(x.toString())
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
package com.simplemobiletools.draw.actions
|
package com.simplemobiletools.draw.actions
|
||||||
|
|
||||||
import android.graphics.Path
|
import android.graphics.Path
|
||||||
|
|
||||||
import java.io.IOException
|
|
||||||
import java.io.Writer
|
import java.io.Writer
|
||||||
import java.security.InvalidParameterException
|
import java.security.InvalidParameterException
|
||||||
|
|
||||||
@ -11,9 +9,8 @@ class Move : Action {
|
|||||||
val x: Float
|
val x: Float
|
||||||
val y: Float
|
val y: Float
|
||||||
|
|
||||||
@Throws(InvalidParameterException::class)
|
|
||||||
constructor(data: String) {
|
constructor(data: String) {
|
||||||
if (data.startsWith("M"))
|
if (!data.startsWith("M"))
|
||||||
throw InvalidParameterException("The Move data should start with 'M'.")
|
throw InvalidParameterException("The Move data should start with 'M'.")
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -35,7 +32,6 @@ class Move : Action {
|
|||||||
path.moveTo(x, y)
|
path.moveTo(x, y)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Throws(IOException::class)
|
|
||||||
override fun perform(writer: Writer) {
|
override fun perform(writer: Writer) {
|
||||||
writer.write("M")
|
writer.write("M")
|
||||||
writer.write(x.toString())
|
writer.write(x.toString())
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
package com.simplemobiletools.draw.actions
|
package com.simplemobiletools.draw.actions
|
||||||
|
|
||||||
import android.graphics.Path
|
import android.graphics.Path
|
||||||
|
|
||||||
import java.io.IOException
|
|
||||||
import java.io.Writer
|
import java.io.Writer
|
||||||
import java.security.InvalidParameterException
|
import java.security.InvalidParameterException
|
||||||
|
|
||||||
@ -14,7 +12,7 @@ class Quad : Action {
|
|||||||
val y2: Float
|
val y2: Float
|
||||||
|
|
||||||
constructor(data: String) {
|
constructor(data: String) {
|
||||||
if (data.startsWith("Q"))
|
if (!data.startsWith("Q"))
|
||||||
throw InvalidParameterException("The Quad data should start with 'Q'.")
|
throw InvalidParameterException("The Quad data should start with 'Q'.")
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -43,7 +41,6 @@ class Quad : Action {
|
|||||||
path.quadTo(x1, y1, x2, y2)
|
path.quadTo(x1, y1, x2, y2)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Throws(IOException::class)
|
|
||||||
override fun perform(writer: Writer) {
|
override fun perform(writer: Writer) {
|
||||||
writer.write("Q")
|
writer.write("Q")
|
||||||
writer.write(x1.toString())
|
writer.write(x1.toString())
|
||||||
|
@ -20,6 +20,7 @@ import com.simplemobiletools.commons.helpers.LICENSE_KOTLIN
|
|||||||
import com.simplemobiletools.draw.BuildConfig
|
import com.simplemobiletools.draw.BuildConfig
|
||||||
import com.simplemobiletools.draw.MyCanvas
|
import com.simplemobiletools.draw.MyCanvas
|
||||||
import com.simplemobiletools.draw.R
|
import com.simplemobiletools.draw.R
|
||||||
|
import com.simplemobiletools.draw.Svg
|
||||||
import com.simplemobiletools.draw.dialogs.SaveImageDialog
|
import com.simplemobiletools.draw.dialogs.SaveImageDialog
|
||||||
import com.simplemobiletools.draw.extensions.config
|
import com.simplemobiletools.draw.extensions.config
|
||||||
import kotlinx.android.synthetic.main.activity_main.*
|
import kotlinx.android.synthetic.main.activity_main.*
|
||||||
@ -109,7 +110,7 @@ class MainActivity : SimpleActivity(), MyCanvas.PathsChangedListener {
|
|||||||
private fun openFile() {
|
private fun openFile() {
|
||||||
FilePickerDialog(this, curPath) {
|
FilePickerDialog(this, curPath) {
|
||||||
if (it.endsWith(".svg")) {
|
if (it.endsWith(".svg")) {
|
||||||
|
Svg.loadSvg(File(it), my_canvas)
|
||||||
} else if (File(it).isImageSlow()) {
|
} else if (File(it).isImageSlow()) {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user