Global Namespace¶
Overview¶
// namespaces namespace EE; namespace EE::Audio; namespace EE::Graphics; namespace EE::Math; namespace EE::Math::easing; namespace EE::Network; namespace EE::Network::SSL; namespace EE::Scene; namespace EE::Scene::Actions; namespace EE::System; namespace EE::UI; namespace EE::UI::Abstract; namespace EE::UI::CSS; namespace EE::UI::Doc; namespace EE::UI::LayoutInvalidation; namespace EE::UI::Models; namespace EE::UI::Tools; namespace EE::Window; namespace literals; namespace std; // global functions template <typename... T> std::size_t hashCombine(std::size_t h1, std::size_t h2, T... other); // macros #define AXIS_MAX #define AXIS_MIN #define EEPP_CODENAME #define EEPP_COMPILEDVERSION #define EEPP_MAJOR_VERSION #define EEPP_MINOR_VERSION #define EEPP_PATCH_LEVEL #define EEPP_VERSION(x) #define EEPP_VERSIONNUM(X, Y, Z) #define EEPP_VERSION_ATLEAST(X, Y, Z) #define EE_180_PI #define EE_1B #define EE_1GB #define EE_1KB #define EE_1MB #define EE_1TB #define EE_360_PI #define EE_API #define EE_APPACTIVE #define EE_APPINPUTFOCUS #define EE_APPMOUSEFOCUS #define EE_BACKEND_SDL_ACTIVE #define EE_BIG_ENDIAN #define EE_BUTTON_MASK(X) #define EE_DEBUG #define EE_ENDIAN #define EE_KEYS_NUM #define EE_KEYS_SPACE #define EE_LITTLE_ENDIAN #define EE_MAIN_FUNC #define EE_MAX_FINGERS #define EE_MAX_PLANES #define EE_MAX_TEXTURE_UNITS #define EE_PI #define EE_PI2 #define EE_PI_180 #define EE_PI_360 #define EE_PLATFORM_ANDROID #define EE_PLATFORM_BSD #define EE_PLATFORM_EMSCRIPTEN #define EE_PLATFORM_HAIKU #define EE_PLATFORM_IOS #define EE_PLATFORM_LINUX #define EE_PLATFORM_MACOS #define EE_PLATFORM_SOLARIS #define EE_PLATFORM_WIN #define EE_SCREEN_KEYBOARD_ENABLED #define EE_SHADERS_SUPPORTED #define EE_SUPPORT_EXCEPTIONS #define EE_TAG(c1, c2, c3, c4) #define EE_TAG_NONE #define EE_TEXTURE_ATLAS_EXTENSION #define EE_TEXTURE_ATLAS_MAGIC #define EE_TEXT_INPUT_SIZE #define GL_ARRAY_BUFFER #define GL_COLOR_ATTACHMENT0 #define GL_COMPILE_STATUS #define GL_COMPRESSED_RGBA #define GL_COORD_REPLACE #define GL_DEPTH_ATTACHMENT #define GL_DRAW_FRAMEBUFFER #define GL_DYNAMIC_DRAW #define GL_ELEMENT_ARRAY_BUFFER #define GL_FP #define GL_FRAGMENT_SHADER #define GL_FRAMEBUFFER #define GL_FRAMEBUFFER_BINDING #define GL_FRAMEBUFFER_COMPLETE #define GL_FUNC_ADD #define GL_FUNC_REVERSE_SUBTRACT #define GL_FUNC_SUBTRACT #define GL_INFO_LOG_LENGTH #define GL_LINK_STATUS #define GL_MULTISAMPLE #define GL_NUM_EXTENSIONS #define GL_POINT_SPRITE #define GL_READ_FRAMEBUFFER #define GL_RENDERBUFFER #define GL_RENDERBUFFER_BINDING #define GL_RGB8 #define GL_RGBA8 #define GL_SHADING_LANGUAGE_VERSION #define GL_STATIC_DRAW #define GL_STENCIL_ATTACHMENT #define GL_STENCIL_INDEX8 #define GL_STREAM_DRAW #define GL_TEXTURE0 #define GL_TEXTURE_COMPRESSED #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE #define GL_VERTEX_ARRAY_BINDING #define GL_VERTEX_PROGRAM_POINT_SIZE #define GL_VERTEX_SHADER #define HDR_HASH_SIZE #define HDR_NAME_SIZE #define HDR_TEXTUREREGION_FLAG_FLIPPED #define HDR_TEXTURE_ATLAS_ALLOW_FLIPPING #define HDR_TEXTURE_ATLAS_POW_OF_TWO #define HDR_TEXTURE_ATLAS_REMOVE_EXTENSION #define HDR_TEXTURE_ATLAS_SCALABLE_SVG #define HDR_TEXTURE_ATLAS_VERSION #define KEYMOD_ALT #define KEYMOD_COUNT #define KEYMOD_CTRL #define KEYMOD_CTRL_SHIFT_ALT_META #define KEYMOD_DEFAULT_MODIFIER #define KEYMOD_META #define KEYMOD_SHIFT #define KEY_SCANCODE_MASK #define MAX_JOYSTICKS #define MAX_SUB_SYNTAXS #define RETAIN_SYMBOL(symbol) #define SCANCODE_TO_KEYCODE(X) #define SINGLETON_DECLARE_HEADERS(T) #define SINGLETON_DECLARE_IMPLEMENTATION(T) #define SYNTAX_TOKENIZER_STATE_NONE #define THREADS_AUTO #define UI_MESSAGE_BOX_DEFAULT_FLAGS #define VERTEX_FLAGS_COUNT #define VERTEX_FLAGS_COUNT_ARR #define VERTEX_FLAGS_DEFAULT #define VERTEX_FLAGS_PRIMITIVE #define VERTEX_FLAG_GET(X) #define VERTEX_FLAG_QUERY(F, X) #define VERTEX_FLAG_SET(F, X) #define _RETAIN_SYMBOL_CONCAT(a, b) #define _RETAIN_SYMBOL_CONCAT_INNER(a, b) #define _RETAIN_SYMBOL_UNIQUE_NAME(base) #define eeARRAY_SIZE(__array) #define eeASSERT(expr) #define eeASSERTM(expr, msg) #define eeCOMMA #define eeDelete(data) #define eeDeleteArray(data) #define eeFree(data) #define eeINDEX_NOT_FOUND #define eeMalloc(amount) #define eeNew(classType, constructor) #define eeNewArray(classType, amount) #define eeNewInPlace(place, classType, constructor) #define eeNewTracked(classType, constructor) #define eeRealloc(ptr, amount) #define eeSAFE_DELETE(p) #define eeSAFE_DELETE_ARRAY(p) #define eeSAFE_FREE(p) #define eeabs #define eeacos #define eeatan2 #define eeceil #define eecos #define eeexp #define eefloor #define eemod #define eepow #define eesin #define eesqrt #define eetan #define eevsnprintf(str, size, format, args) #define likely(x) #define unlikely(x)
Detailed Documentation¶
Macros¶
#define EEPP_VERSION(x)
The compiled version of the library
#define EE_BACKEND_SDL_ACTIVE
Since EE just use basic POSIX stuff, declare as POSIX some OS that are mostly POSIX-compliant.
Activate at least one backend for the compilation
#define GL_MULTISAMPLE
Wrap GLES2 functions.
Exclusive only when its compiling only for GLES2 Exclusive when its compiling only for GLES1
#define GL_TEXTURE0
GL2 and GL3 ( PC platform )
#define RETAIN_SYMBOL(symbol)
Registers a symbol to be retained by the linker.
Usage: RETAIN_SYMBOL(MyFunctionToKeep); // At file scope
Parameters:
symbol |
The name of the function or variable to retain. Do not pass it as a string. |
#define SINGLETON_DECLARE_HEADERS(T)
Internally we gonna use the macro singleton because it works with the engine compiled as dynamic libraries.
Lifecycle contract:
Creation is thread-safe. The first caller creates the singleton under ms_mutex, publishes it with release semantics, and later callers use an acquire-load fast path without locking.
Destruction and detach are teardown operations only. They must not run concurrently with instance(), existsSingleton(), or normal use of a previously returned raw pointer. The atomic only protects pointer publication; it does not protect pointee lifetime after return.
destroySingleton() intentionally keeps the pointer visible while T::~T() runs because several eepp teardown paths query singleton state while ms_is_shutting_down is true.
Expand SINGLETON_DECLARE_IMPLEMENTATION exactly once in a .cpp file. Expanding it in a header creates one internal-linkage singleton per translation unit.
#define VERTEX_FLAGS_DEFAULT
Vertex data will have position, color and texture UV.
#define VERTEX_FLAGS_PRIMITIVE
Vertex data will have position and color.
#define eesqrt
The internal floating point used on EE++.
This can help to improve compatibility with some platforms.
And helps for an easy change from single precision to double precision.