/*
 * debug.h   -- A few trivial debug-output-printing functions,
 *              inactive when DEBUG is not defined.
 *
 * Caller should use the defines 
 *      DBG_print
 *      DBG_lineAcc_dump
 *      DBG_imgLine_dump
 *       
 * and should not call the __IMPL() functions directly.
 */

#ifndef _DEBUG_H_
#define _DEBUG_H_



#ifdef DEBUG /* -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */

/* User defines */
#define DBG_print         DBG_print__IMPL
#define DBG_lineAcc_dump  DBG_lineAcc_dump__IMPL
#define DBG_imgLine_dump  DBG_imgLine_dump__IMPL

/* Implementations from 'debug.c' */
#include "lineacc.h"  /* lineAcc_t */
#include "image.h"    /* pix_t  */
void DBG_print__IMPL( char const * pFmt, ... );
void DBG_lineAcc_dump__IMPL( lineAcc_t const * pLA );
void DBG_imgLine_dump__IMPL( pix_t const * pStartOfLine, int size_x );


#else /*DEBUG    -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */


#define DBG_print( a, ... )      /*empty replacement value*/
#define DBG_lineAcc_dump( a )    /*empty replacement value*/
#define DBG_imgLine_dump( a, b ) /*empty replacement value*/


#endif /*DEBUG   -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- */





#endif /*_DEBUG_H_ */