X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=backend%2Fdvi%2Fdvi-document.c;h=84870365a6741d192d29b90d1d4fd0434bba87dc;hb=e3ef2dccab9e03cd510a37ba7e64b681be38f65c;hp=5c4ecea5739fc3dbfa55274b7cfa8dd56dd81195;hpb=f9c2880d31bb2f5d4411849b9207c5d26a5c616a;p=evince.git diff --git a/backend/dvi/dvi-document.c b/backend/dvi/dvi-document.c index 5c4ecea5..84870365 100644 --- a/backend/dvi/dvi-document.c +++ b/backend/dvi/dvi-document.c @@ -14,12 +14,13 @@ * * 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. */ #include "config.h" #include "dvi-document.h" +#include "texmfcnf.h" #include "ev-document-thumbnails.h" #include "ev-document-misc.h" #include "ev-file-exporter.h" @@ -73,11 +74,11 @@ struct _DviDocument typedef struct _DviDocumentClass DviDocumentClass; -static void dvi_document_document_thumbnails_iface_init (EvDocumentThumbnailsIface *iface); -static void dvi_document_file_exporter_iface_init (EvFileExporterIface *iface); -static void dvi_document_do_color_special (DviContext *dvi, - const char *prefix, - const char *arg); +static void dvi_document_document_thumbnails_iface_init (EvDocumentThumbnailsInterface *iface); +static void dvi_document_file_exporter_iface_init (EvFileExporterInterface *iface); +static void dvi_document_do_color_special (DviContext *dvi, + const char *prefix, + const char *arg); EV_BACKEND_REGISTER_WITH_CODE (DviDocument, dvi_document, { @@ -234,15 +235,25 @@ dvi_document_finalize (GObject *object) G_OBJECT_CLASS (dvi_document_parent_class)->finalize (object); } +static gboolean +dvi_document_support_synctex (EvDocument *document) +{ + return TRUE; +} + static void dvi_document_class_init (DviDocumentClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); EvDocumentClass *ev_document_class = EV_DOCUMENT_CLASS (klass); + gchar *texmfcnf; gobject_class->finalize = dvi_document_finalize; - mdvi_init_kpathsea ("evince", MDVI_MFMODE, MDVI_FALLBACK_FONT, MDVI_DPI); + texmfcnf = get_texmfcnf(); + mdvi_init_kpathsea ("evince", MDVI_MFMODE, MDVI_FALLBACK_FONT, MDVI_DPI, texmfcnf); + g_free(texmfcnf); + mdvi_register_special ("Color", "color", NULL, dvi_document_do_color_special, 1); mdvi_register_fonts (); @@ -253,25 +264,7 @@ dvi_document_class_init (DviDocumentClass *klass) ev_document_class->get_n_pages = dvi_document_get_n_pages; ev_document_class->get_page_size = dvi_document_get_page_size; ev_document_class->render = dvi_document_render; -} - -static void -dvi_document_thumbnails_get_dimensions (EvDocumentThumbnails *document, - EvRenderContext *rc, - gint *width, - gint *height) -{ - DviDocument *dvi_document = DVI_DOCUMENT (document); - gdouble page_width = dvi_document->base_width; - gdouble page_height = dvi_document->base_height; - - if (rc->rotation == 90 || rc->rotation == 270) { - *width = (gint) (page_height * rc->scale); - *height = (gint) (page_width * rc->scale); - } else { - *width = (gint) (page_width * rc->scale); - *height = (gint) (page_height * rc->scale); - } + ev_document_class->support_synctex = dvi_document_support_synctex; } static GdkPixbuf * @@ -332,10 +325,9 @@ dvi_document_thumbnails_get_thumbnail (EvDocumentThumbnails *document, } static void -dvi_document_document_thumbnails_iface_init (EvDocumentThumbnailsIface *iface) +dvi_document_document_thumbnails_iface_init (EvDocumentThumbnailsInterface *iface) { iface->get_thumbnail = dvi_document_thumbnails_get_thumbnail; - iface->get_dimensions = dvi_document_thumbnails_get_dimensions; } /* EvFileExporterIface */ @@ -408,7 +400,7 @@ dvi_document_file_exporter_get_capabilities (EvFileExporter *exporter) } static void -dvi_document_file_exporter_iface_init (EvFileExporterIface *iface) +dvi_document_file_exporter_iface_init (EvFileExporterInterface *iface) { iface->begin = dvi_document_file_exporter_begin; iface->do_page = dvi_document_file_exporter_do_page;