#pragma once #include "BsPlatform.h" #include "BsWin32Defs.h" namespace BansheeEngine { /** @cond INTERNAL */ /** @addtogroup Platform * @{ */ /** * Contains the main message loop. * * @note * This is separated from the main Platform because we don't want to include various Windows defines in a lot of our * code that includes "Platform.h". */ class BS_CORE_EXPORT Win32Platform : public Platform { public: /** * Creates a new bitmap usable by various Win32 methods from the provided pixel data. Caller must ensure to call * DeleteObject() on the bitmap handle when finished. */ static HBITMAP createBitmap(const PixelData& pixelData, bool premultiplyAlpha); /** Main message loop callback that processes messages received from windows. */ static LRESULT CALLBACK _win32WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); }; /** @} */ /** @endcond */ }