Skip to content

October22

mdavisprog edited this page Oct 31, 2022 · 1 revision

October 2022

Here is a list of updates for the month of October. For a full list of updates, please refer to the commit history.

The focus for this month has been work on documentation. Initial class descriptions have been added for most controls. A class tree is now generated with these descriptions which can be found here.

Application

A new 'CustomTitleBar' property can be defined which will forward this setting to all windows.

Documentation

Doxygen style documentation has been introduced for most controls as a start to the process of documenting the library. Currently, only simple class descriptions have been added. These classes will have more detailed documentation as the library matures.

doxymark

This is a tool written in Rust that can translate the Doxygen XML output and convert it into GitHub markdown files. Any classes that has a description will have a markdown file generated for them. A Table of Contents file is also generated with the class tree of generated markdown files.

Frontend

Some refactoring has been done to the Windowing interface.

Windowing

All functions that had implementations for a single platform have been moved to just that platform interface. This reduces clutter for the Windowing interface where most functions are not needed for all platforms.

The interface now supports updating the native window size when the library emits a WindowAction::Size event.

Maximize events are also supported with both the SDL2 and SFML frontends. However, custom logic was needed to properly notify the library of the mazimize event on Linux and Mac platforms.

Icons

Definition of icons can now be defined in its own JSON file and can be referenced by the Application's JSON object. This means the 'Icons' object can either be a string referencing a file or an object that defines each icon.

Paint

An issue has been fixed where nested clipped controls were being painted outside the bounds. All clipped bounds are now intersected with their parent clipped bounds.

Scripts

'GenerateDocs' and 'Doxymark' scripts have been introduced. The 'GenerateDocs' script will generate the Doxygen files from the source. The 'Doxymark' script will run the doxymark tool on the generated XML documentation. Doxygen and Rust must be installed in order to use these scripts.

Window

Move events are now supported to update the library's window position.

With support for custom title bars, a fix for being able to resize the window has also been addressed this month.

Unit Tests

A new test suite 'Rect' has been added.

Clone this wiki locally