本文整理汇总了C++中Viewport::damageAll方法的典型用法代码示例。如果您正苦于以下问题:C++ Viewport::damageAll方法的具体用法?C++ Viewport::damageAll怎么用?C++ Viewport::damageAll使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Viewport
的用法示例。
在下文中一共展示了Viewport::damageAll方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: execute
void execute()
{
Allocation rect;
getAllocation( rect );
try
{
Allocation a = d_model->getAllocation();
Viewport* v = getHandler()->getViewport();
assert( v );
Viewport::pushCursor( Viewport::CurWait );
if( rect.getWidth() != 0 && rect.getHeight() != 0 )
{
v->captureDamage();
PpmRange rx, ry;
rx.first = d_model->toPpm( rect.getLeft(), a.getLeft(), DimX );
rx.second = d_model->toPpm( rect.getRight(), a.getLeft(), DimX );
ry.first = d_model->toPpm( rect.getTop(), a.getTop(), DimY );
ry.second = d_model->toPpm( rect.getBottom(), a.getTop(), DimY );
d_target->setRange( rx, ry );
v->commitDamage();
}else
{
d_target->centerPoint( d_model->toPpm( rect.getLeft(), a.getLeft(), DimX ),
d_model->toPpm( rect.getTop(), a.getTop(), DimY ) );
}
v->damageAll();
Viewport::popCursor();
}catch( ... )
{
qDebug( "Exception in _OverviewCmd" );
}
Command::execute();
}
示例2: handleMouseRelease
bool ScrollCtrl::handleMouseRelease( MouseEvent& e)
{
Viewport* v = getViewport();
if( v->isGrabbing( this ) && d_immediate )
{
v->ungrab();
Viewport::popCursor();
return true;
}else if( v->isGrabbing( this ) && !d_immediate )
{
v->ungrab();
Viewport::popCursor();
Viewport::pushCursor( Viewport::CurWait );
if( d_do[ DimY ] && d_area->inUse( DimY ) && d_do[ DimX ] && d_area->inUse( DimX ) )
{
PpmRange rx = d_area->getRange( DimX );
PpmRange ry = d_area->getRange( DimY );
rx.move( rx.getSign() * -PPM( e.getX() - d_lastX ) /
d_area->getTwipPerPpm( DimX ) );
ry.move( ry.getSign() * -PPM( e.getY() - d_lastY ) /
d_area->getTwipPerPpm( DimY ) );
d_area->setRange( rx, ry );
}else if( d_do[ DimY ] && d_area->inUse( DimY ) )
{
PpmRange r = d_area->getRange( DimY );
r.move( -PPM( e.getY() - d_lastY ) /
d_area->getTwipPerPpm( DimY ) * r.getSign() );
d_area->setRange( DimY, r );
}else if( d_do[ DimX ] && d_area->inUse( DimX ) )
{
PpmRange r = d_area->getRange( DimX );
r.move( -PPM( e.getX() - d_lastX ) /
d_area->getTwipPerPpm( DimX ) * r.getSign() );
d_area->setRange( DimX, r );
}
v->damageAll();
Viewport::popCursor();
return true;
}else
return false;
}
示例3: handleMouseDrag
bool ScrollCtrl::handleMouseDrag( DragEvent& e )
{
Viewport* v = getViewport();
if( v->isGrabbing( this ) && d_immediate )
{
if( d_do[ DimY ] && d_area->inUse( DimY ) )
{
PpmRange r = d_area->getRange( DimY );
r.move( -PPM( e.getDeltaY() ) / d_area->getTwipPerPpm( DimY ) * r.getSign() );
d_area->setRange( DimY, r );
}
if( d_do[ DimX ] && d_area->inUse( DimX ) )
{
PpmRange r = d_area->getRange( DimX );
r.move( -PPM( e.getDeltaX() ) / d_area->getTwipPerPpm( DimX ) * r.getSign() );
d_area->setRange( DimX, r );
}
v->damageAll();
return true;
}else if( v->isGrabbing( this ) && !d_immediate )
return true;
else
return false;
}