KTX 1.9.6-b2
Pre-release
Pre-release
The first release with the io.github.libktx
group ID. Features a new module: ktx-async
. Contains a few API changes, most notably in ktx-vis
and ktx-scene2d
modules - make sure to check README
files for migration guides.
- [UPDATE] Updated to Kotlin 1.1.1.
- [UPDATE] Updated to VisUI 1.3.0.
- [FEATURE] (
ktx-actors
) Added inlinedtxt
extension properties toLabel
andTextButton
widgets. - [FEATURE] (
ktx-actors
) AddedKtxInputListener
: anInputListener
extension with parameter types improvements. - [FEATURE] (
ktx-actors
)alpha
extension properties ofActor
andStage
are now inlined. - [FEATURE] (
ktx-app
) AddedKtxApplicationAdapter
interface which makes implementing all ofApplicationListener
methods optional. - [FEATURE] (
ktx-app
) AddedKtxInputAdapter
interface which makes implementing all ofInputProcessor
methods optional. - [FEATURE] (
ktx-app
) Addeduse
inlined methods toBatch
andShaderProgram
, allowing to omitbegin()
andend()
calls. - [FEATURE] (
ktx-app
) Addedcolor
factory method to allow constructing LibGDXColor
instances with named parameters. - [FEATURE] (
ktx-app
) AddedColor.copy
extension method that allows to copyColor
instances with optional overriding of chosen values. - [CHANGE] (
ktx-app
)KotlinApplication#timeSinceLastRender
now has a protected default getter. - [CHANGE] (
ktx-assets
) StaticAssetManager
instance container was deprecated. Static access toAssetManager
will be removed in the next release. - [FEATURE] (
ktx-assets
) Addedload
,loadAsset
,loadOnDemand
,getAsset
,unload
andunloadSafety
extension methods toAssetManager
to provide an alternative to equivalent utility functions using static manager instance. - [FEATURE] (
ktx-assets
) AddedgetLoader
andsetLoader
extension methods toAssetManager
forAssetLoader
handling. - [FEATURE] (
ktx-async
) Implemented a new KTX module with multi-threaded operations utilities:ktx-async
.- Implemented coroutines context using LibGDX threading model:
KtxAsync
. It resumes suspending operations on the main rendering thread withGdx.app.postRunnable
utility. It has to be initiated on the main thread withenableKtxCoroutines
. - Added utility
ktxAsync
function which launches non-blocking coroutine usingKtxAsync
context. - Added
skipFrame
method that suspends the coroutine and resumes it on the next frame usingGdx.app.postRunnable
. - Added
delay
method that offers non-blocking coroutine suspensions for the given period of time. - Added
httpRequest
method that performs asynchronous suspending HTTP request using LibGDXNet
API. - Added
asynchronous
method, which allows to perform suspending operations on a separate thread. schedule
andinterval
utility methods added to ease the use ofcom.badlogic.gdx.utils.Timer
API.- Added
HttpRequestResult
: a thread-safeHttpResponse
wrapper that addresses libgdx#4700.
- Implemented coroutines context using LibGDX threading model:
- [FEATURE] (
ktx-collections
) AddedsortDescending
,sortBy
andsortByDescending
utility methods to LibGDXArray
. - [FEATURE] (
ktx-collections
) Added type aliases to LibGDX collections to avoid name collisions with standard library:GdxArray
:com.badlogic.gdx.utils.Array
GdxIntArray
:com.badlogic.gdx.utils.IntArray
GdxFloatArray
:com.badlogic.gdx.utils.FloatArray
GdxBooleanArray
:com.badlogic.gdx.utils.BooleanArray
GdxCharArray
:com.badlogic.gdx.utils.CharArray
GdxLongArray
:com.badlogic.gdx.utils.LongArray
GdxShortArray
:com.badlogic.gdx.utils.ShortArray
GdxSet
:com.badlogic.gdx.utils.ObjectSet
GdxMap
:com.badlogic.gdx.utils.ObjectMap
GdxList
:ktx.collections.PooledList
- [FEATURE] (
ktx-collections
)lastIndex
extension properties of LibGDX arrays are now inlined. - [FEATURE] (
ktx-collections
) Addedcomponent1()
andcomponent2()
operator extension methods toEntry
classes of LibGDX maps to support destructing syntax and simplify iteration. - [CHANGE] (
ktx-i18n
) StaticI18NBundle
instance container was deprecated. Static access toI18NBundle
will be removed in the next release. - [CHANGE] (
ktx-inject
) StaticContext
instance container was deprecated. Static access toContext
will be removed in the next release. - [FEATURE] (
ktx-scene2d
,ktx-vis
)inCell
extension property added toTable
children. Now you can easily accessCell
instance outside of the actors' building blocks. - [FEATURE] (
ktx-scene2d
,ktx-vis
)inNode
extension property added toTree
children. Now you can easily accessNode
instance outside of the actors' building blocks. - [FEATURE] (
ktx-scene2d
,ktx-vis
) fluentcell
extension method added toTable
children, allowing to configureCell
properties outside of actors' building blocks. - [FEATURE] (
ktx-scene2d
,ktx-vis
) fluentnode
extension method added toTree
children, allowing to configureNode
properties outside of actors' building blocks. - [FEATURE] (
ktx-scene2d
,ktx-vis
) Resolved DSL scoping issues with Kotlin 1.1@DslMarker
API. - [CHANGE] (
ktx-scene2d
,ktx-vis
) Due to@DslMarker
introduction, implicit access to parental widgets is no longer possible in children building blocks. Seektx-scene2d
orktx-vis
documentation for more info on the migration. - [CHANGE] (
ktx-scene2d
)KNode.invoke
extension method was moved directly toKNode
API and no longer has to be imported. - [FEATURE] (
ktx-style
)Skin
instance is now available under lambda parameter ofskin
method init blocks. - [FEATURE] (
ktx-style
,ktx-style-vis
) Resolved DSL scoping issues with Kotlin 1.1@DslMarker
API. - [CHANGE] (
ktx-style
,ktx-style-vis
) Due to@DslMarker
introduction, implicit access toSkin
instance is no longer possible. Seektx-style
documentation for more info on the migration. - [FEATURE] (
ktx-vis
) Added support forHorizontalCollapsibleWidget
:horizontalCollapsible
builder methods added to all parental actors. - [FEATURE] (
ktx-vis
) Added support forVisTree
building using type-safe API. - [CHANGE] (
ktx-vis
) Cells and nodes are now available as lambda parameters. Seektx-vis
documentation for migration guide.