1//============================================================================
2//
3// SSSS tt lll lll
4// SS SS tt ll ll
5// SS tttttt eeee ll ll aaaa
6// SSSS tt ee ee ll ll aa
7// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
8// SS SS tt ee ll ll aa aa
9// SSSS ttt eeeee llll llll aaaaa
10//
11// Copyright (c) 1995-2019 by Bradford W. Mott, Stephen Anthony
12// and the Stella Team
13//
14// See the file "License.txt" for information on usage and redistribution of
15// this file, and for a DISCLAIMER OF ALL WARRANTIES.
16//============================================================================
17
18#ifndef ABOUT_DIALOG_HXX
19#define ABOUT_DIALOG_HXX
20
21class OSystem;
22class DialogContainer;
23class CommandSender;
24class ButtonWidget;
25class StaticTextWidget;
26
27#include "Dialog.hxx"
28
29class AboutDialog : public Dialog
30{
31 public:
32 AboutDialog(OSystem& osystem, DialogContainer& parent,
33 const GUI::Font& font);
34 virtual ~AboutDialog() = default;
35
36 private:
37 void handleCommand(CommandSender* sender, int cmd, int data, int id) override;
38 void updateStrings(int page, int lines, string& title);
39 void displayInfo();
40
41 void loadConfig() override { displayInfo(); }
42
43 private:
44 ButtonWidget* myNextButton;
45 ButtonWidget* myPrevButton;
46
47 StaticTextWidget* myTitle;
48 vector<StaticTextWidget*> myDesc;
49 vector<string> myDescStr;
50
51 int myPage;
52 int myNumPages;
53 int myLinesPerPage;
54
55 private:
56 // Following constructors and assignment operators not supported
57 AboutDialog() = delete;
58 AboutDialog(const AboutDialog&) = delete;
59 AboutDialog(AboutDialog&&) = delete;
60 AboutDialog& operator=(const AboutDialog&) = delete;
61 AboutDialog& operator=(AboutDialog&&) = delete;
62};
63
64#endif
65