41 lines
725 B
C++
41 lines
725 B
C++
#ifndef NANA_DETAIL_MSG_PACKET_HPP
|
|
#define NANA_DETAIL_MSG_PACKET_HPP
|
|
#include <X11/Xlib.h>
|
|
#include <vector>
|
|
#include <nana/deploy.hpp>
|
|
#include <nana/filesystem/filesystem.hpp>
|
|
|
|
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<std::filesystem::path> * files;
|
|
}mouse_drop;
|
|
}u;
|
|
};
|
|
}//end namespace detail
|
|
}//end namespace nana
|
|
#endif
|
|
|