本文整理汇总了C++中Doc::isMaskVisible方法的典型用法代码示例。如果您正苦于以下问题:C++ Doc::isMaskVisible方法的具体用法?C++ Doc::isMaskVisible怎么用?C++ Doc::isMaskVisible使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doc
的用法示例。
在下文中一共展示了Doc::isMaskVisible方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onUndo
void ReselectMask::onUndo()
{
Doc* doc = document();
m_oldMask.reset(doc->isMaskVisible() ? new Mask(*doc->mask()): nullptr);
doc->setMaskVisible(false);
doc->notifySelectionChanged();
}
示例2: WithCel
ClearMask::ClearMask(Cel* cel)
: WithCel(cel)
{
Doc* doc = static_cast<Doc*>(cel->document());
// If the mask is empty or is not visible then we have to clear the
// entire image in the cel.
if (!doc->isMaskVisible()) {
m_seq.add(new cmd::ClearCel(cel));
return;
}
Image* image = cel->image();
assert(image);
if (!image)
return;
Mask* mask = doc->mask();
m_offset = mask->bounds().origin() - cel->position();
gfx::Rect bounds =
image->bounds().createIntersection(
gfx::Rect(
m_offset.x, m_offset.y,
mask->bounds().w, mask->bounds().h));
if (bounds.isEmpty())
return;
m_dstImage.reset(new WithImage(image));
m_bgcolor = doc->bgColor(cel->layer());
m_boundsX = bounds.x;
m_boundsY = bounds.y;
m_copy.reset(crop_image(image,
bounds.x, bounds.y, bounds.w, bounds.h, m_bgcolor));
}