本文整理汇总了C++中wxDC::GetUserScale方法的典型用法代码示例。如果您正苦于以下问题:C++ wxDC::GetUserScale方法的具体用法?C++ wxDC::GetUserScale怎么用?C++ wxDC::GetUserScale使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxDC
的用法示例。
在下文中一共展示了wxDC::GetUserScale方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Draw
void wxHtmlImageCell::Draw(wxDC& dc, int x, int y,
int WXUNUSED(view_y1), int WXUNUSED(view_y2),
wxHtmlRenderingInfo& WXUNUSED(info))
{
if ( m_showFrame )
{
dc.SetBrush(*wxTRANSPARENT_BRUSH);
dc.SetPen(*wxBLACK_PEN);
dc.DrawRectangle(x + m_PosX, y + m_PosY, m_Width, m_Height);
x++, y++;
}
if ( m_bitmap )
{
// We add in the scaling from the desired bitmap width
// and height, so we only do the scaling once.
double imageScaleX = 1.0;
double imageScaleY = 1.0;
if (m_Width != m_bitmap->GetWidth())
imageScaleX = (double) m_Width / (double) m_bitmap->GetWidth();
if (m_Height != m_bitmap->GetHeight())
imageScaleY = (double) m_Height / (double) m_bitmap->GetHeight();
double us_x, us_y;
dc.GetUserScale(&us_x, &us_y);
dc.SetUserScale(us_x * imageScaleX, us_y * imageScaleY);
dc.DrawBitmap(*m_bitmap, (int) ((x + m_PosX) / (imageScaleX)),
(int) ((y + m_PosY) / (imageScaleY)), true);
dc.SetUserScale(us_x, us_y);
}
}
示例2: Draw
void wxPDFViewPage::Draw(wxPDFViewPagesClient* client, wxDC& dc, wxGraphicsContext& gc, const wxRect& rect)
{
// Calculate the required bitmap size
wxSize bmpSize = rect.GetSize();
double scaleX, scaleY;
dc.GetUserScale(&scaleX, &scaleY);
bmpSize.x *= scaleX;
bmpSize.y *= scaleY;
double screenScale = dc.GetContentScaleFactor();
bmpSize.x *= screenScale;
bmpSize.y *= screenScale;
wxBitmap bmp = client->GetCachedBitmap(m_index, bmpSize);
if (bmp.IsOk())
{
gc.DrawBitmap(bmp, rect.x, rect.y, rect.width, rect.height);
} else {
// Draw empty page
gc.SetBrush(*wxWHITE_BRUSH);
gc.SetPen(wxNullPen);
gc.DrawRectangle(rect.x, rect.y, rect.width, rect.height);
}
}