midio_ui/vec

Types

Vec2[T] = object
  x*: T
  y*: T

Procs

proc vec2[T: Number](x: T; y: T): Vec2[T]
proc lerp[T: Number](a: T; b: T; t: float): T
proc zero(): Vec2[float] {...}{.raises: [], tags: [].}
proc `-`[T: Number](self: Vec2[T]): Vec2[T]
proc infinity[T: Number](): Vec2[T]
proc withX[T: Number](self: Vec2[T]; x: Number): Vec2[T]
proc withY[T: Number](self: Vec2[T]; y: Number): Vec2[T]
proc lerp[T: Number](self: Vec2[T]; other: Vec2[T]; t: float): Vec2[T]
proc add[T: Number](self: Vec2[T]; other: Vec2[T]): Vec2[T]
proc addX[T: Number](self: Vec2[T]; other: T): Vec2[T]
proc addY[T: Number](self: Vec2[T]; other: T): Vec2[T]
proc directionTo[T: Number](self: Vec2[T]; other: Vec2[T]): Vec2[T]
proc sub[T: Number](self: Vec2[T]; other: Vec2[T]): Vec2[T]
proc angle[T: Number](self: Vec2[T]): T
proc normalized[T: Number](self: Vec2[T]): Vec2[T]
proc divide[T: Number](self: Vec2[T]; val: Number): Vec2[T]
proc divide[T: Number](self: Vec2[T]; other: Vec2[T]): Vec2[T]
proc mul[T: Number](self: Vec2[T]; other: T): Vec2[T]
proc mul[T: Number](self: Vec2[T]; other: Vec2[T]): Vec2[T]
proc mul[T: Number](self: Vec2[T]; otherX: T; otherY: T): Vec2[T]
proc rotate[T: Number](self: Vec2[T]; rad: Number): Vec2[T]
proc max[T: Number](self: Vec2[T]; other: Vec2[T]): Vec2[T]
proc min[T: Number](self: Vec2[T]; other: Vec2[T]): Vec2[T]
proc abs[T: Number](self: Vec2[T]): Vec2[T]
proc heightVec[T: Number](self: Vec2[T]): Vec2[T]
proc widthVec[T: Number](self: Vec2[T]): Vec2
proc inflate[T: Number](self: Vec2[T]; thickness: Thickness[T]): Vec2[T]
proc deflate[T: Number](self: Vec2[T]; thickness: Thickness[T]): Vec2[T]
proc equals[T: Number](self: Vec2[T]; other: Vec2[T]): bool
proc nonNegative[T: Number](self: Vec2[T]): Vec2[T]
proc constrain[T: Number](self: Vec2[T]; constraint: Vec2[T]): Vec2[T]
proc length[T: Number](self: Vec2[T]): T
proc distanceTo[T: Number](self: Vec2[T]; other: Vec2[T]): T
proc neg[T: Number](self: Vec2[T]): Vec2[T]

Templates

template `+`[T](self: Vec2[T]; other: Vec2[T]): Vec2[T]
template `-`[T](self: Vec2[T]; other: Vec2[T]): Vec2[T]