#ifndef slic3r_Events_hpp_ #define slic3r_Events_hpp_ #include namespace Slic3r { namespace GUI { struct SimpleEvent : public wxEvent { SimpleEvent(wxEventType type, int id = 0) : wxEvent(id, type) {} virtual wxEvent* Clone() const { return new SimpleEvent(GetEventType(), GetId()); } }; template struct ArrayEvent : public wxEvent { std::array data; ArrayEvent(wxEventType type, std::array data, int id = 0) : wxEvent(id, type), data(std::move(data)) {} virtual wxEvent* Clone() const { return new ArrayEvent(GetEventType(), data, GetId()); } }; template struct ArrayEvent : public wxEvent { T data; ArrayEvent(wxEventType type, T data, int id = 0) : wxEvent(id, type), data(std::move(data)) {} virtual wxEvent* Clone() const { return new ArrayEvent(GetEventType(), data, GetId()); } }; template using Event = ArrayEvent; } } #endif // slic3r_Events_hpp_