16 void save(ImGuiTextBuffer& buf)
override;
22 void paintScreenshot();
25 [[nodiscard]]
bool screenshotNameExists()
const;
26 void generateScreenshotName();
27 void nextScreenshotName();
29 [[nodiscard]] std::string getRecordFilename()
const;
32 bool showScreenshot =
false;
33 bool showRecord =
false;
35 std::string screenshotName;
36 enum class SsType :
int { RENDERED, MSX, NUM };
37 int screenshotType =
static_cast<int>(SsType::RENDERED);
38 enum class SsSize :
int { S_320, S_640, NUM };
39 int screenshotSize =
static_cast<int>(SsSize::S_320);
40 bool screenshotWithOsd =
false;
41 bool screenshotHideSprites =
false;
43 std::string recordName;
44 enum class Source :
int { AUDIO, VIDEO, BOTH,
NUM };
45 int recordSource =
static_cast<int>(Source::BOTH);
46 enum class Audio :
int { MONO, STEREO, AUTO,
NUM };
47 int recordAudio =
static_cast<int>(Audio::AUTO);
48 enum class VideoSize :
int { V_320, V_640, V_960,
NUM };
49 int recordVideoSize =
static_cast<int>(VideoSize::V_320);
52 std::string confirmText;
53 bool openConfirmPopup =
false;
55 static constexpr auto persistentElements = std::tuple{
58 PersistentElementMax{
"screenshotType", &ImGuiTools::screenshotType,
static_cast<int>(SsType::NUM)},
59 PersistentElementMax{
"screenshotSize", &ImGuiTools::screenshotSize,
static_cast<int>(SsSize::NUM)},
61 PersistentElementMax{
"recordSource", &ImGuiTools::recordSource,
static_cast<int>(Source::NUM)},
62 PersistentElementMax{
"recordAudio", &ImGuiTools::recordAudio,
static_cast<int>(Audio::NUM)},
63 PersistentElementMax{
"recordVideoSize", &ImGuiTools::recordVideoSize,
static_cast<int>(VideoSize::NUM)}