SystemTheme.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #pragma once
  2. #include <AK/SharedBuffer.h>
  3. #include <AK/Types.h>
  4. #include <LibDraw/Color.h>
  5. enum class ColorRole {
  6. NoRole,
  7. DesktopBackground,
  8. ActiveWindowBorder1,
  9. ActiveWindowBorder2,
  10. ActiveWindowTitle,
  11. InactiveWindowBorder1,
  12. InactiveWindowBorder2,
  13. InactiveWindowTitle,
  14. MovingWindowBorder1,
  15. MovingWindowBorder2,
  16. MovingWindowTitle,
  17. HighlightWindowBorder1,
  18. HighlightWindowBorder2,
  19. HighlightWindowTitle,
  20. MenuStripe,
  21. MenuBase,
  22. MenuBaseText,
  23. MenuSelection,
  24. MenuSelectionText,
  25. Window,
  26. WindowText,
  27. Button,
  28. ButtonText,
  29. Base,
  30. BaseText,
  31. ThreedHighlight,
  32. ThreedShadow1,
  33. ThreedShadow2,
  34. HoverHighlight,
  35. Selection,
  36. SelectionText,
  37. RubberBandFill,
  38. RubberBandBorder,
  39. Link,
  40. ActiveLink,
  41. VisitedLink,
  42. __Count,
  43. Background = Window,
  44. DisabledText = ThreedShadow1,
  45. };
  46. struct SystemTheme {
  47. Color color[(int)ColorRole::__Count];
  48. };
  49. const SystemTheme& current_system_theme();
  50. int current_system_theme_buffer_id();
  51. void set_system_theme(SharedBuffer&);
  52. RefPtr<SharedBuffer> load_system_theme(const String& path);