sdlxRenderTextureAffine function render
- Pointer<
SdlRenderer> renderer, - Pointer<
SdlTexture> texture, { - SdlxFRect? srcrect,
- SdlxFPoint? origin,
- SdlxFPoint? right,
- SdlxFPoint? down,
Copy a portion of the source texture to the current rendering target, with affine transform, at subpixel precision.
\param renderer the renderer which should copy parts of a texture. \param texture the source texture. \param srcrect a pointer to the source rectangle, or NULL for the entire texture. \param origin a pointer to a point indicating where the top-left corner of srcrect should be mapped to, or NULL for the rendering target's origin. \param right a pointer to a point indicating where the top-right corner of srcrect should be mapped to, or NULL for the rendering target's top-right corner. \param down a pointer to a point indicating where the bottom-left corner of srcrect should be mapped to, or NULL for the rendering target's bottom-left corner. \returns true on success or false on failure; call SDL_GetError() for more information.
\threadsafety You may only call this function from the main thread.
\since This function is available since SDL 3.2.0.
\sa SDL_RenderTexture
extern SDL_DECLSPEC bool SDLCALL SDL_RenderTextureAffine(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_FRect *srcrect, const SDL_FPoint *origin, const SDL_FPoint *right, const SDL_FPoint *down)
See also:
Implementation
bool sdlxRenderTextureAffine(
Pointer<SdlRenderer> renderer,
Pointer<SdlTexture> texture, {
SdlxFRect? srcrect,
SdlxFPoint? origin,
SdlxFPoint? right,
SdlxFPoint? down,
}) {
Pointer<SdlFRect> srcrectPointer = nullptr;
Pointer<SdlFPoint> originPointer = nullptr;
Pointer<SdlFPoint> rightPointer = nullptr;
Pointer<SdlFPoint> downPointer = nullptr;
if (srcrect != null) {
srcrectPointer = srcrect.calloc();
}
if (origin != null) {
originPointer = origin.calloc();
}
if (right != null) {
rightPointer = right.calloc();
}
if (down != null) {
downPointer = down.calloc();
}
final result = sdlRenderTextureAffine(
renderer,
texture,
srcrectPointer,
originPointer,
rightPointer,
downPointer,
);
if (srcrectPointer != nullptr) {
srcrectPointer.callocFree();
}
if (originPointer != nullptr) {
originPointer.callocFree();
}
if (rightPointer != nullptr) {
rightPointer.callocFree();
}
if (downPointer != nullptr) {
downPointer.callocFree();
}
return result;
}