Fission FSN
Loading...
Searching...
No Matches
fsCHardware.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsCHardware.h
4*
5* Purpose: bgfx (GLFW-hosted) implementation.
6*
7*********************************************************************/
8
9#ifndef fsCHardwarehdr
10#define fsCHardwarehdr
11
12#include "../../fsIHardware.h"
13
14#if defined fsDesktop
15struct GLFWwindow;
16struct GLFWcursor;
17struct GLFWvidmode;
18#endif
19
20class fsCHardware : public fsIHardware
21{
22public:
23
24#if defined fsDesktop
25 void hardwareCursorInit() override;
26 void hardwareCursorUninit() override;
27 void hardwareCursorChange(const fsStr& pID) override;
28 void windowedDisplayModesEnumerate(fsDisplayInfo*& pAvailableModeList, fsS32& pNumModesInList) override;
29 void appMinimize() override;
30 void appMaximize() override;
31 void appHideEnable() override;
32#endif
33
34 void hardwareCursorEnabledSet(fsBool pEnabled) const override;
35 void hardwareCursorSet(const fsCResourceName& pFilename, fsBool pFlipped) override;
36
37 void timeScaleSet(fsF32 pScale) override;
38 void engineCacheFlush() const override;
39
40 fsU64 utcTimeGet() const override;
41
42 ePlatform platformGet() const override;
43
44 fsBool smallDeviceGet() const override;
45
46 fsStr sdkVersionStringGet() const override;
47
48 fsStr appDataFolderGet() const override;
49
50 fsBool multipleAppInstances() const override;
51 fsBool processRunning(const fsStr& pProcessName) const override;
52
54
55 void browserLaunch(const fsStr& pUrl) const override;
56
58 virtual ~fsCHardware();
59
60protected:
61
62#if defined fsDesktop
63 void wallpaperApplyDo(const fsCResourceName& pWallpaper) override;
64#endif
65
66 void updateDo(fsS32 pDeltaMs) override;
67 void rndSeedDo() const override;
68
69private:
70
71#if defined fsPCStore
72 fsBool mCursorInClientArea;
73#endif
74
75#if defined fsDesktop
76
77 static void enterEvent(GLFWwindow* window, int entered);
78
79 void cursorApply();
80 void cursorCreate(fsStr const& pFilename, fsBool pFlipped);
81 void cursorClear();
82
83 GLFWcursor* mCursor = nullptr;
84
85 fsS32 mWindowWWidth;
86 fsS32 mWindowHeight;
87 fsBool mWindowFullscreen;
88
89#endif
90};
91
92#endif
Definition fsCHardware.h:27
ePlatform platformGet() const override
fsBool multipleAppInstances() const override
void hardwareCursorEnabledSet(fsBool pEnabled) const override
fsBool smallDeviceGet() const override
void timeScaleSet(fsF32 pScale) override
virtual ~fsCHardware()
fsStr appDataFolderGet() const override
fsStr sdkVersionStringGet() const override
void engineCacheFlush() const override
fsBool processRunning(const fsStr &pProcessName) const override
void rndSeedDo() const override
void updateDo(fsS32 pDeltaMs) override
fsU64 utcTimeGet() const override
void hardwareCursorSet(const fsCResourceName &pFilename, fsBool pFlipped) override
void browserLaunch(const fsStr &pUrl) const override
fsBool windowedModePossibleGet() const override
Definition fsCResourceName.h:32
Definition fsIHardware.h:25
ePlatform
Definition fsIHardware.h:29
Definition fsStr.h:23
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