|  | 
| enum | Lauch { Async = 0, 
Defered = 1
 } | 
|  | 
| enum | SystemCursor { Arrow, 
Ibeam, 
Wait, 
Crosshair,
 Hand
 }
 | 
|  | SystemCursor from SDL_mouse.h.  More... 
 | 
|  | 
| enum | ThreadType { AsyncWorker, 
Renderer, 
Unknown
 } | 
|  | 
| enum | FontStyle : int { Normal = 0x00, 
Bold = 0x01, 
Italic = 0x02, 
Underline = 0x04,
 Strikethrough = 0x08
 }
 | 
|  | FontStyle from SDL_ttf.  More... 
 | 
|  | 
| enum | Keymode : Uint16 { Ctrl = KMOD_CTRL, 
Shift = KMOD_SHIFT
 } | 
|  | 
| enum | TextureAccess : int { Static, 
Streaming, 
Target
 } | 
|  | TextureAccess(same def in SDL_render.h)  More... 
 | 
|  | 
| enum | FocusPolicy { None, 
KeyBoard, 
Click, 
Wheel
 } | 
|  | 
| enum | Align : unsigned int { Center, 
Top, 
Buttom, 
Right,
 Left
 }
 | 
|  | 
| enum | Orientation : unsigned int { Vertical = 0, 
Horizontal = 1, 
V = Vertical, 
H = Horizontal
 } | 
|  | 
|  | 
| BTKAPI void | DeferCall (void(*fn)(void *), void *data) | 
|  | This function will be called in main EventLoop.  More... 
 | 
|  | 
| template<class T , class ... Args> | 
| AsyncTask< true, T, Args... > | Async (T &&callable, Args ...args) | 
|  | Create a Async Task.  More... 
 | 
|  | 
| template<class T , class ... Args> | 
| AsyncTask< false, T, Args... > | Async (_NoSignal, T &&callable, Args ...args) | 
|  | Create a Async Task(No signal)  More... 
 | 
|  | 
| void | AsyncInit () | 
|  | 
| void | AsyncQuit () | 
|  | 
| BTKAPI ExceptionHandler | SetExceptionHandler (ExceptionHandler) | 
|  | 
| BTKAPI void | Exit (int code=EXIT_SUCCESS) | 
|  | End the event loop.  More... 
 | 
|  | 
| BTKAPI void | Init () | 
|  | 
| BTKAPI void | AtExit (void(*fn)(void *), void *data) | 
|  | Regitser atexit callback.  More... 
 | 
|  | 
| BTKAPI void | AtExit (void(*fn)()) | 
|  | 
| template<class Callable , class ... Args> | 
| void | AtExit (Callable &&callable, Args ...args) | 
|  | 
| BTKAPI void | DeferCall (void(*fn)()) | 
|  | 
| template<class Callable , class ... Args> | 
| void | DeferCall (Callable &&callable, Args ...args) | 
|  | 
| BTKAPI bool | IsMainThread () | 
|  | Check is main thread(which call Btk::run)  More... 
 | 
|  | 
| BTKAPI bool | CouldBlock () | 
|  | Check is not the main thread or Main EventLoop is not running.  More... 
 | 
|  | 
| BTKAPI int | run () | 
|  | Enter the EventLoop.  More... 
 | 
|  | 
| void | PushEvent (Event *event, Window &receiver) | 
|  | Push event to queue.  More... 
 | 
|  | 
| void | PushEvent (Event *event, Widget &receiver) | 
|  | 
| bool | SendEvent (Event &event, Window &receiver) | 
|  | Dispatched event right now.  More... 
 | 
|  | 
| bool | SendEvent (Event &event, Widget &receiver) | 
|  | 
| void | DispatchEvent (const SDL_Event &ev, void *) | 
|  | This function was called by System to dispatch our event.  More... 
 | 
|  | 
| void BTKAPI | throwRuntimeError (const char *) | 
|  | 
| void BTKAPI | throwSDLError (const char *) | 
|  | 
| void BTKAPI | throwSDLError () | 
|  | 
| void BTKAPI | throwBadFunctionCall () | 
|  | 
| void BTKAPI | throwRendererError (const char *msg) | 
|  | 
| void BTKAPI | throwRendererError () | 
|  | 
| FontStyle | operator| (FontStyle s1, FontStyle s2) noexcept | 
|  | 
| FontStyle | operator+ (FontStyle s1, FontStyle s2) noexcept | 
|  | 
| FontStyle | operator& (FontStyle s1, FontStyle s2) noexcept | 
|  | 
| FontStyle | operator+= (FontStyle s1, FontStyle s2) noexcept | 
|  | 
| FontStyle | operator|= (FontStyle s1, FontStyle s2) noexcept | 
|  | 
| std::u16string | Utf8ToUtf16 (std::string_view utf8) | 
|  | 
| System & | Instance () | 
|  | 
| int | CalculateXByAlign (const Rect &rect, int w, Align v_align) | 
|  | Calcaute a area's X in a Rect by alignment.  More... 
 | 
|  | 
| int | CalculateYByAlign (const Rect &rect, int h, Align h_align) | 
|  | Calcaute a area's Y in a Rect by alignment.  More... 
 | 
|  | 
| Rect | CalculateRectByAlign (const Rect &rect, int w, int h, Align v_align, Align h_align) | 
|  | Calcaute a area in a Rect by alignment.  More... 
 | 
|  | 
| MotionEvent | TranslateEvent (const SDL_MouseMotionEvent &event) | 
|  | 
| MouseEvent | TranslateEvent (const SDL_MouseButtonEvent &event) | 
|  | 
| WheelEvent | TranslateEvent (const SDL_MouseWheelEvent &event) | 
|  | 
| KeyEvent | TranslateEvent (const SDL_KeyboardEvent &event) | 
|  | 
| TextInputEvent | TranslateEvent (const SDL_TextInputEvent &event) | 
|  | 
| Keymode | operator| (Keymode a, Keymode b) | 
|  | 
| Keymode | operator& (Keymode a, Keymode b) | 
|  | 
| bool | operator== (Keymode a, Uint16 b) | 
|  | 
| bool | operator!= (Keymode a, Uint16 b) | 
|  | 
| void BTKAPI | throwMixerError (const char *msg) | 
|  | 
| void BTKAPI | throwMixerError () | 
|  | 
| BTKAPI void | LoadModule (std::string_view module_name) | 
|  | 
| BTKAPI bool | HasModule (std::string_view module_name) | 
|  | 
| std::string | getcwd () | 
|  | Get current working dir.  More... 
 | 
|  | 
| std::string | getcwd (size_t bufsize) | 
|  | 
| bool | exists (std::string_view fname) | 
|  | Check the file exists.  More... 
 | 
|  | 
| bool | chdir (std::string_view path) | 
|  | Change the current work dir.  More... 
 | 
|  | 
| PStream & | operator>> (PStream &stream, std::string &str) | 
|  | 
| PStream & | operator<< (PStream &stream, std::string_view data) | 
|  | 
| BTKAPI void | CreatePipe (RWops &r, RWops &w) | 
|  | Create a two binary pipes.  More... 
 | 
|  | 
| void | throwEmptySignal () | 
|  | 
| BTKAPI size_t | U16Strlen (const char16_t *str) | 
|  | 
| BTKAPI int | U16Strcmp (const char16_t *s1, const char16_t *s2) | 
|  | 
| BTKAPI int | U16Strcasecmp (const char16_t *s1, const char16_t *s2) | 
|  | 
| BTKAPI size_t | Utf16To8 (std::string &, std::u16string_view) | 
|  | Convert u16string to u8string.  More... 
 | 
|  | 
| BTKAPI size_t | Utf8To16 (std::u16string &, std::string_view) | 
|  | Convert u8string to u16string.  More... 
 | 
|  | 
| BTKAPI bool | IsValidUtf8 (std::string_view) | 
|  | Check a string is vaid utf8.  More... 
 | 
|  | 
| BTKAPI Sint64 | ParseHex (std::string_view txt) | 
|  | Parse a hex string.  More... 
 | 
|  | 
| BTKAPI Sint64 | ParseInt (std::string_view txt) | 
|  | 
| template<class T , auto Alloc = std::malloc> | 
| T * | Memdup (const T *ptr, size_t size) | 
|  | A helper template for dup memory.  More... 
 | 
|  | 
| template<class T , auto Alloc = std::malloc> | 
| T * | Memdup (const T *ptr) | 
|  | A helper template for dup memory.  More... 
 | 
|  | 
| template<class T , auto Alloc = std::malloc> | 
| T * | Memdup (const T &ref) | 
|  | 
| std::string | Utf16To8 (std::u16string_view utf16) | 
|  | Convert utf16 string to utf8 strubg.  More... 
 | 
|  | 
| std::u16string | Utf8To16 (std::string_view utf8) | 
|  | Convert utf8 string to utf16 strubg.  More... 
 | 
|  | 
| template<class T , class U > | 
| T | event_cast (U &&u) | 
|  | 
| int | vscprintf (const char *fmt, va_list varg) | 
|  | 
| std::string | get_typename (const std::type_info &info) | 
|  | Get the typename of a type.  More... 
 | 
|  | 
| template<class T > | 
| std::string | get_typename (const T *ptr) | 
|  | 
| std::string | cformat (const char *fmt,...) | 
|  | Using c-syle formatting.  More... 
 | 
|  | 
| void | cformat (std::string &str, const char *fmt,...) | 
|  | Append text to the string.  More... 
 | 
|  | 
| SDL_SystemCursor | TranslateCursor (SystemCursor cursor) | 
|  | 
| MemBuffer & | GetMemBuffer (SDL_RWops *ctxt) | 
|  | 
| std::ostream & | operator<< (std::ostream &str, const MemBuffer &buf) | 
|  | 
| Uint32 SDLCALL | TimerRun (Uint32, void *timerbase) | 
|  | 
This header include many useful containers.