#pragma once #include "FontItem.h" #include "Color.h" #include #include #include #include #include #include #include class DrawingContext; class DirectXShaderProgram; class DirectX2dInterface; class TextData; class SceneText; struct ID2D1DeviceContext2; struct ID2D1SolidColorBrush; struct IDWriteFactory; class DirectXTextPainter { public: DirectXTextPainter(); void paint(SceneText* text, DrawingContext* context); void setD2dInterface(DirectX2dInterface* d2dIterface); private: void updateTextFormat(SceneText* text); D2D1::ColorF toD2dColor(const Color& color); DirectX2dInterface* mD2dInterface{ nullptr }; Microsoft::WRL::ComPtr mTextBrush; Microsoft::WRL::ComPtr mTextFormat; };