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