mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
35 lines
998 B
C++
35 lines
998 B
C++
#pragma once
|
|
|
|
#include "CharacterRange.h"
|
|
#include "FileInformationBlock.h"
|
|
|
|
#define GET_CHARS_RANGE(NAME) inline CharacterRange* Get##NAME(int nIndex) {\
|
|
if (m_ar##NAME.empty()) return NULL; \
|
|
if (nIndex < (int)m_ar##NAME.size()) return m_ar##NAME[nIndex];\
|
|
return NULL; } \
|
|
|
|
namespace DocFileFormat
|
|
{
|
|
class HeaderAndFooterTable
|
|
{
|
|
public:
|
|
HeaderAndFooterTable (FileInformationBlock* fib, POLE::Stream* pTableStream);
|
|
~HeaderAndFooterTable();
|
|
|
|
GET_CHARS_RANGE (FirstHeaders);
|
|
GET_CHARS_RANGE (EvenHeaders);
|
|
GET_CHARS_RANGE (OddHeaders);
|
|
GET_CHARS_RANGE (FirstFooters);
|
|
GET_CHARS_RANGE (EvenFooters);
|
|
GET_CHARS_RANGE (OddFooters);
|
|
|
|
private:
|
|
|
|
std::vector<CharacterRange*> m_arFirstHeaders;
|
|
std::vector<CharacterRange*> m_arEvenHeaders;
|
|
std::vector<CharacterRange*> m_arOddHeaders;
|
|
std::vector<CharacterRange*> m_arFirstFooters;
|
|
std::vector<CharacterRange*> m_arEvenFooters;
|
|
std::vector<CharacterRange*> m_arOddFooters;
|
|
};
|
|
} |