menus.hpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. struct ActionMenu : Menu {
  2. ActionMenu(MenuBar*);
  3. MenuItem create{this};
  4. MenuItem launch{this};
  5. MenuItem rename{this};
  6. MenuItem remove{this};
  7. MenuSeparator quitSeparator{this};
  8. MenuItem quit{this};
  9. };
  10. struct SystemMenu : Menu {
  11. SystemMenu(MenuBar*);
  12. MenuCheckItem power{this};
  13. MenuSeparator unloadSeparator{this};
  14. MenuItem unload{this};
  15. };
  16. struct SettingsMenu : Menu {
  17. auto updateShaders() -> void;
  18. SettingsMenu(MenuBar*);
  19. Menu outputMenu{this};
  20. MenuRadioItem outputCenter{&outputMenu};
  21. MenuRadioItem outputScale{&outputMenu};
  22. MenuRadioItem outputStretch{&outputMenu};
  23. Group videoOutputGroup{&outputCenter, &outputScale, &outputStretch};
  24. MenuSeparator outputSeparator{&outputMenu};
  25. MenuCheckItem aspectCorrection{&outputMenu};
  26. Menu scaleMenu{this};
  27. MenuItem scale2x{&scaleMenu};
  28. MenuItem scale3x{&scaleMenu};
  29. MenuItem scale4x{&scaleMenu};
  30. Menu shaderMenu{this};
  31. MenuSeparator separator{this};
  32. MenuCheckItem muteAudio{this};
  33. MenuCheckItem showStatusBar{this};
  34. MenuCheckItem showSystemPanels{this};
  35. };
  36. struct ToolsMenu : Menu {
  37. ToolsMenu(MenuBar*);
  38. Menu saveStateMenu{this};
  39. MenuItem saveState1{&saveStateMenu};
  40. MenuItem saveState2{&saveStateMenu};
  41. MenuItem saveState3{&saveStateMenu};
  42. MenuItem saveState4{&saveStateMenu};
  43. MenuItem saveState5{&saveStateMenu};
  44. Menu loadStateMenu{this};
  45. MenuItem loadState1{&loadStateMenu};
  46. MenuItem loadState2{&loadStateMenu};
  47. MenuItem loadState3{&loadStateMenu};
  48. MenuItem loadState4{&loadStateMenu};
  49. MenuItem loadState5{&loadStateMenu};
  50. MenuSeparator stateSeparator{this};
  51. MenuItem captureScreenshot{this};
  52. MenuCheckItem pauseEmulation{this};
  53. };
  54. struct HelpMenu : Menu {
  55. HelpMenu(MenuBar*);
  56. MenuItem about{this};
  57. };