| 
| 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.