## EvAnnotation EvAnnotation |

## Synopsis

                        EvAnnotation;
                        EvAnnotationClass;
                        EvAnnotationMarkup;
                        EvAnnotationMarkupInterface;
                        EvAnnotationText;
                        EvAnnotationTextClass;
                        EvAnnotationAttachment;
                        EvAnnotationAttachmentClass;
    enum                EvAnnotationTextIcon;
    enum                EvAnnotationType;
    EvAnnotationType    ev_annotation_get_annotation_type   (EvAnnotation *annot);
    EvPage *            ev_annotation_get_page              (EvAnnotation *annot);
    guint               ev_annotation_get_page_index        (EvAnnotation *annot);
    gboolean            ev_annotation_equal                 (EvAnnotation *annot,
                                                             EvAnnotation *other);
    const gchar *       ev_annotation_get_contents          (EvAnnotation *annot);
    gboolean            ev_annotation_set_contents          (EvAnnotation *annot,
                                                             const gchar *contents);
    const gchar *       ev_annotation_get_name              (EvAnnotation *annot);
    gboolean            ev_annotation_set_name              (EvAnnotation *annot,
                                                             const gchar *name);
    const gchar *       ev_annotation_get_modified          (EvAnnotation *annot);
    gboolean            ev_annotation_set_modified          (EvAnnotation *annot,
                                                             const gchar *modified);
    gboolean            ev_annotation_set_modified_from_time
                                                            (EvAnnotation *annot,
                                                             GTime utime);
    void                ev_annotation_get_color             (EvAnnotation *annot,
                                                             GdkColor *color);
    gboolean            ev_annotation_set_color             (EvAnnotation *annot,
                                                             const GdkColor *color);
    void                ev_annotation_get_rgba              (EvAnnotation *annot,
                                                             GdkRGBA *rgba);
    gboolean            ev_annotation_set_rgba              (EvAnnotation *annot,
                                                             const GdkRGBA *rgba);
    const gchar *       ev_annotation_markup_get_label      (EvAnnotationMarkup *markup);
    gboolean            ev_annotation_markup_set_label      (EvAnnotationMarkup *markup,
                                                             const gchar *label);
    gdouble             ev_annotation_markup_get_opacity    (EvAnnotationMarkup *markup);
    gboolean            ev_annotation_markup_set_opacity    (EvAnnotationMarkup *markup,
                                                             gdouble opacity);
    gboolean            ev_annotation_markup_has_popup      (EvAnnotationMarkup *markup);
    gboolean            ev_annotation_markup_set_has_popup  (EvAnnotationMarkup *markup,
                                                             gboolean has_popup);
    void                ev_annotation_markup_get_rectangle  (EvAnnotationMarkup *markup,
                                                             EvRectangle *ev_rect);
    gboolean            ev_annotation_markup_set_rectangle  (EvAnnotationMarkup *markup,
                                                             const EvRectangle *ev_rect);
    gboolean            ev_annotation_markup_get_popup_is_open
                                                            (EvAnnotationMarkup *markup);
    gboolean            ev_annotation_markup_set_popup_is_open
                                                            (EvAnnotationMarkup *markup,
                                                             gboolean is_open);
    EvAnnotation *      ev_annotation_text_new              (EvPage *page);
    EvAnnotationTextIcon ev_annotation_text_get_icon        (EvAnnotationText *text);
    gboolean            ev_annotation_text_set_icon         (EvAnnotationText *text,
                                                             EvAnnotationTextIcon icon);
    gboolean            ev_annotation_text_get_is_open      (EvAnnotationText *text);
    gboolean            ev_annotation_text_set_is_open      (EvAnnotationText *text,
                                                             gboolean is_open);
    EvAnnotation *      ev_annotation_attachment_new        (EvPage *page,
                                                             EvAttachment *attachment);
    EvAttachment *      ev_annotation_attachment_get_attachment
                                                            (EvAnnotationAttachment *annot);
    gboolean            ev_annotation_attachment_set_attachment
                                                            (EvAnnotationAttachment *annot,
                                                             EvAttachment *attachment);

## Object Hierarchy

      GObject
       +----EvAnnotation
             +----EvAnnotationAttachment
             +----EvAnnotationText

      GInterface
       +----EvAnnotationMarkup

      GObject
       +----EvAnnotation
             +----EvAnnotationText

      GObject
       +----EvAnnotation
             +----EvAnnotationAttachment

      GEnum
       +----EvAnnotationTextIcon

      GEnum
       +----EvAnnotationType

## Prerequisites

EvAnnotationMarkup requires EvAnnotation.

## Known Derived Interfaces

EvAnnotation is required by EvAnnotationMarkup.

## Implemented Interfaces

EvAnnotationText implements EvAnnotationMarkup.

EvAnnotationAttachment implements EvAnnotationMarkup.

## Known Implementations

EvAnnotationMarkup is implemented by EvAnnotationAttachment and EvAnnotationText.

## Properties

      "color"                    gpointer              : Read / Write
      "contents"                 gchar*                : Read / Write
      "modified"                 gchar*                : Read / Write
      "name"                     gchar*                : Read / Write
      "page"                     EvPage*               : Write / Construct Only
      "rgba"                     GdkRGBA*              : Read / Write
      "has-popup"                gboolean              : Read / Write
      "label"                    gchar*                : Read / Write
      "opacity"                  gdouble               : Read / Write
      "popup-is-open"            gboolean              : Read / Write
      "rectangle"                EvRectangle*          : Read / Write
      "icon"                     EvAnnotationTextIcon  : Read / Write
      "is-open"                  gboolean              : Read / Write
      "attachment"               EvAttachment*         : Read / Write / Construct

## Description

## Details

### EvAnnotation

    typedef struct _EvAnnotation EvAnnotation;

### EvAnnotationClass

    typedef struct _EvAnnotationClass EvAnnotationClass;

### EvAnnotationMarkup

    typedef struct _EvAnnotationMarkup EvAnnotationMarkup;

### EvAnnotationMarkupInterface

    typedef struct _EvAnnotationMarkupInterface EvAnnotationMarkupInterface;

### EvAnnotationText

    typedef struct _EvAnnotationText EvAnnotationText;

### EvAnnotationTextClass

    typedef struct _EvAnnotationTextClass EvAnnotationTextClass;

### EvAnnotationAttachment

    typedef struct _EvAnnotationAttachment EvAnnotationAttachment;

### EvAnnotationAttachmentClass

    typedef struct _EvAnnotationAttachmentClass EvAnnotationAttachmentClass;

### enum EvAnnotationTextIcon

    typedef enum {
    	EV_ANNOTATION_TEXT_ICON_NOTE,
    	EV_ANNOTATION_TEXT_ICON_COMMENT,
    	EV_ANNOTATION_TEXT_ICON_KEY,
    	EV_ANNOTATION_TEXT_ICON_HELP,
    	EV_ANNOTATION_TEXT_ICON_NEW_PARAGRAPH,
    	EV_ANNOTATION_TEXT_ICON_PARAGRAPH,
    	EV_ANNOTATION_TEXT_ICON_INSERT,
    	EV_ANNOTATION_TEXT_ICON_CROSS,
    	EV_ANNOTATION_TEXT_ICON_CIRCLE,
    	EV_ANNOTATION_TEXT_ICON_UNKNOWN
    } EvAnnotationTextIcon;

`EV_ANNOTATION_TEXT_ICON_NOTE` |
`EV_ANNOTATION_TEXT_ICON_COMMENT` |
`EV_ANNOTATION_TEXT_ICON_KEY` |
`EV_ANNOTATION_TEXT_ICON_HELP` |
`EV_ANNOTATION_TEXT_ICON_NEW_PARAGRAPH` |
`EV_ANNOTATION_TEXT_ICON_PARAGRAPH` |
`EV_ANNOTATION_TEXT_ICON_INSERT` |
`EV_ANNOTATION_TEXT_ICON_CROSS` |
`EV_ANNOTATION_TEXT_ICON_CIRCLE` |
`EV_ANNOTATION_TEXT_ICON_UNKNOWN` |

### enum EvAnnotationType

    typedef enum {
    	EV_ANNOTATION_TYPE_UNKNOWN,
    	EV_ANNOTATION_TYPE_TEXT,
    	EV_ANNOTATION_TYPE_ATTACHMENT
    } EvAnnotationType;

`EV_ANNOTATION_TYPE_UNKNOWN` |
`EV_ANNOTATION_TYPE_TEXT` |
`EV_ANNOTATION_TYPE_ATTACHMENT` |

### ev_annotation_get_annotation_type ()

    EvAnnotationType    ev_annotation_get_annotation_type   (EvAnnotation *annot);

### ev_annotation_get_page ()

    EvPage *            ev_annotation_get_page              (EvAnnotation *annot);

Get the page where `annot` appears.

`annot` : | an EvAnnotation
Returns : | the EvPage where `annot` appears. [transfer none]

### ev_annotation_get_page_index ()

    guint               ev_annotation_get_page_index        (EvAnnotation *annot);

Get the index of the page where `annot` appears. Note that the index is 0 based.

`annot` : | an EvAnnotation
Returns : | the page index.

### ev_annotation_equal ()

    gboolean            ev_annotation_equal                 (EvAnnotation *annot,
                                                             EvAnnotation *other);

Compare `annot` and `other`.

`annot` : | an EvAnnotation
`other` : | another EvAnnotation
Returns : | `TRUE` if `annot` is equal to `other`, `FALSE` otherwise

### ev_annotation_get_contents ()

    const gchar *       ev_annotation_get_contents          (EvAnnotation *annot);

Get the contents of `annot`. The contents of `annot` is the text that is displayed in the annotation, or an alternate description of the annotation's content for non-text annotations

`annot` : | an EvAnnotation
Returns : | a string with the contents of the annotation or `NULL` if `annot` has no contents.

### ev_annotation_set_contents ()

    gboolean            ev_annotation_set_contents          (EvAnnotation *annot,
                                                             const gchar *contents);

Set the contents of `annot`. You can monitor changes in the annotation's contents by connecting to notify::contents signal of `annot`.

`annot` : | an EvAnnotation
Returns : | `TRUE` if the contents have been changed, `FALSE` otherwise.

### ev_annotation_get_name ()

    const gchar *       ev_annotation_get_name              (EvAnnotation *annot);

Get the name of `annot`. The name of the annotation is a string that uniquely indenftifies `annot` amongs all the annotations in the same page.

`annot` : | an EvAnnotation
Returns : | the string with the annotation's name.

### ev_annotation_set_name ()

    gboolean            ev_annotation_set_name              (EvAnnotation *annot,
                                                             const gchar *name);

Set the name of `annot`. You can monitor changes of the annotation name by connecting to the notify::name signal on `annot`.

`annot` : | an EvAnnotation
Returns : | `TRUE` when the name has been changed, `FALSE` otherwise.

### ev_annotation_get_modified ()

    const gchar *       ev_annotation_get_modified          (EvAnnotation *annot);

Get the last modification date of `annot`.

`annot` : | an EvAnnotation
Returns : | A string containing the last modification date.

### ev_annotation_set_modified ()

    gboolean            ev_annotation_set_modified          (EvAnnotation *annot,
                                                             const gchar *modified);

Set the last modification date of `annot` to `modified`. To set the last modification date using a GTime, use `ev_annotation_set_modified_from_time()` instead. You can monitor changes to the last modification date by connecting to the notify::modified signal on `annot`.

`annot` : | an EvAnnotation
`modified` : | string with the last modification date.
Returns : | `TRUE` if the last modification date has been updated, `FALSE` otherwise.

### ev_annotation_set_modified_from_time ()

    gboolean            ev_annotation_set_modified_from_time
                                                            (EvAnnotation *annot,
                                                             GTime utime);

Set the last modification date of `annot` to `utime`. You can monitor changes to the last modification date by connectin to the notify::modified sinal on `annot`. For the time-format used, see `ev_document_misc_format_date()`.

`annot` : | an EvAnnotation
`utime` : | a GTime
Returns : | `TRUE` if the last modified date has been updated, `FALSE` otherwise.

### ev_annotation_get_color ()

    void                ev_annotation_get_color             (EvAnnotation *annot,
                                                             GdkColor *color);

### Warning

`ev_annotation_get_color` has been deprecated since version 3.6 and should not be used in newly-written code. Use `ev_annotation_get_rgba()` instead.

Get the color of `annot`.

`annot` : | an EvAnnotation
`color` : | a GdkColor to be filled with the Annotation color. [out]

### ev_annotation_set_color ()

    gboolean            ev_annotation_set_color             (EvAnnotation *annot,
                                                             const GdkColor *color);

### Warning

`ev_annotation_set_color` has been deprecated since version 3.6 and should not be used in newly-written code. Use `ev_annotation_set_rgba()` instead.

Set the color of the annotation to `color`. You can monitor changes to the annotation's color by connecting to notify::color signal on `annot`.

`annot` : | an Evannotation
`color` : | a GdkColor
Returns : | `TRUE` when the color has been changed, `FALSE` otherwise.

### ev_annotation_get_rgba ()

    void                ev_annotation_get_rgba              (EvAnnotation *annot,
                                                             GdkRGBA *rgba);

Gets the color of `annot`.

`annot` : | an EvAnnotation
`rgba` : | a GdkRGBA to be filled with the annotation color. [out]

Since 3.6

### ev_annotation_set_rgba ()

    gboolean            ev_annotation_set_rgba              (EvAnnotation *annot,
                                                             const GdkRGBA *rgba);

Set the color of the annotation to `rgba`.

`annot` : | an Evannotation
`rgba` : | a GdkRGBA
Returns : | `TRUE` if the color has been changed, `FALSE` otherwise

Since 3.6

### ev_annotation_markup_get_label ()

    const gchar *       ev_annotation_markup_get_label      (EvAnnotationMarkup *markup);

### ev_annotation_markup_set_label ()

    gboolean            ev_annotation_markup_set_label      (EvAnnotationMarkup *markup,
                                                             const gchar *label);

### ev_annotation_markup_get_opacity ()

    gdouble             ev_annotation_markup_get_opacity    (EvAnnotationMarkup *markup);

### ev_annotation_markup_set_opacity ()

    gboolean            ev_annotation_markup_set_opacity    (EvAnnotationMarkup *markup,
                                                             gdouble opacity);

### ev_annotation_markup_has_popup ()

    gboolean            ev_annotation_markup_has_popup      (EvAnnotationMarkup *markup);

### ev_annotation_markup_set_has_popup ()

    gboolean            ev_annotation_markup_set_has_popup  (EvAnnotationMarkup *markup,
                                                             gboolean has_popup);

### ev_annotation_markup_get_rectangle ()

    void                ev_annotation_markup_get_rectangle  (EvAnnotationMarkup *markup,
                                                             EvRectangle *ev_rect);

### ev_annotation_markup_set_rectangle ()

    gboolean            ev_annotation_markup_set_rectangle  (EvAnnotationMarkup *markup,
                                                             const EvRectangle *ev_rect);

### ev_annotation_markup_get_popup_is_open ()

    gboolean            ev_annotation_markup_get_popup_is_open
                                                            (EvAnnotationMarkup *markup);

### ev_annotation_markup_set_popup_is_open ()

    gboolean            ev_annotation_markup_set_popup_is_open
                                                            (EvAnnotationMarkup *markup,
                                                             gboolean is_open);

### ev_annotation_text_new ()

    EvAnnotation *      ev_annotation_text_new              (EvPage *page);

### ev_annotation_text_get_icon ()

    EvAnnotationTextIcon ev_annotation_text_get_icon        (EvAnnotationText *text);

### ev_annotation_text_set_icon ()

    gboolean            ev_annotation_text_set_icon         (EvAnnotationText *text,
                                                             EvAnnotationTextIcon icon);

### ev_annotation_text_get_is_open ()

    gboolean            ev_annotation_text_get_is_open      (EvAnnotationText *text);

### ev_annotation_text_set_is_open ()

    gboolean            ev_annotation_text_set_is_open      (EvAnnotationText *text,
                                                             gboolean is_open);

### ev_annotation_attachment_new ()

    EvAnnotation *      ev_annotation_attachment_new        (EvPage *page,
                                                             EvAttachment *attachment);

### ev_annotation_attachment_get_attachment ()

    EvAttachment *      ev_annotation_attachment_get_attachment
                                                            (EvAnnotationAttachment *annot);

`annot` : | an EvAnnotationAttachment
Returns : | an EvAttachment. [transfer none]

### ev_annotation_attachment_set_attachment ()

    gboolean            ev_annotation_attachment_set_attachment
                                                            (EvAnnotationAttachment *annot,
                                                             EvAttachment *attachment);

## Property Details

### The `"color"` property

      "color"                    gpointer              : Read / Write

### Warning

`EvAnnotation:color` has been deprecated since version 3.6 and should not be used in newly-written code. Use "rgba" instead.

The colour of the annotation as a GdkColor.

### The `"contents"` property

      "contents"                 gchar*                : Read / Write

The annotation contents.

Default value: NULL

### The `"modified"` property

      "modified"                 gchar*                : Read / Write

Last modified date as string.

Default value: NULL

### The `"name"` property

      "name"                     gchar*                : Read / Write

The annotation unique name.

Default value: NULL

### The `"page"` property

      "page"                     EvPage*               : Write / Construct Only

The page wehere the annotation is.

### The `"rgba"` property

      "rgba"                     GdkRGBA*              : Read / Write

The colour of the annotation as a GdkRGBA.

Since 3.6

### The `"has-popup"` property

      "has-popup"                gboolean              : Read / Write

Whether the markup annotation has a popup window associated.

Default value: TRUE

### The `"label"` property

      "label"                    gchar*                : Read / Write

Label of the markup annotation.

Default value: NULL

### The `"opacity"` property

      "opacity"                  gdouble               : Read / Write

Opacity of the markup annotation.

Allowed values: >= 0

Default value: 1

### The `"popup-is-open"` property

      "popup-is-open"            gboolean              : Read / Write

Whether the popup associated to the markup annotation is open.

Default value: FALSE

### The `"rectangle"` property

      "rectangle"                EvRectangle*          : Read / Write

The Rectangle of the popup associated to the markup annotation.

### The `"icon"` property

      "icon"                     EvAnnotationTextIcon  : Read / Write

The icon fo the text annotation.

Default value: EV_ANNOTATION_TEXT_ICON_NOTE

### The `"is-open"` property

      "is-open"                  gboolean              : Read / Write

Whether text annot is initially open.

Default value: FALSE

### The `"attachment"` property

      "attachment"               EvAttachment*         : Read / Write / Construct

The attachment of the annotation.