本文整理汇总了C++中KisLayerSP::channelFlags方法的典型用法代码示例。如果您正苦于以下问题:C++ KisLayerSP::channelFlags方法的具体用法?C++ KisLayerSP::channelFlags怎么用?C++ KisLayerSP::channelFlags使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KisLayerSP
的用法示例。
在下文中一共展示了KisLayerSP::channelFlags方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mergeToLayer
void KisIndirectPaintingSupport::mergeToLayer(KisLayerSP layer, const QRegion ®ion, const QString &transactionText)
{
/**
* We do not apply selection here, because it has already
* been taken into account in a tool code
*/
KisPainter gc(layer->paintDevice());
gc.setCompositeOp(d->compositeOp);
gc.setOpacity(d->compositeOpacity);
gc.setChannelFlags(layer->channelFlags());
if (KisPaintLayer* paintLayer = dynamic_cast<KisPaintLayer*>(layer.data())) {
if (paintLayer->alphaLocked()) {
gc.setLockAlpha(paintLayer->alphaLocked());
}
}
d->lock.lockForWrite();
if(layer->image()) {
gc.beginTransaction(transactionText);
}
foreach(const QRect& rc, region.rects()) {
gc.bitBlt(rc.topLeft(), d->temporaryTarget, rc);
}
d->temporaryTarget = 0;
// in the scratchpad the layer has no image and there is no undo adapter
if(layer->image()) {
gc.endTransaction(layer->image()->undoAdapter());
}
d->lock.unlock();
}
示例2: testCreation
void KisLayerTest::testCreation()
{
const KoColorSpace * colorSpace = KoColorSpaceRegistry::instance()->colorSpace("RGBA", 0);
KisImageSP image = new KisImage(0, 512, 512, colorSpace, "layer test");
KisLayerSP layer = new TestLayer(image, "test", OPACITY_OPAQUE);
QCOMPARE(layer->name(), QString("test"));
QCOMPARE(layer->opacity(), OPACITY_OPAQUE);
QCOMPARE(layer->image(), image);
QCOMPARE(layer->colorSpace(), image->colorSpace());
QCOMPARE(layer->visible(), true);
QCOMPARE(layer->userLocked(), false);
QCOMPARE(layer->temporary(), false);
image->addNode(layer, image->rootLayer());
QBitArray channels(4);
channels.fill(true);
layer->setChannelFlags(channels);
QVERIFY(layer->channelFlags().count() == 4);
QCOMPARE(layer->channelFlags().at(0), true);
QCOMPARE(layer->channelFlags().at(1), true);
QCOMPARE(layer->channelFlags().at(2), true);
QCOMPARE(layer->channelFlags().at(3), true);
layer->setOpacity(OPACITY_TRANSPARENT);
QCOMPARE(layer->opacity(), OPACITY_TRANSPARENT);
layer->setPercentOpacity(100);
QCOMPARE(layer->opacity(), OPACITY_OPAQUE);
layer->setPercentOpacity(0);
QCOMPARE(layer->opacity(), OPACITY_TRANSPARENT);
}