本文整理汇总了C++中VectorImage::fill方法的典型用法代码示例。如果您正苦于以下问题:C++ VectorImage::fill方法的具体用法?C++ VectorImage::fill怎么用?C++ VectorImage::fill使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VectorImage
的用法示例。
在下文中一共展示了VectorImage::fill方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mouseReleaseEvent
void BucketTool::mouseReleaseEvent( QMouseEvent *event )
{
Layer* layer = mEditor->layers()->currentLayer();
if ( layer == NULL ) { return; }
if ( event->button() == Qt::LeftButton )
{
if ( layer->type() == Layer::BITMAP )
{
BitmapImage *sourceImage = ( ( LayerBitmap * )layer )->getLastBitmapImageAtFrame( mEditor->currentFrame(), 0 );
Layer *targetLayer = layer; // by default
int layerNumber = mEditor->layers()->currentLayerIndex(); // by default
if ( mEditor->layers()->currentLayerIndex() > 0 )
{
Layer *layer2 = mEditor->layers()->currentLayer( -1 );
if ( layer2->type() == Layer::BITMAP )
{
targetLayer = layer2;
layerNumber = layerNumber - 1;
}
}
BitmapImage *targetImage = ( ( LayerBitmap * )targetLayer )->getLastBitmapImageAtFrame( mEditor->currentFrame(), 0 );
BitmapImage::floodFill( sourceImage,
targetImage,
getLastPoint().toPoint(),
qRgba( 0, 0, 0, 0 ),
mEditor->color()->frontColor().rgba(),
10 * 10,
true );
mScribbleArea->setModified( layerNumber, mEditor->currentFrame() );
mScribbleArea->setAllDirty();
}
else if ( layer->type() == Layer::VECTOR )
{
mScribbleArea->clearBitmapBuffer();
VectorImage *vectorImage = ( ( LayerVector * )layer )->getLastVectorImageAtFrame( mEditor->currentFrame(), 0 );
if ( event->modifiers() == Qt::AltModifier )
{
vectorImage->removeArea( getLastPoint() );
}
else
{
QList<QPointF> path = mStrokePoints;
if (path.size() < 10) {
vectorImage->fill( getLastPoint(),
mEditor->color()->frontColorNumber(),
3.0 / mEditor->view()->scaling() );
}
else {
vectorImage->fill( path,
mEditor->color()->frontColorNumber(),
10.0 / mEditor->view()->scaling() );
}
}
mScribbleArea->setModified( mEditor->layers()->currentLayerIndex(), mEditor->currentFrame() );
mScribbleArea->setAllDirty();
}
}
endStroke();
}