1header = """/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */"""
4autogen_warning = """/* DO NOT MODIFY THIS MANUALLY! This file was generated using cbindgen.
5 * To generate this file:
6 *   1. Get the latest cbindgen using `cargo install --force cbindgen`
7 *      a. Alternatively, you can clone `https://github.com/eqrion/cbindgen` and use a tagged release
8 *   2. Run `rustup run nightly cbindgen toolkit/library/rust/ --lockfile Cargo.lock --crate webrender_bindings -o gfx/webrender_bindings/webrender_ffi_generated.h`
9 */"""
10include_version = true
11braces = "SameLine"
12line_length = 100
13tab_width = 2
14language = "C++"
15namespaces = ["mozilla", "wr"]
16
17[export]
18item_types = ["globals", "enums", "structs", "unions", "typedefs", "opaque", "functions", "constants"]
19include = ["POLYGON_CLIP_VERTEX_MAX"]
20
21[parse]
22parse_deps = true
23extra_bindings = ["webrender_api"]
24include = ["log", "euclid", "webrender", "webrender_api"]
25
26[fn]
27args = "Vertical"
28rename_args = "GeckoCase"
29
30[struct]
31associated_constants_in_body = true
32derive_eq = true
33derive_ostream = true
34
35[enum]
36add_sentinel = true
37derive_helper_methods = true
38derive_ostream = true
39
40[macro_expansion]
41bitflags = true
42
43[defines]
44"target_os = windows" = "XP_WIN"
45"target_os = macos" = "XP_MACOSX"
46"target_os = android" = "ANDROID"
47
48[export.rename]
49"ThinVec" = "nsTArray"
50
51[export.body]
52"Box2D" = """
53  inline T width() const { return max.x - min.x; }
54  inline T height() const { return max.y - min.y; }
55"""