Evince
Evince is a document viewer capable of displaying multiple and single page document formats like PDF and Postscript.
Main Page
Related Pages
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
ev-document-annotations.h
Go to the documentation of this file.
1
/* ev-document-annotations.h
2
* this file is part of evince, a gnome document viewer
3
*
4
* Copyright (C) 2007 IƱigo Martinez <inigomartinez@gmail.com>
5
*
6
* Evince is free software; you can redistribute it and/or modify it
7
* under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
10
*
11
* Evince is distributed in the hope that it will be useful, but
12
* WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19
*/
20
21
#if !defined (__EV_EVINCE_DOCUMENT_H_INSIDE__) && !defined (EVINCE_COMPILATION)
22
#error "Only <evince-document.h> can be included directly."
23
#endif
24
25
#ifndef EV_DOCUMENT_ANNOTATIONS_H
26
#define EV_DOCUMENT_ANNOTATIONS_H
27
28
#include <glib-object.h>
29
30
#include "
ev-document.h
"
31
#include "
ev-annotation.h
"
32
#include "
ev-mapping-list.h
"
33
34
G_BEGIN_DECLS
35
36
#define EV_TYPE_DOCUMENT_ANNOTATIONS (ev_document_annotations_get_type ())
37
#define EV_DOCUMENT_ANNOTATIONS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EV_TYPE_DOCUMENT_ANNOTATIONS, EvDocumentAnnotations))
38
#define EV_DOCUMENT_ANNOTATIONS_IFACE(k) (G_TYPE_CHECK_CLASS_CAST((k), EV_TYPE_DOCUMENT_ANNOTATIONS, EvDocumentAnnotationsInterface))
39
#define EV_IS_DOCUMENT_ANNOTATIONS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EV_TYPE_DOCUMENT_ANNOTATIONS))
40
#define EV_IS_DOCUMENT_ANNOTATIONS_IFACE(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EV_TYPE_DOCUMENT_ANNOTATIONS))
41
#define EV_DOCUMENT_ANNOTATIONS_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), EV_TYPE_DOCUMENT_ANNOTATIONS, EvDocumentAnnotationsInterface))
42
43
typedef
enum
{
44
EV_ANNOTATIONS_SAVE_NONE
= 0,
45
EV_ANNOTATIONS_SAVE_CONTENTS
= 1 << 0,
46
EV_ANNOTATIONS_SAVE_COLOR
= 1 << 1,
47
EV_ANNOTATIONS_SAVE_AREA
= 1 << 2,
48
49
/* Markup Annotations */
50
EV_ANNOTATIONS_SAVE_LABEL
= 1 << 3,
51
EV_ANNOTATIONS_SAVE_OPACITY
= 1 << 4,
52
EV_ANNOTATIONS_SAVE_POPUP_RECT
= 1 << 5,
53
EV_ANNOTATIONS_SAVE_POPUP_IS_OPEN
= 1 << 6,
54
55
/* Text Annotations */
56
EV_ANNOTATIONS_SAVE_TEXT_IS_OPEN
= 1 << 7,
57
EV_ANNOTATIONS_SAVE_TEXT_ICON
= 1 << 8,
58
59
/* Attachment Annotations */
60
EV_ANNOTATIONS_SAVE_ATTACHMENT
= 1 << 9,
61
62
/* Text Markup Annotations */
63
EV_ANNOTATIONS_SAVE_TEXT_MARKUP_TYPE
= 1 << 10,
64
65
/* Save all */
66
EV_ANNOTATIONS_SAVE_ALL
= (1 << 11) - 1
67
}
EvAnnotationsSaveMask
;
68
69
typedef
struct
_EvDocumentAnnotations
EvDocumentAnnotations
;
70
typedef
struct
_EvDocumentAnnotationsInterface
EvDocumentAnnotationsInterface
;
71
72
struct
_EvDocumentAnnotationsInterface
73
{
74
GTypeInterface
base_iface
;
75
76
/* Methods */
77
EvMappingList
*(* get_annotations) (
EvDocumentAnnotations
*document_annots,
78
EvPage
*page);
79
gboolean (*
document_is_modified
) (
EvDocumentAnnotations
*document_annots);
80
void (*
add_annotation
) (
EvDocumentAnnotations
*document_annots,
81
EvAnnotation
*annot,
82
EvRectangle
*rect);
83
void (*
save_annotation
) (
EvDocumentAnnotations
*document_annots,
84
EvAnnotation
*annot,
85
EvAnnotationsSaveMask
mask);
86
void (*
remove_annotation
) (
EvDocumentAnnotations
*document_annots,
87
EvAnnotation
*annot);
88
};
89
90
GType
ev_document_annotations_get_type
(
void
) G_GNUC_CONST;
91
EvMappingList
*
ev_document_annotations_get_annotations
(
EvDocumentAnnotations
*document_annots,
92
EvPage
*page);
93
gboolean
ev_document_annotations_document_is_modified
(
EvDocumentAnnotations
*document_annots);
94
void
ev_document_annotations_add_annotation
(
EvDocumentAnnotations
*document_annots,
95
EvAnnotation
*annot,
96
EvRectangle
*rect);
97
void
ev_document_annotations_remove_annotation
(
EvDocumentAnnotations
*document_annots,
98
EvAnnotation
*annot);
99
100
void
ev_document_annotations_save_annotation
(
EvDocumentAnnotations
*document_annots,
101
EvAnnotation
*annot,
102
EvAnnotationsSaveMask
mask);
103
gboolean
ev_document_annotations_can_add_annotation
(
EvDocumentAnnotations
*document_annots);
104
gboolean
ev_document_annotations_can_remove_annotation
(
EvDocumentAnnotations
*document_annots);
105
106
G_END_DECLS
107
108
#endif
/* EV_DOCUMENT_ANNOTATIONS_H */
109
evince-master
libdocument
ev-document-annotations.h
Generated on Thu Jul 13 2017 13:41:45 for Evince by
1.8.4