#include "core/fpdfapi/page/cpdf_pageobjectholder.h"
#include <algorithm>
#include <utility>
#include "constants/transparency.h"
#include "core/fpdfapi/page/cpdf_allstates.h"
#include "core/fpdfapi/page/cpdf_contentparser.h"
#include "core/fpdfapi/page/cpdf_pageobject.h"
#include "core/fpdfapi/parser/cpdf_dictionary.h"
#include "core/fpdfapi/parser/cpdf_document.h"
#include "core/fxcrt/check.h"
#include "core/fxcrt/check_op.h"
#include "core/fxcrt/fx_extension.h"
#include "core/fxcrt/stl_util.h"
bool GraphicsData::operator<(const GraphicsData& other) const { … }
bool FontData::operator<(const FontData& other) const { … }
CPDF_PageObjectHolder::CPDF_PageObjectHolder(
CPDF_Document* pDoc,
RetainPtr<CPDF_Dictionary> pDict,
RetainPtr<CPDF_Dictionary> pPageResources,
RetainPtr<CPDF_Dictionary> pResources)
: … { … }
CPDF_PageObjectHolder::~CPDF_PageObjectHolder() = default;
bool CPDF_PageObjectHolder::IsPage() const { … }
void CPDF_PageObjectHolder::StartParse(
std::unique_ptr<CPDF_ContentParser> pParser) { … }
void CPDF_PageObjectHolder::ContinueParse(PauseIndicatorIface* pPause) { … }
void CPDF_PageObjectHolder::AddImageMaskBoundingBox(const CFX_FloatRect& box) { … }
std::set<int32_t> CPDF_PageObjectHolder::TakeDirtyStreams() { … }
std::optional<ByteString> CPDF_PageObjectHolder::GraphicsMapSearch(
const GraphicsData& gd) { … }
void CPDF_PageObjectHolder::GraphicsMapInsert(const GraphicsData& gd,
const ByteString& str) { … }
std::optional<ByteString> CPDF_PageObjectHolder::FontsMapSearch(
const FontData& fd) { … }
void CPDF_PageObjectHolder::FontsMapInsert(const FontData& fd,
const ByteString& str) { … }
CFX_Matrix CPDF_PageObjectHolder::GetCTMAtBeginningOfStream(int32_t stream) { … }
CFX_Matrix CPDF_PageObjectHolder::GetCTMAtEndOfStream(int32_t stream) { … }
void CPDF_PageObjectHolder::LoadTransparencyInfo() { … }
CPDF_PageObject* CPDF_PageObjectHolder::GetPageObjectByIndex(
size_t index) const { … }
void CPDF_PageObjectHolder::AppendPageObject(
std::unique_ptr<CPDF_PageObject> pPageObj) { … }
std::unique_ptr<CPDF_PageObject> CPDF_PageObjectHolder::RemovePageObject(
CPDF_PageObject* pPageObj) { … }
bool CPDF_PageObjectHolder::ErasePageObjectAtIndex(size_t index) { … }