#ifndef NANA_DETAIL_MSG_PACKET_HPP #define NANA_DETAIL_MSG_PACKET_HPP #include #include #include #include namespace nana { namespace detail { enum class propagation_chain { exit, //Exit the chain stop, //Stop propagating pass //propagate }; struct msg_packet_tag { enum class pkt_family{xevent, mouse_drop, cleanup}; pkt_family kind; union { XEvent xevent; Window packet_window; //Avaiable if the packet is not kind_xevent struct mouse_drop_tag { Window window; int x; int y; std::vector * files; }mouse_drop; }u; }; }//end namespace detail }//end namespace nana #endif