All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ShapeEventTypes.h
1 #pragma once
2 
3 #include "EegeoShapes.h"
4 #include "IEvent.h"
5 #include "IShapeModel.h"
6 
7 namespace Eegeo
8 {
9  namespace Shapes
10  {
11  template <typename TShapeModel>
12  struct TShapeModelChangedMessage : private Eegeo::NonCopyable
13  {
14  TShapeModelChangedMessage(const TShapeModel& shapeModel,
15  bool geometryChanged)
16  : ShapeModel(shapeModel)
17  , GeometryChanged(geometryChanged)
18  {}
19 
20  const TShapeModel& ShapeModel;
21  bool GeometryChanged;
22  };
23 
24  template <typename TShapeModel>
25  class TShapeModelChangedEvent : public Helpers::IEvent1<const TShapeModelChangedMessage<TShapeModel> >
26  {
27 
28  };
29 
30  template <typename TShapeModel>
31  class TShapeModelAddedEvent : public Helpers::IEvent1<const TShapeModel>
32  {
33 
34  };
35 
36  template <typename TShapeModel>
37  class TShapeModelRemovedEvent : public Helpers::IEvent1<const TShapeModel>
38  {
39 
40  };
41  }
42 }