   SDL_gfx roatation problem
  Alright, I had this problem a while ago, but I just kinda gave up on it before. I've decided to try to fix it again. When I try to rotate an image using SDL_gfx rotozoomer, rather than the image being rotated by the center (which I want it to do) it seem to rotate by the top left corner clockwise until it is unable to rotate any more without passing the top axis or left axis of the images original position. When it gets to that, it scoots the image down/right so it able to continue rotating. Here is the related source code:Image.h:#ifndef IMAGE_H#define IMAGE_H#include "Engine.h"class Image{    public:   Image();   Image(const Image& image);   Image(char* filename);Image(Surface imageSurface);Image::Image(int initializer);   ~Image();   Image operator=(const Image& image);Image operator=(Surface imageSurface);   void Load(char* filename);void Clear();void Render(int x, int y);Image GetRotateClockwise(double degrees);//These are the functionsImage GetRotateCounterClockwise(double degrees);   //These are the functionsint GetWidth() {return surface->w;}   int GetHeight() {return surface->h;}};#endifImage.cpp:Image Image::GetRotateClockwise(double degrees){if(degrees > 0){degrees = -degrees;}Image image;image.surface = rotozoomSurface(surface, degrees, 1, 0);return image;}Image Image::GetRotateCounterClockwise(double degrees){if(degrees < 0){degrees = -degrees;}Image image;image.surface = rotozoomSurface(surface, degrees, 1, 0);return image;}main.cppunsigned int i = 0;Image spiral;void RenderScene(){    background.Render(0, 0);    micro.Render();    if(i == images.size())    {i = 0;    }    images.Render(200,200);    video.FlipScreen();    i++;}int main(int argc, char* args[]){    video.MakeWindow(640, 480, 32,);    images.push_back(spiral);    for(int i = 1; i < 1440; i++)    {images.push_back(images[0].GetRotateClockwise(i));    }    while(running)    {   timer.GetTimeInfo();   InputCheck();   RenderScene();    }    return 0;}Hope you can sort through it and help me solve the problem. Thanks for listening.   
  After sorting through a few pages of results on google, I finally came across a decent solution (on where else but the gamedev forums): Just draw the images by their center. For me, that would be:video.BlitSurface(surface, x - (GetWidth() / 2), y - (GetHeight() / 2));The only problem about this is it is going to take some used to drawing units by their center rather than top-left pixel. Oh well. Thanks once again, GDnet   