Pixel.cpp 720 B

123456789101112131415161718192021222324252627282930313233343536
  1. #include "Pixel.h"
  2. #define PIXEL WalrusRPG::Graphics::Pixel
  3. PIXEL::Pixel(std::uint16_t color) : value(color)
  4. {
  5. }
  6. PIXEL::Pixel(Pixel &pix) : value(pix.value)
  7. {
  8. }
  9. PIXEL::Pixel(std::uint8_t red, std::uint8_t green, std::uint8_t blue)
  10. : b(blue >> 3), g(green >> 2), r(red >> 3)
  11. {
  12. }
  13. PIXEL::operator std::uint16_t() const
  14. {
  15. return value;
  16. }
  17. PIXEL &PIXEL::operator=(unsigned value)
  18. {
  19. this->value = value;
  20. return *this;
  21. }
  22. #define CONST_COLOR(color, r, g, b) \
  23. const WalrusRPG::Graphics::Pixel WalrusRPG::Graphics::color(r, g, b)
  24. CONST_COLOR(Black, 0, 0, 0);
  25. CONST_COLOR(White, 255, 255, 255);
  26. CONST_COLOR(Red, 255, 0, 0);
  27. CONST_COLOR(Green, 0, 255, 0);
  28. CONST_COLOR(Blue, 0, 0, 255);
  29. #undef CONST_COLOR