]> www.fi.muni.cz Git - evince.git/blobdiff - libdocument/ev-document-info.h
[print] Fixes segmentation violation when format is empty
[evince.git] / libdocument / ev-document-info.h
index b5e865430fb6b9019fbd489aa13ebe52471a516d..a75f6819b458fd90f380d6ce35545a2b5127b6b6 100644 (file)
  *
  */
 
+#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
 
@@ -28,6 +32,8 @@ G_BEGIN_DECLS
 
 typedef struct _EvDocumentInfo    EvDocumentInfo;
 
+#define EV_TYPE_DOCUMENT_INFO (ev_document_info_get_type())
+
 typedef enum
 {
        EV_DOCUMENT_LAYOUT_SINGLE_PAGE,
@@ -35,7 +41,7 @@ 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
@@ -56,9 +62,14 @@ 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
 {
@@ -66,10 +77,7 @@ 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
@@ -118,7 +126,9 @@ struct _EvDocumentInfo
        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);
 
 G_END_DECLS