view docs/man3/SDL_SetGamma.3 @ 3333:b334b4f7dfa0

[SDL] Bad math in SDL_RenderCopy Mason Wheeler to sdl When I tried to render an image using something other than NULL for srcrect, it got horribly distorted. I traced it down to the fact that the math in the rectangle adjustments performed just before the call to renderer->RenderCopy is written inside out. It should look like this: if (dstrect->w != real_dstrect.w) { int deltax = (dstrect->x - real_dstrect.x); int deltaw = (dstrect->w - real_dstrect.w); real_srcrect.x += (deltax * real_srcrect.w) / dstrect->w; real_srcrect.w += (deltaw * real_srcrect.w) / dstrect->w; } if (dstrect->h != real_dstrect.h) { int deltay = (dstrect->y - real_dstrect.y); int deltah = (dstrect->h - real_dstrect.h); real_srcrect.y += (deltay * real_srcrect.h) / dstrect->h; real_srcrect.h += (deltah * real_srcrect.h) / dstrect->h;
author Sam Lantinga <slouken@libsdl.org>
date Sat, 03 Oct 2009 16:23:16 +0000
parents 546f7c1eb755
children 1238da4a7112
line wrap: on
line source

.TH "SDL_SetGamma" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference" 
.SH "NAME"
SDL_SetGamma \- Sets the color gamma function for the display
.SH "SYNOPSIS"
.PP
\fB#include "SDL\&.h"
.sp
\fBint \fBSDL_SetGamma\fP\fR(\fBfloat redgamma, float greengamma, float bluegamma\fR);
.SH "DESCRIPTION"
.PP
Sets the "gamma function" for the display of each color component\&. Gamma controls the brightness/contrast of colors displayed on the screen\&. A gamma value of 1\&.0 is identity (i\&.e\&., no adjustment is made)\&.
.PP
This function adjusts the gamma based on the "gamma function" parameter, you can directly specify lookup tables for gamma adjustment with \fISDL_SetGammaRamp\fR\&.
.PP
Not all display hardware is able to change gamma\&.
.SH "RETURN VALUE"
.PP
Returns -1 on error (or if gamma adjustment is not supported)\&.
.SH "SEE ALSO"
.PP
\fISDL_GetGammaRamp\fR \fISDL_SetGammaRamp\fR
...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01