X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fcanvas%2FCanvasEvent.hxx;h=23da1048c2ef28a1d4a876a8b6804a78a9c97ebf;hb=791273c61de23d2ec383a270db27015d235a9938;hp=39c65abc5b51ff24325240f009ba720ca36b18e9;hpb=fc49be1e05fb2bc13fb26c43cf6efeed14033a9d;p=simgear.git diff --git a/simgear/canvas/CanvasEvent.hxx b/simgear/canvas/CanvasEvent.hxx index 39c65abc..23da1048 100644 --- a/simgear/canvas/CanvasEvent.hxx +++ b/simgear/canvas/CanvasEvent.hxx @@ -1,4 +1,5 @@ -// Canvas Event for event model similar to DOM Level 3 Event Model +/// @file +/// Canvas Event for event model similar to DOM Level 3 Event Model // // Copyright (C) 2012 Thomas Geymayer // @@ -20,30 +21,43 @@ #define CANVAS_EVENT_HXX_ #include "canvas_fwd.hxx" +#include namespace simgear { namespace canvas { - class Event + /** + * Base class for all Canvas events. + * + * The event system is closely following the specification of the DOM Level 3 + * Event Model. + */ + class Event: + public SGReferenced { public: + /// Event type identifier enum Type { UNKNOWN, -# define ENUM_MAPPING(name, str) name, +# define ENUM_MAPPING(name, str, class_name)\ + name, /*!< class_name (type=str) */ # include "CanvasEventTypes.hxx" # undef ENUM_MAPPING - USER_TYPE ///, + boost::bimaps::tagged + > TypeMap; + + static TypeMap& getTypeMap(); };