/app

Primary LanguageC++

https://github.com/ca2/documentation

logo  

ca2 Framework

🌌🌍The future is here!!
 

ca2 is a powerful, all-purpose, cross-platform C++ framework and library suite that enables developers to build exceptional user experiences by harnessing the full potential of the C++ language. Its flexible architecture and abstractions facilitate the rapid development and deployment of complex, performance-critical applications, empowering developers to focus on creating exceptional user experiences rather than dealing with the underlying intricacies of the C++ language and target platform. Additionally, ca2's innovative design ensures that your applications will be able to evolve and adapt as technology advances, future-proofing your investment in the development process.

contributors last update forks stars open issues license

View Demo · Documentation · Report Bug · Request Feature


Features

User Interface (UI)
  • A set of tools and abstractions for building graphical user interfaces, including support for various UI elements, layout, and style.
Graphics
  • A library for rendering 2D and 3D graphics, including support for various image and vector formats, as well as hardware acceleration and GPU-based rendering.
GDI+ and Direct2D for Windows
  • Platform-specific libraries for rendering graphics on Windows, providing high-performance, hardware-accelerated rendering on Windows devices.
Quartz2D for macOS and iOS
  • Platform-specific libraries for rendering graphics on macOS and iOS, providing high-quality, hardware-accelerated rendering on Apple devices.
Cairo for any other
  • A cross-platform library for rendering vector graphics, providing support for a wide range of output devices and display technologies.
Image Loading/Saving
  • A library for loading and saving various image formats, including support for common image file formats, such as JPEG, PNG, and TIFF.
Theming
  • A set of tools and abstractions for customizing the look and feel of the UI, including support for custom colors, fonts, and styles.
Parallelization & Synchronization
  • A library for concurrent programming and synchronization, including support for parallel execution, thread-safe data structures, and concurrent access to shared resources.
Apex Message Queue
  • A high-performance message queue for passing messages and data between different parts of the application, allowing for efficient communication and coordination between concurrent tasks.
Networking
  • A library for networking and communication, including support for public and local webservers, websockets, and sockets, as well as various protocols and APIs for network communication.
Audio Decoding
  • A library for decoding audio files and streams, including support for a wide range of audio formats and codecs.
Audio Playback
  • A library for playing back audio, including support for various playback modes, volume control, and audio effects.
MIDI Playback
  • A library for playing back MIDI files and streams, including support for various MIDI file formats and soundfonts.

Getting Started

Environment Variables

It is recommended that you add the following environment variables to your .env file

%UserProfile%/simple/operating_system/tool-windows/bin

Prerequisites

Install either Git client

Git

Smart Git

Install Git LFS plugin

git lfs install

Installation for Windows

Create directory

mkdir $HOME/operating_system

Clone the project

git clone https://github.com/ca2/storage-windows $HOME/operating_system/storage-windows --recurse-submodules
git clone https://github.com/ca2/tool-windows $HOME/operating_system/tool-windows
git clone https://github.com/ca2/windows-simple-solution $HOME/simple --recurse-submodules

Contact

Camilo Sasuke Thomas Borregaard Sørensen

Website
Email
  • camilosasuketbs@gmail.com
Address
  • Alameda Princesa Izabel, 3080 - Bigorrilho, Curitiba - PR, 80730-080, Brazil
Phone
  • +55 41 3335-7137