Blob Blame Raw
#pragma once
#ifndef SELECTIONUTILS_H
#define SELECTIONUTILS_H
// TnzCore includes
#include "tfilepath.h"
// STL includes
#include <set>
#include <map>
//==============================================================
// Forward declarations
class TXsheet;
//==============================================================
//*********************************************************************************
// Selection-related utility functions
//*********************************************************************************
//! Returns the set of all level frames contained in the specified xsheet cells range
//! (r0 <= r <= r1 and c0 <= c <= c1).
template <typename LevelType>
void getSelectedFrames(const TXsheet &xsh, int r0, int c0, int r1, int c1,
std::map<LevelType *, std::set<TFrameId>> &framesByLevel);
//! Returns the set of all level frames contained in current selection.
//! Recognized selection types include cell, cast, column and filmstrip selections.
template <typename LevelType>
void getSelectedFrames(std::map<LevelType *, std::set<TFrameId>> &framesByLevel);
#endif // SELECTIONUTILS_H