本文整理汇总了C++中wxPaintDC::GetFont方法的典型用法代码示例。如果您正苦于以下问题:C++ wxPaintDC::GetFont方法的具体用法?C++ wxPaintDC::GetFont怎么用?C++ wxPaintDC::GetFont使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxPaintDC
的用法示例。
在下文中一共展示了wxPaintDC::GetFont方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DrawAxis
void TimeLogChart::DrawAxis(wxPaintDC &dc)
{
const int MARKER_OFFSET = 5;
dc.SetPen(*wxTRANSPARENT_PEN);
dc.SetBrush(*wxWHITE_BRUSH);
dc.DrawRectangle(m_axisBounds);
dc.SetPen(wxPen(wxColour(*wxBLACK), 1, wxPENSTYLE_DOT));
int topBound = m_axisBounds.GetTop();
int leftBound = m_axisBounds.GetLeft();
int rightBound = m_axisBounds.GetRight();
int bottomBound = m_axisBounds.GetBottom();
int dx = leftBound;
wxFont savedFont = dc.GetFont();
dc.SetFont(*m_valueFont);
int n = m_logDuration -1;
for (int i = 0; i <= n; i++)
{
dx = leftBound + (int)floor(i*m_axisBounds.GetWidth() / (double)n);
if (i % m_logTickFrequency == 0)
{
dc.DrawLine(dx, topBound, dx, bottomBound);
if (i % (m_logTickFrequency*2) == 0)
{
// draw axis marker
wxString s = wxString::Format(wxT("%d secs"), (m_logDuration-i));
wxSize ext = dc.GetTextExtent(s);
dc.DrawText(s, dx - ext.GetWidth()/2, bottomBound + MARKER_OFFSET);
}
}
}
dc.DrawLine(dx, topBound, dx, bottomBound);
int yValue = m_maxValue;
int yValueSteps = (m_minValue-m_maxValue)/m_valueDivisions;
int ySteps = ValueToPixel((m_maxValue - m_minValue)/m_valueDivisions);
int dy = topBound;
for (int n = 0; n < m_valueDivisions; n++)
{
dc.DrawLine(leftBound, dy, rightBound, dy);
wxString s = wxString::Format(m_valueAxisFormat, (double)yValue/m_valueAxisScale);
wxSize ext = dc.GetTextExtent(s);
dc.DrawText(s, m_axisBounds.GetLeft()-ext.GetWidth() - MARKER_OFFSET, dy - ext.GetHeight()/2);
dy += ySteps;
yValue += yValueSteps;
}
dc.DrawLine(leftBound, bottomBound, rightBound, bottomBound);
dc.SetFont(savedFont);
}