LibCXX Windows Library

Index

Introduction
Status
Installation, and requirements

Introduction

LibCXXW is an optional add-on library to LibCXX that implements a basic X user interface toolkit with a modern C++17 API and without any dependencies on large Gnome (GTK) or QT libraries. The only dependencies are toolkit-independent libraries that are not tied to any particular desktop environment. See the section called “Installation, and requirements” for more information. LibCXXW aims to make it possible to quickly implement a simple, basic, no-frills X user interface in C++. Notable features:

  • Implements classical, tradition UI elements — labels, text input fields, lists, combo-boxes, menus, and dialogs — updated to modern UI standards: confirming the last character typed into a password field before masking it, predictive selection of combo-box entries, spin buttons for numerical input fields, etc...

  • Clean modern look, with mild gradient shading for a subtle, non-intrusive 3D effect. Fully keyboard-accessible. All display elements have full keyboard navigation, where possible. No explicit application support is needed. Even scroll-bars have keyboard controls.

  • Takes full advantage of modern C++17 language features. Lambdas handle UI events (button clicks, menu selections, and other activity). Variant types provide compact means for selecting alternative options. All display elements are reference-counted objects.

  • Fully scalable and themeable UI uses a library-specific scalable graphic format, to easily scale all UI elements to a user-preferred size.

  • LibCXX Windows Library does not force the application to use an event-driven design. LibCXX Windows Library runs in an internal execution thread that handles all X events. The library's execution thread continues to update the display elements, and process X events as needed, all by itself, while the main application performs a long-running task (with all pointer and button activity suspended).

  • LibCXX Windows Library is a compositing toolkit. The underlying video hardware must implement the X RENDER extension. This should be supported by all modern video hardware.

  • Anti-aliased fonts get rendered by the Freetype library.

LibCXX Windows Library is free software, distributed under the terms of the GPL, version 3.

Status

LibCXX Windows Library is in active development. The most recent build implements the item layout manager.