|  |  |  | Evince Document Library Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
EvDocument; EvDocumentClass; EvDocumentPrivate; #define EV_DOCUMENT_ERROR #define EV_DOC_MUTEX_LOCK #define EV_DOC_MUTEX_UNLOCK enum EvDocumentError; EvPoint; EvRectangle; EvDocumentBackendInfo; GQuark ev_document_error_quark (void); GMutex * ev_document_get_doc_mutex (void); void ev_document_doc_mutex_lock (void); void ev_document_doc_mutex_unlock (void); gboolean ev_document_doc_mutex_trylock (void); GMutex * ev_document_get_fc_mutex (void); void ev_document_fc_mutex_lock (void); void ev_document_fc_mutex_unlock (void); gboolean ev_document_fc_mutex_trylock (void); EvDocumentInfo * ev_document_get_info (EvDocument *document); gboolean ev_document_get_backend_info (EvDocument *document,EvDocumentBackendInfo *info); gboolean ev_document_load (EvDocument *document,const char *uri,GError **error); gboolean ev_document_save (EvDocument *document,const char *uri,GError **error); gint ev_document_get_n_pages (EvDocument *document); EvPage * ev_document_get_page (EvDocument *document,gint index); void ev_document_get_page_size (EvDocument *document,gint page_index,double *width,double *height); gchar * ev_document_get_page_label (EvDocument *document,gint page_index); cairo_surface_t * ev_document_render (EvDocument *document,EvRenderContext *rc); const gchar * ev_document_get_uri (EvDocument *document); const gchar * ev_document_get_title (EvDocument *document); gboolean ev_document_is_page_size_uniform (EvDocument *document); void ev_document_get_max_page_size (EvDocument *document,gdouble *width,gdouble *height); gboolean ev_document_check_dimensions (EvDocument *document); gint ev_document_get_max_label_len (EvDocument *document); gboolean ev_document_has_text_page_labels (EvDocument *document); gboolean ev_document_find_page_by_label (EvDocument *document,const gchar *page_label,gint *page_index); gint ev_rect_cmp (EvRectangle *a,EvRectangle *b); #define EV_TYPE_RECTANGLE GType ev_rectangle_get_type (void); EvRectangle * ev_rectangle_new (void); EvRectangle * ev_rectangle_copy (EvRectangle *ev_rect); void ev_rectangle_free (EvRectangle *ev_rect); #define EV_BACKEND_IMPLEMENT_INTERFACE (TYPE_IFACE, iface_init) #define EV_BACKEND_REGISTER_WITH_CODE (BackendName, backend_name, CODE) #define EV_BACKEND_REGISTER (BackendName, backend_name) #define EV_DEFINE_BOXED_TYPE (TypeName, type_name, copy_func, free_func)
typedef struct {
        GObjectClass base_class;
        /* Virtual Methods  */
        gboolean          (* load)            (EvDocument      *document,
                                               const char      *uri,
                                               GError         **error);
        gboolean          (* save)            (EvDocument      *document,
                                               const char      *uri,
                                               GError         **error);
        gint              (* get_n_pages)     (EvDocument      *document);
	EvPage          * (* get_page)        (EvDocument      *document,
					       gint             index);
        void              (* get_page_size)   (EvDocument      *document,
                                               EvPage          *page,
                                               double          *width,
                                               double          *height);
        gchar           * (* get_page_label)  (EvDocument      *document,
                                               EvPage          *page);
        cairo_surface_t * (* render)          (EvDocument      *document,
                                               EvRenderContext *rc);
        EvDocumentInfo  * (* get_info)        (EvDocument      *document);
        gboolean          (* get_backend_info)(EvDocument      *document,
                                               EvDocumentBackendInfo *info);
        gboolean	  (* support_synctex) (EvDocument      *document);
} EvDocumentClass;
typedef enum
{
        EV_DOCUMENT_ERROR_INVALID,
        EV_DOCUMENT_ERROR_ENCRYPTED
} EvDocumentError;
typedef struct {
	const gchar *name;
	const gchar *version;
} EvDocumentBackendInfo;
EvDocumentInfo *    ev_document_get_info                (EvDocument *document);
| 
 | |
| Returns : | 
gboolean ev_document_get_backend_info (EvDocument *document,EvDocumentBackendInfo *info);
gboolean ev_document_load (EvDocument *document,const char *uri,GError **error);
Loads document from uri.
On failure, FALSE is returned and error is filled in.
If the document is encrypted, EV_DEFINE_ERROR_ENCRYPTED is returned.
If the backend cannot load the specific document, EV_DOCUMENT_ERROR_INVALID
is returned. Other errors are possible too, depending on the backend
used to load the document and the URI, e.g. GIOError, GFileError, and
GConvertError.
| 
 | a EvDocument | 
| 
 | the document's URI | 
| 
 | a GError location to store an error, or NULL | 
| Returns : | TRUEon success, orFALSEon failure. | 
gboolean ev_document_save (EvDocument *document,const char *uri,GError **error);
Saves document to uri.
gint                ev_document_get_n_pages             (EvDocument *document);
| 
 | |
| Returns : | 
EvPage * ev_document_get_page (EvDocument *document,gint index);
| 
 | |
| 
 | |
| Returns : | 
void ev_document_get_page_size (EvDocument *document,gint page_index,double *width,double *height);
| 
 | |
| 
 | |
| 
 | |
| 
 | 
gchar * ev_document_get_page_label (EvDocument *document,gint page_index);
| 
 | |
| 
 | |
| Returns : | 
cairo_surface_t * ev_document_render (EvDocument *document,EvRenderContext *rc);
| 
 | |
| 
 | |
| Returns : | 
gboolean            ev_document_is_page_size_uniform    (EvDocument *document);
void ev_document_get_max_page_size (EvDocument *document,gdouble *width,gdouble *height);
gboolean            ev_document_has_text_page_labels    (EvDocument *document);
gboolean ev_document_find_page_by_label (EvDocument *document,const gchar *page_label,gint *page_index);
#define EV_BACKEND_IMPLEMENT_INTERFACE(TYPE_IFACE, iface_init)
| 
 | |
| 
 | 
#define EV_BACKEND_REGISTER_WITH_CODE(BackendName, backend_name, CODE)
| 
 | |
| 
 | |
| 
 | 
#define EV_BACKEND_REGISTER(BackendName, backend_name)
| 
 | |
| 
 |