You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.2 KiB

5 years ago
  1. #include "Raster.h"
  2. namespace CELL
  3. {
  4. Raster::Raster( int w,int h,void* buffer )
  5. {
  6. _width = w;
  7. _height = h;
  8. _buffer = (Rgba*)buffer;
  9. }
  10. Raster::~Raster( void )
  11. {
  12. }
  13. void Raster::clear()
  14. {
  15. memset(_buffer,0,_width * _height * sizeof(Rgba));
  16. }
  17. void Raster::drawPoint( int x,int y, Rgba color,int ptSize )
  18. {
  19. switch(ptSize)
  20. {
  21. case 1:
  22. setPixel(x,y,color);
  23. break;
  24. case 2:
  25. setPixel(x + 0, y + 0,color);
  26. setPixel(x + 1, y + 0,color);
  27. setPixel(x + 0, y + 1,color);
  28. setPixel(x + 1, y + 1,color);
  29. break;
  30. case 3:
  31. setPixel(x - 1, y - 1,color);
  32. setPixel(x + 0, y - 1,color);
  33. setPixel(x + 1, y - 1,color);
  34. setPixel(x - 1, y + 0,color);
  35. setPixel(x + 0, y + 0,color);
  36. setPixel(x + 1, y + 0,color);
  37. setPixel(x - 1, y + 1,color);
  38. setPixel(x + 0, y + 1,color);
  39. setPixel(x + 1, y + 1,color);
  40. break;
  41. }
  42. }
  43. }