diff options
author | Carlos Garcia Campos <carlosgc@gnome.org> | 2010-07-20 15:01:56 (GMT) |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@gnome.org> | 2010-07-20 15:07:40 (GMT) |
commit | 584f014b63c56fe3770cba9682fc21c31e09a2e9 (patch) | |
tree | de1a6a07ff5bd7b8a52e176e72af12a8172b5ed9 /libdocument/ev-annotation.h | |
parent | dfed06b88fae63bbd0460e43df977c0d33ef1045 (diff) |
Preliminary support for adding new annotations
At the moment only Text annotations can be added. See bug #168304.
Diffstat (limited to 'libdocument/ev-annotation.h')
-rw-r--r-- | libdocument/ev-annotation.h | 140 |
1 files changed, 72 insertions, 68 deletions
diff --git a/libdocument/ev-annotation.h b/libdocument/ev-annotation.h index de8736e..554523c 100644 --- a/libdocument/ev-annotation.h +++ b/libdocument/ev-annotation.h @@ -77,80 +77,84 @@ typedef struct _EvAnnotationTextClass EvAnnotationTextClass; typedef struct _EvAnnotationAttachment EvAnnotationAttachment; typedef struct _EvAnnotationAttachmentClass EvAnnotationAttachmentClass; -struct _EvAnnotation -{ - GObject parent; - - EvPage *page; - gboolean changed; - - gchar *contents; - gchar *name; - gchar *modified; - GdkColor color; - -}; - -struct _EvAnnotationClass -{ - GObjectClass parent_class; -}; - -struct _EvAnnotationMarkupInterface -{ - GTypeInterface base_iface; -}; - -struct _EvAnnotationText -{ - EvAnnotation parent; - - gboolean is_open : 1; -}; - -struct _EvAnnotationTextClass -{ - EvAnnotationClass parent_class; -}; - -struct _EvAnnotationAttachment -{ - EvAnnotation parent; - - EvAttachment *attachment; -}; - -struct _EvAnnotationAttachmentClass -{ - EvAnnotationClass parent_class; -}; +typedef enum { + EV_ANNOTATION_TYPE_UNKNOWN, + EV_ANNOTATION_TYPE_TEXT, + EV_ANNOTATION_TYPE_ATTACHMENT +} EvAnnotationType; + +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; /* EvAnnotation */ -GType ev_annotation_get_type (void) G_GNUC_CONST; +GType ev_annotation_get_type (void) G_GNUC_CONST; +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); /* EvAnnotationMarkup */ -GType ev_annotation_markup_get_type (void) G_GNUC_CONST; -gchar *ev_annotation_markup_get_label (EvAnnotationMarkup *markup); -void ev_annotation_markup_set_label (EvAnnotationMarkup *markup, - const gchar *label); -gdouble ev_annotation_markup_get_opacity (EvAnnotationMarkup *markup); -void ev_annotation_markup_set_opacity (EvAnnotationMarkup *markup, - gdouble opacity); -gboolean ev_annotation_markup_has_popup (EvAnnotationMarkup *markup); -void ev_annotation_markup_get_rectangle (EvAnnotationMarkup *markup, - EvRectangle *ev_rect); -gboolean ev_annotation_markup_get_is_open (EvAnnotationMarkup *markup); -void ev_annotation_markup_set_is_open (EvAnnotationMarkup *markup, - gboolean is_open); - -/* EvAnnotationText */ -GType ev_annotation_text_get_type (void) G_GNUC_CONST; -EvAnnotation *ev_annotation_text_new (EvPage *page); +GType ev_annotation_markup_get_type (void) G_GNUC_CONST; +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); /* EvAnnotationText */ -GType ev_annotation_attachment_get_type (void) G_GNUC_CONST; -EvAnnotation *ev_annotation_attachment_new (EvPage *page, - EvAttachment *attachment); +GType ev_annotation_text_get_type (void) G_GNUC_CONST; +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); + +/* EvAnnotationAttachment */ +GType ev_annotation_attachment_get_type (void) G_GNUC_CONST; +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); G_END_DECLS |