Amaretto

A multi platform C++ terminal I/O library

License Issues GitHub pull requests

Introduction

A C++ terminal input/output library for Linux and Windows.

This was another experiment of mine, not actually intended for production. You can use it if you want, though.

Features

  • Basic colored output
  • Keyboard input
  • Window title changing
  • Cursor positioning, hiding/showing
  • Rectangle drawing, filling functions
  • Line drawing functions
  • String outputting functions
  • Pattern drawing functions
  • Border drawing functions
  • Color-only/character-only drawing functions
  • Wide characters support
  • Mouse events

Bugs

  • When cbreak is enabled and the program listens to mouse movement/scrolling events, the ansi escape sequence to turn off those events wont run, so on some terminals it might be goofy on CTRL+C exit (tested gnome-terminal, xfce4-terminal)

If you find any bugs, please create an issue and report them.

Documentation

Coming soon.

Dependencies

Linux

Make

Run make all to see all the make rules.

  • Use make static to compile a static library and make shared to compile a dynamic library
  • Dont forget to make clean when you want to recompile the library
  • Use make install (on Linux) to install the library
  • Use make tests to compile the test programs

GitHub

View Github