Removes Z value from TextRenderer translate, renames TextRenderer methods to more explicit ones.
This was SVN commit r25645.
This commit is contained in:
parent
ad9cb9d467
commit
2d455df18d
@ -33,8 +33,8 @@
|
||||
CTextRenderer::CTextRenderer()
|
||||
{
|
||||
ResetTransform();
|
||||
Color(CColor(1.0f, 1.0f, 1.0f, 1.0f));
|
||||
Font(str_sans_10);
|
||||
SetCurrentColor(CColor(1.0f, 1.0f, 1.0f, 1.0f));
|
||||
SetCurrentFont(str_sans_10);
|
||||
}
|
||||
|
||||
void CTextRenderer::ResetTransform()
|
||||
@ -63,10 +63,10 @@ void CTextRenderer::SetTransform(const CMatrix3D& transform)
|
||||
m_Dirty = true;
|
||||
}
|
||||
|
||||
void CTextRenderer::Translate(float x, float y, float z)
|
||||
void CTextRenderer::Translate(float x, float y)
|
||||
{
|
||||
CMatrix3D m;
|
||||
m.SetTranslation(x, y, z);
|
||||
m.SetTranslation(x, y, 0.0f);
|
||||
m_Transform = m_Transform * m;
|
||||
m_Dirty = true;
|
||||
}
|
||||
@ -76,7 +76,7 @@ void CTextRenderer::SetClippingRect(const CRect& rect)
|
||||
m_Clipping = rect;
|
||||
}
|
||||
|
||||
void CTextRenderer::Color(const CColor& color)
|
||||
void CTextRenderer::SetCurrentColor(const CColor& color)
|
||||
{
|
||||
if (m_Color != color)
|
||||
{
|
||||
@ -85,12 +85,7 @@ void CTextRenderer::Color(const CColor& color)
|
||||
}
|
||||
}
|
||||
|
||||
void CTextRenderer::Color(float r, float g, float b, float a)
|
||||
{
|
||||
Color(CColor(r, g, b, a));
|
||||
}
|
||||
|
||||
void CTextRenderer::Font(CStrIntern font)
|
||||
void CTextRenderer::SetCurrentFont(CStrIntern font)
|
||||
{
|
||||
if (font != m_FontName)
|
||||
{
|
||||
@ -137,7 +132,7 @@ void CTextRenderer::PutAdvance(const wchar_t* buf)
|
||||
|
||||
int w, h;
|
||||
m_Font->CalculateStringSize(buf, w, h);
|
||||
Translate((float)w, 0.0f, 0.0f);
|
||||
Translate((float)w, 0.0f);
|
||||
}
|
||||
|
||||
void CTextRenderer::Put(float x, float y, const wchar_t* buf)
|
||||
|
@ -42,7 +42,7 @@ public:
|
||||
|
||||
void SetTransform(const CMatrix3D& transform);
|
||||
|
||||
void Translate(float x, float y, float z);
|
||||
void Translate(float x, float y);
|
||||
|
||||
/**
|
||||
* Set clipping rectangle, in pre-transform coordinates (i.e. text is clipped against
|
||||
@ -55,17 +55,12 @@ public:
|
||||
/**
|
||||
* Set the color for subsequent print calls.
|
||||
*/
|
||||
void Color(const CColor& color);
|
||||
|
||||
/**
|
||||
* Set the color for subsequent print calls.
|
||||
*/
|
||||
void Color(float r, float g, float b, float a = 1.0);
|
||||
void SetCurrentColor(const CColor& color);
|
||||
|
||||
/**
|
||||
* Set the font for subsequent print calls.
|
||||
*/
|
||||
void Font(CStrIntern font);
|
||||
void SetCurrentFont(CStrIntern font);
|
||||
|
||||
/**
|
||||
* Print formatted text at (0,0) under the current transform,
|
||||
@ -173,7 +168,7 @@ private:
|
||||
CStrIntern m_FontName;
|
||||
std::shared_ptr<CFont> m_Font;
|
||||
|
||||
bool m_Dirty;
|
||||
bool m_Dirty = true;
|
||||
|
||||
std::list<SBatch> m_Batches;
|
||||
};
|
||||
|
@ -449,7 +449,7 @@ void CGUIText::Draw(CGUI& pGUI, CCanvas2D& canvas, const CGUIColor& DefaultColor
|
||||
|
||||
CTextRenderer textRenderer;
|
||||
textRenderer.SetClippingRect(clipping);
|
||||
textRenderer.Translate(0.0f, 0.0f, 0.0f);
|
||||
textRenderer.Translate(0.0f, 0.0f);
|
||||
|
||||
for (const STextCall& tc : m_TextCalls)
|
||||
{
|
||||
@ -457,8 +457,8 @@ void CGUIText::Draw(CGUI& pGUI, CCanvas2D& canvas, const CGUIColor& DefaultColor
|
||||
if (tc.m_pSpriteCall)
|
||||
continue;
|
||||
|
||||
textRenderer.Color(tc.m_UseCustomColor ? tc.m_Color : DefaultColor);
|
||||
textRenderer.Font(tc.m_Font);
|
||||
textRenderer.SetCurrentColor(tc.m_UseCustomColor ? tc.m_Color : DefaultColor);
|
||||
textRenderer.SetCurrentFont(tc.m_Font);
|
||||
textRenderer.Put(floorf(pos.X + tc.m_Pos.X), floorf(pos.Y + tc.m_Pos.Y), &tc.m_String);
|
||||
}
|
||||
|
||||
|
@ -1265,14 +1265,11 @@ void CInput::Draw(CCanvas2D& canvas)
|
||||
float ls = (float)font.GetLineSpacing();
|
||||
|
||||
CTextRenderer textRenderer;
|
||||
textRenderer.Font(font_name);
|
||||
textRenderer.SetCurrentFont(font_name);
|
||||
|
||||
// Set the Z to somewhat more, so we can draw a selected area between the
|
||||
// the control and the text.
|
||||
textRenderer.Translate(
|
||||
(float)(int)(m_CachedActualSize.left) + m_BufferZone,
|
||||
(float)(int)(m_CachedActualSize.top+h) + m_BufferZone,
|
||||
0.0f);
|
||||
(float)(int)(m_CachedActualSize.top+h) + m_BufferZone);
|
||||
|
||||
// U+FE33: PRESENTATION FORM FOR VERTICAL LOW LINE
|
||||
// (sort of like a | which is aligned to the left of most characters)
|
||||
@ -1423,7 +1420,7 @@ void CInput::Draw(CCanvas2D& canvas)
|
||||
buffered_y = -scroll;
|
||||
|
||||
// Setup initial color (then it might change and change back, when drawing selected area)
|
||||
textRenderer.Color(m_TextColor);
|
||||
textRenderer.SetCurrentColor(m_TextColor);
|
||||
|
||||
bool using_selected_color = false;
|
||||
|
||||
@ -1440,9 +1437,9 @@ void CInput::Draw(CCanvas2D& canvas)
|
||||
|
||||
// Text must always be drawn in integer values. So we have to convert scroll
|
||||
if (m_MultiLine)
|
||||
textRenderer.Translate(0.f, -(float)(int)scroll, 0.f);
|
||||
textRenderer.Translate(0.f, -(float)(int)scroll);
|
||||
else
|
||||
textRenderer.Translate(-(float)(int)m_HorizontalScroll, 0.f, 0.f);
|
||||
textRenderer.Translate(-(float)(int)m_HorizontalScroll, 0.f);
|
||||
|
||||
// We might as well use 'i' here, because we need it
|
||||
// (often compared against ints, so don't make it size_t)
|
||||
@ -1454,9 +1451,9 @@ void CInput::Draw(CCanvas2D& canvas)
|
||||
{
|
||||
// We still need to translate the OpenGL matrix
|
||||
if (i == 0)
|
||||
textRenderer.Translate(it->m_ListOfX[i], 0.f, 0.f);
|
||||
textRenderer.Translate(it->m_ListOfX[i], 0.f);
|
||||
else
|
||||
textRenderer.Translate(it->m_ListOfX[i] - it->m_ListOfX[i-1], 0.f, 0.f);
|
||||
textRenderer.Translate(it->m_ListOfX[i] - it->m_ListOfX[i-1], 0.f);
|
||||
|
||||
continue;
|
||||
}
|
||||
@ -1466,7 +1463,7 @@ void CInput::Draw(CCanvas2D& canvas)
|
||||
if (SelectingText() && it->m_ListStart + i == VirtualTo)
|
||||
{
|
||||
using_selected_color = false;
|
||||
textRenderer.Color(m_TextColor);
|
||||
textRenderer.SetCurrentColor(m_TextColor);
|
||||
}
|
||||
|
||||
// selecting only one, then we need only to draw a cursor.
|
||||
@ -1480,7 +1477,7 @@ void CInput::Draw(CCanvas2D& canvas)
|
||||
!using_selected_color)
|
||||
{
|
||||
using_selected_color = true;
|
||||
textRenderer.Color(m_TextColorSelected);
|
||||
textRenderer.SetCurrentColor(m_TextColorSelected);
|
||||
}
|
||||
|
||||
if (i != (int)it->m_ListOfX.size())
|
||||
@ -1499,18 +1496,18 @@ void CInput::Draw(CCanvas2D& canvas)
|
||||
|
||||
if (it->m_ListStart + (int)it->m_ListOfX.size() == m_iBufferPos)
|
||||
{
|
||||
textRenderer.Color(m_TextColor);
|
||||
textRenderer.SetCurrentColor(m_TextColor);
|
||||
if (m_CursorVisState)
|
||||
textRenderer.PutAdvance(L"_");
|
||||
|
||||
if (using_selected_color)
|
||||
textRenderer.Color(m_TextColorSelected);
|
||||
textRenderer.SetCurrentColor(m_TextColorSelected);
|
||||
}
|
||||
|
||||
textRenderer.SetTransform(savedTransform);
|
||||
}
|
||||
|
||||
textRenderer.Translate(0.f, ls, 0.f);
|
||||
textRenderer.Translate(0.f, ls);
|
||||
}
|
||||
|
||||
canvas.DrawText(textRenderer);
|
||||
|
@ -189,7 +189,7 @@ void CConsole::Render()
|
||||
DrawWindow(canvas);
|
||||
|
||||
CTextRenderer textRenderer;
|
||||
textRenderer.Font(CStrIntern(CONSOLE_FONT));
|
||||
textRenderer.SetCurrentFont(CStrIntern(CONSOLE_FONT));
|
||||
// animation: slide in from top of screen
|
||||
CMatrix3D transform = GetDefaultGuiMatrix();
|
||||
const float DeltaY = (1.0f - m_fVisibleFrac) * m_fHeight;
|
||||
@ -237,7 +237,7 @@ void CConsole::DrawHistory(CTextRenderer& textRenderer)
|
||||
|
||||
std::lock_guard<std::mutex> lock(m_Mutex); // needed for safe access to m_deqMsgHistory
|
||||
|
||||
textRenderer.Color(1.0f, 1.0f, 1.0f);
|
||||
textRenderer.SetCurrentColor(CColor(1.0f, 1.0f, 1.0f, 1.0f));
|
||||
|
||||
for (Iter = m_deqMsgHistory.begin();
|
||||
Iter != m_deqMsgHistory.end()
|
||||
@ -259,12 +259,12 @@ void CConsole::DrawBuffer(CTextRenderer& textRenderer)
|
||||
|
||||
CMatrix3D savedTransform = textRenderer.GetTransform();
|
||||
|
||||
textRenderer.Translate(2.0f, m_fHeight - (float)m_iFontOffset + 1.0f, 0.0f);
|
||||
textRenderer.Translate(2.0f, m_fHeight - (float)m_iFontOffset + 1.0f);
|
||||
|
||||
textRenderer.Color(1.0f, 1.0f, 0.0f);
|
||||
textRenderer.SetCurrentColor(CColor(1.0f, 1.0f, 0.0f, 1.0f));
|
||||
textRenderer.PutAdvance(L"]");
|
||||
|
||||
textRenderer.Color(1.0f, 1.0f, 1.0f);
|
||||
textRenderer.SetCurrentColor(CColor(1.0f, 1.0f, 1.0f, 1.0f));
|
||||
|
||||
if (m_iBufferPos == 0)
|
||||
DrawCursor(textRenderer);
|
||||
@ -300,13 +300,13 @@ void CConsole::DrawCursor(CTextRenderer& textRenderer)
|
||||
if(m_bCursorVisState)
|
||||
{
|
||||
// Slightly translucent yellow
|
||||
textRenderer.Color(1.0f, 1.0f, 0.0f, 0.8f);
|
||||
textRenderer.SetCurrentColor(CColor(1.0f, 1.0f, 0.0f, 0.8f));
|
||||
|
||||
// Cursor character is chosen to be an underscore
|
||||
textRenderer.Put(0.0f, 0.0f, L"_");
|
||||
|
||||
// Revert to the standard text color
|
||||
textRenderer.Color(1.0f, 1.0f, 1.0f);
|
||||
textRenderer.SetCurrentColor(CColor(1.0f, 1.0f, 1.0f, 1.0f));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -213,11 +213,11 @@ void CLogger::Render()
|
||||
int lineSpacing = font.GetLineSpacing();
|
||||
|
||||
CTextRenderer textRenderer;
|
||||
textRenderer.Font(font_name);
|
||||
textRenderer.Color(1.0f, 1.0f, 1.0f);
|
||||
textRenderer.SetCurrentFont(font_name);
|
||||
textRenderer.SetCurrentColor(CColor(1.0f, 1.0f, 1.0f, 1.0f));
|
||||
|
||||
// Offset by an extra 35px vertically to avoid the top bar.
|
||||
textRenderer.Translate(4.0f, 35.0f + lineSpacing, 0.0f);
|
||||
textRenderer.Translate(4.0f, 35.0f + lineSpacing);
|
||||
|
||||
// (Lock must come after loading the CFont, since that might log error messages
|
||||
// and attempt to lock the mutex recursively which is forbidden)
|
||||
@ -229,29 +229,29 @@ void CLogger::Render()
|
||||
if (msg.method == Normal)
|
||||
{
|
||||
type = "info";
|
||||
textRenderer.Color(0.0f, 0.8f, 0.0f);
|
||||
textRenderer.SetCurrentColor(CColor(0.0f, 0.8f, 0.0f, 1.0f));
|
||||
}
|
||||
else if (msg.method == Warning)
|
||||
{
|
||||
type = "warning";
|
||||
textRenderer.Color(1.0f, 1.0f, 0.0f);
|
||||
textRenderer.SetCurrentColor(CColor(1.0f, 1.0f, 0.0f, 1.0f));
|
||||
}
|
||||
else
|
||||
{
|
||||
type = "error";
|
||||
textRenderer.Color(1.0f, 0.0f, 0.0f);
|
||||
textRenderer.SetCurrentColor(CColor(1.0f, 0.0f, 0.0f, 1.0f));
|
||||
}
|
||||
|
||||
CMatrix3D savedTransform = textRenderer.GetTransform();
|
||||
|
||||
textRenderer.PrintfAdvance(L"[%8.3f] %hs: ", msg.time, type);
|
||||
// Display the actual message in white so it's more readable
|
||||
textRenderer.Color(1.0f, 1.0f, 1.0f);
|
||||
textRenderer.SetCurrentColor(CColor(1.0f, 1.0f, 1.0f, 1.0f));
|
||||
textRenderer.Put(0.0f, 0.0f, msg.message.c_str());
|
||||
|
||||
textRenderer.SetTransform(savedTransform);
|
||||
|
||||
textRenderer.Translate(0.0f, (float)lineSpacing, 0.0f);
|
||||
textRenderer.Translate(0.0f, (float)lineSpacing);
|
||||
}
|
||||
|
||||
CCanvas2D canvas;
|
||||
|
@ -194,10 +194,10 @@ void CProfileViewer::RenderProfile()
|
||||
|
||||
// Print table and column titles.
|
||||
CTextRenderer textRenderer;
|
||||
textRenderer.Font(font_name);
|
||||
textRenderer.Color(1.0f, 1.0f, 1.0f);
|
||||
textRenderer.SetCurrentFont(font_name);
|
||||
textRenderer.SetCurrentColor(CColor(1.0f, 1.0f, 1.0f, 1.0f));
|
||||
textRenderer.PrintfAt(2.0f, lineSpacing, L"%hs", table->GetTitle().c_str());
|
||||
textRenderer.Translate(22.0f, lineSpacing*2.0f, 0.0f);
|
||||
textRenderer.Translate(22.0f, lineSpacing*2.0f);
|
||||
|
||||
float colX = 0.0f;
|
||||
for (size_t col = 0; col < columns.size(); ++col)
|
||||
@ -214,7 +214,7 @@ void CProfileViewer::RenderProfile()
|
||||
colX += columns[col].width;
|
||||
}
|
||||
|
||||
textRenderer.Translate(0.0f, lineSpacing, 0.0f);
|
||||
textRenderer.Translate(0.0f, lineSpacing);
|
||||
|
||||
// Print rows
|
||||
int currentExpandId = 1;
|
||||
@ -222,9 +222,9 @@ void CProfileViewer::RenderProfile()
|
||||
for (size_t row = 0; row < numrows; ++row)
|
||||
{
|
||||
if (table->IsHighlightRow(row))
|
||||
textRenderer.Color(1.0f, 0.5f, 0.5f);
|
||||
textRenderer.SetCurrentColor(CColor(1.0f, 0.5f, 0.5f, 1.0f));
|
||||
else
|
||||
textRenderer.Color(1.0f, 1.0f, 1.0f);
|
||||
textRenderer.SetCurrentColor(CColor(1.0f, 1.0f, 1.0f, 1.0f));
|
||||
|
||||
if (table->GetChild(row))
|
||||
{
|
||||
@ -247,14 +247,14 @@ void CProfileViewer::RenderProfile()
|
||||
rowColX += columns[col].width;
|
||||
}
|
||||
|
||||
textRenderer.Translate(0.0f, lineSpacing, 0.0f);
|
||||
textRenderer.Translate(0.0f, lineSpacing);
|
||||
}
|
||||
|
||||
textRenderer.Color(1.0f, 1.0f, 1.0f);
|
||||
textRenderer.SetCurrentColor(CColor(1.0f, 1.0f, 1.0f, 1.0f));
|
||||
|
||||
if (m->path.size() > 1)
|
||||
{
|
||||
textRenderer.Translate(0.0f, lineSpacing, 0.0f);
|
||||
textRenderer.Translate(0.0f, lineSpacing);
|
||||
textRenderer.Put(-15.0f, 0.0f, L"0");
|
||||
textRenderer.Put(0.0f, 0.0f, L"back to parent");
|
||||
}
|
||||
|
@ -617,8 +617,8 @@ void TerrainRenderer::RenderPriorities(int cullGroup)
|
||||
|
||||
CCanvas2D canvas;
|
||||
CTextRenderer textRenderer;
|
||||
textRenderer.Font(CStrIntern("mono-stroke-10"));
|
||||
textRenderer.Color(1.0f, 1.0f, 0.0f);
|
||||
textRenderer.SetCurrentFont(CStrIntern("mono-stroke-10"));
|
||||
textRenderer.SetCurrentColor(CColor(1.0f, 1.0f, 0.0f, 1.0f));
|
||||
|
||||
std::vector<CPatchRData*>& visiblePatches = m->visiblePatches[cullGroup];
|
||||
for (size_t i = 0; i < visiblePatches.size(); ++i)
|
||||
|
Loading…
Reference in New Issue
Block a user