Skip to content

Commit

Permalink
Update swing library
Browse files Browse the repository at this point in the history
  • Loading branch information
hunterwb committed Nov 4, 2018
1 parent fb61051 commit 3486151
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 26 deletions.
2 changes: 1 addition & 1 deletion api/src/main/java/org/runestar/client/api/Application.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package org.runestar.client.api
import io.reactivex.Observable
import io.reactivex.rxkotlin.blockingSubscribeBy
import io.reactivex.rxkotlin.subscribeBy
import org.kxtra.swing.mouseevent.isLeftButton
import org.kxtra.swing.input.isLeftButton
import org.runestar.client.api.util.AwtTaskbar
import org.runestar.client.api.util.systemTray
import org.runestar.client.game.api.GameState
Expand Down
31 changes: 9 additions & 22 deletions game-api/src/main/java/org/runestar/client/game/api/Sprite.kt
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
package org.runestar.client.game.api

import org.kxtra.swing.bufferedimage.BufferedImage
import org.kxtra.swing.image.draw
import org.kxtra.swing.image.height
import org.kxtra.swing.image.width
import org.kxtra.swing.imagetypespecifier.ImageTypeSpecifier
import org.kxtra.swing.image.*
import org.runestar.client.game.raw.CLIENT
import org.runestar.client.game.raw.access.XIndexedSprite
import org.runestar.client.game.raw.access.XSprite
Expand All @@ -19,7 +15,7 @@ abstract class Sprite(accessor: Accessor) : Wrapper(accessor) {
/**
* A copy using [ColorModel.getRGBdefault]
*/
fun toArgbImage() = BufferedImage(asImage(), ImageTypeSpecifier(ColorModel.getRGBdefault()))
fun toArgbImage() = BufferedImage(asImage(), BufferedImage.TYPE_INT_ARGB)

abstract val dataBuffer: DataBuffer

Expand All @@ -29,15 +25,14 @@ abstract class Sprite(accessor: Accessor) : Wrapper(accessor) {
fun asImage(): BufferedImage {
normalize()
val cm = colorModel
val sm = cm.createCompatibleSampleModel(width, height)
val wr = Raster.createWritableRaster(sm, dataBuffer, null)
val wr = cm.createCompatibleWritableRaster(width, height, dataBuffer)
return BufferedImage(cm, wr)
}

/**
* Draws [image] onto this
*/
fun draw(image: Image) = asImage().draw(image)
fun draw(image: Image) = asImage().fill(image)

abstract val width: Int

Expand All @@ -61,7 +56,7 @@ abstract class Sprite(accessor: Accessor) : Wrapper(accessor) {

override val colorModel get() = COLOR_MODEL

override val dataBuffer get() = DataBufferInt(pixels, pixels.size)
override val dataBuffer get() = DataBufferInt(pixels)

override val width: Int get() = accessor.width

Expand All @@ -79,7 +74,7 @@ abstract class Sprite(accessor: Accessor) : Wrapper(accessor) {

companion object {

@JvmField val COLOR_MODEL = RgbFlaggedColorModel(0)
@JvmField val COLOR_MODEL = RgbFlaggedColorModel(0)

fun copy(image: Image): Direct {
return Direct(image.width, image.height).apply {
Expand Down Expand Up @@ -108,7 +103,7 @@ abstract class Sprite(accessor: Accessor) : Wrapper(accessor) {

override val colorModel get() = IndexColorModel(8, palette.size, palette, 0, false, 0, DataBuffer.TYPE_BYTE)

override val dataBuffer get() = DataBufferByte(pixels, pixels.size)
override val dataBuffer get() = DataBufferByte(pixels)

override val width: Int get() = accessor.width

Expand All @@ -132,17 +127,9 @@ abstract class Sprite(accessor: Accessor) : Wrapper(accessor) {
}
}

private fun getRgb(image: Image): IntArray {
return if (image is BufferedImage) {
image.getRGB(0, 0, image.width, image.height, null, 0, image.width)
} else {
val pg = PixelGrabber(image, 0, 0, -1, -1, true)
check(pg.grabPixels())
pg.pixels as IntArray
}
private fun getPalette(image: Image): IntArray {
return image.getArgb().toCollection(LinkedHashSet(listOf(0))).toIntArray()
}

private fun getPalette(image: Image): IntArray = getRgb(image).toCollection(LinkedHashSet(listOf(0))).toIntArray()
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package org.runestar.client.game.api.live

import hu.akarnokd.rxjava2.swing.SwingObservable
import io.reactivex.Observable
import org.kxtra.swing.keyevent.keyStroke
import org.kxtra.swing.input.keyStroke
import org.runestar.client.game.raw.CLIENT
import java.awt.event.KeyEvent
import javax.swing.KeyStroke
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package org.runestar.client.plugins.screenshot

import io.reactivex.rxkotlin.subscribeBy
import io.reactivex.schedulers.Schedulers
import org.kxtra.swing.bufferedimage.BufferedImage
import org.kxtra.swing.image.BufferedImage
import org.runestar.client.api.Application
import org.runestar.client.api.BarButton
import org.runestar.client.api.forms.KeyStrokeForm
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@
<dependency>
<groupId>org.kxtra</groupId>
<artifactId>kxtra-swing</artifactId>
<version>1.0.2</version>
<version>1.0.3</version>
</dependency>
<dependency>
<groupId>org.kxtra</groupId>
Expand Down

0 comments on commit 3486151

Please sign in to comment.