| 67 | }; |
| 68 | |
| 69 | struct ShapeControl |
| 70 | { |
| 71 | ShapeControl() = default; |
| 72 | ShapeControl(ShapeControl const & other) = delete; |
| 73 | ShapeControl(ShapeControl && other) = default; |
| 74 | |
| 75 | ShapeControl & operator=(ShapeControl const & other) = delete; |
| 76 | ShapeControl & operator=(ShapeControl && other) = default; |
| 77 | |
| 78 | struct ShapeInfo |
| 79 | { |
| 80 | ShapeInfo() : m_state(df::CreateRenderState(gpu::Program::TexturingGui, df::DepthLayer::GuiLayer)) {} |
| 81 | ShapeInfo(dp::RenderState const & state, drape_ptr<dp::VertexArrayBuffer> && buffer, drape_ptr<Handle> && handle); |
| 82 | |
| 83 | void Destroy(); |
| 84 | |
| 85 | dp::RenderState m_state; |
| 86 | drape_ptr<dp::VertexArrayBuffer> m_buffer; |
| 87 | drape_ptr<Handle> m_handle; |
| 88 | }; |
| 89 | |
| 90 | void AddShape(dp::RenderState const & state, drape_ptr<dp::RenderBucket> && bucket); |
| 91 | |
| 92 | std::vector<ShapeInfo> m_shapesInfo; |
| 93 | }; |
| 94 | |
| 95 | class ShapeRenderer final |
| 96 | { |