Package-level declarations
Types
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class TimelineState
Link copied to clipboard
data class TimelineTheme(val axis: TimelineTheme.AxisStyle, val grid: TimelineTheme.GridStyle, val hover: TimelineTheme.HoverStyle, val laneLabel: TimelineTheme.LaneLabelStyle, val selection: TimelineTheme.SelectionStyle, val laneSeparatorColor: Color, val backgroundColor: Color)
Link copied to clipboard
Functions
Link copied to clipboard
private fun badgeBounds(selection: TimeSelection, state: TimelineState, componentWidth: Float, badgeSize: IntSize, axisHeight: Float): Pair<Float, Float>
Computes the top-left position of the selection badge in viewport pixels.
Link copied to clipboard
@Composable
Link copied to clipboard
internal fun blockBadgeBounds(block: TimelineBlock, laneIndex: Int, state: TimelineState, componentWidth: Float, badgeSize: IntSize, axisHeight: Float, componentHeight: Float, laneCount: Int): Pair<Float, Float>
Computes the top-left position of the block badge in viewport pixels.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
internal fun DrawScope.drawAxisTicks(interval: Int, startSec: Int, endSec: Int, pxPerSecond: Float, axisHeight: Float, labelWidth: Int, labelHeight: Int, textMeasurer: TextMeasurer, style: TimelineTheme.AxisStyle)
Link copied to clipboard
internal fun DrawScope.drawBlocks(lanes: List<TimelineLane>, state: TimelineState, lanesTop: Float, laneHeight: Float, pxPerSecond: Float, startSec: Int, endSec: Int)
Link copied to clipboard
internal fun DrawScope.drawHoverLabel(hoverSeconds: Float?, hoveredBlock: TimelineBlock?, pxPerSecond: Float, scrollX: Float, localMousePos: Offset?, textMeasurer: TextMeasurer, style: TimelineTheme.HoverStyle)
Link copied to clipboard
internal fun DrawScope.drawLaneLabels(lanes: List<TimelineLane>, lanesTop: Float, laneHeight: Float, localMousePos: Offset?, textMeasurer: TextMeasurer, style: TimelineTheme.LaneLabelStyle)
Link copied to clipboard
internal fun DrawScope.drawLaneSeparators(laneCount: Int, lanesTop: Float, laneHeight: Float, separatorColor: Color)
Link copied to clipboard
internal fun DrawScope.drawSelectionOverlay(selection: TimeSelection?, lanesTop: Float, lanesHeight: Float, pxPerSecond: Float, style: TimelineTheme.SelectionStyle)
Link copied to clipboard
internal fun DrawScope.drawTimeIndicators(showCurrentTime: Boolean, currentTimeSeconds: Float, pxPerSecond: Float, hoverSeconds: Float?, hoverLineColor: Color)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
private fun isBadgeHit(pos: Offset, state: TimelineState, componentWidth: Float, badgeSize: IntSize, axisHeight: Float): Boolean
Returns true when pos lands within the selection badge bounds.
Link copied to clipboard
private fun isBlockBadgeHit(pos: Offset, state: TimelineState, componentWidth: Float, componentHeight: Float, blockBadgeSize: IntSize, axisHeight: Float, laneCount: Int): Boolean
Returns true when pos lands within the block badge bounds.
Link copied to clipboard
Dobiera interwał ticków (w sekundach) na podstawie aktualnego zoomu, tak żeby odstęp między liniami wynosił co najmniej minPixelSpacing px. Minimalny interwał = 60s (co minutę).
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@Composable
Link copied to clipboard
@Composable
Link copied to clipboard
@Composable