2023-01-02 13:17:18 -06:00
|
|
|
#ifndef GX_DEVICE_HPP
|
|
|
|
|
#define GX_DEVICE_HPP
|
|
|
|
|
|
|
|
|
|
#include "gx/CGxDevice.hpp"
|
|
|
|
|
#include "gx/Types.hpp"
|
|
|
|
|
#include <cstdint>
|
|
|
|
|
|
|
|
|
|
class CGxFormat;
|
|
|
|
|
|
|
|
|
|
extern CGxDevice* g_theGxDevicePtr;
|
|
|
|
|
|
2025-04-12 04:35:49 -04:00
|
|
|
|
|
|
|
|
bool GxApiSupported(EGxApi api);
|
|
|
|
|
|
|
|
|
|
EGxApi GxDefaultApi();
|
|
|
|
|
|
2023-03-15 15:24:14 -05:00
|
|
|
CGxDevice* GxDevCreate(EGxApi api, int32_t (*windowProc)(void* window, uint32_t message, uintptr_t wparam, intptr_t lparam), const CGxFormat& format);
|
2023-01-02 13:17:18 -06:00
|
|
|
|
2025-04-12 04:35:49 -04:00
|
|
|
void GxDevDestroy(CGxDevice* device);
|
|
|
|
|
|
2023-01-02 13:17:18 -06:00
|
|
|
EGxApi GxDevApi(void);
|
|
|
|
|
|
2025-04-12 04:35:49 -04:00
|
|
|
bool GxDevExists();
|
|
|
|
|
|
2023-03-19 23:48:52 -05:00
|
|
|
void* GxDevWindow();
|
|
|
|
|
|
2023-01-02 13:17:18 -06:00
|
|
|
int32_t GxMasterEnable(EGxMasterEnables state);
|
|
|
|
|
|
2025-08-02 01:41:58 +04:00
|
|
|
void GxMasterEnableSet(EGxMasterEnables state, int32_t enable);
|
|
|
|
|
|
2025-04-12 04:35:49 -04:00
|
|
|
void GxDevOverride(EGxOverride override, uint32_t value);
|
|
|
|
|
|
|
|
|
|
int32_t GxAdapterDesktopMode(CGxMonitorMode& mode);
|
|
|
|
|
|
|
|
|
|
int32_t GxAdapterMonitorModes(TSGrowableArray<CGxMonitorMode>& modes);
|
|
|
|
|
|
|
|
|
|
int32_t GxAdapterID(uint16_t& vendorID, uint16_t& deviceID, uint32_t& driverVersionHi, uint32_t& driverVersionLow);
|
|
|
|
|
|
|
|
|
|
int32_t GxAdapterInfer(uint16_t& deviceID);
|
|
|
|
|
|
|
|
|
|
void GxLogOpen();
|
|
|
|
|
|
|
|
|
|
void GxLog(const char* format, ...);
|
|
|
|
|
|
|
|
|
|
void GxLogClose();
|
|
|
|
|
|
|
|
|
|
void GxAddStereoChangedCallback(CGxDevice::STEREO_CHANGED_CALLBACK callback);
|
|
|
|
|
|
|
|
|
|
int32_t GxRemoveStereoChangedCallback(CGxDevice::STEREO_CHANGED_CALLBACK callback);
|
|
|
|
|
|
|
|
|
|
void GxStereoSetConvergence(float value);
|
|
|
|
|
|
|
|
|
|
void GxStereoSetSeparation(float value);
|
|
|
|
|
|
|
|
|
|
const CGxCaps& GxCaps();
|
|
|
|
|
|
|
|
|
|
bool GxCapsWindowHasFocus(int32_t);
|
|
|
|
|
|
|
|
|
|
void GxCapsWindowSize(CRect&);
|
|
|
|
|
|
2023-01-02 13:17:18 -06:00
|
|
|
#endif
|