AppCUI

namespace AppCUI

Root namespace of the AppCUI framework (#include <AppCUI.hpp>).

Besides the namespaces below, it defines the fixed-size integer aliases used everywhere in the API (uint8 … uint64, int8 … int64, char8, char16).

Namespaces

  • AppCUI::Application - Application lifetime: initialization (Init, InitializationData), the event loop (Run), desktop windows (AddWindow, ArrangeWindows), menus, themes, settings (<executable>.ini) and custom frontends.

  • AppCUI::Controls - Every visual element: windows, buttons, text fields, lists, trees, grids, splitters, tabs, menus and the base Control class.

  • AppCUI::Dialogs - Ready made modal dialogs: message boxes, open / save file dialogs, the windows manager and the theme editor.

  • AppCUI::Endian - Byte order helpers: byte swapping and conversions between the host order and little / big endian.

  • AppCUI::Graphics - Drawing: colors, characters, the Renderer used by Control::Paint, canvases, images, rectangles, clipping, special characters (box drawing, arrows, …), code pages and text formatting.

  • AppCUI::Input - Keyboard and mouse input: key codes and modifiers (Key), mouse buttons and wheel, key bindings, key maps and keyboard modifier profiles (ModifierMap).

  • AppCUI::Log - Logging of AppCUI (and application) messages to a file, to stdout / stderr or to the debugger.

  • AppCUI::OS - Operating system services: files (File, MemoryFile, DataObject), the clipboard, dynamic libraries, date / time and special folders.

  • AppCUI::StdIncludes - Standard library names (string_view, u16string_view, unique_ptr, vector, optional, …) imported into the AppCUI namespace.

  • AppCUI::Utils - General purpose utilities: strings (String, LocalString, UnicodeStringBuilder, FixSizeString), buffers (Buffer, BufferView), INI files (IniObject), number formatting and parsing, smart references (Reference, Pointer), properties (PropertiesInterface) and key helpers (KeyUtils).

Type aliases

using AppCUI::uint64 = uint64_t
using AppCUI::uint32 = uint32_t
using AppCUI::uint16 = uint16_t
using AppCUI::uint8 = uint8_t
using AppCUI::int64 = int64_t
using AppCUI::int32 = int32_t
using AppCUI::int16 = int16_t
using AppCUI::int8 = int8_t
using AppCUI::char8 = char8_t
using AppCUI::char16 = char16_t
using AppCUI::ConstString = variant<string_view, u8string_view, u16string_view, CharacterView>