X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=libdocument%2Fev-document-info.h;h=0f55d212911d8a014ae5cd63689d086121cf9481;hb=7d753f38cc5e97bdfbbbf2b918aa5397e5249342;hp=b5e865430fb6b9019fbd489aa13ebe52471a516d;hpb=e17522f07726a89adbe1a2402ae4920b2a8b4f38;p=evince.git diff --git a/libdocument/ev-document-info.h b/libdocument/ev-document-info.h index b5e86543..0f55d212 100644 --- a/libdocument/ev-document-info.h +++ b/libdocument/ev-document-info.h @@ -14,10 +14,14 @@ * * 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 can be included directly." +#endif + #ifndef EV_DOCUMENT_INFO_H #define EV_DOCUMENT_INFO_H @@ -27,6 +31,9 @@ G_BEGIN_DECLS typedef struct _EvDocumentInfo EvDocumentInfo; +typedef struct _EvDocumentLicense EvDocumentLicense; + +#define EV_TYPE_DOCUMENT_INFO (ev_document_info_get_type()) typedef enum { @@ -35,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 @@ -56,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 { @@ -66,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 @@ -90,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 @@ -113,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