def copyRect(x,y,w,h)
format = self.format
flagbase=SDL::SWSURFACE|SDL::HWSURFACE|SDL::SRCCOLORKEY|SDL::SRCALPHA
alpha_flag = self.flags & (SDL::SRCCOLORKEY|SDL::RLEACCEL)
self.setAlpha(0,format.alpha)
begin
new_surface=Surface.new(flagbase&self.flags,w,h,self)
ensure
self.setAlpha(alpha_flag,format.alpha)
end
SDL.blitSurface(self,x,y,w,h,new_surface,0,0)
new_surface.setColorKey(self.flags & (SDL::SRCCOLORKEY|SDL::RLEACCEL),
format.colorkey )
new_surface.setAlpha(self.flags & (SDL::SRCALPHA|SDL::RLEACCEL),
format.alpha )
return new_surface
end