    # File lib/rubygame/ttf.rb, line 222
      def _render( text, smooth, color, back, shaded, blended, solid ) # :nodoc;

        color = SDL::Color.new( Rubygame::Color.make_sdl_rgba(color) )

        if back
          back = SDL::Color.new( Rubygame::Color.make_sdl_rgba(back) )
        end

        surf =
          if smooth
            if back
              shaded.call( @struct, text, color, back )
            else
              blended.call( @struct, text, color )
            end
          else
            if back
              s = solid.call( @struct, text, color )
              SDL::SetColors( s, back.pointer, 0, 1 )
              SDL::SetColorKey( s, 0, 0 );
              s
            else
              solid.call( @struct, text, color )
            end
          end

        if surf.pointer.null?
          raise Rubygame::SDLError, "Could not render text: #{SDL.GetError()}"
        end

        return Rubygame::Surface.new( surf )

      end