MCPcopy Create free account
hub / github.com/LibreSprite/LibreSprite / onClear

Method onClear

src/app/ui/document_view.cpp:512–542  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

510}
511
512bool DocumentView::onClear(Context* ctx)
513{
514 ContextWriter writer(ctx);
515 Document* document = writer.document();
516 bool visibleMask = document->isMaskVisible();
517
518 if (!writer.cel())
519 return false;
520
521 {
522 Transaction transaction(writer.context(), "Clear");
523 transaction.execute(new cmd::ClearMask(writer.cel()));
524
525 // If the cel wasn't deleted by cmd::ClearMask, we trim it.
526 if (writer.cel() &&
527 writer.cel()->layer()->isTransparent())
528 transaction.execute(new cmd::TrimCel(writer.cel()));
529
530 if (visibleMask &&
531 !Preferences::instance().selection.keepSelectionAfterClear())
532 transaction.execute(new cmd::DeselectMask(document));
533
534 transaction.commit();
535 }
536
537 if (visibleMask)
538 document->generateMaskBoundaries();
539
540 document->notifyGeneralUpdate();
541 return true;
542}
543
544void DocumentView::onCancel(Context* ctx)
545{

Callers

nothing calls this directly

Calls 11

instanceFunction · 0.85
isMaskVisibleMethod · 0.80
notifyGeneralUpdateMethod · 0.80
documentMethod · 0.45
celMethod · 0.45
contextMethod · 0.45
executeMethod · 0.45
isTransparentMethod · 0.45
layerMethod · 0.45
commitMethod · 0.45

Tested by

no test coverage detected