Text layouts for every page

This commit is contained in:
Jakub Melka
2019-12-31 17:39:31 +01:00
parent c803317b6b
commit c832c4ecef
11 changed files with 509 additions and 125 deletions

View File

@ -192,10 +192,6 @@ public:
void addRestoreGraphicState() { m_instructions.emplace_back(InstructionType::RestoreGraphicState, 0); }
void addSetWorldMatrix(const QMatrix& matrix);
void addSetCompositionMode(QPainter::CompositionMode compositionMode);
void addCharacter(const PDFTextCharacterInfo& info);
/// Creates text layout for the page
void createTextLayout();
/// Optimizes page memory allocation to contain less space
void optimize();
@ -217,9 +213,6 @@ public:
/// Returns memory consumption estimate
qint64 getMemoryConsumptionEstimate() const { return m_memoryConsumptionEstimate; }
/// Returns text layout of the page
const PDFTextLayout& getTextLayout() const { return m_textLayout; }
private:
struct PathPaintData
{
@ -287,7 +280,6 @@ private:
std::vector<QMatrix> m_matrices;
std::vector<QPainter::CompositionMode> m_compositionModes;
QList<PDFRenderError> m_errors;
PDFTextLayout m_textLayout;
};
/// Processor, which processes PDF's page commands and writes them to the precompiled page.
@ -320,7 +312,6 @@ protected:
virtual void performRestoreGraphicState(ProcessOrder order) override;
virtual void setWorldMatrix(const QMatrix& matrix) override;
virtual void setCompositionMode(QPainter::CompositionMode mode) override;
virtual void performOutputCharacter(const PDFTextCharacterInfo& info) override;
private:
PDFPrecompiledPage* m_precompiledPage;