Skip to content

Xapier14/Cerulean

Repository files navigation

Cerulean UI

Useful Tools
CLI Tool | Layout Designer

Available on Nuget

Nuget Nuget Nuget Nuget

Basic Information

Write cross-platform GUI apps using simple XML and C#.
Mainly testing on Windows and Ubuntu. Feel free to test on other platforms.

Check out this sample calculator app on CeruleanUI.

Should also work on OSX, but you need to install SDL2 and the other libraries to your frameworks folder.
Bundle your needed fonts in a folder called "Fonts" in the build directory as the font loader is jank with OSX.

Getting Started

Warning This section is heavily under-construction. Use a release build instead if available.

  1. Download a release build here and extract the archive.

  2. Add the crn executable to your binaries folder or add the containing folder to the %PATH% environment variable.

  3. Create your new app via:

    crn new <app_name>
  4. Build the project.

    crn build

    This should automatically build the XMLs, the dotnet project, and bundle the needed dependencies.

    Currently, the bundler only works on a Windows build target for now. Support for other operating systems will come in a later update.

    See "Important Notes" below on how to bundle and install dependencies for other OSs.

  5. Run the app via:

    crn run

    If you run into DllNotFound errors, try running crn bundle.

Important Notes

  • .NET 6 is required for the CLI tool.
  • .NET 6 or newer projects are compatible with CeruleanUI.
  • By default, the CLI should use the latest .NET SDK and creates a project with the same version.
  • Use the appropriate SDL2 binaries for your app/system.
    • On Any CPU, use the binaries appropriate for your system's architecture.
    • On x86, use x86.
    • On x64, use x64.
  • On Windows, use the runtime binaries available at libsdl.org.
  • On Ubuntu, simply do:
    sudo apt-get install libsdl2-dev
    sudo apt-get install libsdl2-ttf-dev
    sudo apt-get install libsdl2-image-dev
  • Fonts will be searched first in a folder called Fonts in the environment's current directory, and then the system's font directory.
    • The default font for the Label component is Arial (Subject to change).
    • The library will find the first font with a filename of Arial.ttf or Arial.otf, this is case-insensitive.
    • If not found, it will simply throw a GeneralAPIException: "Font not found.".

Features

Cerulean API

  • Window Events
  • Styler Element

Cerulean Components

  • Functional Components
    • Timer
    • Pointer
  • Dialog Components
    • Message Box
    • Open File Dialog
    • Save File Dialog
    • Folder Select Dialog
  • Graphical Components
    • Rectangle
    • Image
    • Progress Bar
    • Label
  • Input Components
    • TextBox
    • MultiTextBox
    • Button
    • Check Box
    • Radio Button
    • Drop Down List
  • Container Components
    • Grid
    • Panel
    • Stack Panel
    • Group Tab

Cerulean CLI

  • Style Builder
  • C# Snippet Element
  • Project Builder/Scaffolder

Warning

This is a WIP project, please do not use in commercial projects.

License

This project uses the MIT License. SDL2 and SDL2-CS, dependencies of this project, are released under the zlib license.