vfx-rs / openexr-bind

cppmm bindings for OpenEXR
BSD 3-Clause "New" or "Revised" License
11 stars 6 forks source link

Wrap the imf_version module #20

Closed scott-wilson closed 3 years ago

scott-wilson commented 3 years ago

Description

Closes #18.

Implement the imfVersion module.

This changes the API from what's in C++ to make the version and flags have their own type, instead of being a simple integer.

CPPMM Checklist

Cppmm is our bindings generator. There are some tools in it to aid in creating safe and stable APIs.

FFI Safety Checklist

The Rustonomicon provides useful guides to prevent soundness errors in Rust. The FFI section of the document provides the source for these checklist items.

Rust API Guidelines Checklist

The checklist is heavily inspired by The Rust API Guidelines. Please check each item that applies, or note if an item is intentionally skipped (either partially or fully) with the reason.

Testing Checklist

The tests are meant to validate that the wrappers are sound and work as expected. Tests that are designed to exercise code for the wrapped library and not the bindings should be added to the wrapped library instead.