debug.cpp
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:1k
源码类别:

OpenGL

开发平台:

Visual C++

  1. // debug.cpp
  2. //
  3. // Copyright (C) 2001, Chris Laurel <claurel@shatters.net>
  4. //
  5. // This program is free software; you can redistribute it and/or
  6. // modify it under the terms of the GNU General Public License
  7. // as published by the Free Software Foundation; either version 2
  8. // of the License, or (at your option) any later version.
  9. #ifdef _MSC_VER
  10. #include <windows.h>
  11. #endif
  12. #include <stdio.h>
  13. #include <cstdarg>
  14. #ifndef _WIN32
  15. #ifndef TARGET_OS_MAC
  16. #include <config.h>
  17. #endif /* TARGET_OS_MAC */
  18. #endif /* _WIN32 */
  19. static int debugVerbosity = 0;
  20. #if defined(DEBUG) || defined(_DEBUG)
  21. void DebugPrint(int level, char *format, ...)
  22. {
  23.     va_list args;
  24.     va_start(args, format);
  25.     if (level <= debugVerbosity)
  26.     {
  27. #ifdef _MSC_VER
  28.         if (IsDebuggerPresent())
  29.         {
  30.             char buf[1024];
  31.             vsprintf(buf, format, args);
  32.             OutputDebugStringA(buf);
  33.         }
  34.         else
  35.         {
  36.             vfprintf(stdout, format, args);
  37.         }
  38. #else
  39.         vfprintf(stderr, format, args);
  40. #endif
  41.     }
  42.     va_end(args);
  43. }
  44. #endif /* DEBUG */
  45. void SetDebugVerbosity(int dv)
  46. {
  47.     if(dv<0)
  48.         dv=0;
  49.     debugVerbosity = dv;
  50. }
  51. int GetDebugVerbosity()
  52. {
  53.     return debugVerbosity;
  54. }