Fission FSN
Loading...
Searching...
No Matches
fsIHardware.h
Go to the documentation of this file.
1/********************************************************************
2*
3* Created: 31/3/2014 11:03
4*
5* File: fsIHardware.h
6*
7* Author: Mick Waites
8*
9* Purpose: Hardware / platform related api
10*
11*********************************************************************/
12
13#ifndef fsIHardwarehdr
14#define fsIHardwarehdr
15
16#include <memory>
17
18#include <fsCore/fsStr.h>
19#include <fsCore/fsPoint.h>
20
21struct fsDisplayInfo;
22class fsCResourceName;
23
25{
26public:
27
35
36#if defined fsDesktop
37 virtual void hardwareCursorInit() = 0;
38 virtual void hardwareCursorUninit() = 0;
39 virtual void hardwareCursorChange(const fsStr& pID) = 0;
40 virtual void appMinimize() = 0;
41 virtual void appMaximize() = 0;
42 virtual void windowedDisplayModeSet(fsS32 pWidth, fsS32 pHeight, fsS32 pRefresh, fsBool pFullScreen) {};
43 virtual void windowedDisplayModesEnumerate(fsDisplayInfo*& pAvailableModeList, fsS32& pNumModesInList) = 0;
44
45 virtual void appHideEnable() {}
46#endif
47
48 virtual void cursorPosSet(const fsVec2d& pPos) {};
49
50 virtual void hardwareCursorEnabledSet(fsBool pEnabled) const = 0;
51
52 virtual void hardwareCursorSet(const fsCResourceName& pFilename, fsBool pFlipped) {};
53
54 void freeMemoryReset();
56
57 void wallpaperApply(const fsCResourceName& pWallpaper);
58
59 void update(fsS32 pDeltaMs);
60
61
62 virtual void timeScaleSet(fsF32 pScale) = 0;
63
64 virtual void engineCacheFlush() const {};
65
66 virtual fsS32 volumeGet() const { return 0; }
67
68 virtual fsPoint currentDisplayModeResolutionGet() const { return fsPoint(0, 0); }
69
70 virtual fsBool smallDeviceGet() const = 0;
71
72 virtual fsU64 utcTimeGet() const = 0;
73 virtual ePlatform platformGet() const = 0;
74
75 virtual fsStr sdkVersionStringGet() const = 0;
76
77 virtual fsStr appDataFolderGet() const = 0;
78 virtual fsBool multipleAppInstances() const = 0;
79 virtual fsBool processRunning(const fsStr& pProcessName) const = 0;
80
81 virtual void browserLaunch(const fsStr& pUrl) const = 0;
82 virtual fsBool windowedModePossibleGet() const = 0;
83
84 static std::unique_ptr<fsIHardware> create();
85
86 virtual ~fsIHardware();
87
88protected:
89
90 virtual fsU32 freeMemoryResetDo() { return 0; }
91 virtual fsU32 freeMemoryPercentageGetDo() const { return 0; }
92
93#if defined fsDesktop
94 virtual void wallpaperApplyDo(const fsCResourceName& pWallpaper) = 0;
95#endif
96
97 virtual void rndSeedDo() const = 0;
98
99 virtual void updateDo(fsS32 pDeltaMs) {}
100
101 fsIHardware();
102
103private:
104
105 void rndSeed() const;
106
107 fsU32 mLowestFreeMemory;
108};
109
110#endif
Definition fsCResourceName.h:32
virtual void hardwareCursorEnabledSet(fsBool pEnabled) const =0
virtual ~fsIHardware()
Definition fsIHardware.cpp:75
fsIHardware()
Definition fsIHardware.cpp:71
void freeMemoryReset()
Definition fsIHardware.cpp:24
virtual void updateDo(fsS32 pDeltaMs)
Definition fsIHardware.h:99
virtual fsS32 volumeGet() const
Definition fsIHardware.h:66
virtual fsStr sdkVersionStringGet() const =0
virtual void timeScaleSet(fsF32 pScale)=0
virtual fsBool smallDeviceGet() const =0
virtual fsBool multipleAppInstances() const =0
virtual void engineCacheFlush() const
Definition fsIHardware.h:64
virtual fsBool windowedModePossibleGet() const =0
ePlatform
Definition fsIHardware.h:29
@ eOSX
Definition fsIHardware.h:31
@ eMOBILE
Definition fsIHardware.h:32
@ eWINDOWS
Definition fsIHardware.h:30
@ eWINUWP
Definition fsIHardware.h:33
void update(fsS32 pDeltaMs)
Definition fsIHardware.cpp:45
virtual fsBool processRunning(const fsStr &pProcessName) const =0
virtual fsStr appDataFolderGet() const =0
fsU32 freeMemoryPercentageGet()
Definition fsIHardware.cpp:29
virtual void rndSeedDo() const =0
virtual void hardwareCursorSet(const fsCResourceName &pFilename, fsBool pFlipped)
Definition fsIHardware.h:52
virtual fsU32 freeMemoryResetDo()
Definition fsIHardware.h:90
virtual void browserLaunch(const fsStr &pUrl) const =0
static std::unique_ptr< fsIHardware > create()
Definition fsIHardware.cpp:50
virtual ePlatform platformGet() const =0
void wallpaperApply(const fsCResourceName &pWallpaper)
Definition fsIHardware.cpp:38
virtual fsU64 utcTimeGet() const =0
virtual fsPoint currentDisplayModeResolutionGet() const
Definition fsIHardware.h:68
virtual void cursorPosSet(const fsVec2d &pPos)
Definition fsIHardware.h:48
virtual fsU32 freeMemoryPercentageGetDo() const
Definition fsIHardware.h:91
Definition fsStr.h:23
unsigned int fsU32
Definition fsBaseTypes.h:21
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
float fsF32
Definition fsBaseTypes.h:28
unsigned long long fsU64
Definition fsBaseTypes.h:24
Definition fsPoint.h:17
Definition fsVec2d.h:16