25 #if MYGUI_PLATFORM == MYGUI_PLATFORM_LINUX || MYGUI_PLATFORM == MYGUI_PLATFORM_APPLE
26 #include <uuid/uuid.h>
27 #elif MYGUI_PLATFORM == MYGUI_PLATFORM_WIN32
33 const char Guid::convert_hex[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 64, 64, 64, 64, 64, 64,
34 64, 10, 11, 12, 13, 14, 15, 64, 64, 64, 64, 64, 64, 64, 64, 64,
35 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
36 64, 10, 11, 12, 13, 14, 15, 64, 64, 64, 64, 64, 64, 64, 64, 64
44 if (_value.size() == 38)
47 #if MYGUI_DEBUG_MODE == 1
48 if ((_value[0] !=
'{') || (_value[37] !=
'}'))
55 else if (_value.size() != 36)
60 #if MYGUI_DEBUG_MODE == 1
61 if ((_value[start + 8] !=
'-') || (_value[start + 13] !=
'-') || (_value[start + 18] !=
'-') || (_value[start + 23] !=
'-'))
67 #define MYGUI_CONVERT_HEX(value) ((convert_hex[ ((value) - 48) & 0x3F]) & 0x3F)
69 #if MYGUI_DEBUG_MODE == 1
70 #define MYGUI_CHECK_CONVERT_HEX(value) \
72 char tmp = ((value) - 48); \
73 if ((tmp > 63) || (tmp < 0)) \
78 tmp = convert_hex[(int)tmp]; \
86 #define MYGUI_CHECK_CONVERT_HEX(value)
146 #undef MYGUI_CHECK_CONVERT_HEX
147 #undef MYGUI_CONVERT_HEX
154 const size_t SIZE = 39;
157 sprintf(buff,
"{%.8X-%.4X-%.4X-%.2X%.2X-%.2X%.2X%.2X%.2X%.2X%.2X}", (
int)(
original.data1), (
int)(
original.data2), (
int)(
original.data3),
168 #if MYGUI_PLATFORM == MYGUI_PLATFORM_WIN32
169 HRESULT result = CoCreateGuid((GUID*)&ret.
original.data1);
171 #elif MYGUI_PLATFORM == MYGUI_PLATFORM_LINUX
172 uuid_generate(ret.
vec._data1);
175 uuid_generate(ret.
vec._data1);