view docs/html/sdlcreateyuvoverlay.html @ 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 355632dca928
children
line wrap: on
line source

<HTML
><HEAD
><TITLE
>SDL_CreateYUVOverlay</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="SDL Library Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE="Video"
HREF="video.html"><LINK
REL="PREVIOUS"
TITLE="SDL_GL_SwapBuffers"
HREF="sdlglswapbuffers.html"><LINK
REL="NEXT"
TITLE="SDL_LockYUVOverlay"
HREF="sdllockyuvoverlay.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFF8DC"
TEXT="#000000"
LINK="#0000ee"
VLINK="#551a8b"
ALINK="#ff0000"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>SDL Library Documentation</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="sdlglswapbuffers.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="sdllockyuvoverlay.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="SDLCREATEYUVOVERLAY"
></A
>SDL_CreateYUVOverlay</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN2808"
></A
><H2
>Name</H2
>SDL_CreateYUVOverlay&nbsp;--&nbsp;Create a YUV video overlay</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN2811"
></A
><H2
>Synopsis</H2
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2812"
></A
><P
></P
><PRE
CLASS="FUNCSYNOPSISINFO"
>#include "SDL.h"</PRE
><P
><CODE
><CODE
CLASS="FUNCDEF"
>SDL_Overlay *<B
CLASS="FSFUNC"
>SDL_CreateYUVOverlay</B
></CODE
>(int width, int height, Uint32 format, SDL_Surface *display);</CODE
></P
><P
></P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2818"
></A
><H2
>Description</H2
><P
><TT
CLASS="FUNCTION"
>SDL_CreateYUVOverlay</TT
> creates a YUV overlay of the specified <TT
CLASS="PARAMETER"
><I
>width</I
></TT
>, <TT
CLASS="PARAMETER"
><I
>height</I
></TT
> and <TT
CLASS="PARAMETER"
><I
>format</I
></TT
> (see <A
HREF="sdloverlay.html"
><SPAN
CLASS="STRUCTNAME"
>SDL_Overlay</SPAN
></A
> for a list of available formats), for the provided <TT
CLASS="PARAMETER"
><I
>display</I
></TT
>. A <A
HREF="sdloverlay.html"
><SPAN
CLASS="STRUCTNAME"
>SDL_Overlay</SPAN
></A
> structure is returned.</P
><P
>The term 'overlay' is a misnomer since, unless the overlay is created in hardware, the contents for the display surface underneath the area where the overlay is shown will be overwritten when the overlay is displayed.</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN2831"
></A
><H2
>See Also</H2
><P
><A
HREF="sdloverlay.html"
><SPAN
CLASS="STRUCTNAME"
>SDL_Overlay</SPAN
></A
>,
<A
HREF="sdldisplayyuvoverlay.html"
><TT
CLASS="FUNCTION"
>SDL_DisplayYUVOverlay</TT
></A
>,
<A
HREF="sdlfreeyuvoverlay.html"
><TT
CLASS="FUNCTION"
>SDL_FreeYUVOverlay</TT
></A
></P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="sdlglswapbuffers.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="sdllockyuvoverlay.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>SDL_GL_SwapBuffers</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="video.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>SDL_LockYUVOverlay</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>