1 /**
2  * Copyright (c) 2012 ooxi/violetland
3  *     https://github.com/ooxi/violetland
4  *
5  * This software is provided 'as-is', without any express or implied warranty.
6  * In no event will the authors be held liable for any damages arising from the
7  * use of this software.
8  *
9  * Permission is granted to anyone to use this software for any purpose,
10  * including commercial applications, and to alter it and redistribute it
11  * freely, subject to the following restrictions:
12  *
13  *  1. The origin of this software must not be misrepresented; you must not
14  *     claim that you wrote the original software. If you use this software in a
15  *     product, an acknowledgment in the product documentation would be
16  *     appreciated but is not required.
17  *
18  *  2. Altered source versions must be plainly marked as such, and must not be
19  *     misrepresented as being the original software.
20  *
21  *  3. This notice may not be removed or altered from any source distribution.
22  */
23 #ifndef CONTROL_STYLE_H_
24 #define CONTROL_STYLE_H_
25 namespace violetland {
26 
27 
28 
29 
30 
31 /**
32  * Enumerates all implemented control styles
33  */
34 enum ControlStyle {
35 #define EXPAND_CONTROL_STYLE(id, name, serialVersionUid)		\
36 	E_CONTROL_STYLE_##id = serialVersionUid,
37 #include "ControlStyles.h"
38 #undef EXPAND_CONTROL_STYLE
39 
40 	_E_CONTROL_STYLE
41 };
42 
43 
44 
45 /**
46  * serialVersionUid -> ControlStyle
47  */
48 enum ControlStyle ControlStyleFromInt(int serialVersionUid);
49 
50 /**
51  * ControlStyle -> Human readable description
52  */
53 char* ControlStyleToString(enum ControlStyle style);
54 
55 /**
56  * Switches through the available control styles
57  */
58 enum ControlStyle GetNextControlStyle(enum ControlStyle);
59 
60 
61 
62 
63 
64 }
65 #endif
66 
67