ferroui_markup_xaml_winui/
lib.rs1extern crate self as ferroui_markup_xaml_winui;
14
15mod bindings;
16mod importer;
17mod load;
18mod register_types;
19mod rust_paths;
20
21pub use bindings::{
22 WinUIBindExtension, WinUIBinding, WinUIBindingDiagnostic, WinUIBindingErrors, WinUIBindingScope, WinUIBindings,
23};
24pub use importer::{
25 migrate_winui_xaml, WinUIThemeResourcePolicy, WinUIXBindPolicy, WinUIXamlDiagnostic, WinUIXamlDiagnosticSeverity,
26 WinUIXamlEdit, WinUIXamlMemberMapping, WinUIXamlMigration, WinUIXamlMigrationError, WinUIXamlNamespaceMapping,
27 WinUIXamlOptions, WinUIXamlSourceSpan, WinUIXamlTypeMapping, WINUI_PRESENTATION_NAMESPACE,
28};
29pub use load::{load_winui, parse_winui, parse_winui_as};
30pub use register_types::{register_types, ASSEMBLY};
31
32macro_rules! identity_eq {
34 ($($type_:ty),* $(,)?) => {$(
35 impl PartialEq for $type_ {
36 fn eq(&self, other: &Self) -> bool {
37 ::std::ptr::addr_eq(self, other)
38 }
39 }
40 )*};
41}
42pub(crate) use identity_eq;
43
44pub(crate) fn throw<T>(result: Result<T, ferroui_markup_xaml::XamlLoadException>) -> T {
48 match result {
49 Ok(value) => value,
50 Err(error) => ferroui_markup_xaml::xaml_error_scope::throw(error),
51 }
52}
53
54#[cfg(test)]
55mod bindings_tests;
56#[cfg(test)]
57mod compiled_tests;
58#[cfg(test)]
59mod importer_tests;