*
*/
+#if !defined (__EV_EVINCE_DOCUMENT_H_INSIDE__) && !defined (EVINCE_COMPILATION)
+#error "Only <evince-document.h> can be included directly."
+#endif
+
#ifndef EV_DOCUMENT_INFO_H
#define EV_DOCUMENT_INFO_H
#include <glib-object.h>
#include <glib.h>
-#include "ev-link.h"
G_BEGIN_DECLS
typedef struct _EvDocumentInfo EvDocumentInfo;
+typedef struct _EvDocumentLicense EvDocumentLicense;
+
+#define EV_TYPE_DOCUMENT_INFO (ev_document_info_get_type())
typedef enum
{
EV_DOCUMENT_LAYOUT_TWO_COLUMN_LEFT,
EV_DOCUMENT_LAYOUT_TWO_COLUMN_RIGHT,
EV_DOCUMENT_LAYOUT_TWO_PAGE_LEFT,
- EV_DOCUMENT_LAYOUT_TWO_PAGE_RIGHT,
+ EV_DOCUMENT_LAYOUT_TWO_PAGE_RIGHT
} EvDocumentLayout;
typedef enum
EV_DOCUMENT_UI_HINT_FIT_WINDOW = 1 << 3,
EV_DOCUMENT_UI_HINT_CENTER_WINDOW = 1 << 4,
EV_DOCUMENT_UI_HINT_DISPLAY_DOC_TITLE = 1 << 5,
- EV_DOCUMENT_UI_HINT_DIRECTION_RTL = 1 << 6,
+ EV_DOCUMENT_UI_HINT_DIRECTION_RTL = 1 << 6
} EvDocumentUIHints;
+/* This define is needed because glib-mkenums chokes with multiple lines */
+#define PERMISSIONS_FULL (EV_DOCUMENT_PERMISSIONS_OK_TO_PRINT \
+ | EV_DOCUMENT_PERMISSIONS_OK_TO_MODIFY \
+ | EV_DOCUMENT_PERMISSIONS_OK_TO_COPY \
+ | EV_DOCUMENT_PERMISSIONS_OK_TO_ADD_NOTES)
typedef enum
{
EV_DOCUMENT_PERMISSIONS_OK_TO_MODIFY = 1 << 1,
EV_DOCUMENT_PERMISSIONS_OK_TO_COPY = 1 << 2,
EV_DOCUMENT_PERMISSIONS_OK_TO_ADD_NOTES = 1 << 3,
- EV_DOCUMENT_PERMISSIONS_FULL = (EV_DOCUMENT_PERMISSIONS_OK_TO_PRINT
- | EV_DOCUMENT_PERMISSIONS_OK_TO_MODIFY
- | EV_DOCUMENT_PERMISSIONS_OK_TO_COPY
- | EV_DOCUMENT_PERMISSIONS_OK_TO_ADD_NOTES),
+ EV_DOCUMENT_PERMISSIONS_FULL = PERMISSIONS_FULL
} EvDocumentPermissions;
typedef enum
EV_DOCUMENT_INFO_PERMISSIONS = 1 << 13,
EV_DOCUMENT_INFO_N_PAGES = 1 << 14,
EV_DOCUMENT_INFO_SECURITY = 1 << 15,
- EV_DOCUMENT_INFO_PAPER_SIZE = 1 << 16
+ EV_DOCUMENT_INFO_PAPER_SIZE = 1 << 16,
+ EV_DOCUMENT_INFO_LICENSE = 1 << 17,
+
} EvDocumentInfoFields;
struct _EvDocumentInfo
int n_pages;
double paper_height;
double paper_width;
+ EvDocumentLicense *license;
/* Mask of all the valid fields */
guint fields_mask;
};
-void ev_document_info_free (EvDocumentInfo *info);
+GType ev_document_info_get_type (void) G_GNUC_CONST;
+EvDocumentInfo *ev_document_info_copy (EvDocumentInfo *info);
+void ev_document_info_free (EvDocumentInfo *info);
+
+/* EvDocumentLicense */
+#define EV_TYPE_DOCUMENT_LICENSE (ev_document_license_get_type())
+struct _EvDocumentLicense {
+ gchar *text;
+ gchar *uri;
+ gchar *web_statement;
+};
+GType ev_document_license_get_type (void) G_GNUC_CONST;
+EvDocumentLicense *ev_document_license_new (void);
+EvDocumentLicense *ev_document_license_copy (EvDocumentLicense *license);
+void ev_document_license_free (EvDocumentLicense *license);
+const gchar *ev_document_license_get_text (EvDocumentLicense *license);
+const gchar *ev_document_license_get_uri (EvDocumentLicense *license);
+const gchar *ev_document_license_get_web_statement (EvDocumentLicense *license);
G_END_DECLS