1 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
2 
3 /* Mutter utilities */
4 
5 /*
6  * Copyright (C) 2001 Havoc Pennington
7  * Copyright (C) 2005 Elijah Newren
8  *
9  * This program is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public License as
11  * published by the Free Software Foundation; either version 2 of the
12  * License, or (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful, but
15  * WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
22  * 02111-1307, USA.
23  */
24 
25 #ifndef META_UTIL_PRIVATE_H
26 #define META_UTIL_PRIVATE_H
27 
28 #include <glib/gi18n-lib.h>
29 
30 #include "meta/util.h"
31 #include "meta/common.h"
32 
33 /* META_EXPORT_TEST should be used to export symbols that are exported only
34  * for testability purposes */
35 #define META_EXPORT_TEST META_EXPORT
36 
37 void     meta_set_verbose (gboolean setting);
38 void     meta_set_debugging (gboolean setting);
39 
40 META_EXPORT_TEST
41 void     meta_set_syncing (gboolean setting);
42 
43 void     meta_set_replace_current_wm (gboolean setting);
44 void     meta_set_is_wayland_compositor (gboolean setting);
45 
46 char *   meta_generate_random_id (GRand *rand,
47                                   int    length);
48 
49 void meta_init_debug_utils (void);
50 
51 #define META_POINT_IN_RECT(xcoord, ycoord, rect) \
52   ((xcoord) >= (rect).x &&                   \
53    (xcoord) <  ((rect).x + (rect).width) &&  \
54    (ycoord) >= (rect).y &&                   \
55    (ycoord) <  ((rect).y + (rect).height))
56 
57 void     meta_get_clutter_debug_flags (ClutterDebugFlag     *debug_flags,
58                                        ClutterDrawDebugFlag *draw_flags,
59                                        ClutterPickDebugFlag *pick_flags);
60 
61 #endif
62