all repos — mgba @ 6882339f625b97f344c6464915c2038bc453ea3c

mGBA Game Boy Advance Emulator

src/third-party/libpng/pngdebug.h (view raw)

  1
  2/* pngdebug.h - Debugging macros for libpng, also used in pngtest.c
  3 *
  4 * Last changed in libpng 1.6.8 [December 19, 2013]
  5 * Copyright (c) 1998-2013 Glenn Randers-Pehrson
  6 * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  7 * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
  8 *
  9 * This code is released under the libpng license.
 10 * For conditions of distribution and use, see the disclaimer
 11 * and license in png.h
 12 */
 13
 14/* Define PNG_DEBUG at compile time for debugging information.  Higher
 15 * numbers for PNG_DEBUG mean more debugging information.  This has
 16 * only been added since version 0.95 so it is not implemented throughout
 17 * libpng yet, but more support will be added as needed.
 18 *
 19 * png_debug[1-2]?(level, message ,arg{0-2})
 20 *   Expands to a statement (either a simple expression or a compound
 21 *   do..while(0) statement) that outputs a message with parameter
 22 *   substitution if PNG_DEBUG is defined to 2 or more.  If PNG_DEBUG
 23 *   is undefined, 0 or 1 every png_debug expands to a simple expression
 24 *   (actually ((void)0)).
 25 *
 26 *   level: level of detail of message, starting at 0.  A level 'n'
 27 *          message is preceded by 'n' 3-space indentations (not implemented
 28 *          on Microsoft compilers unless PNG_DEBUG_FILE is also
 29 *          defined, to allow debug DLL compilation with no standard IO).
 30 *   message: a printf(3) style text string.  A trailing '\n' is added
 31 *            to the message.
 32 *   arg: 0 to 2 arguments for printf(3) style substitution in message.
 33 */
 34#ifndef PNGDEBUG_H
 35#define PNGDEBUG_H
 36/* These settings control the formatting of messages in png.c and pngerror.c */
 37/* Moved to pngdebug.h at 1.5.0 */
 38#  ifndef PNG_LITERAL_SHARP
 39#    define PNG_LITERAL_SHARP 0x23
 40#  endif
 41#  ifndef PNG_LITERAL_LEFT_SQUARE_BRACKET
 42#    define PNG_LITERAL_LEFT_SQUARE_BRACKET 0x5b
 43#  endif
 44#  ifndef PNG_LITERAL_RIGHT_SQUARE_BRACKET
 45#    define PNG_LITERAL_RIGHT_SQUARE_BRACKET 0x5d
 46#  endif
 47#  ifndef PNG_STRING_NEWLINE
 48#    define PNG_STRING_NEWLINE "\n"
 49#  endif
 50
 51#ifdef PNG_DEBUG
 52#  if (PNG_DEBUG > 0)
 53#    if !defined(PNG_DEBUG_FILE) && defined(_MSC_VER)
 54#      include <crtdbg.h>
 55#      if (PNG_DEBUG > 1)
 56#        ifndef _DEBUG
 57#          define _DEBUG
 58#        endif
 59#        ifndef png_debug
 60#          define png_debug(l,m)  _RPT0(_CRT_WARN,m PNG_STRING_NEWLINE)
 61#        endif
 62#        ifndef png_debug1
 63#          define png_debug1(l,m,p1)  _RPT1(_CRT_WARN,m PNG_STRING_NEWLINE,p1)
 64#        endif
 65#        ifndef png_debug2
 66#          define png_debug2(l,m,p1,p2) \
 67             _RPT2(_CRT_WARN,m PNG_STRING_NEWLINE,p1,p2)
 68#        endif
 69#      endif
 70#    else /* PNG_DEBUG_FILE || !_MSC_VER */
 71#      ifndef PNG_STDIO_SUPPORTED
 72#        include <stdio.h> /* not included yet */
 73#      endif
 74#      ifndef PNG_DEBUG_FILE
 75#        define PNG_DEBUG_FILE stderr
 76#      endif /* PNG_DEBUG_FILE */
 77
 78#      if (PNG_DEBUG > 1)
 79#        ifdef __STDC__
 80#          ifndef png_debug
 81#            define png_debug(l,m) \
 82       do { \
 83       int num_tabs=l; \
 84       fprintf(PNG_DEBUG_FILE,"%s" m PNG_STRING_NEWLINE,(num_tabs==1 ? "   " : \
 85         (num_tabs==2 ? "      " : (num_tabs>2 ? "         " : "")))); \
 86       } while (0)
 87#          endif
 88#          ifndef png_debug1
 89#            define png_debug1(l,m,p1) \
 90       do { \
 91       int num_tabs=l; \
 92       fprintf(PNG_DEBUG_FILE,"%s" m PNG_STRING_NEWLINE,(num_tabs==1 ? "   " : \
 93         (num_tabs==2 ? "      " : (num_tabs>2 ? "         " : ""))),p1); \
 94       } while (0)
 95#          endif
 96#          ifndef png_debug2
 97#            define png_debug2(l,m,p1,p2) \
 98       do { \
 99       int num_tabs=l; \
100       fprintf(PNG_DEBUG_FILE,"%s" m PNG_STRING_NEWLINE,(num_tabs==1 ? "   " : \
101         (num_tabs==2 ? "      " : (num_tabs>2 ? "         " : ""))),p1,p2);\
102       } while (0)
103#          endif
104#        else /* __STDC __ */
105#          ifndef png_debug
106#            define png_debug(l,m) \
107       do { \
108       int num_tabs=l; \
109       char format[256]; \
110       snprintf(format,256,"%s%s%s",(num_tabs==1 ? "\t" : \
111         (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))), \
112         m,PNG_STRING_NEWLINE); \
113       fprintf(PNG_DEBUG_FILE,format); \
114       } while (0)
115#          endif
116#          ifndef png_debug1
117#            define png_debug1(l,m,p1) \
118       do { \
119       int num_tabs=l; \
120       char format[256]; \
121       snprintf(format,256,"%s%s%s",(num_tabs==1 ? "\t" : \
122         (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))), \
123         m,PNG_STRING_NEWLINE); \
124       fprintf(PNG_DEBUG_FILE,format,p1); \
125       } while (0)
126#          endif
127#          ifndef png_debug2
128#            define png_debug2(l,m,p1,p2) \
129       do { \
130       int num_tabs=l; \
131       char format[256]; \
132       snprintf(format,256,"%s%s%s",(num_tabs==1 ? "\t" : \
133         (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))), \
134         m,PNG_STRING_NEWLINE); \
135       fprintf(PNG_DEBUG_FILE,format,p1,p2); \
136       } while (0)
137#          endif
138#        endif /* __STDC __ */
139#      endif /* (PNG_DEBUG > 1) */
140
141#    endif /* _MSC_VER */
142#  endif /* (PNG_DEBUG > 0) */
143#endif /* PNG_DEBUG */
144#ifndef png_debug
145#  define png_debug(l, m) ((void)0)
146#endif
147#ifndef png_debug1
148#  define png_debug1(l, m, p1) ((void)0)
149#endif
150#ifndef png_debug2
151#  define png_debug2(l, m, p1, p2) ((void)0)
152#endif
153#endif /* PNGDEBUG_H */