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

Method dropRange

src/app/ui/timeline.cpp:2423–2458  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2421}
2422
2423void Timeline::dropRange(DropOp op)
2424{
2425 bool copy = (op == Timeline::kCopy);
2426 Range newFromRange;
2427 DocumentRangePlace place = kDocumentRangeAfter;
2428
2429 switch (m_range.type()) {
2430 case Range::kFrames:
2431 if (m_dropTarget.hhit == DropTarget::Before)
2432 place = kDocumentRangeBefore;
2433 break;
2434 case Range::kLayers:
2435 if (m_dropTarget.vhit == DropTarget::Bottom)
2436 place = kDocumentRangeBefore;
2437 break;
2438 }
2439
2440 prepareToMoveRange();
2441
2442 try {
2443 if (copy)
2444 newFromRange = copy_range(m_document, m_range, m_dropRange, place);
2445 else
2446 newFromRange = move_range(m_document, m_range, m_dropRange, place);
2447
2448 // If we drop a cel in the same frame (but in another layer),
2449 // document views are not updated, so we are forcing the updating of
2450 // all views.
2451 m_document->notifyGeneralUpdate();
2452
2453 moveRange(newFromRange);
2454 }
2455 catch (const std::exception& e) {
2456 ui::Alert::show("Problem<<%s||&OK", e.what());
2457 }
2458}
2459
2460gfx::Size Timeline::visibleSize() const
2461{

Callers 2

onExecuteMethod · 0.80
onExecuteMethod · 0.80

Calls 5

move_rangeFunction · 0.85
notifyGeneralUpdateMethod · 0.80
whatMethod · 0.80
copy_rangeFunction · 0.50
typeMethod · 0.45

Tested by

no test coverage detected