本文整理汇总了C++中CPDF_DocPageData::ReleasePattern方法的典型用法代码示例。如果您正苦于以下问题:C++ CPDF_DocPageData::ReleasePattern方法的具体用法?C++ CPDF_DocPageData::ReleasePattern怎么用?C++ CPDF_DocPageData::ReleasePattern使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPDF_DocPageData
的用法示例。
在下文中一共展示了CPDF_DocPageData::ReleasePattern方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetValue
void CPDF_Color::SetValue(CPDF_Pattern* pPattern, FX_FLOAT* comps, int ncomps)
{
if (ncomps > MAX_PATTERN_COLORCOMPS) {
return;
}
if (m_pCS == NULL || m_pCS->GetFamily() != PDFCS_PATTERN) {
if (m_pBuffer) {
FX_Free(m_pBuffer);
}
m_pCS = CPDF_ColorSpace::GetStockCS(PDFCS_PATTERN);
m_pBuffer = m_pCS->CreateBuf();
}
CPDF_DocPageData *pDocPageData = NULL;
PatternValue* pvalue = (PatternValue*)m_pBuffer;
if (pvalue->m_pPattern && pvalue->m_pPattern->m_pDocument) {
pDocPageData = pvalue->m_pPattern->m_pDocument->GetPageData();
if (pDocPageData) {
pDocPageData->ReleasePattern(pvalue->m_pPattern->m_pPatternObj);
}
}
pvalue->m_nComps = ncomps;
pvalue->m_pPattern = pPattern;
if (ncomps) {
FXSYS_memcpy(pvalue->m_Comps, comps, ncomps * sizeof(FX_FLOAT));
}
pvalue->m_pCountedPattern = NULL;
if (pPattern && pPattern->m_pDocument)
{
if (!pDocPageData) {
pDocPageData = pPattern->m_pDocument->GetPageData();
}
pvalue->m_pCountedPattern = pDocPageData->FindPatternPtr(pPattern->m_pPatternObj);
}
}
示例2: ReleaseBuffer
void CPDF_Color::ReleaseBuffer()
{
if (!m_pBuffer) {
return;
}
if (m_pCS->GetFamily() == PDFCS_PATTERN) {
PatternValue* pvalue = (PatternValue*)m_pBuffer;
CPDF_Pattern* pPattern = pvalue->m_pCountedPattern ? pvalue->m_pCountedPattern->get() : NULL;
if (pPattern && pPattern->m_pDocument) {
CPDF_DocPageData *pPageData = pPattern->m_pDocument->GetPageData();
if (pPageData) {
pPageData->ReleasePattern(pPattern->m_pPatternObj);
}
}
}
FX_Free(m_pBuffer);
m_pBuffer = NULL;
}