   SDL -- antialiased graphics
  lets keep this simple and use a mouse pointer as an example.right now i just have a transparent GIF or a 255,0,255 background JPG surface anchored to my current mouse location.thats pretty simple...but is also jaggedy and poopy lookingi want in include shades of gray on my outtermost lines, but instead of "multiplying" that additonal tone over the pre-existing background image, i just get that color of gray sticking as if it were a dot of white around my jagged black line.now this behavior is to be expected from using the sdl_blitsbut my question is....exactly how would i go about creating a graphicthat would behave like i WANT it to.hope i make sense, and appreciate any help.   
  ...i suppose i could use 24bit PNGs...   ;  If you want to use antialiased graphics you will need to use some form of blending.Old school games/apps used dithering. You can see from the examples in that link that dithering can help out a little depending on how much time you want to put into making the graphics.Most new games use some form of alpha blending (they also refer to alpha compositing) to achieve this effect with somewhat better results. Alpha blending comes in a few different forms in SDL. Per-pixel and per-surface. The SDL documentation explains how it handles the 2 forms if you look at the function SDL_SetAlpha.The third and most popular option is to use a 3D API such as OpenGL or Direct3D to perform per-pixel alpha blending. This is a more suitable solution if you plan on using lot's of alpha blending and or rotation since both OpenGL and Direct3D will use the video hardware to do this.It is my opinion that you can get away with using plain old SDL for alpha blending on modern computers in moderation as long as you keep all of your surfaces in software. As you use more alpha blending you will notice a performance hit. The point you see the performance drop will depend largely on the CPU it is being used on and not on the graphics card.The main point to get accross though is quite like what Rob Loach said in this post about rotation (using SDL_gfx) as they both behave the same in SDL. It all depends on your target audience and what you are willing to deem a necessity or expendable. You can even do both like Rob did[grin].[edit]I just realized you might be using SDL_SetCursor to set your current cursor. Unfortunately I believe this will only allow you to use black and white cursors (but I have been wrong in the past). One way to work around this is to use SDL_ShowCursor to hide the cursor and then blit a custom cursor you made in your favorite paint program of any shape or size. This is especially helpful if you plan on using SDL in full screen as the cursor doesn't always show up in full screen anyway.   ;  awesome reply, thanks alot and rating++as for the cursor, yes, i hid the default, and im just using a surface and setting its destination SDL_Rect to event.motion.x and event.motion.y   