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 KEYBOARD_WIDGET_HXX
19#define KEYBOARD_WIDGET_HXX
20
21#include "Event.hxx"
22#include "ControllerWidget.hxx"
23
24class KeyboardWidget : public ControllerWidget
25{
26 public:
27 KeyboardWidget(GuiObject* boss, const GUI::Font& font, int x, int y,
28 Controller& controller);
29 virtual ~KeyboardWidget() = default;
30
31 private:
32 CheckboxWidget* myBox[12];
33 Event::Type* myEvent;
34
35 static Event::Type ourLeftEvents[12], ourRightEvents[12];
36
37 private:
38 void loadConfig() override;
39 void handleCommand(CommandSender* sender, int cmd, int data, int id) override;
40
41 // Following constructors and assignment operators not supported
42 KeyboardWidget() = delete;
43 KeyboardWidget(const KeyboardWidget&) = delete;
44 KeyboardWidget(KeyboardWidget&&) = delete;
45 KeyboardWidget& operator=(const KeyboardWidget&) = delete;
46 KeyboardWidget& operator=(KeyboardWidget&&) = delete;
47};
48
49#endif
50