*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include "ev-document-annotations.h"
-EV_DEFINE_INTERFACE (EvDocumentAnnotations, ev_document_annotations, 0)
+G_DEFINE_INTERFACE (EvDocumentAnnotations, ev_document_annotations, 0)
static void
-ev_document_annotations_class_init (EvDocumentAnnotationsIface *klass)
+ev_document_annotations_default_init (EvDocumentAnnotationsInterface *klass)
{
}
-GList *
+EvMappingList *
ev_document_annotations_get_annotations (EvDocumentAnnotations *document_annots,
EvPage *page)
{
- EvDocumentAnnotationsIface *iface = EV_DOCUMENT_ANNOTATIONS_GET_IFACE (document_annots);
+ EvDocumentAnnotationsInterface *iface = EV_DOCUMENT_ANNOTATIONS_GET_IFACE (document_annots);
return iface->get_annotations (document_annots, page);
}
+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;
+}
+
void
-ev_document_annotations_annotation_set_contents (EvDocumentAnnotations *document_annots,
- EvAnnotation *annot,
- const gchar *contents)
+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);
+}
+
+gboolean
+ev_document_annotations_can_add_annotation (EvDocumentAnnotations *document_annots)
{
- EvDocumentAnnotationsIface *iface = EV_DOCUMENT_ANNOTATIONS_GET_IFACE (document_annots);
+ EvDocumentAnnotationsInterface *iface = EV_DOCUMENT_ANNOTATIONS_GET_IFACE (document_annots);
- iface->annotation_set_contents (document_annots, annot, contents);
+ return iface->add_annotation != NULL;
}