#pragma once

#include <pake/dirtiable-image.hpp>

namespace pake {

  enum class halign {
    left, center, right
  };

  enum class valign {
    top, center, bottom
  };

  class widget {

  public:
    virtual ~widget() {}

    virtual void render(
      dirtiable_image &onto, int x_off, int y_off, bool force) = 0;

    virtual void notify_size(int width, int height) = 0;

  };

}
