Added clipping for render copy
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403370
This commit is contained in:
parent
01a9edc33a
commit
c2755172c2
1 changed files with 17 additions and 12 deletions
|
@ -2155,6 +2155,7 @@ SDL_RenderFill(const SDL_Rect * rect)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
window = SDL_GetWindowFromID(renderer->window);
|
window = SDL_GetWindowFromID(renderer->window);
|
||||||
|
|
||||||
real_rect.x = 0;
|
real_rect.x = 0;
|
||||||
real_rect.y = 0;
|
real_rect.y = 0;
|
||||||
real_rect.w = window->w;
|
real_rect.w = window->w;
|
||||||
|
@ -2189,21 +2190,25 @@ SDL_RenderCopy(SDL_TextureID textureID, const SDL_Rect * srcrect,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
window = SDL_GetWindowFromID(renderer->window);
|
window = SDL_GetWindowFromID(renderer->window);
|
||||||
if (srcrect) {
|
|
||||||
real_srcrect = *srcrect;
|
|
||||||
} else {
|
|
||||||
real_srcrect.x = 0;
|
real_srcrect.x = 0;
|
||||||
real_srcrect.y = 0;
|
real_srcrect.y = 0;
|
||||||
real_srcrect.w = texture->w;
|
real_srcrect.w = texture->w;
|
||||||
real_srcrect.h = texture->h;
|
real_srcrect.h = texture->h;
|
||||||
|
if (srcrect) {
|
||||||
|
if (!SDL_IntersectRect(srcrect, &real_srcrect, &real_srcrect)) {
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
if (dstrect) {
|
}
|
||||||
real_dstrect = *dstrect;
|
|
||||||
} else {
|
|
||||||
real_dstrect.x = 0;
|
real_dstrect.x = 0;
|
||||||
real_dstrect.y = 0;
|
real_dstrect.y = 0;
|
||||||
real_dstrect.w = window->w;
|
real_dstrect.w = window->w;
|
||||||
real_dstrect.h = window->h;
|
real_dstrect.h = window->h;
|
||||||
|
if (dstrect) {
|
||||||
|
if (!SDL_IntersectRect(dstrect, &real_dstrect, &real_dstrect)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return renderer->RenderCopy(renderer, texture, &real_srcrect,
|
return renderer->RenderCopy(renderer, texture, &real_srcrect,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue