Magic_Game/core/Win/winbase.h

45 lines
863 B
C
Raw Normal View History

2017-10-10 01:14:03 +08:00
#pragma once
2017-10-13 11:42:36 +08:00
#include "..\emacros.h"
#ifndef HINST_THISCOMPONENT
EXTERN_C IMAGE_DOS_HEADER __ImageBase;
#define HINST_THISCOMPONENT ((HINSTANCE)&__ImageBase)
#endif
2017-10-10 01:14:03 +08:00
2017-10-12 02:44:44 +08:00
HWND &GetHWnd();
2017-10-10 01:14:03 +08:00
2017-10-12 02:44:44 +08:00
ID2D1Factory * &GetFactory();
ID2D1HwndRenderTarget * &GetRenderTarget();
2017-10-15 02:46:24 +08:00
ID2D1SolidColorBrush * &GetSolidColorBrush();
2017-10-14 18:43:32 +08:00
IWICImagingFactory * &GetImagingFactory();
2017-10-12 02:44:44 +08:00
IDWriteFactory * &GetDirectWriteFactory();
2017-12-15 21:51:07 +08:00
LARGE_INTEGER &GetFreq();
2017-10-17 21:22:25 +08:00
2017-12-15 21:51:07 +08:00
LARGE_INTEGER &GetNow();
bool IsIntervalFull(const LARGE_INTEGER& tLast, const LARGE_INTEGER& tInterval);
LONGLONG ToMilliseconds(LONGLONG tLast);
void SetInterval(LARGE_INTEGER& nInterval, LONGLONG nIntervalMS);
2017-10-17 21:22:25 +08:00
2017-10-12 02:44:44 +08:00
template<class Interface>
inline void SafeReleaseInterface(
Interface **ppInterfaceToRelease
)
{
if (*ppInterfaceToRelease != nullptr)
{
(*ppInterfaceToRelease)->Release();
(*ppInterfaceToRelease) = nullptr;
}
}