当前位置: 首页>>代码示例>>C++>>正文


C++ Viewport::damageAll方法代码示例

本文整理汇总了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();
	}
开发者ID:Wushaowei001,项目名称:NAF,代码行数:34,代码来源:SvOverviewCtrl.cpp

示例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;
}
开发者ID:Wushaowei001,项目名称:NAF,代码行数:43,代码来源:SvScrollCtrl.cpp

示例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;
}
开发者ID:Wushaowei001,项目名称:NAF,代码行数:24,代码来源:SvScrollCtrl.cpp


注:本文中的Viewport::damageAll方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。