| // Copyright 2017 The PDFium Authors | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
| #ifndef FPDFSDK_CPDFSDK_ANNOTITERATION_H_ | |
| #define FPDFSDK_CPDFSDK_ANNOTITERATION_H_ | |
| #include <vector> | |
| #include "fpdfsdk/cpdfsdk_annot.h" | |
| class CPDFSDK_PageView; | |
| class CPDFSDK_AnnotIteration { | |
| public: | |
| using const_iterator = | |
| std::vector<ObservedPtr<CPDFSDK_Annot>>::const_iterator; | |
| static CPDFSDK_AnnotIteration CreateForDrawing(CPDFSDK_PageView* page_view); | |
| explicit CPDFSDK_AnnotIteration(CPDFSDK_PageView* page_view); | |
| CPDFSDK_AnnotIteration(const CPDFSDK_AnnotIteration&) = delete; | |
| CPDFSDK_AnnotIteration& operator=(const CPDFSDK_AnnotIteration&) = delete; | |
| ~CPDFSDK_AnnotIteration(); | |
| const_iterator begin() const { return list_.begin(); } | |
| const_iterator end() const { return list_.end(); } | |
| private: | |
| CPDFSDK_AnnotIteration(CPDFSDK_PageView* page_view, | |
| bool put_focused_annot_at_end); | |
| std::vector<ObservedPtr<CPDFSDK_Annot>> list_; | |
| }; | |
| #endif // FPDFSDK_CPDFSDK_ANNOTITERATION_H_ |