This commit is contained in:
2021-07-09 11:16:29 +02:00
parent adec3b21b0
commit 1dc6f6cf9f
2 changed files with 38 additions and 17 deletions

View File

@@ -4,7 +4,7 @@ plugins {
} }
group = "nl.astraeus" group = "nl.astraeus"
version = "0.4.27" version = "0.4.28"
repositories { repositories {
maven { setUrl("https://dl.bintray.com/kotlin/kotlin-eap") } maven { setUrl("https://dl.bintray.com/kotlin/kotlin-eap") }

View File

@@ -1,7 +1,19 @@
package nl.astraeus.css.properties package nl.astraeus.css.properties
enum class MeasurementUoM {
NONE,
PX,
EM,
REM,
PC,
PRC,
CM,
FR
}
open class Measurement( open class Measurement(
value: String value: String,
val uom: MeasurementUoM = MeasurementUoM.NONE
) : CssProperty(value) { ) : CssProperty(value) {
companion object { companion object {
@@ -11,9 +23,15 @@ open class Measurement(
val normal = Measurement("normal") val normal = Measurement("normal")
fun px(nr: Int) = if (nr == 0) { fun px(nr: Int) = if (nr == 0) {
Measurement("0") Measurement(
"0",
MeasurementUoM.PX
)
} else { } else {
Measurement("${nr}px") Measurement(
"${nr}px",
MeasurementUoM.PX
)
} }
fun px(nr: Double) = nr.px fun px(nr: Double) = nr.px
@@ -37,7 +55,8 @@ val Int.px: Measurement
} else { } else {
"px" "px"
} }
}" }",
MeasurementUoM.PX
) )
val Int.em: Measurement val Int.em: Measurement
get() = Measurement( get() = Measurement(
@@ -47,7 +66,8 @@ val Int.em: Measurement
} else { } else {
"em" "em"
} }
}" }",
MeasurementUoM.EM
) )
val Int.rem: Measurement val Int.rem: Measurement
get() = Measurement( get() = Measurement(
@@ -57,31 +77,32 @@ val Int.rem: Measurement
} else { } else {
"rem" "rem"
} }
}" }",
MeasurementUoM.REM
) )
val Int.prc: Measurement val Int.prc: Measurement
get() = Measurement("${this}%") get() = Measurement("${this}%", MeasurementUoM.PRC)
val Int.pc: Measurement val Int.pc: Measurement
get() = Measurement("${this}pc") get() = Measurement("${this}pc", MeasurementUoM.PC)
val Int.cm: Measurement val Int.cm: Measurement
get() = Measurement("${this}cm") get() = Measurement("${this}cm", MeasurementUoM.CM)
val Int.fr: Measurement val Int.fr: Measurement
get() = Measurement("${this}fr") get() = Measurement("${this}fr", MeasurementUoM.FR)
fun Int.px(): Measurement = Measurement.px(this) fun Int.px(): Measurement = Measurement.px(this)
val Double.px: Measurement val Double.px: Measurement
get() = Measurement("${this}px") get() = Measurement("${this}px", MeasurementUoM.PX)
val Double.em: Measurement val Double.em: Measurement
get() = Measurement("${this}em") get() = Measurement("${this}em", MeasurementUoM.EM)
val Double.rem: Measurement val Double.rem: Measurement
get() = Measurement("${this}rem") get() = Measurement("${this}rem", MeasurementUoM.REM)
val Double.prc: Measurement val Double.prc: Measurement
get() = Measurement("${this}%") get() = Measurement("${this}%", MeasurementUoM.PRC)
val Double.pc: Measurement val Double.pc: Measurement
get() = Measurement("${this}pc") get() = Measurement("${this}pc", MeasurementUoM.PC)
val Double.cm: Measurement val Double.cm: Measurement
get() = Measurement("${this}cm") get() = Measurement("${this}cm", MeasurementUoM.CM)
fun Double.px(): Measurement = Measurement.px(this) fun Double.px(): Measurement = Measurement.px(this)