OpenRoadCode
Public API reference for OpenRoadCode
Loading...
Searching...
No Matches
map_renderer_frontend.hpp
1// SPDX-FileCopyrightText: 2026 Mark G. Russell
2// SPDX-License-Identifier: MIT
3
4#pragma once
5
6#include <mbgl/map/map.hpp>
7#include <mbgl/renderer/renderer_frontend.hpp>
8
9#include <memory>
10
11namespace mbgl {
12
13class Renderer;
14class RendererObserver;
15class UpdateParameters;
16
17}
18
19class MapView;
20
28 : public mbgl::RendererFrontend
29{
30public:
37 std::unique_ptr<mbgl::Renderer> renderer,
38 MapView& mapView
39 );
40
43
45 void reset() override;
46
48 void setObserver(
49 mbgl::RendererObserver& observer
50 ) override;
51
53 void update(
54 std::shared_ptr<
55 mbgl::UpdateParameters
56 > updateParameters
57 ) override;
58
60 const mbgl::TaggedScheduler&
61 getThreadPool() const override;
62
64 void render();
65
67 mbgl::Renderer* getRenderer();
68
69private:
70 MapView& mapView;
71
72 std::unique_ptr<
73 mbgl::Renderer
74 > renderer;
75
76 std::shared_ptr<
77 mbgl::UpdateParameters
78 > updateParameters;
79};
Connects MapLibre rendering updates to a MapView window.
Definition map_renderer_frontend.hpp:29
void setObserver(mbgl::RendererObserver &observer) override
Install the observer that receives renderer events.
Definition map_renderer_frontend.cpp:38
void update(std::shared_ptr< mbgl::UpdateParameters > updateParameters) override
Store a MapLibre update and schedule a frame.
Definition map_renderer_frontend.cpp:47
const mbgl::TaggedScheduler & getThreadPool() const override
Return the scheduler owned by the view's renderer backend.
Definition map_renderer_frontend.cpp:59
void render()
Render the most recently submitted update, when one exists.
Definition map_renderer_frontend.cpp:67
~MapRendererFrontend() override
Destroy the frontend and its renderer.
void reset() override
Release the owned renderer.
Definition map_renderer_frontend.cpp:31
mbgl::Renderer * getRenderer()
Return the owned renderer, or nullptr after reset().
Definition map_renderer_frontend.cpp:92