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 AMIGAMOUSE_WIDGET_HXX
19#define AMIGAMOUSE_WIDGET_HXX
20
21class Controller;
22
23#include "PointingDeviceWidget.hxx"
24
25class AmigaMouseWidget : public PointingDeviceWidget
26{
27 public:
28 AmigaMouseWidget(GuiObject* boss, const GUI::Font& font, int x, int y,
29 Controller& controller);
30
31 virtual ~AmigaMouseWidget() = default;
32
33 private:
34 uInt8 myGrayCodeTable[4] = { 0b00, 0b10, 0b11, 0b01 };
35
36 uInt8 getGrayCodeTable(const int index, const int direction) override;
37
38 // Following constructors and assignment operators not supported
39 AmigaMouseWidget() = delete;
40 AmigaMouseWidget(const AmigaMouseWidget&) = delete;
41 AmigaMouseWidget(AmigaMouseWidget&&) = delete;
42 AmigaMouseWidget& operator=(const AmigaMouseWidget&) = delete;
43 AmigaMouseWidget& operator=(AmigaMouseWidget&&) = delete;
44};
45
46#endif
47