43 return m_pParser ? m_pParser->GetCurStates() :
nullptr;
49 enum class Stage : uint8_t {
58 Stage PrepareContent();
62 void HandlePageContentStream(
const CPDF_Stream* pStream);
63 bool HandlePageContentArray(
const CPDF_Array* pArray);
64 void HandlePageContentFailure();
66 bool is_owned()
const {
67 return absl::holds_alternative<FixedSizeDataVector<uint8_t>>(m_Data);
69 pdfium::span<
const uint8_t> GetData()
const;
74 RetainPtr<CPDF_StreamAcc> m_pSingleStream;
75 std::vector<RetainPtr<CPDF_StreamAcc>> m_StreamArray;
76 std::vector<uint32_t> m_StreamSegmentOffsets;
77 absl::variant<pdfium::span<
const uint8_t>, FixedSizeDataVector<uint8_t>>
79 uint32_t m_nStreams = 0;
80 uint32_t m_CurrentOffset = 0;
85 std::unique_ptr<CPDF_StreamContentParser> m_pParser;
CPDF_ContentParser(CPDF_Page *pPage)
const CPDF_AllStates * GetCurStates() const
bool Continue(PauseIndicatorIface *pPause)
CPDF_ContentParser(RetainPtr< const CPDF_Stream > pStream, CPDF_PageObjectHolder *pPageObjectHolder, const CPDF_AllStates *pGraphicStates, const CFX_Matrix *pParentMatrix, CPDF_Type3Char *pType3Char, CPDF_Form::RecursionState *recursion_state)
CPDF_Document * GetDocument() const override