Welcome to SixtyFPS C++’s documentation!

GitHub CI Build Status GitHub Discussions

SixtyFPS is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. SixtyFPS C++ is the C++ API to interact with a SixtyFPS UI from C++.

The .60 Markup Language

SixtyFPS comes with a markup language that is specifically designed for user interfaces. This language provides a powerful way to describe graphical elements, their placement, and the flow of data through the different states. It is a familiar syntax to describe the hierarchy of elements and property bindings. Here’s the obligatory “Hello World”:

HelloWorld := Window {
    width: 400px;
    height: 400px;

    Text {
       y: parent.width / 2;
       x: parent.x + 200px;
       text: "Hello, world";
       color: blue;
    }
}

Check out the language reference for more details.

Architecture

An application is composed of the business logic written in C++ and the .60 user interface design markup, which is compiled to native code.

Architecture Overview

Developing

You can create and edit .60 files using our SixtyFPS Visual Studio Code Extension, which features syntax highlighting and live design preview.

For a quick edit and preview cycle, you can also use the sixtyfps-viewer command line tool, which can be installed using cargo install sixtyfps-viewer, if you have Cargo installed.

In the next section you will learn how to install the SixtyFPS C++ library and the CMake build system integration.