mirror of
https://github.com/aseprite/aseprite.git
synced 2025-02-23 18:39:55 +00:00
Add SelectedFrames::size/empty() member functions
This commit is contained in:
parent
52d088ef80
commit
5e5a91444e
@ -12,6 +12,14 @@
|
||||
|
||||
namespace doc {
|
||||
|
||||
std::size_t SelectedFrames::size() const
|
||||
{
|
||||
std::size_t size = 0;
|
||||
for (auto& range : m_ranges)
|
||||
size += (range.toFrame - range.fromFrame + 1);
|
||||
return size;
|
||||
}
|
||||
|
||||
void SelectedFrames::insert(frame_t frame)
|
||||
{
|
||||
if (m_ranges.empty()) {
|
||||
|
@ -61,6 +61,9 @@ namespace doc {
|
||||
const_iterator begin() const { return const_iterator(m_ranges.begin()); }
|
||||
const_iterator end() const { return const_iterator(m_ranges.end()); }
|
||||
|
||||
std::size_t size() const;
|
||||
bool empty() const { return m_ranges.empty(); }
|
||||
|
||||
void insert(frame_t frame);
|
||||
void insert(frame_t fromFrame, frame_t toFrame);
|
||||
|
||||
|
@ -20,9 +20,12 @@ using namespace doc;
|
||||
TEST(SelectedFrames, BasicOneRange)
|
||||
{
|
||||
SelectedFrames f;
|
||||
ASSERT_TRUE(f.empty());
|
||||
f.insert(1);
|
||||
f.insert(2);
|
||||
f.insert(3);
|
||||
ASSERT_FALSE(f.empty());
|
||||
ASSERT_EQ(3, f.size());
|
||||
|
||||
std::vector<frame_t> res;
|
||||
std::copy(f.begin(), f.end(), std::back_inserter(res));
|
||||
@ -39,6 +42,7 @@ TEST(SelectedFrames, BasicThreeRanges)
|
||||
f.insert(1);
|
||||
f.insert(3);
|
||||
f.insert(5);
|
||||
ASSERT_EQ(3, f.size());
|
||||
|
||||
std::vector<frame_t> res;
|
||||
std::copy(f.begin(), f.end(), std::back_inserter(res));
|
||||
@ -55,6 +59,7 @@ TEST(SelectedFrames, InsertSelectedFrameInsideSelectedRange)
|
||||
f.insert(3);
|
||||
f.insert(5, 8);
|
||||
f.insert(7);
|
||||
ASSERT_EQ(5, f.size());
|
||||
|
||||
std::vector<frame_t> res;
|
||||
std::copy(f.begin(), f.end(), std::back_inserter(res));
|
||||
|
Loading…
x
Reference in New Issue
Block a user