mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
Merge pull request #4290 from EmptyChaos/varwidth-fonts
WxDebugger: Fix variable width fonts in Code/Memory views
This commit is contained in:
commit
037f0a1803
@ -390,8 +390,9 @@ void CCodeView::OnPaint(wxPaintEvent& event)
|
|||||||
{
|
{
|
||||||
wxFontMetrics metrics = paint_dc.GetFontMetrics();
|
wxFontMetrics metrics = paint_dc.GetFontMetrics();
|
||||||
char_width = metrics.averageWidth;
|
char_width = metrics.averageWidth;
|
||||||
if (metrics.height > m_rowHeight)
|
m_rowHeight = std::max(metrics.height, m_rowHeight);
|
||||||
m_rowHeight = metrics.height;
|
if (!DebuggerFont.IsFixedWidth())
|
||||||
|
char_width = paint_dc.GetTextExtent("mxx").GetWidth() / 3; // (1em + 2ex) / 3
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<wxGraphicsContext> ctx(wxGraphicsContext::Create(paint_dc));
|
std::unique_ptr<wxGraphicsContext> ctx(wxGraphicsContext::Create(paint_dc));
|
||||||
@ -545,7 +546,7 @@ void CCodeView::OnPaint(wxPaintEvent& event)
|
|||||||
// UnDecorateSymbolName(desc,temp,255,UNDNAME_COMPLETE);
|
// UnDecorateSymbolName(desc,temp,255,UNDNAME_COMPLETE);
|
||||||
if (!desc.empty())
|
if (!desc.empty())
|
||||||
{
|
{
|
||||||
ctx->DrawText(StrToWxStr(desc), text_col + 45 * char_width, row_y);
|
ctx->DrawText(StrToWxStr(desc), text_col + 44 * char_width, row_y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -569,7 +570,7 @@ void CCodeView::OnPaint(wxPaintEvent& event)
|
|||||||
|
|
||||||
for (int i = 0; i < num_branches; ++i)
|
for (int i = 0; i < num_branches; ++i)
|
||||||
{
|
{
|
||||||
int x = text_col + 52 * char_width + (branches[i].srcAddr % 9) * 8;
|
int x = text_col + 60 * char_width + (branches[i].srcAddr % 9) * 8;
|
||||||
branch_path.MoveToPoint(x - 2 * scale, branches[i].src);
|
branch_path.MoveToPoint(x - 2 * scale, branches[i].src);
|
||||||
|
|
||||||
if (branches[i].dst < rc.height + 400 && branches[i].dst > -400)
|
if (branches[i].dst < rc.height + 400 && branches[i].dst > -400)
|
||||||
|
@ -269,22 +269,15 @@ void CMemoryView::OnPaint(wxPaintEvent& event)
|
|||||||
wxPaintDC dc(this);
|
wxPaintDC dc(this);
|
||||||
wxRect rc = GetClientRect();
|
wxRect rc = GetClientRect();
|
||||||
|
|
||||||
if (DebuggerFont.IsFixedWidth())
|
dc.SetFont(DebuggerFont);
|
||||||
{
|
|
||||||
dc.SetFont(DebuggerFont);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dc.SetFont(wxFont(DebuggerFont.GetPointSize(), wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL,
|
|
||||||
wxFONTWEIGHT_NORMAL, false, "Courier"));
|
|
||||||
}
|
|
||||||
|
|
||||||
int font_width;
|
int font_width;
|
||||||
{
|
{
|
||||||
wxFontMetrics metrics = dc.GetFontMetrics();
|
wxFontMetrics metrics = dc.GetFontMetrics();
|
||||||
font_width = metrics.averageWidth;
|
font_width = metrics.averageWidth;
|
||||||
if (metrics.height > rowHeight)
|
rowHeight = std::max(rowHeight, metrics.height);
|
||||||
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;
|
const int row_start_x = m_left_col_width + 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user