7 #include "VectorMath.h"
8 #include "LabelLayer.h"
11 #include "LabelViewTypes.h"
21 inline static u32 LabelLayerToPickingGroupMask(LabelLayer::IdType labelLayerId)
23 return 1 << labelLayerId;
26 inline static u32 LabelComponentToMask(LabelComponent::Type labelComponent)
28 return 1 << labelComponent;
33 static LabelPickQuery Make(
const v2& screenPoint, LabelLayer::IdType labelLayerId);
35 static LabelPickQuery Make(
const v2& screenPoint, LabelLayer::IdType labelLayerId, LabelComponent::Type labelComponentType);
37 LabelPickQuery(
const v2& screenPoint, u32 pickingGroupMask, u32 labelComponentMask)
38 : m_screenPoint(screenPoint)
39 , m_pickingGroupMask(pickingGroupMask)
40 , m_labelComponentMask(labelComponentMask)
43 const v2& ScreenPoint()
const {
return m_screenPoint; }
45 u32 PickingGroupMask()
const {
return m_pickingGroupMask; }
47 u32 LabelComponentMask()
const {
return m_labelComponentMask; }
51 u32 m_pickingGroupMask;
52 u32 m_labelComponentMask;
60 LabelComponent::Type labelComponentType);
64 LabelComponent::Type labelComponentType,
68 , m_labelComponentType(labelComponentType)
69 , m_pAnchoredLabel(pAnchoredLabel)
77 bool operator()()
const
82 const IAnchoredLabel* GetLabelModel()
const {
return m_pAnchoredLabel; }
84 LabelComponent::Type GetLabelComponentType()
const {
return m_labelComponentType; }
88 LabelComponent::Type m_labelComponentType;