#pragma once

#include <daguerre/image.hpp>
#include <list>

namespace pake {

  struct region {
    int start_x;
    int start_y;
    int width;
    int height;
  };

  struct dirtiable_image {

    daguerre::image<daguerre::hilbert_color> image;
    daguerre::image<bool> dirty;

    std::vector<region> get_dirty_regions();
    void clear_dirty();

    dirtiable_image(int width, int height);

  };

}
