]> www.fi.muni.cz Git - evince.git/blobdiff - libdocument/ev-document-info.h
[dualscreen] fix crash on ctrl+w and fix control window closing
[evince.git] / libdocument / ev-document-info.h
index 0cd1ef850b244e767f32bb779d1d08c510a1375c..0f55d212911d8a014ae5cd63689d086121cf9481 100644 (file)
  *
  *  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)
+#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
 {
@@ -36,7 +42,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
@@ -57,9 +63,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
 {
@@ -67,10 +78,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
@@ -91,7 +99,9 @@ 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
@@ -114,12 +124,30 @@ 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