WxDebugger: Fix variable width fonts in Code/Memory views

This commit is contained in:
EmptyChaos committed 2016-10-04 19:17:47 +11:00
1 parent 7b29b3c571
commit 94aff7e47e
2 files changed
+7 -13

No files matched your search

+4 -11
View File
@@ -269,22 +269,15 @@ void CMemoryView::OnPaint(wxPaintEvent& event)
wxPaintDC dc(this);
wxRect rc = GetClientRect();
if (DebuggerFont.IsFixedWidth())
{
dc.SetFont(DebuggerFont);
}
else
{
dc.SetFont(wxFont(DebuggerFont.GetPointSize(), wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL,
wxFONTWEIGHT_NORMAL, false, "Courier"));
}
dc.SetFont(DebuggerFont);
int font_width;
{
wxFontMetrics metrics = dc.GetFontMetrics();
font_width = metrics.averageWidth;
if (metrics.height > rowHeight)
rowHeight = metrics.height;
rowHeight = std::max(rowHeight, metrics.height);
if (!DebuggerFont.IsFixedWidth())
font_width = dc.GetTextExtent("mxx").GetWidth() / 3; // (1em + 2ex) / 3
}
const int row_start_x = m_left_col_width + 1;