void CXTPTabManager::OnScrollHeader(BOOL bRight) { if (bRight) { SetHeaderOffset(GetHeaderOffset() - m_nScrollDelta); } else { SetHeaderOffset(GetHeaderOffset() + m_nScrollDelta); } }
bool CPDF_DataAvail::IsLinearizedFile(uint8_t* pData, uint32_t dwLen) { if (m_pLinearized) return true; ScopedFileStream file(FX_CreateMemoryStream(pData, (size_t)dwLen, false)); int32_t offset = GetHeaderOffset(file.get()); if (offset == -1) { m_docStatus = PDF_DATAAVAIL_ERROR; return false; } m_dwHeaderOffset = offset; m_syntaxParser.InitParser(file.get(), offset); m_syntaxParser.RestorePos(m_syntaxParser.m_HeaderOffset + 9); bool bNumber; CFX_ByteString wordObjNum = m_syntaxParser.GetNextWord(&bNumber); if (!bNumber) return false; uint32_t objnum = FXSYS_atoui(wordObjNum.c_str()); m_pLinearized = CPDF_LinearizedHeader::CreateForObject( ParseIndirectObjectAt(m_syntaxParser.m_HeaderOffset + 9, objnum)); if (!m_pLinearized || m_pLinearized->GetFileSize() != m_pFileRead->GetSize()) { m_pLinearized.reset(); return false; } return true; }