Class

CornerRadius

A radius for either circular or elliptical (oval) shapes.

Common
value class CornerRadius(val packedValue: Long)

A radius for either circular or elliptical (oval) shapes.

Note consumers should create an instance of this class through the corresponding function constructor as it is represented as an inline class with 2 float parameters packed into a single long to reduce allocation overhead

Properties

Common
inline val x: Float

The radius value on the horizontal axis.

Common
inline val y: Float

The radius value on the vertical axis.

Functions

component1

inline operator fun component1(): Float

component2

inline operator fun component2(): Float

copy

fun copy(x: Float = unpackFloat1(packedValue), y: Float = unpackFloat2(packedValue)) =
        CornerRadius(packFloats(x, y))

Returns a copy of this Radius instance optionally overriding the radius parameter for the x or y axis


isZero

inline fun isZero(): Boolean

Whether this corner radius is 0 in x, y, or both.


isCircular

inline fun isCircular(): Boolean

Whether this corner radius describes a quarter circle (x == y).


unaryMinus

inline operator fun unaryMinus() = CornerRadius(packedValue xor DualFloatSignBit)

Unary negation operator.

Returns a Radius with the distances negated.

Radiuses with negative values aren't geometrically meaningful, but could occur as part of expressions. For example, negating a radius of one pixel and then adding the result to another radius is equivalent to subtracting a radius of one pixel from the other.


minus

operator fun minus(other: CornerRadius): CornerRadius

Binary subtraction operator.

Returns a radius whose x value is the left-hand-side operand's x minus the right-hand-side operand's x and whose y value is the left-hand-side operand's y minus the right-hand-side operand's y.


plus

operator fun plus(other: CornerRadius): CornerRadius

Binary addition operator.

Returns a radius whose x value is the sum of the x values of the two operands, and whose y value is the sum of the y values of the two operands.


times

operator fun times(operand: Float) =
        CornerRadius(
            packFloats(unpackFloat1(packedValue) * operand, unpackFloat2(packedValue) * operand)
        )

Multiplication operator.

Returns a radius whose coordinates are the coordinates of the left-hand-side operand (a radius) multiplied by the scalar right-hand-side operand (a Float).


div

operator fun div(operand: Float) =
        CornerRadius(
            packFloats(unpackFloat1(packedValue) / operand, unpackFloat2(packedValue) / operand)
        )

Division operator.

Returns a radius whose coordinates are the coordinates of the left-hand-side operand (a radius) divided by the scalar right-hand-side operand (a Float).

Companion Object

Properties

Common
val Zero: CornerRadius

A radius with x and y values set to zero.

You can use CornerRadius.Zero with RoundRect to have right-angle corners.