|
libmx2 2.2.1
C++20 multimedia and game-engine library (SDL2 / OpenGL / Vulkan)
|
OpenGL-backed in-game terminal console for libmx2. More...
#include <iostream>#include <string>#include <sstream>#include <unordered_map>#include <memory>#include <vector>#include <functional>#include <mutex>#include <queue>#include <atomic>#include <condition_variable>#include <thread>#include "mx.hpp"Go to the source code of this file.
Classes | |
| class | console::CommandQueue |
| Thread-safe FIFO queue for dispatching console commands to a worker thread. More... | |
| struct | console::CommandQueue::Command |
| A single command entry with its text and completion callback. More... | |
| class | console::ConsoleChars |
| Glyph cache that maps each ASCII character to a pre-rendered SDL_Surface. More... | |
| class | console::Console |
| Core text-console widget backed by an SDL_Surface. More... | |
| struct | console::Console::TextLine |
| class | console::GLConsole |
| OpenGL-rendered overlay console built on top of Console. More... | |
Namespaces | |
| namespace | gl |
| namespace | console |
Macros | |
| #define | THREAD_MUTEX std::recursive_mutex |
| #define | THREAD_GUARD(mutex) |
| #define | THREAD_ENABLED 1 |
Typedefs | |
| typedef unsigned int | GLuint |
Enumerations | |
| enum | console::FadeState { console::FADE_NONE , console::FADE_IN , console::FADE_OUT } |
OpenGL-backed in-game terminal console for libmx2.
Provides four related classes:
Depends on mx.hpp, gl.hpp (forward-declared) and SDL2/SDL_ttf. On Emscripten the threading primitives are replaced with no-op stubs.
Definition in file console.hpp.
| #define THREAD_ENABLED 1 |
Definition at line 59 of file console.hpp.
| #define THREAD_GUARD | ( | mutex | ) |
Definition at line 58 of file console.hpp.
Referenced by console::Console::beginScrollDrag(), console::Console::calculateLines(), console::Console::checkForLineWrap(), console::Console::checkScroll(), console::Console::clearText(), console::Console::drawText(), console::Console::endScrollDrag(), console::Console::handleMouseScroll(), console::Console::keypress(), console::Console::loaded(), console::Console::moveCursorEnd(), console::Console::moveCursorHome(), console::Console::moveCursorLeft(), console::Console::moveCursorRight(), console::Console::moveHistoryDown(), console::Console::moveHistoryUp(), console::Console::print(), console::Console::process_message_queue(), console::Console::scrollDown(), console::Console::scrollPageDown(), console::Console::scrollPageUp(), console::Console::scrollToBottom(), console::Console::scrollUp(), console::Console::setInputCallback(), console::Console::setTextAttrib(), console::Console::thread_safe_print(), console::Console::updateCursorPosition(), and console::Console::updateScrollDrag().
| #define THREAD_MUTEX std::recursive_mutex |
Definition at line 57 of file console.hpp.
| typedef unsigned int GLuint |
Definition at line 38 of file console.hpp.