Mir
include
core
mir_toolkit
common.h
Go to the documentation of this file.
1
/*
2
* Simple definitions common to client and server.
3
*
4
* Copyright © 2013-2016 Canonical Ltd.
5
*
6
* This program is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU Lesser General Public License version 2 or 3 as
8
* published by the Free Software Foundation.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*
18
* Author: Daniel van Vugt <daniel.van.vugt@canonical.com>
19
*/
20
21
#ifndef MIR_COMMON_H_
22
#define MIR_COMMON_H_
23
24
//for clang
25
#ifndef __has_feature
26
#define __has_feature(x) 0
// Compatibility with non-clang
27
#endif
28
29
//for clang
30
#ifndef __has_extension
31
#define __has_extension __has_feature
// Compatibility with pre-3.0
32
#endif
33
34
/* This is C code. Not C++. */
35
40
typedef
enum
MirWindowAttrib
41
{
42
/* Do not specify values...code relies on 0...N ordering. */
43
mir_window_attrib_type
,
44
mir_window_attrib_state
,
45
mir_window_attrib_swapinterval
,
49
mir_window_attrib_focus
,
50
mir_window_attrib_dpi
,
51
mir_window_attrib_visibility
,
52
mir_window_attrib_preferred_orientation
,
53
/* Must be last */
54
mir_window_attribs
55
}
MirWindowAttrib
;
56
57
typedef
enum
MirWindowType
58
{
59
mir_window_type_normal
,
60
mir_window_type_utility
,
61
mir_window_type_dialog
,
62
mir_window_type_gloss
,
63
mir_window_type_freestyle
,
64
mir_window_type_menu
,
65
mir_window_type_inputmethod
,
66
mir_window_type_satellite
,
67
mir_window_type_tip
,
68
mir_window_type_decoration
,
69
mir_window_types
70
}
MirWindowType
;
71
72
typedef
enum