[evince/wip/annotation_support: 5/7] libdocument: Add remove_annotation to DocumentAnnotations.



commit aeebcb1499906d5c4443edd1785e5154596f97b8
Author: Josà Aliste <jaliste gnome org>
Date:   Wed Jun 27 08:51:19 2012 -0400

    libdocument: Add remove_annotation to DocumentAnnotations.

 libdocument/ev-document-annotations.c |   20 ++++++++++++++++++++
 libdocument/ev-document-annotations.h |   13 +++++++++++--
 2 files changed, 31 insertions(+), 2 deletions(-)
---
diff --git a/libdocument/ev-document-annotations.c b/libdocument/ev-document-annotations.c
index 620d117..d822004 100644
--- a/libdocument/ev-document-annotations.c
+++ b/libdocument/ev-document-annotations.c
@@ -73,3 +73,23 @@ ev_document_annotations_can_add_annotation (EvDocumentAnnotations *document_anno
 
 	return iface->add_annotation != NULL;
 }
+
+void
+ev_document_annotations_remove_annotation (EvDocumentAnnotations *document_annots,
+					   EvAnnotation          *annot)
+{
+	EvDocumentAnnotationsInterface *iface = EV_DOCUMENT_ANNOTATIONS_GET_IFACE (document_annots);
+
+	if (iface->remove_annotation)
+		iface->remove_annotation (document_annots, annot);
+}
+
+gboolean
+ev_document_annotations_can_remove_annotation (EvDocumentAnnotations *document_annots)
+{
+        EvDocumentAnnotationsInterface *iface = EV_DOCUMENT_ANNOTATIONS_GET_IFACE (document_annots);
+
+	return (iface->remove_annotation != NULL);
+}
+
+
diff --git a/libdocument/ev-document-annotations.h b/libdocument/ev-document-annotations.h
index 9c191ca..b6e3545 100644
--- a/libdocument/ev-document-annotations.h
+++ b/libdocument/ev-document-annotations.h
@@ -58,8 +58,11 @@ typedef enum {
 	/* Attachment Annotations */
 	EV_ANNOTATIONS_SAVE_ATTACHMENT    = 1 << 8,
 
+	/* Text Markup Annotations */
+	EV_ANNOTATIONS_SAVE_TEXT_MARKUP_TYPE = 1 << 9,
+
 	/* Save all */
-	EV_ANNOTATIONS_SAVE_ALL           = (1 << 9) - 1
+	EV_ANNOTATIONS_SAVE_ALL           = (1 << 10) - 1
 } EvAnnotationsSaveMask;
 
 typedef struct _EvDocumentAnnotations          EvDocumentAnnotations;
@@ -79,6 +82,8 @@ struct _EvDocumentAnnotationsInterface
 	void           (* save_annotation)      (EvDocumentAnnotations *document_annots,
 						 EvAnnotation          *annot,
 						 EvAnnotationsSaveMask  mask);
+	void	       (* remove_annotation)    (EvDocumentAnnotations *document_annots,
+						 EvAnnotation          *annot);
 };
 
 GType          ev_document_annotations_get_type             (void) G_GNUC_CONST;
@@ -88,10 +93,14 @@ gboolean       ev_document_annotations_document_is_modified (EvDocumentAnnotatio
 void           ev_document_annotations_add_annotation       (EvDocumentAnnotations *document_annots,
 							     EvAnnotation          *annot,
 							     EvRectangle           *rect);
+void           ev_document_annotations_remove_annotation    (EvDocumentAnnotations *document_annots,
+                                                             EvAnnotation          *annot);
+
 void           ev_document_annotations_save_annotation      (EvDocumentAnnotations *document_annots,
 							     EvAnnotation          *annot,
 							     EvAnnotationsSaveMask  mask);
-gboolean       ev_document_annotations_can_add_annotation   (EvDocumentAnnotations *document_annots);
+gboolean       ev_document_annotations_can_add_annotation    (EvDocumentAnnotations *document_annots);
+gboolean       ev_document_annotations_can_remove_annotation (EvDocumentAnnotations *document_annots);
 
 G_END_DECLS
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]