class Bitmap
 
        def draw_ring(x,y,diameter,thickness,color)
                outer_radius = diameter / 2
                inner_radius = outer_radius - thickness + 1
                draw_circle_w_thickness(x,y,inner_radius,outer_radius,color)
        end
 
        def xLine(x1,x2,y,color)
                while x1 <= x2 
                        self.set_pixel(x1,y,color)
                        x1 += 1
                end
        end
 
        def yLine(x,y1,y2,color)
                while y1 <= y2 
                        self.set_pixel(x,y1,color)
                        y1 += 1
                end
        end
 
        def draw_circle_w_thickness(xc,yc,inner,outer,color)
 
                xo = outer
                xi = inner
                y = 0
                erro = 1 - xo
                erri = 1 - xi
 
                while(xo >= y) 
                        xLine(xc + xi, xc + xo, yc + y,  color)
                        yLine(xc + y,  yc + xi, yc + xo, color)
                        xLine(xc - xo, xc - xi, yc + y,  color)
                        yLine(xc - y,  yc + xi, yc + xo, color)
                        xLine(xc - xo, xc - xi, yc - y,  color)
                        yLine(xc - y,  yc - xo, yc - xi, color)
                        xLine(xc + xi, xc + xo, yc - y,  color)
                        yLine(xc + y,  yc - xo, yc - xi, color)                
 
                        y += 1
 
                        if erro < 0
                                erro += 2 * y + 1
                        else 
                                xo -= 1
                                erro += 2 * (y - xo + 1)
                        end
 
                        if y > inner 
                                xi = y
                        else 
                                if erri < 0
                                        erri += 2 * y + 1
                                else
                                        xi -= 1
                                        erri += 2 * (y - xi + 1)
                                end
                        end
 
                end                
        end
 
end
class Bitmap
 
        def draw_ring(x,y,diameter,thickness,color)
                outer_radius = diameter / 2
                inner_radius = outer_radius - thickness + 1
                draw_circle_w_thickness(x,y,inner_radius,outer_radius,color)
        end
 
        def xLine(x1,x2,y,color)
                while x1 <= x2 
                        self.set_pixel(x1,y,color)
                        x1 += 1
                end
        end
 
        def yLine(x,y1,y2,color)
                while y1 <= y2 
                        self.set_pixel(x,y1,color)
                        y1 += 1
                end
        end
 
        def draw_circle_w_thickness(xc,yc,inner,outer,color)
 
                xo = outer
                xi = inner
                y = 0
                erro = 1 - xo
                erri = 1 - xi
 
                while(xo >= y) 
                        xLine(xc + xi, xc + xo, yc + y,  color)
                        yLine(xc + y,  yc + xi, yc + xo, color)
                        xLine(xc - xo, xc - xi, yc + y,  color)
                        yLine(xc - y,  yc + xi, yc + xo, color)
                        xLine(xc - xo, xc - xi, yc - y,  color)
                        yLine(xc - y,  yc - xo, yc - xi, color)
                        xLine(xc + xi, xc + xo, yc - y,  color)
                        yLine(xc + y,  yc - xo, yc - xi, color)                
 
                        y += 1
 
                        if erro < 0
                                erro += 2 * y + 1
                        else 
                                xo -= 1
                                erro += 2 * (y - xo + 1)
                        end
 
                        if y > inner 
                                xi = y
                        else 
                                if erri < 0
                                        erri += 2 * y + 1
                                else
                                        xi -= 1
                                        erri += 2 * (y - xi + 1)
                                end
                        end
 
                end                
        end
 
end