1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
// SPDX-License-Identifier: GPL-2.0-or-later
/* pps-document-annotations.h
* this file is part of papers, a gnome document viewer
*
* Copyright (C) 2007 IƱigo Martinez <inigomartinez@gmail.com>
*/
#pragma once
#if !defined(__PPS_PAPERS_DOCUMENT_H_INSIDE__) && !defined(PAPERS_COMPILATION)
#error "Only <papers-document.h> can be included directly."
#endif
#include <glib-object.h>
#include "pps-annotation.h"
#include "pps-document.h"
#include "pps-macros.h"
G_BEGIN_DECLS
#define PPS_TYPE_DOCUMENT_ANNOTATIONS (pps_document_annotations_get_type ())
PPS_PUBLIC
G_DECLARE_INTERFACE (PpsDocumentAnnotations, pps_document_annotations, PPS, DOCUMENT_ANNOTATIONS, GObject)
typedef enum {
PPS_ANNOTATION_OVER_MARKUP_NOT_IMPLEMENTED = 0,
PPS_ANNOTATION_OVER_MARKUP_UNKNOWN,
PPS_ANNOTATION_OVER_MARKUP_YES,
PPS_ANNOTATION_OVER_MARKUP_NOT
} PpsAnnotationsOverMarkup;
struct _PpsDocumentAnnotationsInterface {
GTypeInterface base_iface;
/* Methods */
GList *(*get_annotations) (PpsDocumentAnnotations *document_annots,
PpsPage *page);
gboolean (*document_is_modified) (PpsDocumentAnnotations *document_annots);
void (*add_annotation) (PpsDocumentAnnotations *document_annots,
PpsAnnotation *annot);
void (*remove_annotation) (PpsDocumentAnnotations *document_annots,
PpsAnnotation *annot);
PpsAnnotationsOverMarkup (*over_markup) (PpsDocumentAnnotations *document_annots,
PpsAnnotation *annot,
gdouble x,
gdouble y);
};
PPS_PUBLIC
GList *pps_document_annotations_get_annotations (PpsDocumentAnnotations *document_annots,
PpsPage *page);
PPS_PUBLIC
gboolean pps_document_annotations_document_is_modified (PpsDocumentAnnotations *document_annots);
PPS_PUBLIC
void pps_document_annotations_add_annotation (PpsDocumentAnnotations *document_annots,
PpsAnnotation *annot);
PPS_PUBLIC
void pps_document_annotations_remove_annotation (PpsDocumentAnnotations *document_annots,
PpsAnnotation *annot);
PPS_PUBLIC
gboolean pps_document_annotations_can_add_annotation (PpsDocumentAnnotations *document_annots);
PPS_PUBLIC
gboolean pps_document_annotations_can_remove_annotation (PpsDocumentAnnotations *document_annots);
PPS_PUBLIC
PpsAnnotationsOverMarkup pps_document_annotations_over_markup (PpsDocumentAnnotations *document_annots,
PpsAnnotation *annot,
gdouble x,
gdouble y);
G_END_DECLS
|