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
21class GuiObject;
22
23#include "ControllerWidget.hxx"
24
25class 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