All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MarkerController.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Markers.h"
6 #include "Types.h"
7 #include "ICallback.h"
8 #include "Interiors.h"
9 #include "ILabelAnchorFilter.h"
10 #include "IEvent.h"
11 
12 #include <vector>
13 
14 namespace Eegeo
15 {
16  namespace Markers
17  {
19  {
20  public:
22  Eegeo::Labels::LabelLayer::IdType outdoorLabelLayerId,
23  Eegeo::Labels::LabelLayer::IdType indoorLabelLayerId,
24  Labels::ILabelAnchorFilterModel& labelAnchorFilterModel,
25  MarkerHiddenChangedEvent& markerHiddenChangedEvent,
26  MarkerHideLabelFilter& markerHideLabelFilter);
27 
28  virtual ~MarkerController();
29 
30  virtual void Update(float dt);
31 
32  private:
33 
34  void OnInteriorViewModelChanged();
35 
36  void OnMarkerHiddenChangedEvent(const IMarker& marker);
37 
38  Resources::Interiors::IInteriorViewModelObserver& m_interiorViewModelObserver;
39 
40 
41  const Eegeo::Labels::LabelLayer::IdType m_outdoorLabelLayerId;
42  const Eegeo::Labels::LabelLayer::IdType m_indoorLabelLayerId;
43  Labels::ILabelAnchorFilterModel& m_labelAnchorFilterModel;
44  MarkerHiddenChangedEvent& m_markerHiddenChangedEvent;
45  MarkerHideLabelFilter& m_markerHideLabelFilter;
46 
47  Helpers::TCallback0<MarkerController> m_interiorViewModelChangedCallback;
48  Helpers::TCallback1<MarkerController, const IMarker> m_markerHiddenChangedEventHandler;
49 
50  bool m_outdoorLayerHiddenFilterChanged;
51  bool m_indoorLayerHiddenFilterChanged;
52  };
53 
54 
55  }
56 }