TextUnit


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.

Summary

Public companion properties

TextUnit

A special TextUnit instance for representing inheriting from parent value.

Cmn

Public functions

inline operator Int

Support comparing Dimensions with comparison operators.

Cmn
inline operator TextUnit
div(other: Double)

Divide a TextUnit by a scalar.

Cmn
inline operator TextUnit
div(other: Float)

Divide a TextUnit by a scalar.

Cmn
inline operator TextUnit
div(other: Int)

Divide a TextUnit by a scalar.

Cmn
inline operator TextUnit
times(other: Double)

Multiply a TextUnit by a scalar.

Cmn
inline operator TextUnit
times(other: Float)

Multiply a TextUnit by a scalar.

Cmn
inline operator TextUnit
times(other: Int)

Multiply a TextUnit by a scalar.

Cmn
open String
Cmn
inline operator TextUnit

This is the same as multiplying the TextUnit by -1.0.

Cmn

Public properties

Boolean

True if this is a EM unit type.

Cmn
Boolean

True if this is a SP unit type.

Cmn
TextUnitType

A type information of this TextUnit.

Cmn
Float

Returns the value of this TextUnit.

Cmn

Extension functions

inline TextUnit

If this TextUnit then this is returned, otherwise block is executed and its result is returned.

Cmn

Extension properties

Boolean

false when this is TextUnit.Unspecified.

Cmn
Boolean

true when this is TextUnit.Unspecified.

Cmn

Public companion properties

Unspecified

val UnspecifiedTextUnit

A special TextUnit instance for representing inheriting from parent value.

Notice that performing arithmetic operations on Unspecified may result in an IllegalArgumentException.

Public functions

compareTo

inline operator fun compareTo(other: TextUnit): Int

Support comparing Dimensions with comparison operators.

Returns
Int

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.

Throws
kotlin.IllegalArgumentException

if this TextUnit and the other has different TextUnitTypes or either of the two has the TextUnitType equals to TextUnitType.Unspecified.

div

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.

div

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.

div

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.

times

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.

times

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.

times

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.

toString

open fun toString(): String

unaryMinus

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.

Public properties

isEm

val isEmBoolean

True if this is a EM unit type.

isSp

val isSpBoolean

True if this is a SP unit type.

type

val typeTextUnitType

A type information of this TextUnit.

value

val valueFloat

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 TextUnits whose TextUnitType is TextUnitType.Unspecified is undefined.

Extension functions

takeOrElse

inline fun TextUnit.takeOrElse(block: () -> TextUnit): TextUnit

If this TextUnit then this is returned, otherwise block is executed and its result is returned.

Extension properties

isSpecified

val TextUnit.isSpecifiedBoolean

false when this is TextUnit.Unspecified.

isUnspecified

val TextUnit.isUnspecifiedBoolean

true when this is TextUnit.Unspecified.