m79: try to keep LineMetrics members in the bindings and just make std::map opaque
@@ -686,6 +686,13 @@ fn bindgen_gen(build: &FinalBuildConfiguration, current_dir: &Path, output_direc
// modules/skshaper/
.whitelist_type("SkShaper")
.whitelist_type("RustRunHandler")
+ // modules/skparagraph
+ // pulls in a std::map<>, which we treat as opaque, but bindgen creates wrong bindings for
+ // std::_Tree* types
+ .blacklist_type("std::_Tree.*")
+ .blacklist_type("std::map.*")
+ // not used at all:
+ .blacklist_type("std::vector.*")
// Vulkan reexports that got swallowed by making them opaque.
.whitelist_type("VkPhysicalDeviceFeatures")
.whitelist_type("VkPhysicalDeviceFeatures2")
@@ -828,7 +835,7 @@ const OPAQUE_TYPES: &[&str] = &[
// skparagraph (m78), (layout fails on macOS and Linux, not sure why, looks like an obscure alignment problem)
"skia::textlayout::FontCollection",
// skparagraph (m79), std::map is used in LineMetrics
- "skia::textlayout::LineMetrics",
+ "std::map",
// Vulkan reexports with the wrong field naming conventions.
"VkPhysicalDeviceFeatures",
"VkPhysicalDeviceFeatures2",
