https://github.com/niten01/canvaslib
A tiny 2d graphics c++ library for fast prototyping
https://github.com/niten01/canvaslib
2d canvas cpp glfw library
Last synced: 11 months ago
JSON representation
A tiny 2d graphics c++ library for fast prototyping
- Host: GitHub
- URL: https://github.com/niten01/canvaslib
- Owner: niten01
- Created: 2022-09-20T21:02:13.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-21T10:15:39.000Z (about 2 years ago)
- Last Synced: 2025-05-17T15:32:07.803Z (about 1 year ago)
- Topics: 2d, canvas, cpp, glfw, library
- Language: C++
- Homepage: https://lolitron-0.github.io/CanvasLib/html/
- Size: 824 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CanvasLib
CanvasLib is a tiny c++ GLFW 2d graphics library for fast prototyping of some simulations/games/whatever. Inspired by JS canvas.
## Basic usage example
```cpp
#include
auto main() -> int
{
canv::Canvas canvas{ 1000, 800 };
canvas.setUpdateFunction(
[&canvas](double fpsScale)
{
canvas.setFillColor(canv::Colors::green);
canvas.drawRectangle(100, 100, 50, 150);
});
canvas.start();
}
```
## Building with CMake
### Dependencies
The only dependency is `glfw` library. You can install it via your favorite package manager. For exmple:
* `sudo apt-get install libglfw3 libglfw3-dev`
Or use Nix flakes.
### Adding to your project:
```cmake
include(FetchContent)
FetchContent_Declare(CanvasLib
GIT_REPOSITORY "https://github.com/Lolitron-0/CanvasLib"
GIT_TAG "origin/master"
)
FetchContent_MakeAvailable(CanvasLib)
target_link_libraries(foobarbaz PUBLIC CanvasLib)
```
## Docs
Doxygen documentation is available [here](https://lolitron-0.github.io/CanvasLib/html/).