16 void save(ImGuiTextBuffer& buf)
override;
29 void paintScreenshot();
33 [[nodiscard]]
bool screenshotNameExists()
const;
34 void generateScreenshotName();
35 void nextScreenshotName();
37 [[nodiscard]] std::string getRecordFilename()
const;
40 bool showScreenshot =
false;
41 bool showRecord =
false;
43 std::string screenshotName;
44 enum class SsType :
int { RENDERED, MSX, NUM };
45 int screenshotType =
static_cast<int>(SsType::RENDERED);
46 enum class SsSize :
int { S_320, S_640,
NUM };
47 int screenshotSize =
static_cast<int>(SsSize::S_320);
48 bool screenshotWithOsd =
false;
49 bool screenshotHideSprites =
false;
51 std::string recordName;
52 enum class Source :
int { AUDIO, VIDEO, BOTH,
NUM };
53 int recordSource =
static_cast<int>(Source::BOTH);
54 enum class Audio :
int { MONO, STEREO, AUTO,
NUM };
55 int recordAudio =
static_cast<int>(Audio::AUTO);
56 enum class VideoSize :
int { V_320, V_640, V_960,
NUM };
57 int recordVideoSize =
static_cast<int>(VideoSize::V_320);
60 std::string confirmText;
61 bool openConfirmPopup =
false;
63 std::vector<Note> notes;
65 static constexpr auto persistentElements = std::tuple{
68 PersistentElementMax{
"screenshotType", &ImGuiTools::screenshotType,
static_cast<int>(SsType::NUM)},
69 PersistentElementMax{
"screenshotSize", &ImGuiTools::screenshotSize,
static_cast<int>(SsSize::NUM)},
71 PersistentElementMax{
"recordSource", &ImGuiTools::recordSource,
static_cast<int>(Source::NUM)},
72 PersistentElementMax{
"recordAudio", &ImGuiTools::recordAudio,
static_cast<int>(Audio::NUM)},
73 PersistentElementMax{
"recordVideoSize", &ImGuiTools::recordVideoSize,
static_cast<int>(VideoSize::NUM)}