You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.3 KiB
39 lines
1.3 KiB
/* |
|
SPDX-FileCopyrightText: 2012 Fabio D 'Urso <fabiodurso@hotmail.it> |
|
SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company <info@kdab.com> |
|
Work sponsored by the LiMux project of the city of Munich |
|
|
|
SPDX-License-Identifier: GPL-2.0-or-later |
|
*/ |
|
|
|
#ifndef _OKULAR_GENERATOR_PDF_ANNOTS_H_ |
|
#define _OKULAR_GENERATOR_PDF_ANNOTS_H_ |
|
|
|
#include <poppler-annotation.h> |
|
#include <poppler-qt5.h> |
|
|
|
#include <QMutex> |
|
|
|
#include "config-okular-poppler.h" |
|
#include "core/annotations.h" |
|
|
|
extern Okular::Annotation *createAnnotationFromPopplerAnnotation(Poppler::Annotation *popplerAnnotation, const Poppler::Page &popplerPage, bool *doDelete); |
|
|
|
class PopplerAnnotationProxy : public Okular::AnnotationProxy |
|
{ |
|
public: |
|
PopplerAnnotationProxy(Poppler::Document *doc, QMutex *userMutex, QHash<Okular::Annotation *, Poppler::Annotation *> *annotsOnOpenHash); |
|
~PopplerAnnotationProxy() override; |
|
|
|
bool supports(Capability capability) const override; |
|
void notifyAddition(Okular::Annotation *okl_ann, int page) override; |
|
void notifyModification(const Okular::Annotation *okl_ann, int page, bool appearanceChanged) override; |
|
void notifyRemoval(Okular::Annotation *okl_ann, int page) override; |
|
|
|
private: |
|
Poppler::Document *ppl_doc; |
|
QMutex *mutex; |
|
QHash<Okular::Annotation *, Poppler::Annotation *> *annotationsOnOpenHash; |
|
}; |
|
|
|
#endif
|
|
|