1 //------------------------------------------------------------------------------
2 // emCoreConfig.h
3 //
4 // Copyright (C) 2006-2010,2014,2016,2018,2020 Oliver Hamann.
5 //
6 // Homepage: http://eaglemode.sourceforge.net/
7 //
8 // This program is free software: you can redistribute it and/or modify it under
9 // the terms of the GNU General Public License version 3 as published by the
10 // Free Software Foundation.
11 //
12 // This program is distributed in the hope that it will be useful, but WITHOUT
13 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 // FOR A PARTICULAR PURPOSE. See the GNU General Public License version 3 for
15 // more details.
16 //
17 // You should have received a copy of the GNU General Public License version 3
18 // along with this program. If not, see <http://www.gnu.org/licenses/>.
19 //------------------------------------------------------------------------------
20 
21 #ifndef emCoreConfig_h
22 #define emCoreConfig_h
23 
24 #ifndef emConfigModel_h
25 #include <emCore/emConfigModel.h>
26 #endif
27 
28 
29 //==============================================================================
30 //================================ emCoreConfig ================================
31 //==============================================================================
32 
33 class emCoreConfig : public emConfigModel, public emStructRec {
34 
35 public:
36 
37 	static emRef<emCoreConfig> Acquire(emRootContext & rootContext);
38 
39 	emBoolRec StickMouseWhenNavigating;
40 	emBoolRec EmulateMiddleButton;
41 	emBoolRec PanFunction;
42 	emDoubleRec MouseZoomSpeed;
43 	emDoubleRec MouseScrollSpeed;
44 	emDoubleRec MouseWheelZoomSpeed;
45 	emDoubleRec MouseWheelZoomAcceleration;
46 	emDoubleRec KeyboardZoomSpeed;
47 	emDoubleRec KeyboardScrollSpeed;
48 	emDoubleRec KineticZoomingAndScrolling;
49 	emDoubleRec MagnetismRadius;
50 	emDoubleRec MagnetismSpeed;
51 	emDoubleRec VisitSpeed;
52 	emIntRec MaxMegabytesPerView;
53 	emIntRec MaxRenderThreads;
54 	emBoolRec AllowSIMD;
55 	emIntRec DownscaleQuality;
56 	emIntRec UpscaleQuality;
57 
58 	virtual const char * GetFormatName() const;
59 
60 protected:
61 
62 	emCoreConfig(emContext & context, const emString & name);
63 	virtual ~emCoreConfig();
64 
65 private:
66 
67 	void TryLoadOldVersion();
68 };
69 
70 
71 #endif
72