Class

CornerRadius

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

RevenueCat

RevenueCat

Add subscriptions to your apps in minutes

Ad Get started for free
Source set: Common

Added in 1.11.0-rc01

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

x

Source set: Common

Added in 1.11.0-rc01

inline val x: Float

The radius value on the horizontal axis.

y

Source set: Common

Added in 1.11.0-rc01

inline val y: Float

The radius value on the vertical axis.

Functions

component1

Added in 1.11.0-rc01

inline operator fun component1(): Float

component2

Added in 1.11.0-rc01

inline operator fun component2(): Float

copy

Added in 1.11.0-rc01

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

Added in 1.11.0-rc01

inline fun isZero(): Boolean

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

isCircular

Added in 1.11.0-rc01

inline fun isCircular(): Boolean

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

unaryMinus

Added in 1.11.0-rc01

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

Added in 1.11.0-rc01

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

Added in 1.11.0-rc01

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

Added in 1.11.0-rc01

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

Added in 1.11.0-rc01

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

Source set: Common

Added in 1.11.0-rc01

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.