CharacterBitmap.h 709 B

12345678910111213141516171819202122232425
  1. #pragma once
  2. #include "Size.h"
  3. #include <AK/Retainable.h>
  4. #include <AK/RetainPtr.h>
  5. class CharacterBitmap : public Retainable<CharacterBitmap> {
  6. public:
  7. static Retained<CharacterBitmap> create_from_ascii(const char* asciiData, unsigned width, unsigned height);
  8. ~CharacterBitmap();
  9. bool bit_at(unsigned x, unsigned y) const { return m_bits[y * width() + x] == '#'; }
  10. const char* bits() const { return m_bits; }
  11. Size size() const { return m_size; }
  12. unsigned width() const { return m_size.width(); }
  13. unsigned height() const { return m_size.height(); }
  14. private:
  15. CharacterBitmap(const char* b, unsigned w, unsigned h);
  16. const char* m_bits { nullptr };
  17. Size m_size;
  18. };