TextUnit
value class TextUnit internal constructor(internal val packedValue: Long)
The unit used for text related dimension value.
This unit can hold either scaled pixels (SP), relative font size (EM) and special unit
Unspecified for indicating inheriting from other style or using the default value. It can be
created with sp
or em
. (e.g. 15.sp or 18.em) which can be applied to Int
, Double
, and
Float
.
Note that do not store this value in your persistent storage or send to another process since the internal representation may be changed in future.
Properties
val type: TextUnitType
A type information of this TextUnit.
val isSp
True if this is a SP unit type.
val isEm
True if this is a EM unit type.
val value
Returns the value of this TextUnit
.
For example, the value of 3.sp equals to 3, and value of 5.em equals to 5. The value of
TextUnit
s whose TextUnitType
is TextUnitType.Unspecified
is undefined.
Functions
inline operator fun unaryMinus(): TextUnit
This is the same as multiplying the TextUnit
by -1.0.
This operation works only if the operand is not equal to TextUnit.Unspecified
. The result
of this operation is the same unit type of the given one.
inline operator fun div(other: Float): TextUnit
Divide a TextUnit
by a scalar.
This operation works only if the left operand is not equal to TextUnit.Unspecified
. The
result of this operation is the same unit type of the given one.
inline operator fun div(other: Double): TextUnit
Divide a TextUnit
by a scalar.
This operation works only if the left operand is not equal to TextUnit.Unspecified
. The
result of this operation is the same unit type of the given one.
inline operator fun div(other: Int): TextUnit
Divide a TextUnit
by a scalar.
This operation works only if the left operand is not equal to TextUnit.Unspecified
. The
result of this operation is the same unit type of the given one.
inline operator fun times(other: Float): TextUnit
Multiply a TextUnit
by a scalar.
This operation works only if the left operand is not equal to TextUnit.Unspecified
. The
result of this operation is the same unit type of the given one.
inline operator fun times(other: Double): TextUnit
Multiply a TextUnit
by a scalar.
This operation works only if the left operand is not equal to TextUnit.Unspecified
. The
result of this operation is the same unit type of the given one.
inline operator fun times(other: Int): TextUnit
Multiply a TextUnit
by a scalar.
This operation works only if the left operand is not equal to TextUnit.Unspecified
. The
result of this operation is the same unit type of the given one.
inline operator fun compareTo(other: TextUnit): Int
Support comparing Dimensions with comparison operators.
Returns
0 if this TextUnit equals to the other , a negative number if it's less than the other , or a positive number if it's greater than the other . |
Companion Object
Properties
val Unspecified = pack(UNIT_TYPE_UNSPECIFIED, Float.NaN)
A special TextUnit
instance for representing inheriting from parent value.
Notice that performing arithmetic operations on Unspecified
may result in an
IllegalArgumentException
.