mirror of
https://github.com/Blinue/Magpie.git
synced 2026-06-24 02:04:10 +00:00
47 lines
2.5 KiB
C++
47 lines
2.5 KiB
C++
#include "pch.h"
|
||
#include "Config.h"
|
||
#include "Logger.h"
|
||
|
||
|
||
enum class FlagMasks : UINT {
|
||
NoCursor = 0x1,
|
||
AdjustCursorSpeed = 0x2,
|
||
SaveEffectSources = 0x4,
|
||
SimulateExclusiveFullscreen = 0x8,
|
||
DisableLowLatency = 0x10,
|
||
BreakpointMode = 0x20,
|
||
DisableWindowResizing = 0x40,
|
||
DisableDirectFlip = 0x80,
|
||
ConfineCursorIn3DGames = 0x100,
|
||
CropTitleBarOfUWP = 0x200,
|
||
DisableEffectCache = 0x400,
|
||
DisableVSync = 0x800,
|
||
WarningsAreErrors = 0x1000
|
||
};
|
||
|
||
|
||
bool Config::Initialize(float cursorZoomFactor, UINT cursorInterpolationMode, int adapterIdx, UINT multiMonitorUsage, const RECT& cropBorders, UINT flags) {
|
||
_cursorZoomFactor = cursorZoomFactor;
|
||
_cursorInterpolationMode = cursorInterpolationMode;
|
||
_adapterIdx = adapterIdx;
|
||
_multiMonitorUsage = multiMonitorUsage;
|
||
_cropBorders = cropBorders;
|
||
|
||
_isNoCursor = flags & (UINT)FlagMasks::NoCursor;
|
||
_isAdjustCursorSpeed = flags & (UINT)FlagMasks::AdjustCursorSpeed;
|
||
_isSaveEffectSources = flags & (UINT)FlagMasks::SaveEffectSources;
|
||
_isSimulateExclusiveFullscreen = flags & (UINT)FlagMasks::SimulateExclusiveFullscreen;
|
||
_isDisableLowLatency = flags & (UINT)FlagMasks::DisableLowLatency;
|
||
_isBreakpointMode = flags & (UINT)FlagMasks::BreakpointMode;
|
||
_isDisableWindowResizing = flags & (UINT)FlagMasks::DisableWindowResizing;
|
||
_isDisableDirectFlip = flags & (UINT)FlagMasks::DisableDirectFlip;
|
||
_isConfineCursorIn3DGames = flags & (UINT)FlagMasks::ConfineCursorIn3DGames;
|
||
_isCropTitleBarOfUWP = flags & (UINT)FlagMasks::CropTitleBarOfUWP;
|
||
_isDisableEffectCache = flags & (UINT)FlagMasks::DisableEffectCache;
|
||
_isDisableVSync = flags & (UINT)FlagMasks::DisableVSync;
|
||
_isTreatWarningsAsErrors = flags & (UINT)FlagMasks::WarningsAreErrors;
|
||
|
||
Logger::Get().Info(fmt::format("运行时配置:\n\tadjustCursorSpeed:{}\n\tdisableLowLatency:{}\n\tbreakpointMode:{}\n\tdisableWindowResizing:{}\n\tdisableDirectFlip:{}\n\tconfineCursorIn3DGames:{}\n\tadapterIdx:{}\n\tcropTitleBarOfUWP:{}\n\tmultiMonitorUsage: {}\n\tnoCursor: {}\n\tdisableEffectCache: {}\n\tsimulateExclusiveFullscreen: {}\n\tcursorInterpolationMode: {}\n\tcropLeft: {}\n\tcropTop: {}\n\tcropRight: {}\n\tcropBottom: {}", IsAdjustCursorSpeed(), IsDisableLowLatency(), IsBreakpointMode(), IsDisableWindowResizing(), IsDisableDirectFlip(), IsConfineCursorIn3DGames(), adapterIdx, IsCropTitleBarOfUWP(), multiMonitorUsage, IsNoCursor(), IsDisableEffectCache(), IsSimulateExclusiveFullscreen(), cursorInterpolationMode, cropBorders.left, cropBorders.top, cropBorders.right, cropBorders.bottom));
|
||
|
||
return true;
|
||
}
|