1 // Copyright 2005-2019 The Mumble Developers. All rights reserved.
2 // Use of this source code is governed by a BSD-style license
3 // that can be found in the LICENSE file at the root of the
4 // Mumble source tree or at <https://www.mumble.info/LICENSE>.
5 
6 #ifndef MUMBLE_MUMBLE_G15LCDENGINE_LGLCD_H_
7 #define MUMBLE_MUMBLE_G15LCDENGINE_LGLCD_H_
8 
9 #include "mumble_pch.hpp"
10 #include "LCD.h"
11 #include "../../g15helper/g15helper.h"
12 
13 class G15LCDDeviceLGLCD;
14 
15 class G15LCDEngineLGLCD : public LCDEngine {
16 		friend class G15LCDDeviceLGLCD;
17 	private:
18 		Q_OBJECT
19 		Q_DISABLE_COPY(G15LCDEngineLGLCD)
20 	protected:
21 		lgLcdConnectContextEx llcceConnect;
22 		lgLcdOpenByTypeContext llcContext;
23 	public:
24 		G15LCDEngineLGLCD();
25 		~G15LCDEngineLGLCD();
26 		QList<LCDDevice *> devices() const;
27 };
28 
29 class G15LCDDeviceLGLCD : public LCDDevice {
30 	protected:
31 		G15LCDEngineLGLCD *engine;
32 		bool bEnabled;
33 	public:
34 		G15LCDDeviceLGLCD(G15LCDEngineLGLCD *e);
35 		~G15LCDDeviceLGLCD();
36 		bool enabled();
37 		void setEnabled(bool e);
38 		void blitImage(QImage *img, bool alert);
39 		QString name() const;
40 		QSize size() const;
41 };
42 
43 #else
44 class G15LCDEngineLGLCD;
45 class G15LCDDeviceLGLCD;
46 #endif
47