X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fcanvas%2FCanvasEvent.hxx;h=23da1048c2ef28a1d4a876a8b6804a78a9c97ebf;hb=791273c61de23d2ec383a270db27015d235a9938;hp=c3121269e90c90435e16eab424bac5f34c3ab5d1;hpb=943efbb3ed37afda79a761a643030647e85278c0;p=simgear.git diff --git a/simgear/canvas/CanvasEvent.hxx b/simgear/canvas/CanvasEvent.hxx index c3121269..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,31 +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(); };