Skip to content
This repository has been archived by the owner on Jul 8, 2022. It is now read-only.

Commit

Permalink
optimize imports korim common (#650)
Browse files Browse the repository at this point in the history
Co-authored-by: Xeno <xenotactic.game@gmail.com>
  • Loading branch information
Kietyo and Xeno authored May 15, 2022
1 parent 15be1f3 commit 68ac126
Show file tree
Hide file tree
Showing 140 changed files with 1,176 additions and 595 deletions.
10 changes: 7 additions & 3 deletions korim/src/commonMain/kotlin/com/soywiz/korim/atlas/Atlas.kt
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
package com.soywiz.korim.atlas

import com.soywiz.korim.bitmap.*
import com.soywiz.korim.format.*
import com.soywiz.korio.file.*
import com.soywiz.korim.bitmap.Bitmap
import com.soywiz.korim.bitmap.BitmapSlice
import com.soywiz.korim.bitmap.BmpSlice
import com.soywiz.korim.bitmap.asumePremultiplied
import com.soywiz.korim.bitmap.copy
import com.soywiz.korim.format.readBitmapSlice
import com.soywiz.korio.file.VfsFile
import com.soywiz.korma.geom.RectangleInt

class Atlas(val textures: Map<String, BitmapSlice<Bitmap>>, val info: AtlasInfo = AtlasInfo()) : AtlasLookup {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.soywiz.korim.atlas

import com.soywiz.kds.*
import com.soywiz.korio.dynamic.*
import com.soywiz.korio.serialization.json.*
import com.soywiz.korio.serialization.xml.*
import com.soywiz.kds.ListReader
import com.soywiz.korio.dynamic.KDynamic
import com.soywiz.korio.serialization.json.Json
import com.soywiz.korio.serialization.xml.Xml
import com.soywiz.korma.geom.*

//e: java.lang.UnsupportedOperationException: Class literal annotation arguments are not yet supported: Factory
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
package com.soywiz.korim.atlas

import com.soywiz.kds.iterators.*
import com.soywiz.kds.iterators.fastForEach
import com.soywiz.kmem.nextPowerOfTwo
import com.soywiz.korim.bitmap.*
import com.soywiz.korim.bitmap.Bitmap32
import com.soywiz.korim.bitmap.BitmapSlice
import com.soywiz.korim.bitmap.BmpSlice
import com.soywiz.korim.bitmap.extract
import com.soywiz.korim.bitmap.slice
import com.soywiz.korma.geom.Rectangle
import com.soywiz.korma.geom.Size
import com.soywiz.korma.geom.binpack.BinPacker
Expand Down
21 changes: 18 additions & 3 deletions korim/src/commonMain/kotlin/com/soywiz/korim/atlas/MutableAtlas.kt
Original file line number Diff line number Diff line change
@@ -1,8 +1,23 @@
package com.soywiz.korim.atlas

import com.soywiz.korim.bitmap.*
import com.soywiz.korma.geom.*
import com.soywiz.korma.geom.binpack.*
import com.soywiz.korim.bitmap.Bitmap32
import com.soywiz.korim.bitmap.BitmapSlice
import com.soywiz.korim.bitmap.BmpSlice
import com.soywiz.korim.bitmap.expandBorder
import com.soywiz.korim.bitmap.extract
import com.soywiz.korim.bitmap.isFullyTransparent
import com.soywiz.korim.bitmap.slice
import com.soywiz.korim.bitmap.sliceWithBounds
import com.soywiz.korim.bitmap.sliceWithSize
import com.soywiz.korma.geom.RectangleInt
import com.soywiz.korma.geom.binpack.BinPacker
import com.soywiz.korma.geom.expand
import kotlin.collections.LinkedHashMap
import kotlin.collections.arrayListOf
import kotlin.collections.map
import kotlin.collections.plusAssign
import kotlin.collections.set
import kotlin.collections.toList

typealias MutableAtlasUnit = MutableAtlas<Unit>

Expand Down
27 changes: 16 additions & 11 deletions korim/src/commonMain/kotlin/com/soywiz/korim/bitmap/Bitmap.kt
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
package com.soywiz.korim.bitmap

import com.soywiz.kds.*
import com.soywiz.kds.Extra
import com.soywiz.kds.atomic.kdsIsFrozen
import com.soywiz.kmem.*
import com.soywiz.korim.annotation.*
import com.soywiz.korim.color.*
import com.soywiz.korim.internal.*
import com.soywiz.korim.vector.*
import com.soywiz.korio.lang.*
import com.soywiz.korio.resources.*
import com.soywiz.korma.geom.*
import kotlin.math.*
import kotlin.native.concurrent.*
import com.soywiz.kds.fastCastTo
import com.soywiz.kmem.clamp
import com.soywiz.kmem.fract
import com.soywiz.kmem.toIntCeil
import com.soywiz.kmem.toIntFloor
import com.soywiz.korim.color.Colors
import com.soywiz.korim.color.RGBA
import com.soywiz.korim.color.RgbaArray
import com.soywiz.korim.vector.Context2d
import com.soywiz.korio.lang.invalidOp
import com.soywiz.korma.geom.ISizeInt
import com.soywiz.korma.geom.Rectangle
import com.soywiz.korma.geom.Size
import com.soywiz.korma.geom.Sizeable
import kotlin.math.min

abstract class Bitmap(
override val width: Int,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package com.soywiz.korim.bitmap

import com.soywiz.kmem.*
import com.soywiz.korim.color.*
import com.soywiz.kmem.divCeil
import com.soywiz.korim.color.Colors
import com.soywiz.korim.color.RGBA
import com.soywiz.korim.color.RgbaArray

class Bitmap1(
width: Int,
Expand Down
10 changes: 7 additions & 3 deletions korim/src/commonMain/kotlin/com/soywiz/korim/bitmap/Bitmap16.kt
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
package com.soywiz.korim.bitmap

import com.soywiz.kmem.*
import com.soywiz.korim.color.*
import com.soywiz.korio.lang.*
import com.soywiz.kmem.arraycopy
import com.soywiz.korim.color.ColorFormat
import com.soywiz.korim.color.RGBA
import com.soywiz.korim.color.RGBA_4444
import com.soywiz.korim.color.packRGBA
import com.soywiz.korim.color.unpackToRGBA
import com.soywiz.korio.lang.assert

class Bitmap16(
width: Int,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.soywiz.korim.bitmap

import com.soywiz.kmem.*
import com.soywiz.korim.color.*
import com.soywiz.kmem.divCeil
import com.soywiz.korim.color.RgbaArray

class Bitmap2(
width: Int,
Expand Down
26 changes: 24 additions & 2 deletions korim/src/commonMain/kotlin/com/soywiz/korim/bitmap/Bitmap32.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,32 @@ import com.soywiz.kmem.clamp
import com.soywiz.kmem.fill
import com.soywiz.kmem.toInt
import com.soywiz.korim.annotation.KorimInternal
import com.soywiz.korim.color.*
import com.soywiz.korim.color.ColorFormat
import com.soywiz.korim.color.ColorTransform
import com.soywiz.korim.color.Colors
import com.soywiz.korim.color.RGBA
import com.soywiz.korim.color.RGBAPremultiplied
import com.soywiz.korim.color.RgbaArray
import com.soywiz.korim.color.RgbaPremultipliedArray
import com.soywiz.korim.color.YCbCr
import com.soywiz.korim.color.arraycopy
import com.soywiz.korim.color.asNonPremultiplied
import com.soywiz.korim.color.asPremultiplied
import com.soywiz.korim.color.decode
import com.soywiz.korim.color.encode
import com.soywiz.korim.color.mix
import com.soywiz.korim.color.toRGBA
import com.soywiz.korim.color.toYCbCr
import com.soywiz.korim.vector.Bitmap32Context2d
import com.soywiz.korim.vector.Context2d
import com.soywiz.korma.geom.*
import com.soywiz.korma.geom.IRectangleInt
import com.soywiz.korma.geom.Matrix3D
import com.soywiz.korma.geom.RectangleInt
import com.soywiz.korma.geom.Vector3D
import com.soywiz.korma.geom.bottom
import com.soywiz.korma.geom.left
import com.soywiz.korma.geom.right
import com.soywiz.korma.geom.top
import kotlin.js.JsName
import kotlin.jvm.JvmOverloads
import kotlin.math.abs
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.soywiz.korim.bitmap

import com.soywiz.korim.color.*
import com.soywiz.korim.color.RgbaArray

class Bitmap4(
width: Int,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.soywiz.korim.bitmap

import com.soywiz.korim.color.*
import com.soywiz.korim.color.RGBA
import com.soywiz.korim.color.RgbaArray

class Bitmap8(
width: Int,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.soywiz.korim.bitmap

import com.soywiz.korim.color.*
import com.soywiz.korio.lang.*
import com.soywiz.korim.color.RGBA
import com.soywiz.korio.lang.invalidOp

enum class BitmapChannel(val index: Int) {
RED(0), GREEN(1), BLUE(2), ALPHA(3);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package com.soywiz.korim.bitmap

import com.soywiz.korim.color.*
import com.soywiz.korma.geom.*
import com.soywiz.korim.color.RGBA
import com.soywiz.korma.geom.Anchor
import com.soywiz.korma.geom.Rectangle
import com.soywiz.korma.geom.ScaleMode

// -1 if dimensions do not match
fun Bitmap.matchContentsDistinctCount(that: Bitmap): Int {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
package com.soywiz.korim.bitmap

import com.soywiz.kmem.*
import com.soywiz.korim.color.*
import com.soywiz.korim.internal.*

import kotlin.math.*
import com.soywiz.kmem.UByteArrayInt
import com.soywiz.kmem.arraycopy
import com.soywiz.kmem.extract
import com.soywiz.kmem.ilog2
import com.soywiz.kmem.insert
import com.soywiz.korim.color.RGBA
import com.soywiz.korim.color.RgbaArray
import kotlin.math.max

abstract class BitmapIndexed(
bpp: Int,
Expand Down
17 changes: 13 additions & 4 deletions korim/src/commonMain/kotlin/com/soywiz/korim/bitmap/BitmapSlice.kt
Original file line number Diff line number Diff line change
@@ -1,11 +1,20 @@
package com.soywiz.korim.bitmap

import com.soywiz.kds.*
import com.soywiz.kds.Extra
import com.soywiz.kds.getCyclic
import com.soywiz.kmem.clamp
import com.soywiz.korim.color.*
import com.soywiz.korim.color.RGBA
import com.soywiz.korim.color.RgbaArray
import com.soywiz.korio.lang.Closeable
import com.soywiz.korio.resources.*
import com.soywiz.korma.geom.*
import com.soywiz.korio.resources.Resourceable
import com.soywiz.korma.geom.ISizeInt
import com.soywiz.korma.geom.Matrix
import com.soywiz.korma.geom.Matrix3D
import com.soywiz.korma.geom.Point
import com.soywiz.korma.geom.Rectangle
import com.soywiz.korma.geom.RectangleInt
import com.soywiz.korma.geom.SizeInt
import com.soywiz.korma.geom.setTo

interface BmpCoords {
val tl_x: Float
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package com.soywiz.korim.bitmap

import com.soywiz.korim.color.*
import kotlin.native.concurrent.*
import com.soywiz.korim.color.Colors
import com.soywiz.korim.color.RgbaArray
import kotlin.native.concurrent.SharedImmutable

@SharedImmutable @PublishedApi internal val Bitmaps_transparent: BitmapSlice<Bitmap32> = Bitmap32(1, 1).slice(name = "transparent")
@SharedImmutable @PublishedApi internal val Bitmaps_white: BitmapSlice<Bitmap32> = Bitmap32(1, 1, RgbaArray(1) { Colors.WHITE }).slice(name = "white")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
package com.soywiz.korim.bitmap

import com.soywiz.kmem.*
import com.soywiz.korim.color.*
import com.soywiz.korio.lang.*
import kotlin.math.*
import com.soywiz.kmem.clamp01
import com.soywiz.kmem.convertRange
import com.soywiz.korim.color.RGBA
import com.soywiz.korim.color.RgbaArray
import com.soywiz.korio.lang.assert
import kotlin.math.max
import kotlin.math.min

// http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.102.7988&rep=rep1&type=pdf
// Dead Reckoning Algorithm
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
package com.soywiz.korim.bitmap

import com.soywiz.korim.color.*
import com.soywiz.korim.format.*
import com.soywiz.korim.vector.*
import com.soywiz.korio.lang.*
import com.soywiz.krypto.encoding.*
import com.soywiz.korim.color.Colors
import com.soywiz.korim.color.RGBA
import com.soywiz.korim.color.RgbaArray
import com.soywiz.korim.format.ImageEncodingProps
import com.soywiz.korim.format.PNG
import com.soywiz.korim.format.nativeImageFormatProvider
import com.soywiz.korim.vector.Drawable
import com.soywiz.korim.vector.SizedDrawable
import com.soywiz.krypto.encoding.toBase64

abstract class NativeImage(width: Int, height: Int, val data: Any?, premultiplied: Boolean) : Bitmap(width, height, 32, premultiplied, null) {
/** Allow to force to use a texture id from OpenGL. For example a video texture from Android */
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
package com.soywiz.korim.bitmap

import com.soywiz.kds.*
import com.soywiz.kds.iterators.*
import com.soywiz.kmem.*
import com.soywiz.korim.color.*
import com.soywiz.korim.format.*
import com.soywiz.korim.internal.*

import com.soywiz.korio.file.*
import com.soywiz.korio.util.*
import com.soywiz.korma.geom.*
import com.soywiz.korma.geom.vector.*
import kotlin.math.*
import com.soywiz.kds.Extra
import com.soywiz.kds.FastArrayList
import com.soywiz.kds.iterators.fastForEachWithIndex
import com.soywiz.kds.toFastList
import com.soywiz.kmem.clamp
import com.soywiz.korim.color.Colors
import com.soywiz.korim.format.ImageFormat
import com.soywiz.korim.format.RegisteredImageFormats
import com.soywiz.korim.format.readBitmap
import com.soywiz.korio.file.VfsFile
import com.soywiz.korio.util.endExclusive
import com.soywiz.korio.util.length
import com.soywiz.korma.geom.RectangleInt
import com.soywiz.korma.geom.vector.rect
import kotlin.math.max
import kotlin.math.min

class NinePatchInfo constructor(
val xranges: List<Pair<Boolean, IntRange>>,
Expand Down
5 changes: 3 additions & 2 deletions korim/src/commonMain/kotlin/com/soywiz/korim/bitmap/PSNR.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package com.soywiz.korim.bitmap

import com.soywiz.korio.lang.*
import kotlin.math.*
import com.soywiz.korio.lang.invalidOp
import kotlin.math.log10
import kotlin.math.sqrt

object PSNR {
fun MSE(a: Bitmap32, b: Bitmap32, c: BitmapChannel): Double {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.soywiz.korim.bitmap

import com.soywiz.korim.color.*
import com.soywiz.korim.color.RgbaArray

open class Palette(
val colors: RgbaArray,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
package com.soywiz.korim.bitmap.effect

import com.soywiz.korim.bitmap.Bitmap32
import com.soywiz.korim.bitmap.BitmapSlice
import com.soywiz.korim.bitmap.BmpSlice
import com.soywiz.korim.bitmap.slice
import com.soywiz.korim.color.Colors
import com.soywiz.korim.color.RGBA
import com.soywiz.korim.internal.*
import kotlin.math.*
import kotlin.math.absoluteValue
import kotlin.math.max

data class BitmapEffect(
// Blur
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,14 @@

package com.soywiz.korim.bitmap.effect

import com.soywiz.kmem.*
import com.soywiz.korim.bitmap.*
import kotlin.math.*
import com.soywiz.kmem.arraycopy
import com.soywiz.kmem.readU8
import com.soywiz.kmem.toIntFloor
import com.soywiz.korim.bitmap.Bitmap32
import com.soywiz.korim.bitmap.Bitmap8
import com.soywiz.korim.bitmap.BitmapChannel
import kotlin.math.round
import kotlin.math.sqrt

fun Bitmap32.blur(r: Int): Bitmap32 {
val out = Bitmap32(width + r * 2, height + r * 2, premultiplied = this.premultiplied)
Expand Down
Loading

0 comments on commit 68ac126

Please sign in to comment.