|  |  |  | Evince Document Library Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
struct EvDocument; struct EvDocumentClass; EvDocumentPrivate; #define EV_DOCUMENT_ERROR #define EV_DOC_MUTEX_LOCK #define EV_DOC_MUTEX_UNLOCK enum EvDocumentError; EvPoint; struct EvSourceLink; struct EvRectangle; struct EvDocumentBackendInfo; enum EvDocumentLoadFlags; 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_load_stream (EvDocument *document,GInputStream *stream,EvDocumentLoadFlags flags,GCancellable *cancellable,GError **error); gboolean ev_document_load_gfile (EvDocument *document,GFile *file,EvDocumentLoadFlags flags,GCancellable *cancellable,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); void ev_document_get_min_page_size (EvDocument *document,gdouble *width,gdouble *height); 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); GdkPixbuf * ev_document_get_thumbnail (EvDocument *document,EvRenderContext *rc); gboolean ev_document_has_synctex (EvDocument *document); EvSourceLink * ev_document_synctex_backward_search (EvDocument *document,gint page_index,gfloat x,gfloat y); EvMapping * ev_document_synctex_forward_search (EvDocument *document,EvSourceLink *source_link); EvSourceLink * ev_source_link_copy (EvSourceLink *link); void ev_source_link_free (EvSourceLink *link); EvSourceLink * ev_source_link_new (const gchar *filename,gint line,gint col); gint ev_rect_cmp (EvRectangle *a,EvRectangle *b); 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)
struct EvDocumentClass {
        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);
	GdkPixbuf       * (* get_thumbnail)   (EvDocument      *document,
					       EvRenderContext *rc);
        EvDocumentInfo  * (* get_info)        (EvDocument      *document);
        gboolean          (* get_backend_info)(EvDocument      *document,
                                               EvDocumentBackendInfo *info);
        gboolean	  (* support_synctex) (EvDocument      *document);
        /* GIO streams */
        gboolean          (* load_stream)     (EvDocument          *document,
                                               GInputStream        *stream,
                                               EvDocumentLoadFlags  flags,
                                               GCancellable        *cancellable,
                                               GError             **error);
        gboolean          (* load_gfile)      (EvDocument          *document,
                                               GFile               *file,
                                               EvDocumentLoadFlags  flags,
                                               GCancellable        *cancellable,
                                               GError             **error);
};
typedef enum {
        EV_DOCUMENT_ERROR_INVALID,
        EV_DOCUMENT_ERROR_ENCRYPTED
} EvDocumentError;
struct EvDocumentBackendInfo {
	const gchar *name;
	const gchar *version;
};
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_load_stream (EvDocument *document,GInputStream *stream,EvDocumentLoadFlags flags,GCancellable *cancellable,GError **error);
Since 3.6
gboolean ev_document_load_gfile (EvDocument *document,GFile *file,EvDocumentLoadFlags flags,GCancellable *cancellable,GError **error);
Since 3.6
gboolean ev_document_save (EvDocument *document,const char *uri,GError **error);
Saves document to uri.
| 
 | a EvDocument | 
| 
 | the target URI | 
| 
 | a GError location to store an error, or NULL | 
| Returns : | TRUEon success, orFALSEon error witherrorfilled in | 
EvPage * ev_document_get_page (EvDocument *document,gint index);
| 
 | a EvDocument | 
| 
 | index of page | 
| Returns : | Newly created EvPage for the given index. [transfer full] | 
void ev_document_get_page_size (EvDocument *document,gint page_index,double *width,double *height);
| 
 | a EvDocument | 
| 
 | index of page | 
| 
 | return location for the width of the page, or NULL. [out][allow-none] | 
| 
 | return location for the height of the page, or NULL. [out][allow-none] | 
gchar * ev_document_get_page_label (EvDocument *document,gint page_index);
void ev_document_get_min_page_size (EvDocument *document,gdouble *width,gdouble *height);
cairo_surface_t * ev_document_render (EvDocument *document,EvRenderContext *rc);
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);
GdkPixbuf * ev_document_get_thumbnail (EvDocument *document,EvRenderContext *rc);
EvSourceLink * ev_document_synctex_backward_search (EvDocument *document,gint page_index,gfloat x,gfloat y);
EvMapping * ev_document_synctex_forward_search (EvDocument *document,EvSourceLink *source_link);
EvSourceLink * ev_source_link_new (const gchar *filename,gint line,gint col);
#define EV_BACKEND_REGISTER_WITH_CODE(BackendName, backend_name, CODE)