dx_core ===== [![Build status](https://ci.appveyor.com/api/projects/status/ky88y1599937nghd/branch/master?svg=true)](https://ci.appveyor.com/project/Mr-Byte/dx-core/branch/master) DirectX bindings for the rust programming language. dx_core is the core crate of the dx-rs project. It provides an implementation of the `IUnknown` trait called `Unknown`, provides a smart pointer type called `ComRef` which provides automatic management of the various COM objects returned by the DirectX APIs and will eventually provide other components that are common across the dx-rs family of crates. Details ======= The goal of dx-rs is to provide a set of idiomatic bindings to DirectX for the [rust programming](http://rust-lang.org) language. The bindings will not only expose functionality of the different COM objects using traits, but it will also leverage the capabilities of rust to provide automatic lifetime management of all COM objects. This is currently a work in progress project. The lifetime management of COM objects is complete and may be spun off into a library of its own. The next steps are to parse the DirectX headers and generate all the necessary code to make the bindings work. The primary goal is to expose the DXGI, Direct3D 11, Direct3D 10, and Direct2D APIs to rust, with plans to expand to the other APIs unrelated to graphics. The project is licensed under the Apache 2.0 license.