rect.nim
Header file for Rect definition and management procedures.
Types
Point* = object x*: cint y*: cint
-
The object that defines a point (integer)
See also:
enclosePoints()
pointInRect()
FPoint* = object x*: cfloat y*: cfloat
-
The structure that defines a point (floating point)
See also:
enclosePoints()
pointInRect()
Rect* = object x*: cint y*: cint w*: cint h*: cint
-
A rectangle, with the origin at the upper left (integer).
See also:
rectEmpty()
rectEquals()
hasIntersection()
intersectRect()
unionRect()
enclosePoints()
FRect* = object x*: cfloat y*: cfloat w*: cfloat h*: cfloat
- A rectangle, with the origin at the upper left (floating point).
Procs
proc hasIntersection*(a: ptr Rect; b: ptr Rect): bool {...}{.cdecl, importc: "SDL_HasIntersection", dynlib: SDL2_LIB.}
-
Determine whether two rectangles intersect.
Return true if there is an intersection, false otherwise.
proc intersectRect*(a: ptr Rect; b: ptr Rect; result: ptr Rect): bool {...}{.cdecl, importc: "SDL_IntersectRect", dynlib: SDL2_LIB.}
-
Calculate the intersection of two rectangles.
Return true if there is an intersection, false otherwise.
proc unionRect*(a: ptr Rect; b: ptr Rect; result: ptr Rect) {...}{.cdecl, importc: "SDL_UnionRect", dynlib: SDL2_LIB.}
- Calculate the union of two rectangles.
proc enclosePoints*(points: ptr Point; count: cint; clip: ptr Rect; result: ptr Rect): bool {...}{.cdecl, importc: "SDL_EnclosePoints", dynlib: SDL2_LIB.}
-
Calculate a minimal rectangle enclosing a set of points.
Return true if any points were within the clipping rect.
proc intersectRectAndLine*(rect: ptr Rect; x1: ptr cint; y1: ptr cint; x2: ptr cint; y2: ptr cint): bool {...}{.cdecl, importc: "SDL_IntersectRectAndLine", dynlib: SDL2_LIB.}
-
Calculate the intersection of a rectangle and line segment.
Return true if there is an intersection, false otherwise.
Templates
template pointInRect*(p: Point; r: Rect): bool
- Return true if point resides inside a rectangle.
template rectEmpty*(r: Rect): bool
- Return true if the rectangle has no area.
template rectEquals*(a, b: Rect): bool
- Return true if the two rectangles are equal.