| 65 | } |
| 66 | |
| 67 | void DebugRectRenderer::SetArrow(ref_ptr<dp::GraphicsContext> context, m2::PointF const & arrowStart, |
| 68 | m2::PointF const & arrowEnd, ScreenBase const & screen) |
| 69 | { |
| 70 | std::vector<float> vertices; |
| 71 | m2::PointF const dir = (arrowEnd - arrowStart).Normalize(); |
| 72 | m2::PointF const side = m2::PointF(-dir.y, dir.x); |
| 73 | PixelPointToScreenSpace(screen, arrowStart, vertices); |
| 74 | PixelPointToScreenSpace(screen, arrowEnd, vertices); |
| 75 | PixelPointToScreenSpace(screen, arrowEnd - dir * 12 + side * 3, vertices); |
| 76 | PixelPointToScreenSpace(screen, arrowEnd, vertices); |
| 77 | PixelPointToScreenSpace(screen, arrowEnd - dir * 12 - side * 3, vertices); |
| 78 | |
| 79 | ASSERT_LESS_OR_EQUAL(m_currentArrowMesh, m_arrowMeshes.size(), ()); |
| 80 | if (m_currentArrowMesh == m_arrowMeshes.size()) |
| 81 | m_arrowMeshes.emplace_back(CreateMesh(context, m_program, std::move(vertices), "DebugArrow")); |
| 82 | else |
| 83 | m_arrowMeshes[m_currentArrowMesh]->UpdateBuffer(context, 0 /* bufferInd */, vertices); |
| 84 | } |
| 85 | |
| 86 | void DebugRectRenderer::SetRect(ref_ptr<dp::GraphicsContext> context, m2::RectF const & rect, ScreenBase const & screen) |
| 87 | { |
nothing calls this directly
no test coverage detected