olá
Não entendi muito bem o funcionamento dessa função. Ela deve varrer o desenho inteiro? Por exemplo, se há uma região amarela no canto esquerdo superior do desenho, e uma região na mesma cor em outro canto (ou seja, as regiões são da mesma cor, mas não tem nenhum pixel vizinho entre si), ela deve colocar essa segunda região na mesma lista em que está a primeira? Ou deve parar de fazer chamadas quando atinge um pixel de cor diferente do utilizado para a chamada original?