wrap_drag_handler

Macro wrap_drag_handler 

Source
macro_rules! wrap_drag_handler {
    ($ vis : vis struct $ name : ident ; impl DragHandler { $ ($ (# [$ 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 DragHandler { $ ($ (# [$ attrs_name : meta]) * fn $ method_name : ident (& $ self : ident $ (, $ arg_name : ident : $ arg_type : ty) * $ (,) ?) $ (-> $ return_type : ty) ? { $ ($ body : tt) * }) * }) => { ... };
}
Expand description

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

ยงExample


wrap_drag_handler! {
    struct MyDragHandler {
        payload: String,
    }

    impl DragHandler {
        // ...
    }
}

fn make_my_struct() -> DragHandler {
    MyDragHandler::new("payload".to_string())
}