## EvDocumentAnnotations EvDocumentAnnotations |

## Synopsis

                        EvDocumentAnnotations;
    struct              EvDocumentAnnotationsInterface;
    enum                EvAnnotationsSaveMask;
    EvMappingList *     ev_document_annotations_get_annotations
                                                            (EvDocumentAnnotations *document_annots,
                                                             EvPage *page);
    void                ev_document_annotations_add_annotation
                                                            (EvDocumentAnnotations *document_annots,
                                                             EvAnnotation *annot,
                                                             EvRectangle *rect);
    gboolean            ev_document_annotations_can_add_annotation
                                                            (EvDocumentAnnotations *document_annots);
    gboolean            ev_document_annotations_document_is_modified
                                                            (EvDocumentAnnotations *document_annots);
    void                ev_document_annotations_save_annotation
                                                            (EvDocumentAnnotations *document_annots,
                                                             EvAnnotation *annot,
                                                             EvAnnotationsSaveMask mask);

## Object Hierarchy

      GInterface
       +----EvDocumentAnnotations

      GFlags
       +----EvAnnotationsSaveMask

## Description

## Details

### EvDocumentAnnotations

    typedef struct _EvDocumentAnnotations EvDocumentAnnotations;

### struct EvDocumentAnnotationsInterface

    struct EvDocumentAnnotationsInterface {
    	GTypeInterface base_iface;

    	/* Methods  */
    	EvMappingList *(* get_annotations)      (EvDocumentAnnotations *document_annots,
    						 EvPage                *page);
    	gboolean       (* document_is_modified) (EvDocumentAnnotations *document_annots);
    	void           (* add_annotation)       (EvDocumentAnnotations *document_annots,
    						 EvAnnotation          *annot,
    						 EvRectangle           *rect);
    	void           (* save_annotation)      (EvDocumentAnnotations *document_annots,
    						 EvAnnotation          *annot,
    						 EvAnnotationsSaveMask  mask);
    };

### enum EvAnnotationsSaveMask

    typedef enum {
    	EV_ANNOTATIONS_SAVE_NONE          = 0,
    	EV_ANNOTATIONS_SAVE_CONTENTS      = 1 << 0,
    	EV_ANNOTATIONS_SAVE_COLOR         = 1 << 1,

    	/* Markup Annotations */
    	EV_ANNOTATIONS_SAVE_LABEL         = 1 << 2,
    	EV_ANNOTATIONS_SAVE_OPACITY       = 1 << 3,
    	EV_ANNOTATIONS_SAVE_POPUP_RECT    = 1 << 4,
    	EV_ANNOTATIONS_SAVE_POPUP_IS_OPEN = 1 << 5,

    	/* Text Annotations */
    	EV_ANNOTATIONS_SAVE_TEXT_IS_OPEN  = 1 << 6,
    	EV_ANNOTATIONS_SAVE_TEXT_ICON     = 1 << 7,

    	/* Attachment Annotations */
    	EV_ANNOTATIONS_SAVE_ATTACHMENT    = 1 << 8,

    	/* Save all */
    	EV_ANNOTATIONS_SAVE_ALL           = (1 << 9) - 1
    } EvAnnotationsSaveMask;

`EV_ANNOTATIONS_SAVE_NONE` |
`EV_ANNOTATIONS_SAVE_CONTENTS` |
`EV_ANNOTATIONS_SAVE_COLOR` |
`EV_ANNOTATIONS_SAVE_LABEL` |
`EV_ANNOTATIONS_SAVE_OPACITY` |
`EV_ANNOTATIONS_SAVE_POPUP_RECT` |
`EV_ANNOTATIONS_SAVE_POPUP_IS_OPEN` |
`EV_ANNOTATIONS_SAVE_TEXT_IS_OPEN` |
`EV_ANNOTATIONS_SAVE_TEXT_ICON` |
`EV_ANNOTATIONS_SAVE_ATTACHMENT` |
`EV_ANNOTATIONS_SAVE_ALL` |

### ev_document_annotations_get_annotations ()

    EvMappingList *     ev_document_annotations_get_annotations
                                                            (EvDocumentAnnotations *document_annots,
                                                             EvPage *page);

### ev_document_annotations_add_annotation ()

    void                ev_document_annotations_add_annotation
                                                            (EvDocumentAnnotations *document_annots,
                                                             EvAnnotation *annot,
                                                             EvRectangle *rect);

### ev_document_annotations_can_add_annotation ()

    gboolean            ev_document_annotations_can_add_annotation
                                                            (EvDocumentAnnotations *document_annots);

### ev_document_annotations_document_is_modified ()

    gboolean            ev_document_annotations_document_is_modified
                                                            (EvDocumentAnnotations *document_annots);

### ev_document_annotations_save_annotation ()

    void                ev_document_annotations_save_annotation
                                                            (EvDocumentAnnotations *document_annots,
                                                             EvAnnotation *annot,
                                                             EvAnnotationsSaveMask mask);