
from rectangles import Rectangle

class Dibuix:

    def __init__(self, autor):
        self.autor = autor
        self.rects = []

    def afegir(self, r, final=True):
        if final:
            self.rects.append(r)
        else:
            self.rects.insert(0, r)

    def __getitem__(self, i):
        return self.rects[i]

    def __len__(self):
        return len(self.rects)

    def límits(self):
        if len(self) == 0:
             return Rectangle(0, 0, 0, 0, 'negre')
        else:
            xmin = self.rects[0].vmin[0]
            xmax = self.rects[0].vmax[0]
            ymin = self.rects[0].vmin[1]
            ymax = self.rects[0].vmax[1]
            for r in self:
                xmin = min(xmin, r.vmin[0])
                xmax = max(xmax, r.vmax[0])
                ymin = min(ymin, r.vmin[1])
                ymax = max(ymax, r.vmax[1])
            return Rectangle(xmin, ymin, xmax, ymax, 'blanc') 

    def color(self, x, y):
        for r in reversed(self):
            if (x,y) in r:
                return r.color
        return 'blanc'

    
