All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MarkerPicker.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 "IMarker.h"
8 #include "Labels.h"
9 
10 
11 namespace Eegeo
12 {
13  namespace Markers
14  {
16  {
17  public:
18  virtual ~IMarkerPicker() {}
19 
20  virtual bool Pick(const v2& screenPoint, IMarker::IdType& out_markerId) = 0;
21  };
22 
24  {
25  public:
27  const LabelToMarkerModelRepository& labelToMarkerModelRepository,
28  const u32 pickingGroupMask);
29 
30  bool Pick(const v2& screenPoint, IMarker::IdType& out_markerId);
31  private:
32  Labels::ILabelPicker& m_labelPicker;
33  const LabelToMarkerModelRepository& m_labelToMarkerModelRepository;
34  u32 m_pickingGroupMask;
35  };
36 
37  }
38 }