EV_DOCUMENT_UI_HINT_DIRECTION_RTL = 1 << 6,
} EvDocumentUIHints;
+
+typedef enum
+{
+ EV_DOCUMENT_PERMISSIONS_OK_TO_PRINT = 1 << 0,
+ 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),
+} EvDocumentPermissions;
+
typedef enum
{
EV_DOCUMENT_INFO_TITLE = 1 << 0,
EV_DOCUMENT_INFO_SUBJECT = 1 << 3,
EV_DOCUMENT_INFO_KEYWORDS = 1 << 4,
EV_DOCUMENT_INFO_LAYOUT = 1 << 5,
- EV_DOCUMENT_INFO_START_MODE = 1 << 6,
- EV_DOCUMENT_INFO_CREATION_DATE = 1 << 7,
- EV_DOCUMENT_INFO_UI_HINTS = 1 << 8,
+ EV_DOCUMENT_INFO_CREATOR = 1 << 6,
+ EV_DOCUMENT_INFO_PRODUCER = 1 << 7,
+ EV_DOCUMENT_INFO_CREATION_DATE = 1 << 8,
+ EV_DOCUMENT_INFO_MOD_DATE = 1 << 9,
+ EV_DOCUMENT_INFO_LINEARIZED = 1 << 10,
+ EV_DOCUMENT_INFO_START_MODE = 1 << 11,
+ EV_DOCUMENT_INFO_UI_HINTS = 1 << 12,
+ EV_DOCUMENT_INFO_PERMISSIONS = 1 << 13,
+ EV_DOCUMENT_INFO_N_PAGES = 1 << 14,
+ EV_DOCUMENT_INFO_SECURITY = 1 << 15
} EvDocumentInfoFields;
struct _EvDocumentInfo
{
- const char *title;
- const char *format; /* eg, "pdf-1.5" */
- const char *author;
- const char *subject;
- const char *keywords;
+ char *title;
+ char *format; /* eg, "pdf-1.5" */
+ char *author;
+ char *subject;
+ char *keywords;
+ char *creator;
+ char *producer;
+ char *linearized;
+ char *security;
+ GTime creation_date;
+ GTime modified_date;
EvDocumentLayout layout;
EvDocumentMode mode;
- GDate creation_date;
guint ui_hints;
+ guint permissions;
+ int n_pages;
/* Mask of all the valid fields */
guint fields_mask;
};
+void ev_document_info_free (EvDocumentInfo *info);
+
G_END_DECLS
#endif /* EV_DOCUMENT_INFO_H */