1 /*
2  * Copyright (C) 2006-2021 Kim Woelders
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a copy
5  * of this software and associated documentation files (the "Software"), to
6  * deal in the Software without restriction, including without limitation the
7  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
8  * sell copies of the Software, and to permit persons to whom the Software is
9  * furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies of the Software, its documentation and marketing & publicity
13  * materials, and acknowledgment shall be given in the documentation, materials
14  * and software packages that this Software was used.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19  * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
20  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22  */
23 #ifndef _EDEBUG_H_
24 #define _EDEBUG_H_
25 
26 #include "util.h"
27 
28 #define ENABLE_DEBUG_EVENTS 1
29 
30 #if ENABLE_DEBUG_EVENTS
31 
32 #define EDBUG_TYPE_EWINS        128
33 #define EDBUG_TYPE_FOCUS        129
34 #define EDBUG_TYPE_COMPRESSION  130
35 #define EDBUG_TYPE_STACKING     131
36 #define EDBUG_TYPE_RAISELOWER   132
37 #define EDBUG_TYPE_MOVERESIZE   133
38 #define EDBUG_TYPE_SESSION      134
39 #define EDBUG_TYPE_SNAPS        135
40 #define EDBUG_TYPE_DESKS        136
41 #define EDBUG_TYPE_GRABS        137
42 #define EDBUG_TYPE_DISPATCH     138
43 #define EDBUG_TYPE_MODULES      139
44 #define EDBUG_TYPE_CONFIG       140
45 #define EDBUG_TYPE_IPC          141
46 #define EDBUG_TYPE_EVENTS       142
47 #define EDBUG_TYPE_ICONBOX      143
48 #define EDBUG_TYPE_VERBOSE      144
49 #define EDBUG_TYPE_SYNC         145
50 #define EDBUG_TYPE_PAGER        146
51 #define EDBUG_TYPE_SELECTION    147
52 #define EDBUG_TYPE_FONTS        148
53 #define EDBUG_TYPE_DBUS         149
54 #define EDBUG_TYPE_TIMERS       150
55 #define EDBUG_TYPE_IDLERS       151
56 #define EDBUG_TYPE_SOUND        152
57 #define EDBUG_TYPE_XI2          153
58 #define EDBUG_TYPE_ZOOM         154
59 #define EDBUG_TYPE_ANIM         155
60 #define EDBUG_TYPE_PRESENT      156
61 
62 #define EDBUG_TYPE_COMPMGR      161
63 #define EDBUG_TYPE_COMPMGR2     162
64 #define EDBUG_TYPE_COMPMGR3     163
65 
66 #define EDBUG_TYPE_GLX          170
67 
68 void                EDebugInit(const char *s);
69 void                EDebugSet(unsigned int type, int value);
70 int                 EDebug(unsigned int type);
71 
72 #else
73 
74 #define             EDebugInit(str) do{}while(0)
75 #define             EDebugSet(type, value)
76 #define             EDebug(type) 0
77 
78 #endif
79 
80 #endif /* _EDEBUG_H_ */
81