wrap_pdf_print_callback

Macro wrap_pdf_print_callback 

Source
macro_rules! wrap_pdf_print_callback {
    ($ vis : vis struct $ name : ident ; impl PdfPrintCallback { $ ($ (# [$ attrs_name : meta]) * fn $ method_name : ident (& $ self : ident $ (, $ arg_name : ident : $ arg_type : ty) * $ (,) ?) $ (-> $ return_type : ty) ? { $ ($ body : tt) * }) * }) => { ... };
    ($ vis : vis struct $ name : ident $ (< $ ($ generic_type : ident : $ first_generic_type_bound : tt $ (+ $ generic_type_bound : tt) *) , + $ (,) ? >) ? { $ ($ field_vis : vis $ field_name : ident : $ field_type : ty) , * $ (,) ? } impl PdfPrintCallback { $ ($ (# [$ attrs_name : meta]) * fn $ method_name : ident (& $ self : ident $ (, $ arg_name : ident : $ arg_type : ty) * $ (,) ?) $ (-> $ return_type : ty) ? { $ ($ body : tt) * }) * }) => { ... };
}
Expand description

Implement the WrapPdfPrintCallback trait for the specified struct. You can declare more members for your struct, and in the impl PdfPrintCallback block you can override default methods implemented by the ImplPdfPrintCallback trait.

ยงExample


wrap_pdf_print_callback! {
    struct MyPdfPrintCallback {
        payload: String,
    }

    impl PdfPrintCallback {
        // ...
    }
}

fn make_my_struct() -> PdfPrintCallback {
    MyPdfPrintCallback::new("payload".to_string())
}