| 1 | /* GTK - The GIMP Toolkit | 
| 2 |  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald | 
| 3 |  * | 
| 4 |  * This library is free software; you can redistribute it and/or | 
| 5 |  * modify it under the terms of the GNU Lesser General Public | 
| 6 |  * License as published by the Free Software Foundation; either | 
| 7 |  * version 2 of the License, or (at your option) any later version. | 
| 8 |  * | 
| 9 |  * This library is distributed in the hope that it will be useful, | 
| 10 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 11 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
| 12 |  * Lesser General Public License for more details. | 
| 13 |  * | 
| 14 |  * You should have received a copy of the GNU Lesser General Public | 
| 15 |  * License along with this library. If not, see <http://www.gnu.org/licenses/>. | 
| 16 |  */ | 
| 17 |  | 
| 18 | /* | 
| 19 |  * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS | 
| 20 |  * file for a list of people on the GTK+ Team.  See the ChangeLog | 
| 21 |  * files for a list of changes.  These files are distributed with | 
| 22 |  * GTK+ at ftp://ftp.gtk.org/pub/gtk/. | 
| 23 |  */ | 
| 24 |  | 
| 25 | #ifndef __GTK_DEBUG_H__ | 
| 26 | #define __GTK_DEBUG_H__ | 
| 27 |  | 
| 28 | #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) | 
| 29 | #error "Only <gtk/gtk.h> can be included directly." | 
| 30 | #endif | 
| 31 |  | 
| 32 | #include <glib.h> | 
| 33 | #include <gdk/gdk.h> | 
| 34 |  | 
| 35 | G_BEGIN_DECLS | 
| 36 |  | 
| 37 | typedef enum { | 
| 38 |   GTK_DEBUG_MISC            = 1 << 0, | 
| 39 |   GTK_DEBUG_PLUGSOCKET      = 1 << 1, | 
| 40 |   GTK_DEBUG_TEXT            = 1 << 2, | 
| 41 |   GTK_DEBUG_TREE            = 1 << 3, | 
| 42 |   GTK_DEBUG_UPDATES         = 1 << 4, | 
| 43 |   GTK_DEBUG_KEYBINDINGS     = 1 << 5, | 
| 44 |   GTK_DEBUG_MULTIHEAD       = 1 << 6, | 
| 45 |   GTK_DEBUG_MODULES         = 1 << 7, | 
| 46 |   GTK_DEBUG_GEOMETRY        = 1 << 8, | 
| 47 |   GTK_DEBUG_ICONTHEME       = 1 << 9, | 
| 48 |   GTK_DEBUG_PRINTING        = 1 << 10, | 
| 49 |   GTK_DEBUG_BUILDER         = 1 << 11, | 
| 50 |   GTK_DEBUG_SIZE_REQUEST    = 1 << 12, | 
| 51 |   GTK_DEBUG_NO_CSS_CACHE    = 1 << 13, | 
| 52 |   GTK_DEBUG_BASELINES       = 1 << 14, | 
| 53 |   GTK_DEBUG_PIXEL_CACHE     = 1 << 15, | 
| 54 |   GTK_DEBUG_NO_PIXEL_CACHE  = 1 << 16, | 
| 55 |   GTK_DEBUG_INTERACTIVE     = 1 << 17, | 
| 56 |   GTK_DEBUG_TOUCHSCREEN     = 1 << 18, | 
| 57 |   GTK_DEBUG_ACTIONS         = 1 << 19, | 
| 58 |   GTK_DEBUG_RESIZE          = 1 << 20, | 
| 59 |   GTK_DEBUG_LAYOUT          = 1 << 21 | 
| 60 | } GtkDebugFlag; | 
| 61 |  | 
| 62 | #ifdef G_ENABLE_DEBUG | 
| 63 |  | 
| 64 | #define GTK_DEBUG_CHECK(type) G_UNLIKELY (gtk_get_debug_flags () & GTK_DEBUG_##type) | 
| 65 |  | 
| 66 | #define GTK_NOTE(type,action)                G_STMT_START {     \ | 
| 67 |     if (GTK_DEBUG_CHECK (type))		                        \ | 
| 68 |        { action; };                          } G_STMT_END | 
| 69 |  | 
| 70 | #else /* !G_ENABLE_DEBUG */ | 
| 71 |  | 
| 72 | #define GTK_DEBUG_CHECK(type) 0 | 
| 73 | #define GTK_NOTE(type, action) | 
| 74 |  | 
| 75 | #endif /* G_ENABLE_DEBUG */ | 
| 76 |  | 
| 77 | GDK_AVAILABLE_IN_ALL | 
| 78 | guint gtk_get_debug_flags (void); | 
| 79 | GDK_AVAILABLE_IN_ALL | 
| 80 | void  gtk_set_debug_flags  (guint flags); | 
| 81 |  | 
| 82 | G_END_DECLS | 
| 83 |  | 
| 84 | #endif /* __GTK_DEBUG_H__ */ | 
| 85 |  |