gl-context-loader 0.1.8

Minimal OpenGL function loader for no_std OpenGL contexts
Documentation
# opengl-function-loader

Defines a struct holding OpenGL function pointers as well as the corresponding
functions. Designed for no_std use (with `default-features = false`).

You are responsible for loading the functions yourself:

```rust
fn main() {
    /// ...

    wglMakeContextCurrent(hDC, hRC);

    let context = GenericGlContext {
        glAccum: wglGetProcAddress("glAccum"),
        glActiveTexture: wglGetProcAddress("glActiveTexture"),
        glAlphaFunc: wglGetProcAddress("glAlphaFunc"),
        glAreTexturesResident: wglGetProcAddress("glAreTexturesResident"),
        ...
    };

    // function provided by this library - also available on no_std!
    context.clear_color(0.0, 0.0, 0.0, 0.0);
    context.flush();

    wglMakeContextCurrent(NULL, NULL);
}
```

If a function pointer is set to `0x00000` (i.e. the function is not loaded),
this library will return a "default" value without panicking (i.e.
`Vec::new()`, `String::new()` or `0`). With stdlib support it will
print a "missing function: X" to stdout before returning.

**If stdlib support is enabled, `GenericGlContext` implements `gleam::Gl`!**.
The point of this is to make it possible to integrate crates that use `gleam::Gl`
with custom OpenGL function pointer loaders while using custom loaders on `no_std`.

## License

The code is somewhat copied from servo/gleam, so it retains the original
Apache/MIT license.