Blender  V2.59
GHOST_Debug.h
Go to the documentation of this file.
00001 /*
00002  * $Id: GHOST_Debug.h 38351 2011-07-13 06:04:54Z campbellbarton $
00003  * ***** BEGIN GPL LICENSE BLOCK *****
00004  *
00005  * This program is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU General Public License
00007  * as published by the Free Software Foundation; either version 2
00008  * of the License, or (at your option) any later version.
00009  *
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program; if not, write to the Free Software Foundation,
00017  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00018  *
00019  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
00020  * All rights reserved.
00021  *
00022  * The Original Code is: all of this file.
00023  *
00024  * Contributor(s): none yet.
00025  *
00026  * ***** END GPL LICENSE BLOCK *****
00027  */
00028 
00034 #ifndef _GHOST_DEBUG_H_
00035 #define _GHOST_DEBUG_H_
00036 
00037 #if defined(WIN32) && !defined(FREE_WINDOWS)
00038         #ifdef DEBUG
00039                 #pragma warning (disable:4786) // suppress stl-MSVC debug info warning
00040                 // #define GHOST_DEBUG
00041         #endif // DEBUG
00042 #endif // WIN32
00043 
00044 #ifdef WITH_GHOST_DEBUG 
00045         #define GHOST_DEBUG // spit ghost events to stdout
00046 #endif // WITH_GHOST_DEBUG 
00047 
00048 #ifdef GHOST_DEBUG
00049         #include <iostream>
00050         #include <stdio.h> //for printf()
00051 #endif // GHOST_DEBUG
00052 
00053 
00054 #ifdef GHOST_DEBUG
00055         #define GHOST_PRINT(x) { std::cout << x; }
00056         #define GHOST_PRINTF(x, ...) { printf(x, __VA_ARGS__); }
00057 #else  // GHOST_DEBUG
00058         #define GHOST_PRINT(x)
00059         #define GHOST_PRINTF(x, ...)
00060 #endif // GHOST_DEBUG
00061 
00062 
00063 #ifdef GHOST_DEBUG
00064         #define GHOST_ASSERT(x, info) { if (!(x)) {GHOST_PRINT("assertion failed: "); GHOST_PRINT(info); GHOST_PRINT("\n"); } }
00065 #else  // GHOST_DEBUG
00066         #define GHOST_ASSERT(x, info)
00067 #endif // GHOST_DEBUG
00068 
00069 #endif // _GHOST_DEBUG_H_
00070