You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Add mkdocs.yml with Material theme and purple color scheme
- Create docs/ pages: index, installation, usage, examples, about-rice
- Add GitHub Actions workflow for automatic deployment to GitHub Pages
- Integrate auto-generated API docs for Bmp, Rice, and Std namespaces
- Streamline README to link to full documentation site
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@@ -6,18 +6,6 @@ Ruby bindings for [BitmapPlusPlus](https://github.com/baderouaich/BitmapPlusPlus
6
6
7
7
This gem serves as both a useful library and a **practical example of using [Rice](https://github.com/ruby-rice/rice) to create Ruby bindings for C++ libraries**.
8
8
9
-
Rice is a C++ header-only library that makes it easy to create Ruby extensions. This project demonstrates several Rice features:
10
-
11
-
-**Module and class definitions** - Wrapping C++ namespaces and classes
12
-
-**Constructor overloading** - Multiple constructors with different signatures
13
-
-**Method binding** - Direct mapping of C++ methods to Ruby
14
-
-**Operator overloading** - Exposing C++ operators (`==`, `!=`, `[]`, etc.)
15
-
-**Attribute access** - Binding C++ struct members as Ruby attributes
16
-
-**STL integration** - Using `rice/stl.hpp` for automatic type conversions
17
-
-**Iterator support** - Making C++ iterators work with Ruby's `each`
18
-
-**Exception handling** - C++ exceptions converted to Ruby exceptions
19
-
-**Default arguments** - Supporting optional parameters with defaults
20
-
21
9
The binding code in `ext/bitmap_plus_plus/bitmap_plus_plus.cpp` is well-commented and can serve as a reference for your own Rice projects.
22
10
23
11
## Features
@@ -31,55 +19,7 @@ The binding code in `ext/bitmap_plus_plus/bitmap_plus_plus.cpp` is well-commente
31
19
- 32 predefined colors
32
20
- Iterator support for pixel enumeration
33
21
34
-
## Installation
35
-
36
-
### Prerequisites
37
-
38
-
- Ruby 3.0 or higher
39
-
- A C++17 compatible compiler
40
-
- Rice gem (automatically installed as a dependency)
|`draw_circle(cx, cy, radius, color)`| Draw circle outline |
243
-
|`fill_circle(cx, cy, radius, color)`| Draw filled circle |
244
-
|`flip_v`| Return vertically flipped copy |
245
-
|`flip_h`| Return horizontally flipped copy |
246
-
|`rotate_90_left`| Return 90-degree left rotated copy |
247
-
|`rotate_90_right`| Return 90-degree right rotated copy |
248
-
|`save(filename)`| Save to BMP file |
249
-
|`load(filename)`| Load from BMP file |
250
-
|`each`| Iterate over pixels |
251
-
|`each_reverse`| Iterate in reverse |
49
+
For detailed installation options including building from source and CMake builds, see the [Installation Guide](https://cfis.github.io/bitmap_plus_plus-ruby/installation/).
252
50
253
-
### Bmp::Pixel
51
+
##Documentation
254
52
255
-
| Method | Description |
256
-
|--------|-------------|
257
-
|`new()`| Create black pixel (0, 0, 0) |
258
-
|`new(rgb)`| Create from hex value (0xRRGGBB) |
259
-
|`new(r, g, b)`| Create from RGB components |
260
-
|`r`, `g`, `b`| Access color components |
261
-
|`r=`, `g=`, `b=`| Set color components |
262
-
|`==`, `!=`| Comparison operators |
53
+
Full documentation is available at **[https://cfis.github.io/bitmap_plus_plus-ruby/](https://cfis.github.io/bitmap_plus_plus-ruby/)**
263
54
264
-
## Examples
265
-
266
-
See the `examples/` directory for runnable examples:
0 commit comments