BsWin32Platform.h 947 B

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. #include "BsPlatform.h"
  3. #include "BsWin32Defs.h"
  4. namespace BansheeEngine
  5. {
  6. /** @cond INTERNAL */
  7. /** @addtogroup Platform
  8. * @{
  9. */
  10. /**
  11. * Contains the main message loop.
  12. *
  13. * @note
  14. * This is separated from the main Platform because we don't want to include various Windows defines in a lot of our
  15. * code that includes "Platform.h".
  16. */
  17. class BS_CORE_EXPORT Win32Platform : public Platform
  18. {
  19. public:
  20. /**
  21. * Creates a new bitmap usable by various Win32 methods from the provided pixel data. Caller must ensure to call
  22. * DeleteObject() on the bitmap handle when finished.
  23. */
  24. static HBITMAP createBitmap(const PixelData& pixelData, bool premultiplyAlpha);
  25. /** Main message loop callback that processes messages received from windows. */
  26. static LRESULT CALLBACK _win32WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
  27. };
  28. /** @} */
  29. /** @endcond */
  30. }