SDL_gfx - circle rotate

sorry this is a bit of a sunday afternoon question,

in most rotation of images its a square area that gets rotated resulting in
a returned surface bigger than the original to contain the extra space by
the corners of the square

i would like to be able to rotate a circular area of a surface, returning a
rotated circular section of a surface in a masked square surface.

triangles and stuff might be nice as well.

are there any support libraies might be capable of this?

my grip on maths, C and SDL_surface is minimal

Google is your friend.