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 NULLCONTROL_WIDGET_HXX |
19 | #define NULLCONTROL_WIDGET_HXX |
20 | |
21 | class GuiObject; |
22 | |
23 | #include "ControllerWidget.hxx" |
24 | |
25 | class NullControlWidget : public ControllerWidget |
26 | { |
27 | public: |
28 | NullControlWidget(GuiObject* boss, const GUI::Font& font, int x, int y, |
29 | Controller& controller) |
30 | : ControllerWidget(boss, font, x, y, controller) |
31 | { |
32 | ostringstream buf; |
33 | buf << getHeader(); |
34 | const int fontHeight = font.getFontHeight(), |
35 | lineHeight = font.getLineHeight(), |
36 | lwidth = std::max(font.getStringWidth(buf.str()), |
37 | font.getStringWidth("Controller input" )); |
38 | new StaticTextWidget(boss, font, x, y+2, lwidth, |
39 | fontHeight, buf.str(), TextAlign::Left); |
40 | new StaticTextWidget(boss, font, x, y+2+2*lineHeight, lwidth, |
41 | fontHeight, "Controller input" , TextAlign::Center); |
42 | new StaticTextWidget(boss, font, x, y+2+3*lineHeight, lwidth, |
43 | fontHeight, "not available" , |
44 | TextAlign::Center); |
45 | } |
46 | |
47 | virtual ~NullControlWidget() = default; |
48 | |
49 | private: |
50 | // Following constructors and assignment operators not supported |
51 | NullControlWidget() = delete; |
52 | NullControlWidget(const NullControlWidget&) = delete; |
53 | NullControlWidget(NullControlWidget&&) = delete; |
54 | NullControlWidget& operator=(const NullControlWidget&) = delete; |
55 | NullControlWidget& operator=(NullControlWidget&&) = delete; |
56 | }; |
57 | |
58 | #endif |
59 | |