mirror of https://github.com/aseprite/aseprite.git
				
				
				
			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…
	
		Reference in New Issue