From db96df010fa00e9e2af7518d90b6e8a481372fea Mon Sep 17 00:00:00 2001 From: Matt Date: Tue, 19 Feb 2019 16:03:08 +0100 Subject: [PATCH] Expose Painter in Context --- src/openrct2/Context.cpp | 5 +++++ src/openrct2/Context.h | 6 ++++++ src/openrct2/paint/Painter.h | 8 ++++---- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/openrct2/Context.cpp b/src/openrct2/Context.cpp index 5a6b48ec72..a8770c749f 100644 --- a/src/openrct2/Context.cpp +++ b/src/openrct2/Context.cpp @@ -220,6 +220,11 @@ namespace OpenRCT2 return _drawingEngine.get(); } + virtual Paint::Painter* GetPainter() override + { + return _painter.get(); + } + int32_t RunOpenRCT2(int argc, const char** argv) override { if (Initialise()) diff --git a/src/openrct2/Context.h b/src/openrct2/Context.h index 902bf87293..dfe2479034 100644 --- a/src/openrct2/Context.h +++ b/src/openrct2/Context.h @@ -88,6 +88,11 @@ namespace OpenRCT2 interface IUiContext; } + namespace Paint + { + interface Painter; + } + /** * Represents an instance of OpenRCT2 and can be used to get various services. */ @@ -107,6 +112,7 @@ namespace OpenRCT2 virtual IReplayManager* GetReplayManager() abstract; virtual int32_t GetDrawingEngineType() abstract; virtual Drawing::IDrawingEngine* GetDrawingEngine() abstract; + virtual Paint::Painter* GetPainter() abstract; virtual int32_t RunOpenRCT2(int argc, const char** argv) abstract; diff --git a/src/openrct2/paint/Painter.h b/src/openrct2/paint/Painter.h index 4302713867..cb338a0cfd 100644 --- a/src/openrct2/paint/Painter.h +++ b/src/openrct2/paint/Painter.h @@ -30,7 +30,7 @@ namespace OpenRCT2 namespace Paint { - class Painter final + interface Painter final { private: std::shared_ptr const _uiContext; @@ -41,11 +41,11 @@ namespace OpenRCT2 public: explicit Painter(const std::shared_ptr& uiContext); - void Paint(Drawing::IDrawingEngine& de); + void Paint(Drawing::IDrawingEngine & de); private: - void PaintReplayNotice(rct_drawpixelinfo* dpi, const char* text); - void PaintFPS(rct_drawpixelinfo* dpi); + void PaintReplayNotice(rct_drawpixelinfo * dpi, const char* text); + void PaintFPS(rct_drawpixelinfo * dpi); void MeasureFPS(); }; } // namespace Paint