1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#![cfg(windows)]
#![warn(missing_docs)]
/*!
This crate provides a wrapper for console-related functions in the Windows API.

[![Crate](https://img.shields.io/crates/v/winconsole.svg)](https://crates.io/crates/winconsole) ![License](https://img.shields.io/crates/l/winconsole.svg)

# Usage
Add the following to `Cargo.toml`:
```toml
[dependencies]
winconsole = "0.11"
```
Then, add the following to your code:
```rust
extern crate winconsole;
```

---

There are a few optional features:
* `cgmath` - Includes conversions for the [cgmath](https://github.com/rustgd/cgmath) Vector2 type.
* `input` - Includes input-related functions.
* `serde` - Support for [serde](https://serde.rs/).
* `window` - Includes window-related functions.

These features must be added to `Cargo.toml`:
```toml
[dependencies.winconsole]
version = "0.11"
features = ["input", "serde", "window"]
```
*/
#[cfg(feature = "cgmath")]
extern crate cgmath;
#[macro_use]
extern crate lazy_static;
extern crate rgb;
#[cfg(feature = "serde")]
#[macro_use]
extern crate serde;
extern crate winapi;

#[macro_use]
mod macros;

/// Contains console-related functions, structs, and enums.
pub mod console;
/// Contains various error types.
pub mod errors;
/// Contains input-related functions, structs, and enums.
#[cfg(feature = "input")]
pub mod input;
/// Contains window-related functions, structs, and enums.
#[cfg(feature = "window")]
pub mod window;