Further directx cleaning.

This commit is contained in:
jmsgrogan 2023-01-05 12:06:17 +00:00
parent d99a36f24f
commit 7fcc8e43ae
23 changed files with 401 additions and 304 deletions

View file

@ -11,6 +11,7 @@
#include "SceneText.h"
#include "StringUtils.h"
#include "File.h"
#include <windows.h>
@ -24,26 +25,15 @@ DirectXTextPainter::DirectXTextPainter()
}
void DirectXTextPainter::paint(SceneText* text, DrawingContext* context)
void DirectXTextPainter::initialize(ID2D1DeviceContext2* d2dContext, IDWriteFactory* directWriteFactory)
{
}
void DirectXTextPainter::paint(ID2D1DeviceContext2* d2dContext, float width, float height)
{
D2D1_RECT_F textRect = D2D1::RectF(0, 0, width, height);
static const WCHAR text[] = L"11On12";
d2dContext->BeginDraw();
d2dContext->SetTransform(D2D1::Matrix3x2F::Identity());
d2dContext->DrawText(text, _countof(text) - 1, mTextFormat.Get(), &textRect, mTextBrush.Get());
d2dContext->EndDraw();
initializeBrush(d2dContext);
initializeTextFormat(directWriteFactory);
}
void DirectXTextPainter::initializeBrush(ID2D1DeviceContext2* d2dContext)
{
d2dContext->CreateSolidColorBrush(D2D1::ColorF(D2D1::ColorF::Black), &mTextBrush);
d2dContext->CreateSolidColorBrush(D2D1::ColorF(D2D1::ColorF::Black), &mTextBrush);
}
void DirectXTextPainter::initializeTextFormat(IDWriteFactory* directWriteFactory)
@ -62,3 +52,17 @@ void DirectXTextPainter::initializeTextFormat(IDWriteFactory* directWriteFactory
mTextFormat->SetParagraphAlignment(DWRITE_PARAGRAPH_ALIGNMENT_CENTER);
}
void DirectXTextPainter::paint(SceneText* text, DrawingContext* context, ID2D1DeviceContext2* d2dContext, float width, float height)
{
D2D1_RECT_F textRect = D2D1::RectF(0, 0, width, height);
auto content = StringUtils::convert(text->getTextData().mContent);
d2dContext->BeginDraw();
d2dContext->SetTransform(D2D1::Matrix3x2F::Identity());
d2dContext->DrawText(content.c_str(), static_cast<UINT32>(content.size()) - 1, mTextFormat.Get(), &textRect, mTextBrush.Get());
d2dContext->EndDraw();
}