StrokeInputBatch


abstract class StrokeInputBatch

Known direct subclasses
ImmutableStrokeInputBatch

An immutable implementation of StrokeInputBatch.

MutableStrokeInputBatch

A mutable implementation of StrokeInputBatch.


A read-only view of an object that stores multiple StrokeInput values together in a more memory-efficient manner than just List<StrokeInput>. The input points in this batch are guaranteed to be consistent with one another – for example, they all have the same toolType and the same set of optional fields like pressure/tilt/orientation, and their timestamps are all monotonically non-decreasing. This can be an ImmutableStrokeInputBatch for data that cannot change, and a MutableStrokeInputBatch for data that is meant to be modified or incrementally built.

Summary

Public functions

operator StrokeInput
get(index: Int)

Gets the value of the i-th input.

Long

The duration between the first and last input in milliseconds.

Float

The physical distance in centimeters that the pointer must travel in order to produce an input motion of one stroke unit.

InputToolType

How this input stream should be interpreted, as coming from a InputToolType.MOUSE, InputToolType.TOUCH, or InputToolType.STYLUS.

Boolean

Whether all of the individual inputs have a defined value for StrokeInput.orientationRadians.

Boolean

Whether all of the individual inputs have a defined value for StrokeInput.pressure.

Boolean

Whether strokeUnitLengthCm has a valid value, which is something other than StrokeInput.NO_STROKE_UNIT_LENGTH.

Boolean

Whether all of the individual inputs have a defined value for StrokeInput.tiltRadians.

Boolean

true if there are no StrokeInput objects in the batch, and false otherwise.

StrokeInput
populate(index: Int, outStrokeInput: StrokeInput)

Gets the value of the i-th input and overwrites outStrokeInput, which it then returns.

Protected functions

Unit

Public properties

Int

Number of StrokeInput objects in the batch.

Public functions

get

Added in 1.0.0-alpha01
operator fun get(index: Int): StrokeInput

Gets the value of the i-th input. Requires that index is positive and less than size.

In performance-sensitive code, prefer to use populate to pass in a pre-allocated instance and reuse that instance across multiple calls to this function.

getDurationMillis

Added in 1.0.0-alpha01
fun getDurationMillis(): Long

The duration between the first and last input in milliseconds.

getStrokeUnitLengthCm

Added in 1.0.0-alpha01
fun getStrokeUnitLengthCm(): Float

The physical distance in centimeters that the pointer must travel in order to produce an input motion of one stroke unit. For stylus/touch, this is the real-world distance that the stylus/fingertip must move in physical space; for mouse, this is the visual distance that the mouse pointer must travel along the surface of the display.

A value of StrokeInput.NO_STROKE_UNIT_LENGTH indicates that the relationship between stroke space and physical space is unknown or ill-defined.

getToolType

Added in 1.0.0-alpha01
fun getToolType(): InputToolType

How this input stream should be interpreted, as coming from a InputToolType.MOUSE, InputToolType.TOUCH, or InputToolType.STYLUS.

hasOrientation

Added in 1.0.0-alpha01
fun hasOrientation(): Boolean

Whether all of the individual inputs have a defined value for StrokeInput.orientationRadians. If not, then no input items have an orientation value.

hasPressure

Added in 1.0.0-alpha01
fun hasPressure(): Boolean

Whether all of the individual inputs have a defined value for StrokeInput.pressure. If not, then no input items have a pressure value.

hasStrokeUnitLength

Added in 1.0.0-alpha01
fun hasStrokeUnitLength(): Boolean

Whether strokeUnitLengthCm has a valid value, which is something other than StrokeInput.NO_STROKE_UNIT_LENGTH.

hasTilt

Added in 1.0.0-alpha01
fun hasTilt(): Boolean

Whether all of the individual inputs have a defined value for StrokeInput.tiltRadians. If not, then no input items have a tilt value.

isEmpty

Added in 1.0.0-alpha01
fun isEmpty(): Boolean

true if there are no StrokeInput objects in the batch, and false otherwise.

populate

Added in 1.0.0-alpha01
fun populate(index: Int, outStrokeInput: StrokeInput): StrokeInput

Gets the value of the i-th input and overwrites outStrokeInput, which it then returns. Requires that index is positive and less than size.

Protected functions

finalize

Added in 1.0.0-alpha01
protected fun finalize(): Unit

Public properties

size

Added in 1.0.0-alpha01
val sizeInt

Number of StrokeInput objects in the batch.