*
* 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.
*/
#if !defined (__EV_EVINCE_DOCUMENT_H_INSIDE__) && !defined (EVINCE_COMPILATION)
#include <glib-object.h>
#include "ev-document.h"
+#include "ev-attachment.h"
G_BEGIN_DECLS
/* EvAnnotationMarkup */
#define EV_TYPE_ANNOTATION_MARKUP (ev_annotation_markup_get_type ())
#define EV_ANNOTATION_MARKUP(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EV_TYPE_ANNOTATION_MARKUP, EvAnnotationMarkup))
-#define EV_ANNOTATION_MARKUP_IFACE(k) (G_TYPE_CHECK_CLASS_CAST((k), EV_TYPE_ANNOTATION_MARKUP, EvAnnotationMarkupIface))
+#define EV_ANNOTATION_MARKUP_IFACE(k) (G_TYPE_CHECK_CLASS_CAST((k), EV_TYPE_ANNOTATION_MARKUP, EvAnnotationMarkupInterface))
#define EV_IS_ANNOTATION_MARKUP(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EV_TYPE_ANNOTATION_MARKUP))
#define EV_IS_ANNOTATION_MARKUP_IFACE(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EV_TYPE_ANNOTATION_MARKUP))
-#define EV_ANNOTATION_MARKUP_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), EV_TYPE_ANNOTATION_MARKUP, EvAnnotationMarkupIface))
+#define EV_ANNOTATION_MARKUP_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), EV_TYPE_ANNOTATION_MARKUP, EvAnnotationMarkupInterface))
/* EvAnnotationText */
#define EV_TYPE_ANNOTATION_TEXT (ev_annotation_text_get_type())
#define EV_IS_ANNOTATION_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EV_TYPE_ANNOTATION_TEXT))
#define EV_ANNOTATION_TEXT_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), EV_TYPE_ANNOTATION_TEXT, EvAnnotationTextClass))
-typedef struct _EvAnnotation EvAnnotation;
-typedef struct _EvAnnotationClass EvAnnotationClass;
+/* EvAnnotationText */
+#define EV_TYPE_ANNOTATION_ATTACHMENT (ev_annotation_attachment_get_type())
+#define EV_ANNOTATION_ATTACHMENT(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_ANNOTATION_ATTACHMENT, EvAnnotationAttachment))
+#define EV_ANNOTATION_ATTACHMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_ANNOTATION_ATTACHMENT, EvAnnotationAttachmentClass))
+#define EV_IS_ANNOTATION_ATTACHMENT(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_ANNOTATION_ATTACHMENT))
+#define EV_IS_ANNOTATION_ATTACHMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EV_TYPE_ANNOTATION_ATTACHMENT))
+#define EV_ANNOTATION_ATTACHMENT_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), EV_TYPE_ANNOTATION_ATTACHMENT, EvAnnotationAttachmentClass))
+
+typedef struct _EvAnnotation EvAnnotation;
+typedef struct _EvAnnotationClass EvAnnotationClass;
+
+typedef struct _EvAnnotationMarkup EvAnnotationMarkup;
+typedef struct _EvAnnotationMarkupInterface EvAnnotationMarkupInterface;
-typedef struct _EvAnnotationMarkup EvAnnotationMarkup;
-typedef struct _EvAnnotationMarkupIface EvAnnotationMarkupIface;
+typedef struct _EvAnnotationText EvAnnotationText;
+typedef struct _EvAnnotationTextClass EvAnnotationTextClass;
-typedef struct _EvAnnotationText EvAnnotationText;
-typedef struct _EvAnnotationTextClass EvAnnotationTextClass;
+typedef struct _EvAnnotationAttachment EvAnnotationAttachment;
+typedef struct _EvAnnotationAttachmentClass EvAnnotationAttachmentClass;
struct _EvAnnotation
{
GObjectClass parent_class;
};
-struct _EvAnnotationMarkupIface
+struct _EvAnnotationMarkupInterface
{
GTypeInterface base_iface;
};
EvAnnotationClass parent_class;
};
+struct _EvAnnotationAttachment
+{
+ EvAnnotation parent;
+
+ EvAttachment *attachment;
+};
+
+struct _EvAnnotationAttachmentClass
+{
+ EvAnnotationClass parent_class;
+};
+
/* EvAnnotation */
GType ev_annotation_get_type (void) G_GNUC_CONST;
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);
GType ev_annotation_text_get_type (void) G_GNUC_CONST;
EvAnnotation *ev_annotation_text_new (EvPage *page);
-
-/* Annotation Mapping stuff */
-typedef struct _EvAnnotationMapping EvAnnotationMapping;
-struct _EvAnnotationMapping
-{
- EvAnnotation *annotation;
- gdouble x1;
- gdouble y1;
- gdouble x2;
- gdouble y2;
-};
-
-void ev_annotation_mapping_free (GList *annotation_mapping);
-EvAnnotation *ev_annotation_mapping_find (GList *annotation_mapping,
- gdouble x,
- gdouble y);
-void ev_annotation_mapping_get_area (GList *annotation_mapping,
- EvAnnotation *annotation,
- EvRectangle *area);
+/* EvAnnotationText */
+GType ev_annotation_attachment_get_type (void) G_GNUC_CONST;
+EvAnnotation *ev_annotation_attachment_new (EvPage *page,
+ EvAttachment *attachment);
G_END_DECLS