CPDF_GeneralState::StateData::StateData(const StateData& that) : m_BlendMode(that.m_BlendMode), m_BlendType(that.m_BlendType), m_pSoftMask(that.m_pSoftMask), m_StrokeAlpha(that.m_StrokeAlpha), m_FillAlpha(that.m_FillAlpha), m_pTR(that.m_pTR), m_pTransferFunc(that.m_pTransferFunc), m_RenderIntent(that.m_RenderIntent), m_StrokeAdjust(that.m_StrokeAdjust), m_AlphaSource(that.m_AlphaSource), m_TextKnockout(that.m_TextKnockout), m_StrokeOP(that.m_StrokeOP), m_FillOP(that.m_FillOP), m_OPMode(that.m_OPMode), m_pBG(that.m_pBG), m_pUCR(that.m_pUCR), m_pHT(that.m_pHT), m_Flatness(that.m_Flatness), m_Smoothness(that.m_Smoothness) { m_Matrix = that.m_Matrix; m_SMaskMatrix = that.m_SMaskMatrix; if (that.m_pTransferFunc && that.m_pTransferFunc->m_pPDFDoc) { CPDF_DocRenderData* pDocCache = that.m_pTransferFunc->m_pPDFDoc->GetRenderData(); if (pDocCache) m_pTransferFunc = pDocCache->GetTransferFunc(m_pTR); } }
CPDF_GeneralState::StateData::~StateData() { if (m_pTransferFunc && m_pTransferFunc->m_pPDFDoc) { CPDF_DocRenderData* pDocCache = m_pTransferFunc->m_pPDFDoc->GetRenderData(); if (pDocCache) pDocCache->ReleaseTransferFunc(m_pTR); } }
CPDF_TransferFunc* CPDF_RenderStatus::GetTransferFunc(CPDF_Object* pObj) const { ASSERT(pObj != NULL); CPDF_DocRenderData* pDocCache = m_pContext->m_pDocument->GetRenderData(); if (!pDocCache) { return NULL; } return pDocCache->GetTransferFunc(pObj); }
CPDF_GeneralStateData::CPDF_GeneralStateData(const CPDF_GeneralStateData& src) { FXSYS_memcpy(this, &src, sizeof(CPDF_GeneralStateData)); if (src.m_pTransferFunc && src.m_pTransferFunc->m_pPDFDoc) { CPDF_DocRenderData* pDocCache = src.m_pTransferFunc->m_pPDFDoc->GetRenderData(); if (!pDocCache) return; m_pTransferFunc = pDocCache->GetTransferFunc(m_pTR); } }
CPDF_TransferFunc* CPDF_RenderStatus::GetTransferFunc(CPDF_Object* pObj) const { ASSERT(pObj); CPDF_DocRenderData* pDocCache = m_pContext->GetDocument()->GetRenderData(); return pDocCache ? pDocCache->GetTransferFunc(pObj) : nullptr; }