Gwen.cpp 1008 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. }
  46. }