IntOffset

Class

Common
value class IntOffset(val packedValue: Long)

A two-dimensional position using Int pixels for units.

To create an IntOffset, call the top-level function that accepts an x/y pair of coordinates:

val offset = IntOffset(x, y)

The primary constructor of IntOffset is intended to be used with the packedValue property to allow storing offsets in arrays or collections of primitives without boxing.

Parameters

packedValueLong value encoding the x and y components of the IntOffset. Encoded values can be obtained by using the packedValue property of existing IntOffset instances.

Properties

Common
val x: Int

The horizontal aspect of the position in Int pixels.

Common
val y: Int

The vertical aspect of the position in Int pixels.

Functions

inline operator fun component1(): Int
inline operator fun component2(): Int
fun copy(x: Int = unpackInt1(packedValue), y: Int = unpackInt2(packedValue)) =
        IntOffset(packInts(x, y))

Returns a copy of this IntOffset instance optionally overriding the x or y parameter

operator fun minus(other: IntOffset) =
        IntOffset(
            packInts(
                unpackInt1(packedValue) - unpackInt1(other.packedValue),
                unpackInt2(packedValue) - unpackInt2(other.packedValue),
            )
        )

Subtract a IntOffset from another one.

operator fun plus(other: IntOffset) =
        IntOffset(
            packInts(
                unpackInt1(packedValue) + unpackInt1(other.packedValue),
                unpackInt2(packedValue) + unpackInt2(other.packedValue),
            )
        )

Add a IntOffset to another one.

operator fun unaryMinus() =
        IntOffset(packInts(-unpackInt1(packedValue), -unpackInt2(packedValue)))

Returns a new IntOffset representing the negation of this point.

operator fun times(operand: Float): IntOffset

Multiplication operator.

Returns an IntOffset whose coordinates are the coordinates of the left-hand-side operand (an IntOffset) multiplied by the scalar right-hand-side operand (a Float). The result is rounded to the nearest integer.

operator fun div(operand: Float): IntOffset

Division operator.

Returns an IntOffset whose coordinates are the coordinates of the left-hand-side operand (an IntOffset) divided by the scalar right-hand-side operand (a Float). The result is rounded to the nearest integer.

operator fun rem(operand: Int) =
        IntOffset(packInts(unpackInt1(packedValue) % operand, unpackInt2(packedValue) % operand))

Modulo (remainder) operator.

Returns an IntOffset whose coordinates are the remainder of dividing the coordinates of the left-hand-side operand (an IntOffset) by the scalar right-hand-side operand (an Int).

Companion Object

Properties

Common
val Zero = IntOffset(0x0L)
Common
val Max = IntOffset(0x7FFF_FFFF_7FFF_FFFF)