Gwen.cpp 964 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. GWEN
  3. Copyright (c) 2010 Facepunch Studios
  4. See license in Gwen.h
  5. */
  6. #include "Gwen/Gwen.h"
  7. namespace Gwen
  8. {
  9. // Globals
  10. GWEN_EXPORT Controls::Base* HoveredControl = NULL;
  11. GWEN_EXPORT Controls::Base* KeyboardFocus = NULL;
  12. GWEN_EXPORT Controls::Base* MouseFocus = NULL;
  13. namespace Debug
  14. {
  15. void Msg(const char* str, ...)
  16. {
  17. char strOut[1024];
  18. va_list s;
  19. va_start(s, str);
  20. GwenUtil_VSNPrintFSafe(strOut, sizeof(strOut), _TRUNCATE, str, s);
  21. va_end(s);
  22. GwenUtil_OutputDebugCharString(strOut);
  23. }
  24. #ifdef UNICODE
  25. void Msg(const wchar_t* str, ...)
  26. {
  27. wchar_t strOut[1024];
  28. va_list s;
  29. va_start(s, str);
  30. GwenUtil_VSWPrintFSafeSized(strOut, str, s);
  31. va_end(s);
  32. GwenUtil_OutputDebugWideString(strOut);
  33. }
  34. #endif
  35. void AssertCheck(bool b, const char* strMsg)
  36. {
  37. if (b) return;
  38. #ifdef WINDOWS
  39. MessageBoxA(NULL, strMsg, "Assert", MB_ICONEXCLAMATION | MB_OK);
  40. _asm { int 3 }
  41. #else
  42. (void)strMsg; // unused param
  43. #endif
  44. }
  45. } // namespace Debug
  46. } // namespace Gwen