sdlGetRectAndLineIntersectionFloat function
Calculate the intersection of a rectangle and line segment with float precision.
This function is used to clip a line segment to a rectangle. A line segment
contained entirely within the rectangle or that does not intersect will
remain unchanged. A line segment that crosses the rectangle at either or
both ends will be clipped to the boundary of the rectangle and the new
coordinates saved in X1
, Y1
, X2
, and/or Y2
as necessary.
\param rect an SDL_FRect structure representing the rectangle to intersect. \param X1 a pointer to the starting X-coordinate of the line. \param Y1 a pointer to the starting Y-coordinate of the line. \param X2 a pointer to the ending X-coordinate of the line. \param Y2 a pointer to the ending Y-coordinate of the line. \returns true if there is an intersection, false otherwise.
\since This function is available since SDL 3.1.3.
extern SDL_DECLSPEC bool SDLCALL SDL_GetRectAndLineIntersectionFloat(const SDL_FRect *rect, float *X1, float *Y1, float *X2, float *Y2)
Implementation
bool sdlGetRectAndLineIntersectionFloat(
Pointer<SdlFRect> rect,
Pointer<Float> x1,
Pointer<Float> y1,
Pointer<Float> x2,
Pointer<Float> y2) {
final sdlGetRectAndLineIntersectionFloatLookupFunction =
libSdl3.lookupFunction<
Uint8 Function(Pointer<SdlFRect> rect, Pointer<Float> x1,
Pointer<Float> y1, Pointer<Float> x2, Pointer<Float> y2),
int Function(
Pointer<SdlFRect> rect,
Pointer<Float> x1,
Pointer<Float> y1,
Pointer<Float> x2,
Pointer<Float> y2)>('SDL_GetRectAndLineIntersectionFloat');
return sdlGetRectAndLineIntersectionFloatLookupFunction(
rect, x1, y1, x2, y2) ==
1;
}