https://github.com/ca2/documentation
🌌🌍The future is here!!
ca2 Frameworkca2 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.
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
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
- camilosasuketbs@gmail.com
Address
- Alameda Princesa Izabel, 3080 - Bigorrilho, Curitiba - PR, 80730-080, Brazil
Phone
- +55 41 3335-7137