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
|
header = """/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */"""
autogen_warning = """/* DO NOT MODIFY THIS MANUALLY! This file was generated using cbindgen.
* To generate this file:
* 1. Get the latest cbindgen using `cargo install --force cbindgen`
* a. Alternatively, you can clone `https://github.com/eqrion/cbindgen` and use a tagged release
* 2. Run `rustup run nightly cbindgen toolkit/library/rust/ --lockfile Cargo.lock --crate webrender_bindings -o gfx/webrender_bindings/webrender_ffi_generated.h`
*/"""
include_version = true
braces = "SameLine"
line_length = 100
tab_width = 2
language = "C++"
namespaces = ["mozilla", "wr"]
[export]
item_types = ["globals", "enums", "structs", "unions", "typedefs", "opaque", "functions", "constants"]
include = ["POLYGON_CLIP_VERTEX_MAX"]
[parse]
parse_deps = true
extra_bindings = ["webrender_api"]
include = ["log", "euclid", "webrender", "webrender_api"]
[fn]
args = "Vertical"
rename_args = "GeckoCase"
[struct]
associated_constants_in_body = true
derive_eq = true
derive_ostream = true
[enum]
add_sentinel = true
derive_helper_methods = true
derive_ostream = true
[macro_expansion]
bitflags = true
[defines]
"target_os = windows" = "XP_WIN"
"target_os = macos" = "XP_MACOSX"
"target_os = android" = "ANDROID"
[export.rename]
"ThinVec" = "nsTArray"
[export.body]
"Box2D" = """
inline T width() const { return max.x - min.x; }
inline T height() const { return max.y - min.y; }
"""
|