本文整理汇总了C++中wxRegion::GetHandle方法的典型用法代码示例。如果您正苦于以下问题:C++ wxRegion::GetHandle方法的具体用法?C++ wxRegion::GetHandle怎么用?C++ wxRegion::GetHandle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxRegion
的用法示例。
在下文中一共展示了wxRegion::GetHandle方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DoSetRegionShape
bool wxNonOwnedWindow::DoSetRegionShape(const wxRegion& region)
{
QPixmap pixmap(GetHandle()->size());
QPainter painter(&pixmap);
painter.fillRect(pixmap.rect(), Qt::white);
painter.setClipRegion(region.GetHandle());
painter.fillRect(pixmap.rect(), Qt::black);
GetHandle()->setMask(pixmap.createMaskFromColor(Qt::white));
return true;
}
示例2: DoSetDeviceClippingRegion
void wxQtDCImpl::DoSetDeviceClippingRegion(const wxRegion& region)
{
if ( region.IsEmpty() )
{
DestroyClippingRegion();
}
else
{
QRegion qregion = region.GetHandle();
// Save current origin / scale (logical coordinates)
QTransform qtrans = m_qtPainter->worldTransform();
// Reset transofrmation to match device coordinates
m_qtPainter->setWorldTransform( QTransform() );
wxLogDebug(wxT("wxQtDCImpl::DoSetDeviceClippingRegion rect %d %d %d %d"),
qregion.boundingRect().x(), qregion.boundingRect().y(),
qregion.boundingRect().width(), qregion.boundingRect().height());
// Set QPainter clipping (intersection if not the first one)
m_qtPainter->setClipRegion( qregion,
m_clipping ? Qt::IntersectClip : Qt::ReplaceClip );
// Restore the transformation (translation / scale):
m_qtPainter->setWorldTransform( qtrans );
// Set internal state for getters
/* Note: Qt states that QPainter::clipRegion() may be slow, so we
* keep the region manually, which should be faster */
if ( m_clipping )
m_clippingRegion->Union( region );
else
m_clippingRegion->Intersect( region );
wxRect clipRect = m_clippingRegion->GetBox();
m_clipX1 = clipRect.GetLeft();
m_clipX2 = clipRect.GetRight();
m_clipY1 = clipRect.GetTop();
m_clipY2 = clipRect.GetBottom();
m_clipping = true;
}
}