Loading...
Searching...
No Matches
25#ifndef TGUI_CONFIG_HPP
26#define TGUI_CONFIG_HPP
31#define TGUI_VERSION_MAJOR 1
32#define TGUI_VERSION_MINOR 9
33#define TGUI_VERSION_PATCH 0
37 #define TGUI_SYSTEM_WINDOWS
38#elif defined(__APPLE__) && defined(__MACH__)
39 #include "TargetConditionals.h"
40 #if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
41 #define TGUI_SYSTEM_IOS
43 #define TGUI_SYSTEM_MACOS
45#elif defined(__unix__)
46 #if defined(__ANDROID__)
47 #define TGUI_SYSTEM_ANDROID
49 #define TGUI_SYSTEM_LINUX
54#if !defined(TGUI_DYNAMIC) && !defined(TGUI_STATIC)
61 #ifdef TGUI_SYSTEM_WINDOWS
64 #define TGUI_API __declspec(dllexport)
66 #define TGUI_API __declspec(dllimport)
71 #pragma warning(disable: 4251)
74 #define TGUI_API __attribute__ ((__visibility__ ("default")))
82#define TGUI_HAS_WINDOW_BACKEND_SFML 1
83#define TGUI_HAS_WINDOW_BACKEND_SDL 1
84#define TGUI_HAS_WINDOW_BACKEND_GLFW 1
85#define TGUI_HAS_WINDOW_BACKEND_RAYLIB 1
87#define TGUI_HAS_RENDERER_BACKEND_SFML_GRAPHICS 1
88#define TGUI_HAS_RENDERER_BACKEND_SDL_GPU 1
89#define TGUI_HAS_RENDERER_BACKEND_SDL_RENDERER 1
90#define TGUI_HAS_RENDERER_BACKEND_OPENGL3 1
91#define TGUI_HAS_RENDERER_BACKEND_GLES2 1
92#define TGUI_HAS_RENDERER_BACKEND_RAYLIB 1
94#define TGUI_HAS_FONT_BACKEND_SFML_GRAPHICS 1
95#define TGUI_HAS_FONT_BACKEND_SDL_TTF 1
96#define TGUI_HAS_FONT_BACKEND_FREETYPE 1
97#define TGUI_HAS_FONT_BACKEND_RAYLIB 1
99#define TGUI_HAS_BACKEND_SFML_GRAPHICS 1
100#define TGUI_HAS_BACKEND_SFML_OPENGL3 1
101#define TGUI_HAS_BACKEND_SDL_GPU 1
102#define TGUI_HAS_BACKEND_SDL_RENDERER 1
103#define TGUI_HAS_BACKEND_SDL_OPENGL3 1
104#define TGUI_HAS_BACKEND_SDL_GLES2 1
105#define TGUI_HAS_BACKEND_SDL_TTF_OPENGL3 1
106#define TGUI_HAS_BACKEND_SDL_TTF_GLES2 1
107#define TGUI_HAS_BACKEND_GLFW_OPENGL3 1
108#define TGUI_HAS_BACKEND_GLFW_GLES2 1
109#define TGUI_HAS_BACKEND_RAYLIB 1
111#define TGUI_USE_SDL3 1
115#define TGUI_USE_X11 0
119#define TGUI_USE_SYSTEM_STB 0
120#define TGUI_USE_SYSTEM_GLAD 0
121#define TGUI_USE_SYSTEM_NANOSVG 0
122#define TGUI_USE_SYSTEM_AURORA 0
127#define TGUI_COMPILED_WITH_CPP_VER 14
129#define TGUI_BUILD_AS_CXX_MODULE 0
131#if TGUI_EXPERIMENTAL_USE_STD_MODULE
137#ifndef TGUI_MODULE_EXPORT
138 #define TGUI_MODULE_EXPORT
142#if TGUI_COMPILED_WITH_CPP_VER >= 20
144#elif defined(__has_include)
146 #if __has_include(<version>)
156#if TGUI_COMPILED_WITH_CPP_VER >= 17
157 #if (defined(__apple_build_version__) && defined(__clang_major__) && (__clang_major__ >= 12)) \
158 || (!defined(__apple_build_version__) && defined(__clang_major__) && (__clang_major__ >= 9)) \
159 || (defined(__GNUC__) && (__GNUC__ >= 9)) \
160 || (defined(_MSC_VER) && (_MSC_VER >= 1914))
161 #define TGUI_USE_STD_FILESYSTEM
164 #if __cpp_lib_chrono >= 201907L
165 #define TGUI_USE_STD_FILESYSTEM_FILE_TIME
170#if __cplusplus >= 201703L
171 #define TGUI_EMPLACE_BACK(object, vector) auto& object = vector.emplace_back();
173 #define TGUI_EMPLACE_BACK(object, vector) vector.emplace_back(); auto& object = vector.back();
176#ifndef TGUI_NO_DEPRECATED_WARNINGS
177 #define TGUI_DEPRECATED(msg) [[deprecated(msg)]]
179 #define TGUI_DEPRECATED(msg)
182#if defined(__has_cpp_attribute) && (__cplusplus >= 201703L)
183# if __has_cpp_attribute(nodiscard)
184# define TGUI_NODISCARD [[nodiscard]]
186# define TGUI_NODISCARD
189# define TGUI_NODISCARD
193 #define TGUI_IGNORE_DEPRECATED_WARNINGS_START \
194 _Pragma("GCC diagnostic push") \
195 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
197 #define TGUI_IGNORE_DEPRECATED_WARNINGS_END _Pragma("GCC diagnostic pop")
198#elif defined (_MSC_VER) && (_MSC_VER >= 1927)
199 #define TGUI_IGNORE_DEPRECATED_WARNINGS_START \
200 _Pragma("warning(push)") \
201 _Pragma("warning(disable: 4996)")
203 #define TGUI_IGNORE_DEPRECATED_WARNINGS_END _Pragma("warning(pop)")
204#elif defined (_MSC_VER)
205 #define TGUI_IGNORE_DEPRECATED_WARNINGS_START \
206 __pragma(warning(push)) \
207 __pragma(warning(disable: 4996))
209 #define TGUI_IGNORE_DEPRECATED_WARNINGS_END __pragma(warning(pop))
212#if !defined(NDEBUG) && !defined(TGUI_NO_RUNTIME_WARNINGS)
213 #if !TGUI_EXPERIMENTAL_USE_STD_MODULE
216 #define TGUI_PRINT_WARNING(msg) { std::cerr << "TGUI warning: " << msg << "\n"; }
218 #define TGUI_PRINT_WARNING(msg)
222#if !defined(NDEBUG) && !defined(TGUI_DISABLE_ASSERTS)
223 #if !TGUI_EXPERIMENTAL_USE_STD_MODULE
227 #define TGUI_ASSERT(condition, msg) { \
228 if (!(condition)) { \
229 std::cerr << "TGUI assertion: " << msg << "\n"; \
235 #define TGUI_ASSERT(condition, msg)
239#if __cplusplus > 201703L
240 #define TGUI_LAMBDA_CAPTURE_EQ_THIS [=,this]
242 #define TGUI_LAMBDA_CAPTURE_EQ_THIS [=]
245#if defined(__cpp_if_constexpr) && (__cpp_if_constexpr >= 201606L)
246 #define TGUI_IF_CONSTEXPR if constexpr
248 #define TGUI_IF_CONSTEXPR if
252 #if defined TGUI_SYSTEM_WINDOWS && defined _MSC_VER
253 #pragma warning(disable:4127)