help@rskworld.in +91 93305 39277
RSK World
  • Home
  • Development
    • Web Development
    • Mobile Apps
    • Software
    • Games
    • Project
  • Technologies
    • Data Science
    • AI Development
    • Cloud Development
    • Blockchain
    • Cyber Security
    • Dev Tools
    • Testing Tools
  • About
  • Contact

Theme Settings

Color Scheme
Display Options
Font Size
100%
Back to Project
RSK World
cpp-shape-drawer
RSK World
cpp-shape-drawer
C++ Shape Drawer - Advanced Graphics Application + Raylib + OOP Design + Shape Tools + Transformation + Export + Educational Design
cpp-shape-drawer
  • include
  • src
  • CMakeLists.txt1.2 KB
  • LICENSE1.3 KB
  • README.md2.7 KB
  • RELEASE_NOTES.md3.1 KB
  • demo.html25.8 KB
  • index.html32.1 KB
  • release_note.html4.8 KB
README.md
README.md
Raw Download

README.md

# C++ Shape Drawer

Advanced shape drawing application using C++ and Raylib graphics library. Create circles, rectangles, triangles, and complex patterns with ease.

## Project Details
- **Title**: C++ Shape Drawer
- **Author**: Molla Samser (Founder of RSK World)
- **Designer & Tester**: Rima Khatun
- **Website**: [rskworld.in](https://rskworld.in)
- **Year**: 2026

## Features
- **Multiple Shape Types**: Circle, Rectangle, Triangle, Star, and **n-sided Polygons**.
- **Transformation Tools**: Rotate and Scale any shape on the canvas.
- **Project Persistence**: **Save** (K) and **Load** (L) your entire drawing project.
- **Layer Management**: Control the Z-order with **Bring to Front** and **Send to Back**.
- **Transparency Control**: Adjust the **Alpha** channel of any shape for layering effects.
- **Drag & Drop**: Select and move shapes with your mouse.
- **Color Customization**: Multiple colors (Red, Green, Blue, Yellow, Purple).
- **Pattern Generation**: Auto-generate spirals and grids.
- **Export Options**: Save your canvas to a PNG file.
- **Interactive Controls**: Intuitive keyboard and mouse controls.
- **Undo Functionality**: Quickly remove the last drawn shape.

## Controls
- **Left Click**: Place current shape OR Drag an existing shape to move it.
- **Keys 1, 2, 3, 4, 5**: Switch between Circle, Rectangle, Triangle, Star, and **Polygon**.
- **Keys Q / E**: Rotate the hovered/selected shape.
- **Keys + / - OR Mouse Wheel**: Scale the hovered/selected shape.
- **Key T + Arrows / Wheel**: Adjust Transparency (Alpha) of selected shape.
- **PgUp / PgDn**: Change layer order (Bring to Front / Send to Back).
- **Key K / L**: Save / Load project state.
- **Up / Down (Polygon Mode)**: Change the number of sides.
- **Keys R, G, B, Y, P**: Change current color.
- **Key F**: Toggle Fill mode (Filled vs Outline).
- **Key Z**: Undo last shape.
- **Key C**: Clear canvas.
- **Key E**: Export canvas to `cpp_shape_drawer_export.png`.

## Technologies
- **C++17**: Modern C++ standards.
- **Raylib**: Simple and easy-to-use graphics library.
- **OOP**: Object-Oriented design with polymorphism.
- **STL**: Use of `std::vector` and `std::unique_ptr`.

## How to Build
1. Install [Raylib](https://www.raylib.com/).
2. Install [CMake](https://cmake.org/).
3. Clone or download this project.
4. Run the following commands:
```bash
mkdir build
cd build
cmake ..
cmake --build .
```
5. Run the generated executable.

## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

---
© 2026 RSK World. All rights reserved.
For more free projects, visit [rskworld.in](https://rskworld.in)

About RSK World

Founded by Molla Samser, with Designer & Tester Rima Khatun, RSK World is your one-stop destination for free programming resources, source code, and development tools.

Founder: Molla Samser
Designer & Tester: Rima Khatun

Development

  • Game Development
  • Web Development
  • Mobile Development
  • AI Development
  • Development Tools

Legal

  • Terms & Conditions
  • Privacy Policy
  • Disclaimer

Contact Info

Nutanhat, Mongolkote
Purba Burdwan, West Bengal
India, 713147

+91 93305 39277

hello@rskworld.in
support@rskworld.in

© 2026 RSK World. All rights reserved.

Content used for educational purposes only. View Disclaimer