本文整理汇总了C++中Doc::resetTransformation方法的典型用法代码示例。如果您正苦于以下问题:C++ Doc::resetTransformation方法的具体用法?C++ Doc::resetTransformation怎么用?C++ Doc::resetTransformation使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doc
的用法示例。
在下文中一共展示了Doc::resetTransformation方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setMaskPosition
void SetMaskPosition::setMaskPosition(const gfx::Point& pos)
{
Doc* doc = document();
doc->mask()->setOrigin(pos.x, pos.y);
doc->resetTransformation();
doc->notifySelectionChanged();
}
示例2: onExecute
void MaskContentCommand::onExecute(Context* context)
{
Doc* document;
{
ContextWriter writer(context);
document = writer.document();
Cel* cel = writer.cel(); // Get current cel (can be NULL)
if (!cel)
return;
gfx::Color color;
if (writer.layer()->isBackground()) {
ColorPicker picker;
picker.pickColor(*writer.site(),
gfx::PointF(0.0, 0.0),
current_editor->projection(),
ColorPicker::FromComposition);
color = color_utils::color_for_layer(picker.color(), writer.layer());
}
else
color = cel->image()->maskColor();
Mask newMask;
gfx::Rect imgBounds = cel->image()->bounds();
if (algorithm::shrink_bounds(cel->image(), imgBounds, color)) {
newMask.replace(imgBounds.offset(cel->bounds().origin()));
}
else {
newMask.replace(cel->bounds());
}
Tx tx(writer.context(), "Select Content", DoesntModifyDocument);
tx(new cmd::SetMask(document, &newMask));
document->resetTransformation();
tx.commit();
}
// Select marquee tool
if (tools::Tool* tool = App::instance()->toolBox()
->getToolById(tools::WellKnownTools::RectangularMarquee)) {
ToolBar::instance()->selectTool(tool);
}
update_screen_for_document(document);
}