8 #include "ShapedGlyph.h"
9 #include "DebugRendering.h"
12 #include "StencilMapLayerMask.h"
13 #include "LabelStyle.h"
15 #include "Rendering.h"
26 namespace DebugDrawMode
37 inline u32 ToFlag(Type debugDrawMode)
39 return 1 << debugDrawMode;
48 virtual void Draw() = 0;
52 virtual std::vector<const LabelView*>& GetViewList() = 0;
64 u32 mapLayersStencilMask,
65 const Rendering::LayerIds::Values renderLayer
72 std::vector<const LabelView*>& GetViewList() {
return m_viewList; }
82 void DrawLabel(
const LabelView& labelView, FlattenMode flattenMode,
float flattenParam);
83 void DrawTextComponent(
const LabelView& labelView, FlattenMode flattenMode,
float flattenParam,
bool worldSpace,
bool labelStyleChanged);
84 void DrawIconComponent(
const LabelView& labelView, FlattenMode flattenMode,
float flattenParam,
bool worldSpace,
bool labelStyleChanged,
bool iconScaleChanged);
88 void DebugDrawPoint(
const v2& p);
91 StencilMode::Type CalcStencilMode(
const LabelStyle& labelStyle, FlattenMode flattenMode);
92 v4 CalcMaskedColor(
const v4& nonMaskedColor,
const v4& maskedColor, StencilMode::Type stencilMode, FlattenMode flattenMode,
float flattenParam)
const;
93 float CalcIconAlpha(
float fadeParam,
float styleAlpha,
float maskedStyleAlpha, StencilMode::Type stencilMode, FlattenMode flattenMode,
float flattenParam)
const;
104 std::vector<const LabelView*> m_viewList;
108 float m_prevIconScale;
110 const u32 m_mapLayersStencilMask;
111 const Rendering::LayerIds::Values m_renderLayer;
112 bool m_needToFlushIconRenderer;