RGBA stream codec
This commit is contained in:
parent
5ebc7008eb
commit
672f185584
@ -4,7 +4,7 @@ kotlin.code.style=official
|
|||||||
specifyKotlinAsDependency=false
|
specifyKotlinAsDependency=false
|
||||||
|
|
||||||
projectGroup=ru.dbotthepony.kommons
|
projectGroup=ru.dbotthepony.kommons
|
||||||
projectVersion=2.9.0
|
projectVersion=2.9.1
|
||||||
|
|
||||||
guavaDepVersion=33.0.0
|
guavaDepVersion=33.0.0
|
||||||
gsonDepVersion=2.8.9
|
gsonDepVersion=2.8.9
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package ru.dbotthepony.kommons.io
|
package ru.dbotthepony.kommons.io
|
||||||
|
|
||||||
|
import ru.dbotthepony.kommons.math.RGBAColor
|
||||||
import java.io.DataInputStream
|
import java.io.DataInputStream
|
||||||
import java.io.DataOutputStream
|
import java.io.DataOutputStream
|
||||||
import java.util.*
|
import java.util.*
|
||||||
@ -195,6 +196,14 @@ val VarIntValueCodec = StreamCodec.Impl(DataInputStream::readSignedVarInt, DataO
|
|||||||
val VarLongValueCodec = StreamCodec.Impl(DataInputStream::readSignedVarLong, DataOutputStream::writeSignedVarLong)
|
val VarLongValueCodec = StreamCodec.Impl(DataInputStream::readSignedVarLong, DataOutputStream::writeSignedVarLong)
|
||||||
val BinaryStringCodec = StreamCodec.Impl(DataInputStream::readBinaryString, DataOutputStream::writeBinaryString)
|
val BinaryStringCodec = StreamCodec.Impl(DataInputStream::readBinaryString, DataOutputStream::writeBinaryString)
|
||||||
|
|
||||||
|
val RGBCodec: StreamCodec<RGBAColor> = StreamCodec.Impl(
|
||||||
|
{ s -> RGBAColor(s.readFloat(), s.readFloat(), s.readFloat()) },
|
||||||
|
{ s, v -> s.writeFloat(v.red); s.writeFloat(v.green); s.writeFloat(v.blue) })
|
||||||
|
|
||||||
|
val RGBACodec: StreamCodec<RGBAColor> = StreamCodec.Impl(
|
||||||
|
{ s -> RGBAColor(s.readFloat(), s.readFloat(), s.readFloat(), s.readFloat()) },
|
||||||
|
{ s, v -> s.writeFloat(v.red); s.writeFloat(v.green); s.writeFloat(v.blue); s.writeFloat(v.alpha) })
|
||||||
|
|
||||||
val OptionalBooleanValueCodec = StreamCodec.Optional(BooleanValueCodec)
|
val OptionalBooleanValueCodec = StreamCodec.Optional(BooleanValueCodec)
|
||||||
val OptionalByteValueCodec = StreamCodec.Optional(ByteValueCodec)
|
val OptionalByteValueCodec = StreamCodec.Optional(ByteValueCodec)
|
||||||
val OptionalShortValueCodec = StreamCodec.Optional(ShortValueCodec)
|
val OptionalShortValueCodec = StreamCodec.Optional(ShortValueCodec)
|
||||||
@ -208,6 +217,8 @@ val OptionalUUIDValueCodec = StreamCodec.Optional(UUIDValueCodec)
|
|||||||
val OptionalVarIntValueCodec = StreamCodec.Optional(VarIntValueCodec)
|
val OptionalVarIntValueCodec = StreamCodec.Optional(VarIntValueCodec)
|
||||||
val OptionalVarLongValueCodec = StreamCodec.Optional(VarLongValueCodec)
|
val OptionalVarLongValueCodec = StreamCodec.Optional(VarLongValueCodec)
|
||||||
val OptionalBinaryStringCodec = StreamCodec.Optional(BinaryStringCodec)
|
val OptionalBinaryStringCodec = StreamCodec.Optional(BinaryStringCodec)
|
||||||
|
val OptionalRGBCodec = StreamCodec.Optional(RGBCodec)
|
||||||
|
val OptionalRGBACodec = StreamCodec.Optional(RGBACodec)
|
||||||
|
|
||||||
val KOptionalBooleanValueCodec = StreamCodec.KOptional(BooleanValueCodec)
|
val KOptionalBooleanValueCodec = StreamCodec.KOptional(BooleanValueCodec)
|
||||||
val KOptionalByteValueCodec = StreamCodec.KOptional(ByteValueCodec)
|
val KOptionalByteValueCodec = StreamCodec.KOptional(ByteValueCodec)
|
||||||
@ -222,6 +233,8 @@ val KOptionalUUIDValueCodec = StreamCodec.KOptional(UUIDValueCodec)
|
|||||||
val KOptionalVarIntValueCodec = StreamCodec.KOptional(VarIntValueCodec)
|
val KOptionalVarIntValueCodec = StreamCodec.KOptional(VarIntValueCodec)
|
||||||
val KOptionalVarLongValueCodec = StreamCodec.KOptional(VarLongValueCodec)
|
val KOptionalVarLongValueCodec = StreamCodec.KOptional(VarLongValueCodec)
|
||||||
val KOptionalBinaryStringCodec = StreamCodec.KOptional(BinaryStringCodec)
|
val KOptionalBinaryStringCodec = StreamCodec.KOptional(BinaryStringCodec)
|
||||||
|
val KOptionalRGBCodec = StreamCodec.KOptional(RGBCodec)
|
||||||
|
val KOptionalRGBACodec = StreamCodec.KOptional(RGBACodec)
|
||||||
|
|
||||||
fun <E : Enum<E>> Class<E>.codec() = StreamCodec.Enum(this)
|
fun <E : Enum<E>> Class<E>.codec() = StreamCodec.Enum(this)
|
||||||
fun <E : Enum<E>> KClass<E>.codec() = StreamCodec.Enum(this.java)
|
fun <E : Enum<E>> KClass<E>.codec() = StreamCodec.Enum(this.java)
|
||||||
|
Loading…
Reference in New Issue
Block a user