Utils.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #ifndef UTILS_H
  2. #define UTILS_H
  3. float interpolate(float lag, float from, float to);
  4. typedef unsigned int IntColor;
  5. namespace Color
  6. {
  7. constexpr IntColor getColor(unsigned int r, unsigned int g, unsigned int b)
  8. {
  9. return ((r & 0xFF) << 0) | ((g & 0xFF) << 8) | ((b & 0xFF) << 16) | 0xFF000000;
  10. }
  11. constexpr IntColor getDarkerColor(unsigned int r, unsigned int g, unsigned int b)
  12. {
  13. r *= 0.5;
  14. g *= 0.5;
  15. b *= 0.5;
  16. return ((r & 0xFF) << 0) | ((g & 0xFF) << 8) | ((b & 0xFF) << 16) | 0xFF000000;
  17. }
  18. constexpr int COLOR_AMOUNT = 16;
  19. constexpr IntColor COLORS[COLOR_AMOUNT]
  20. {
  21. getColor(0, 0, 0),
  22. getColor(0, 0, 170),
  23. getColor(0, 170, 0),
  24. getColor(0, 170, 170),
  25. getColor(170, 0, 0),
  26. getColor(170, 0, 170),
  27. getColor(255, 170, 0),
  28. getColor(170, 170, 170),
  29. getColor(85, 85, 85),
  30. getColor(85, 85, 255),
  31. getColor(85, 255, 85),
  32. getColor(85, 255, 255),
  33. getColor(255, 85, 85),
  34. getColor(255, 85, 255),
  35. getColor(255, 255, 85),
  36. getColor(255, 255, 255)
  37. };
  38. constexpr IntColor DARK_COLORS[COLOR_AMOUNT]
  39. {
  40. getDarkerColor(0, 0, 0),
  41. getDarkerColor(0, 0, 170),
  42. getDarkerColor(0, 170, 0),
  43. getDarkerColor(0, 170, 170),
  44. getDarkerColor(170, 0, 0),
  45. getDarkerColor(170, 0, 170),
  46. getDarkerColor(255, 170, 0),
  47. getDarkerColor(170, 170, 170),
  48. getDarkerColor(85, 85, 85),
  49. getDarkerColor(85, 85, 255),
  50. getDarkerColor(85, 255, 85),
  51. getDarkerColor(85, 255, 255),
  52. getDarkerColor(255, 85, 85),
  53. getDarkerColor(255, 85, 255),
  54. getDarkerColor(255, 255, 85),
  55. getDarkerColor(255, 255, 255)
  56. };
  57. }
  58. #endif