gboolean
ev_document_annotations_can_add_annotation (EvDocumentAnnotations *document_annots)
{
	EvDocumentAnnotationsInterface *iface = EV_DOCUMENT_ANNOTATIONS_GET_IFACE (document_annots);

	return iface->add_annotation != NULL;
}
gboolean
ev_document_annotations_document_is_modified (EvDocumentAnnotations *document_annots)
{
	EvDocumentAnnotationsInterface *iface = EV_DOCUMENT_ANNOTATIONS_GET_IFACE (document_annots);

	return (iface->document_is_modified) ? iface->document_is_modified (document_annots) : FALSE;
}
EvMappingList *
ev_document_annotations_get_annotations (EvDocumentAnnotations *document_annots,
					 EvPage                *page)
{
	EvDocumentAnnotationsInterface *iface = EV_DOCUMENT_ANNOTATIONS_GET_IFACE (document_annots);

	return iface->get_annotations (document_annots, page);
}
void
ev_document_annotations_save_annotation (EvDocumentAnnotations *document_annots,
					 EvAnnotation          *annot,
					 EvAnnotationsSaveMask  mask)
{
	EvDocumentAnnotationsInterface *iface = EV_DOCUMENT_ANNOTATIONS_GET_IFACE (document_annots);

	iface->save_annotation (document_annots, annot, mask);
}
void
ev_document_annotations_add_annotation (EvDocumentAnnotations *document_annots,
					EvAnnotation          *annot,
					EvRectangle           *rect)
{
	EvDocumentAnnotationsInterface *iface = EV_DOCUMENT_ANNOTATIONS_GET_IFACE (document_annots);

	if (iface->add_annotation)
		iface->add_annotation (document_annots, annot, rect);
}
void
ev_document_annotations_remove_annotation (EvDocumentAnnotations *document_annots,
		 			   EvAnnotation          *annot)
{

	 EvDocumentAnnotationsInterface *iface = EV_DOCUMENT_ANNOTATIONS_GET_IFACE (document_annots);

	 printf("\nremoval in document\n");
	 if (iface->remove_annotation)
         	iface->remove_annotation (document_annots, annot);

}