This is a cross-platform header-only curses-like lib.
Supported platforms (including but not limited to) are:
- Linux.
- MacOS.
- Windows.
ASCII_Fonts.h
: API for rendering text using FIGlet fonts and allows you to style your text with different colors. Supported FIGlet fonts are:- Larry3D.
- SMSlant.
- Avatar.
Color.h
: Contains colour definitions for the 16 colors that Termin8or (and the terminal) supports. There are also two transparency colours / modes which allows you to overlay text using the same colours that are already present in a given location in the screen buffer (seeScreenHandler.h
).Gradient.h
: Allows you to access a vector of given objects using a normalized (0 to 1) t parameter. Useful for particle systems and things like that where it is used for color gradients.Drawing.h
: Features some drawing functions such asbresenham::plot_line()
,drawing::draw_box()
,drawing::draw_box_textured()
,drawing::draw_box_outline()
anddrawing::filled_circle_positions()
.GameEngine.h
: A highly customizable buy easy to use game engine (or engine for any real-time terminal-based program).Keyboard.h
: A keyboard handling API that is easy to use. Use classStreamKeyboard
to poll key presses.MessageHandler.h
: TheMessageHandler
class allows you to queue up messages of different severity levels and durations. Messages are displayed in aui::TextBox
in the middle of the screen.ParticleSystem.h
: This ASCII-style particle system allows you to make cool real-time VFX such as liquids and fire-smoke. See (SurgSim_Lite
andPilot_Episode
for examples).RC.h
: A struct representing the row and column position on the screen or in a texture or bounding box to mention a few.Rectangle.h
: A rectangle struct that can be used for bounding boxes etc.ScreenUtils.h
: A collection of functions for rendering dialogs and such:- Low-level functions:
clear_screen()
,return_cursor()
,restore_cursor()
,gotorc()
. draw_frame()
: Draws a simple frame around your frame buffer.draw_game_over()
,draw_you_won()
: Draws wavy banners in the FIGlet font Grafitti. Used byGameEngine
if those features are enabled.
- Low-level functions: