Skip to content

Getting Started

Welcome to the Learn The API section of CoshUI's documentation. Now it might be a little overwhelming going through the navigation bar and seeing so many pages — but worry not as this page will serve as a guide for your journey.

If you haven't already done the first tutorial for CoshUI, it is advisable to check it out. If you already have or just think you're too cool for it, then let's get on with learning the API.


Layout

The Layout section will teach you all about the CoshLayout object, its attributes, and how it affects CoshUI's layout system.

Start Here

Styling

This section teaches you about the CoshStyling object, its attributes, and how each affects the appearance of Nodes.

Start Here

Themes

Themes are the base appearance of the UI. This section will talk about the different default themes, how to set them, and how to create your own theme using the create_theme() public function.

Start Here

Nodes

Nodes are the heart of the UI system. This section will talk about the different kinds of nodes, their default behaviours, how the engine views them, and how to set them up properly and effectively.

Start Here

Animation System

CoshUI comes with it's own built-in and simple animation system. This section will teach you how to set animations and use it properly within your project.

Start Here

Signals and Data Binding

This section explains the different signals a Node object can emit, how to capture those signals, and how to get/bind data from specific widgets to outside variables.

Start Here

Text System

CoshUI uses the utilized backend's built-in text system to display text. This section will teach you all about how text can be used and manipulated.

Start Here

Types and Enums

CoshUI has multiple Enums to be passed as values for attributes. This section will teach you all about them, where to use them, and how to use them.

Start Here


Specific Properties & Functions

If you've gone through it all or are just trying to find something specific about the API, then it's best to check these sections:

All Node Properties
All Public Functions


Definition of Terms

Terms frequently used in the CoshUI documentation.

Term Definition
Local Values Attributes that only affects the specified Node (e.g., width, height)
Atomic Nodes Nodes that are only made up of a single Node (e.g., Button, Checkbox)
Composite Nodes Nodes that are made up of multiple Nodes (e.g., Slider, Modal, Dropdown)
Recursive Values Attributes that are inherited by the Node's children (e.g., z_index, alpha)
Local Attribute/Property An attribute only certain Nodes poessesses
Universal Attribute/Property An attribute that every Node possesses