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 BOOSTER_WIDGET_HXX
19#define BOOSTER_WIDGET_HXX
20
21#include "Control.hxx"
22#include "ControllerWidget.hxx"
23
24class BoosterWidget : public ControllerWidget
25{
26 public:
27 BoosterWidget(GuiObject* boss, const GUI::Font& font, int x, int y,
28 Controller& controller);
29 virtual ~BoosterWidget() = default;
30
31 private:
32 enum { kJUp = 0, kJDown, kJLeft, kJRight, kJFire, kJBooster, kJTrigger };
33
34 CheckboxWidget* myPins[7];
35 static Controller::DigitalPin ourPinNo[5];
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 BoosterWidget() = delete;
43 BoosterWidget(const BoosterWidget&) = delete;
44 BoosterWidget(BoosterWidget&&) = delete;
45 BoosterWidget& operator=(const BoosterWidget&) = delete;
46 BoosterWidget& operator=(BoosterWidget&&) = delete;
47};
48
49#endif
50