├── .editorconfig ├── .git-blame-ignore-refs ├── .gitignore ├── .gitlab-ci.yml ├── .gitlab-ci ├── README.md └── ubuntu.Dockerfile ├── .gitlab └── issue_templates │ └── Default.md ├── AUTHORS ├── CONTRIBUTING.md ├── COPYING ├── ChangeLog.pre-git ├── MAINTAINERS ├── NEWS ├── NEWS-security.md ├── NOTES ├── README.commits ├── README.md ├── TODO ├── backend ├── comics │ ├── comics-document.c │ ├── comics-document.h │ ├── comicsdocument.evince-backend.desktop.in.in │ ├── ev-archive.c │ ├── ev-archive.h │ ├── evince-comicsdocument.metainfo.xml.in.in │ ├── meson.build │ └── test-ev-archive.c ├── djvu │ ├── djvu-document-private.h │ ├── djvu-document.c │ ├── djvu-document.h │ ├── djvu-links.c │ ├── djvu-links.h │ ├── djvu-text-page.c │ ├── djvu-text-page.h │ ├── djvudocument.evince-backend.desktop.in.in │ ├── evince-djvudocument.metainfo.xml.in.in │ └── meson.build ├── dvi │ ├── cairo-device.c │ ├── cairo-device.h │ ├── dvi-document.c │ ├── dvi-document.h │ ├── dvidocument.evince-backend.desktop.in.in │ ├── evince-dvidocument.metainfo.xml.in.in │ ├── fonts.c │ ├── fonts.h │ ├── mdvi-lib │ │ ├── afmparse.c │ │ ├── afmparse.h │ │ ├── bitmap.c │ │ ├── bitmap.h │ │ ├── color.c │ │ ├── color.h │ │ ├── common.c │ │ ├── common.h │ │ ├── defaults.h │ │ ├── dvimisc.c │ │ ├── dviopcodes.h │ │ ├── dviread.c │ │ ├── files.c │ │ ├── font.c │ │ ├── fontmap.c │ │ ├── fontmap.h │ │ ├── fontsrch.c │ │ ├── gf.c │ │ ├── hash.c │ │ ├── hash.h │ │ ├── list.c │ │ ├── mdvi.h │ │ ├── meson.build │ │ ├── pagesel.c │ │ ├── paper.c │ │ ├── paper.h │ │ ├── pk.c │ │ ├── private.h │ │ ├── setup.c │ │ ├── sp-epsf.c │ │ ├── special.c │ │ ├── sysdeps.h │ │ ├── tfm.c │ │ ├── tfmfile.c │ │ ├── tt.c │ │ ├── util.c │ │ └── vf.c │ ├── meson.build │ ├── texmfcnf.c │ └── texmfcnf.h ├── meson.build ├── pdf │ ├── ev-poppler.c │ ├── ev-poppler.h │ ├── evince-pdfdocument.metainfo.xml.in.in │ ├── meson.build │ └── pdfdocument.evince-backend.desktop.in.in ├── ps │ ├── ev-spectre.c │ ├── ev-spectre.h │ ├── evince-psdocument.metainfo.xml.in.in │ ├── meson.build │ └── psdocument.evince-backend.desktop.in.in ├── tiff │ ├── evince-tiffdocument.metainfo.xml.in.in │ ├── meson.build │ ├── tiff-document.c │ ├── tiff-document.h │ ├── tiff2ps.c │ ├── tiff2ps.h │ └── tiffdocument.evince-backend.desktop.in.in └── xps │ ├── evince-xpsdocument.metainfo.xml.in.in │ ├── meson.build │ ├── xps-document.c │ ├── xps-document.h │ └── xpsdocument.evince-backend.desktop.in.in ├── build-aux ├── flatpak │ ├── org.gnome.Evince.json │ └── python3-gi-docgen-dependencies.json └── snap │ └── snapcraft.yaml ├── check-news.sh ├── cut-n-paste ├── gimpcellrenderertoggle │ ├── gimpcellrenderertoggle.c │ ├── gimpcellrenderertoggle.h │ └── meson.build ├── libdazzle │ ├── dzl-file-manager.c │ ├── dzl-file-manager.h │ ├── dzl-version-macros.h │ └── meson.build ├── libgd │ ├── gd-icon-utils.c │ ├── gd-icon-utils.h │ ├── gd-two-lines-renderer.c │ ├── gd-two-lines-renderer.h │ └── meson.build ├── meson.build ├── synctex │ ├── LICENSE │ ├── meson.build │ ├── synctex_parser.c │ ├── synctex_parser.h │ ├── synctex_parser_advanced.h │ ├── synctex_parser_local.h │ ├── synctex_parser_utils.c │ ├── synctex_parser_utils.h │ ├── synctex_parser_version.txt │ ├── synctex_version.h │ └── update-synctex-from-TL.sh └── update-from-egg.sh ├── data ├── evince-previewer.1 ├── evince-thumbnailer.1 ├── evince.1 ├── icons │ ├── annotations-squiggly-symbolic.svg │ ├── annotations-text-symbolic.svg │ ├── find-unsupported-symbolic.svg │ ├── meson.build │ ├── outline-symbolic.svg │ ├── scalable │ │ └── apps │ │ │ ├── org.gnome.Evince.Devel.svg │ │ │ └── org.gnome.Evince.svg │ ├── symbolic │ │ └── apps │ │ │ ├── org.gnome.Evince-symbolic.svg │ │ │ └── org.gnome.Evince.Devel-symbolic.svg │ ├── visible-symbolic.svg │ └── x-office-document-symbolic.svg ├── meson.build ├── org.gnome.Evince-previewer.desktop.in ├── org.gnome.Evince.Daemon.service.in ├── org.gnome.Evince.desktop.in.in ├── org.gnome.Evince.gschema.xml ├── org.gnome.Evince.metainfo.xml.in.in ├── org.gnome.Evince.service.in ├── screenshots │ ├── evince-1.png │ └── evince-2.png └── thumbnail-frame.png ├── evince-document.h ├── evince-view.h ├── evince.doap ├── help ├── C │ ├── annotation-properties.page │ ├── annotations-delete.page │ ├── annotations-disabled.page │ ├── annotations-navigate.page │ ├── annotations-save.page │ ├── annotations.page │ ├── bookmarks.page │ ├── bug-filing.page │ ├── commandline.page │ ├── convertPostScript.page │ ├── convertSVG.page │ ├── convertpdf.page │ ├── default-settings.page │ ├── develop.page │ ├── documentation.page │ ├── duplex-10pages.page │ ├── duplex-11pages.page │ ├── duplex-12pages.page │ ├── duplex-13pages.page │ ├── duplex-14pages.page │ ├── duplex-15pages.page │ ├── duplex-16pages.page │ ├── duplex-3pages.page │ ├── duplex-4pages.page │ ├── duplex-5pages.page │ ├── duplex-6pages.page │ ├── duplex-7pages.page │ ├── duplex-8pages.page │ ├── duplex-9pages.page │ ├── duplex-npages.page │ ├── editing.page │ ├── figures │ │ ├── add-text-annotation.png │ │ ├── annotations-nav-to-page.png │ │ ├── emblem-system-symbolic.svg │ │ ├── org.gnome.Evince.svg │ │ ├── search-not-found.png │ │ └── zoom.png │ ├── finding.page │ ├── formats.page │ ├── forms-saving.page │ ├── forms.page │ ├── headerbar.page │ ├── index.page │ ├── introduction.page │ ├── invert-colors.page │ ├── legal-unported.xml │ ├── legal.xml │ ├── license.page │ ├── movingaround.page │ ├── noprint.page │ ├── openerror.page │ ├── opening.page │ ├── password.page │ ├── presentations.page │ ├── print-2sided.page │ ├── print-booklet.page │ ├── print-differentsize.page │ ├── print-order.page │ ├── print-pagescaling.page │ ├── print-select.page │ ├── printing.page │ ├── reload.page │ ├── singlesided-13-16pages.page │ ├── singlesided-17-20pages.page │ ├── singlesided-3-4pages.page │ ├── singlesided-5-8pages.page │ ├── singlesided-9-12pages.page │ ├── singlesided-npages.page │ ├── synctex-beamer.page │ ├── synctex-compile.page │ ├── synctex-editors.page │ ├── synctex-search.page │ ├── synctex-support.page │ ├── synctex.page │ ├── textselection.page │ └── translate.page ├── ChangeLog ├── LINGUAS ├── bg │ └── bg.po ├── ca │ └── ca.po ├── cs │ └── cs.po ├── da │ ├── da.po │ └── figures │ │ ├── annotations-nav-to-page.png │ │ ├── print-select.png │ │ └── reverse-collate.png ├── de │ ├── de.po │ └── figures │ │ ├── annotations-nav-to-page.png │ │ ├── print-select.png │ │ └── reverse-collate.png ├── el │ ├── el.po │ └── figures │ │ ├── annotations-nav-to-page.png │ │ ├── print-select.png │ │ └── reverse-collate.png ├── en_GB │ └── en_GB.po ├── es │ └── es.po ├── eu │ └── eu.po ├── fa │ └── fa.po ├── fi │ └── fi.po ├── fr │ ├── figures │ │ ├── annotations-nav-to-page.png │ │ ├── print-select.png │ │ └── reverse-collate.png │ └── fr.po ├── gl │ └── gl.po ├── hu │ ├── figures │ │ ├── annotations-nav-to-page.png │ │ ├── print-select.png │ │ └── reverse-collate.png │ └── hu.po ├── id │ └── id.po ├── it │ ├── figures │ │ └── annotations-nav-to-page.png │ └── it.po ├── ja │ ├── figures │ │ ├── print-select.png │ │ └── reverse-collate.png │ └── ja.po ├── ko │ ├── figures │ │ ├── annotations-nav-to-page.png │ │ ├── print-select.png │ │ └── reverse-collate.png │ └── ko.po ├── lv │ └── lv.po ├── meson.build ├── nl │ └── nl.po ├── oc │ └── oc.po ├── pl │ ├── figures │ │ ├── annotations-nav-to-page.png │ │ ├── print-select.png │ │ └── reverse-collate.png │ └── pl.po ├── pt_BR │ ├── figures │ │ ├── annotations-nav-to-page.png │ │ ├── print-select.png │ │ └── reverse-collate.png │ └── pt_BR.po ├── reference │ ├── libdocument │ │ ├── libevdocument.toml.in │ │ └── meson.build │ └── libview │ │ ├── libevview.toml.in │ │ └── meson.build ├── ro │ └── ro.po ├── ru │ └── ru.po ├── sl │ └── sl.po ├── sr │ └── sr.po ├── sv │ └── sv.po ├── te │ └── te.po ├── tr │ └── tr.po ├── uk │ ├── figures │ │ ├── annotations-nav-to-page.png │ │ ├── print-select.png │ │ └── reverse-collate.png │ └── uk.po ├── vi │ └── vi.po ├── zh_CN │ └── zh_CN.po ├── zh_HK │ └── zh_HK.po └── zh_TW │ └── zh_TW.po ├── libdocument ├── ev-annotation.c ├── ev-annotation.h ├── ev-attachment.c ├── ev-attachment.h ├── ev-backend-info.c ├── ev-backend-info.h ├── ev-debug.c ├── ev-debug.h ├── ev-document-annotations.c ├── ev-document-annotations.h ├── ev-document-attachments.c ├── ev-document-attachments.h ├── ev-document-factory.c ├── ev-document-factory.h ├── ev-document-find.c ├── ev-document-find.h ├── ev-document-fonts.c ├── ev-document-fonts.h ├── ev-document-forms.c ├── ev-document-forms.h ├── ev-document-images.c ├── ev-document-images.h ├── ev-document-info.c ├── ev-document-info.h ├── ev-document-layers.c ├── ev-document-layers.h ├── ev-document-links.c ├── ev-document-links.h ├── ev-document-media.c ├── ev-document-media.h ├── ev-document-misc.c ├── ev-document-misc.h ├── ev-document-print.c ├── ev-document-print.h ├── ev-document-security.c ├── ev-document-security.h ├── ev-document-text.c ├── ev-document-text.h ├── ev-document-transition.c ├── ev-document-transition.h ├── ev-document.c ├── ev-document.h ├── ev-file-exporter.c ├── ev-file-exporter.h ├── ev-file-helpers.c ├── ev-file-helpers.h ├── ev-form-field-private.h ├── ev-form-field.c ├── ev-form-field.h ├── ev-image.c ├── ev-image.h ├── ev-init.c ├── ev-init.h ├── ev-layer.c ├── ev-layer.h ├── ev-link-action.c ├── ev-link-action.h ├── ev-link-dest.c ├── ev-link-dest.h ├── ev-link.c ├── ev-link.h ├── ev-macros.h ├── ev-mapping-list.c ├── ev-mapping-list.h ├── ev-media.c ├── ev-media.h ├── ev-page.c ├── ev-page.h ├── ev-portal.c ├── ev-portal.h ├── ev-render-context.c ├── ev-render-context.h ├── ev-selection.c ├── ev-selection.h ├── ev-transition-effect.c ├── ev-transition-effect.h ├── ev-version.h.in ├── ev-xmp.c ├── ev-xmp.h └── meson.build ├── libmisc ├── ev-page-action-widget.c ├── ev-page-action-widget.h ├── ev-page-action-widget.ui ├── libmisc.gresource.xml └── meson.build ├── libview ├── ev-annotation-window.c ├── ev-annotation-window.h ├── ev-color-contrast.c ├── ev-color-contrast.h ├── ev-document-model.c ├── ev-document-model.h ├── ev-form-field-accessible.c ├── ev-form-field-accessible.h ├── ev-image-accessible.c ├── ev-image-accessible.h ├── ev-job-scheduler.c ├── ev-job-scheduler.h ├── ev-jobs.c ├── ev-jobs.h ├── ev-link-accessible.c ├── ev-link-accessible.h ├── ev-page-accessible.c ├── ev-page-accessible.h ├── ev-page-cache.c ├── ev-page-cache.h ├── ev-pixbuf-cache.c ├── ev-pixbuf-cache.h ├── ev-print-operation.c ├── ev-print-operation.h ├── ev-timeline.c ├── ev-timeline.h ├── ev-transition-animation.c ├── ev-transition-animation.h ├── ev-view-accessible.c ├── ev-view-accessible.h ├── ev-view-cursor.c ├── ev-view-cursor.h ├── ev-view-marshal.list ├── ev-view-presentation.c ├── ev-view-presentation.h ├── ev-view-private.h ├── ev-view.c ├── ev-view.h └── meson.build ├── meson.build ├── meson_options.txt ├── po ├── ChangeLog ├── LINGUAS ├── POTFILES.in ├── POTFILES.skip ├── ab.po ├── af.po ├── an.po ├── ar.po ├── as.po ├── ast.po ├── be.po ├── be@latin.po ├── bg.po ├── bn.po ├── bn_IN.po ├── br.po ├── bs.po ├── ca.po ├── ca@valencia.po ├── cs.po ├── cy.po ├── da.po ├── de.po ├── dz.po ├── el.po ├── en@shaw.po ├── en_CA.po ├── en_GB.po ├── eo.po ├── es.po ├── et.po ├── eu.po ├── fa.po ├── fi.po ├── fr.po ├── fur.po ├── ga.po ├── gd.po ├── gl.po ├── gu.po ├── he.po ├── hi.po ├── hr.po ├── hu.po ├── ia.po ├── id.po ├── ie.po ├── is.po ├── it.po ├── ja.po ├── ka.po ├── kab.po ├── kk.po ├── km.po ├── kn.po ├── ko.po ├── ks.po ├── ku.po ├── lt.po ├── lv.po ├── mai.po ├── meson.build ├── mg.po ├── mjw.po ├── mk.po ├── ml.po ├── mn.po ├── mr.po ├── ms.po ├── my.po ├── nb.po ├── nds.po ├── ne.po ├── nl.po ├── nn.po ├── oc.po ├── or.po ├── pa.po ├── pl.po ├── ps.po ├── pt.po ├── pt_BR.po ├── ro.po ├── ru.po ├── rw.po ├── si.po ├── sk.po ├── sl.po ├── sq.po ├── sr.po ├── sr@latin.po ├── sv.po ├── ta.po ├── te.po ├── tg.po ├── th.po ├── tr.po ├── ug.po ├── uk.po ├── uz.po ├── vi.po ├── wa.po ├── zh_CN.po ├── zh_HK.po ├── zh_TW.po └── zu.po ├── previewer ├── ev-previewer-window.c ├── ev-previewer-window.h ├── ev-previewer.c ├── evince-previewer.css ├── meson.build ├── previewer-window.ui └── previewer.gresource.xml ├── properties ├── ev-properties-main.c ├── ev-properties-view.c ├── ev-properties-view.h └── meson.build ├── shell ├── ev-annotation-properties-dialog.c ├── ev-annotation-properties-dialog.h ├── ev-annotations-toolbar.c ├── ev-annotations-toolbar.h ├── ev-application.c ├── ev-application.h ├── ev-bookmarks.c ├── ev-bookmarks.h ├── ev-daemon-gdbus.xml ├── ev-daemon.c ├── ev-file-monitor.c ├── ev-file-monitor.h ├── ev-find-sidebar.c ├── ev-find-sidebar.h ├── ev-gdbus.xml ├── ev-history.c ├── ev-history.h ├── ev-keyring.c ├── ev-keyring.h ├── ev-loading-message.c ├── ev-loading-message.h ├── ev-message-area.c ├── ev-message-area.h ├── ev-metadata.c ├── ev-metadata.h ├── ev-password-view.c ├── ev-password-view.h ├── ev-progress-message-area.c ├── ev-progress-message-area.h ├── ev-properties-dialog.c ├── ev-properties-dialog.h ├── ev-properties-fonts.c ├── ev-properties-fonts.h ├── ev-properties-license.c ├── ev-properties-license.h ├── ev-recent-view.c ├── ev-recent-view.h ├── ev-search-box.c ├── ev-search-box.h ├── ev-sidebar-annotations.c ├── ev-sidebar-annotations.h ├── ev-sidebar-attachments.c ├── ev-sidebar-attachments.h ├── ev-sidebar-bookmarks.c ├── ev-sidebar-bookmarks.h ├── ev-sidebar-layers.c ├── ev-sidebar-layers.h ├── ev-sidebar-links.c ├── ev-sidebar-links.h ├── ev-sidebar-page.c ├── ev-sidebar-page.h ├── ev-sidebar-thumbnails.c ├── ev-sidebar-thumbnails.h ├── ev-sidebar.c ├── ev-sidebar.h ├── ev-toolbar.c ├── ev-toolbar.h ├── ev-utils.c ├── ev-utils.h ├── ev-window-title.c ├── ev-window-title.h ├── ev-window.c ├── ev-window.h ├── ev-zoom-action.c ├── ev-zoom-action.h ├── evince-menus.ui ├── evince-message-area.ui ├── evince-password-view.ui ├── evince-progress-message-area.ui ├── evince-properties-fonts.ui ├── evince-recent-view.ui ├── evince-sidebar-annotations.ui ├── evince-sidebar-bookmarks.ui ├── evince-sidebar.ui ├── evince-toolbar.ui ├── evince-window.ui ├── evince-zoom-action.ui ├── evince.css ├── evince.gresource.xml ├── help-overlay.ui ├── main.c └── meson.build └── thumbnailer ├── evince-thumbnailer.c ├── evince.thumbnailer.in └── meson.build /.editorconfig: -------------------------------------------------------------------------------- 1 | # this file helps keeping consistent code style in all the project. IDEs will 2 | # automatically use the code style as defined in this file 3 | # see https://editorconfig.org/ 4 | 5 | root=true 6 | 7 | # Unix-style newlines with a newline ending every file 8 | [*] 9 | end_of_line=lf 10 | insert_final_newline=true 11 | charset=utf-8 12 | trim_trailing_whitespace=true 13 | 14 | [*.{c,h}] 15 | indent_style=tab 16 | indent_size=8 17 | 18 | [*.xml*] 19 | indent_style=space 20 | indent_size=2 21 | 22 | [*.css] 23 | indent_style=space 24 | indent_size=4 25 | 26 | [*.json] 27 | indent_style=space 28 | indent_size=4 29 | 30 | [meson.build] 31 | indent_style=space 32 | indent_size=2 33 | 34 | [snapcraft.yaml] 35 | indent_style=space 36 | indent_size=2 37 | 38 | [.gitlab-ci.yml] 39 | indent_style=space 40 | indent_size=4 41 | 42 | [ChangeLog*] 43 | trim_trailing_whitespace=false 44 | 45 | [NEWS] 46 | trim_trailing_whitespace=false 47 | 48 | [*.po] 49 | trim_trailing_whitespace=false 50 | -------------------------------------------------------------------------------- /.git-blame-ignore-refs: -------------------------------------------------------------------------------- 1 | bb692ef1551b5dd28cfd7c4ae34fa20beaef0ef9 2 | 03e5dc2cced610fdb59e6dbff2b631e2caa7fdc0 3 | 1cf47ada81cf57bd98233dc065e6eda886165d27 4 | 2940af6afd87680589b2c80c27b5463dcdb84ea3 5 | e50b7a5368fa4f706fc840fb5e821c26db087096 6 | dd48774cf01070dac62655e0817ee5419ed94aec 7 | 036ee8f3c5804468dff848e3f4b167a38009edee 8 | 80d7ac219dfbc731d300c578698bb0151884a5fd 9 | 48f419862574d83d5040235579d4144cc413657a 10 | b46513ebb9561b29a48b3ac0d4b42110f3f853c6 11 | a41ba61be40ebc316e549ccad7f2dc408de85d00 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | _build/ 2 | .flatpak-builder 3 | -------------------------------------------------------------------------------- /.gitlab-ci/README.md: -------------------------------------------------------------------------------- 1 | Evince CI infrastructure 2 | ------------------------ 3 | 4 | Evince uses Docker containers, generated using `docker`. Evince uses 5 | a custom image to install large number of packages, like the LaTeX ones, 6 | and ghostscript, which are are required to build support for DVI and 7 | PostScript. 8 | 9 | Building a Docker image for Evince CI 10 | ------------------------------------- 11 | 12 | Steps for building a docker image: 13 | 14 | ``` 15 | docker login registry.gitlab.gnome.org 16 | ``` 17 | 18 | ``` 19 | $ docker build -t registry.gitlab.gnome.org/gnome/evince/master-amd64 -f ubuntu.Dockerfile . 20 | $ docker push registry.gitlab.gnome.org/gnome/evince/master-amd64 21 | ``` 22 | -------------------------------------------------------------------------------- /.gitlab-ci/ubuntu.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:23.10 2 | 3 | ENV LANG=C.UTF-8 DEBIAN_FRONTEND=noninteractive 4 | 5 | RUN apt-get -yqq update \ 6 | && apt-get -yqq install --no-install-recommends \ 7 | apt-utils \ 8 | && apt-get -yqq install --no-install-recommends \ 9 | gnome-common libglib2.0-dev-bin \ 10 | yelp-tools itstool appstream \ 11 | libgirepository1.0-dev libgtk-3-dev \ 12 | libhandy-1-dev \ 13 | libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \ 14 | libexempi-dev \ 15 | libarchive-dev \ 16 | libsecret-1-dev libgspell-1-dev \ 17 | libgnome-desktop-3-dev libnautilus-extension-dev \ 18 | libspectre-dev libtiff5-dev libdjvulibre-dev \ 19 | libkpathsea-dev libgxps-dev libsynctex-dev \ 20 | libgtk-4-dev libgnome-desktop-4-dev libadwaita-1-dev \ 21 | git ccache systemd ninja-build meson \ 22 | cmake desktop-file-utils gi-docgen \ 23 | && apt-get -yqq install --no-install-recommends \ 24 | poppler-data libboost-container-dev libopenjp2-7-dev libcurl4-openssl-dev \ 25 | && git clone --depth 1 --branch poppler-23.10.0 \ 26 | https://gitlab.freedesktop.org/poppler/poppler.git /tmp/poppler \ 27 | && cd /tmp/poppler \ 28 | && cmake -DBUILD_GTK_TESTS=OFF -DBUILD_CPP_TESTS=OFF \ 29 | -DBUILD_MANUAL_TESTS=OFF -DENABLE_CPP=OFF \ 30 | -DENABLE_GOBJECT_INTROSPECTION=OFF -DENABLE_LIBOPENJPEG=openjpeg2 \ 31 | -DENABLE_QT5=OFF -DENABLE_QT6=OFF \ 32 | -DENABLE_UTILS=OFF -DENABLE_NSS3=OFF -DENABLE_GPGME=OFF \ 33 | -DENABLE_LCMS=OFF -DENABLE_LIBCURL=OFF -G Ninja . \ 34 | && ninja && ninja install \ 35 | && apt-get clean \ 36 | && rm -rf /tmp/poppler \ 37 | && useradd -u 1984 -ms /bin/sh user 38 | 39 | USER user 40 | WORKDIR /home/user 41 | -------------------------------------------------------------------------------- /.gitlab/issue_templates/Default.md: -------------------------------------------------------------------------------- 1 | 12 | ### Summary 13 | 14 | REPLACE-ME: Explain in short what is the problem, e.g: crashed while opening PDF document 15 | 16 | ### Description 17 | 18 | REPLACE-ME: more detailed description of the problem. If the problem happens on a specific document, please add a link or attach the document. If evince is crashing, a backtrace is always useful. A good example would be: "I clicked on a link from Epiphany which opened Evince for viewing a PDF document. Evince crashed before actually rendering anything at all. Attached you can find the document and the backtrace after the crash" 19 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | The Xpdf software and documentation are 2 | Copyright 1996-2003 Glyph & Cog, LLC. 3 | 4 | Martin Kretzschmar 5 | Marco Pesenti Gritti 6 | Jonathan Blandford 7 | Nickolay V. Shmyrev 8 | Bryan Clark 9 | Carlos Garcia Campos 10 | Wouter Bolsterlee 11 | 12 | And many others 13 | -------------------------------------------------------------------------------- /MAINTAINERS: -------------------------------------------------------------------------------- 1 | Christian Persch 2 | e-mail: chpe@src.gnome.org 3 | userid: chpe 4 | 5 | Germán Poo-Caamaño 6 | E-mail: gpoo@gnome.org 7 | Userid: gpoo 8 | 9 | Nelson Benítez León 10 | e-mail: nbenitezl@gmail.com 11 | userid: nbenitez 12 | -------------------------------------------------------------------------------- /NEWS-security.md: -------------------------------------------------------------------------------- 1 | Security fixes 2 | ============== 3 | 4 | * Evince 3.24.1 5 | 6 | * Remove support for tar and tar-like commands in commics backend 7 | (#784630). CVE-2017-1000083. (Bastien Nocera) 8 | 9 | * Evince 3.21.92 10 | 11 | * Fix a crash when processing button events in EvView (#769700) 12 | CVE-2013-3718. (Marek Kasik) 13 | 14 | * Evince 2.91.5 15 | 16 | * Fix several security issues in dvi backend. 17 | CVE-2010-2640, CVE-2010-2641, CVE-2010-2642 and CVE-2010-2643. 18 | (José Aliste) 19 | 20 | * Evince 0.7.0 21 | 22 | * Buffer overflow in PS backend (#380191). 23 | CVE-2006-5864. (Carlos Garcia Campos) 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ![evince-logo] Evince 2 | 3 | Evince is a document viewer capable of displaying multiple and single 4 | page document formats like PDF and Postscript. For more general 5 | information about Evince please visit our website at 6 | https://wiki.gnome.org/Apps/Evince. 7 | 8 | This software is licensed under the [GPLv2][license]. 9 | 10 | [![flatpak]](https://flathub.org/apps/details/org.gnome.Evince) 11 | 12 | ## Evince Requirements 13 | 14 | * [GNOME Platform libraries][gnome] 15 | * [Poppler for PDF viewing][poppler] 16 | 17 | ## Evince Optional Backend Libraries 18 | 19 | * [Spectre for PostScript (PS) viewing][ghostscript] 20 | * [DjVuLibre for DjVu viewing][djvulibre] 21 | * [Kpathsea for Device-independent file format (DVI) viewing][dvi] 22 | * [Archive library for Comic Book Resources (CBR) viewing][comics] 23 | * [LibTiff for Multipage TIFF viewing][tiff] 24 | * [LibGXPS for XML Paper Specification (XPS) viewing][xps] 25 | 26 | ## Default branch renamed to `main` 27 | 28 | The default development branch of Evince has been renamed to `main`. To update 29 | your local checkout, use: 30 | ```sh 31 | git checkout master 32 | git branch -m master main 33 | git fetch 34 | git branch --unset-upstream 35 | git branch -u origin/main 36 | git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main 37 | ``` 38 | 39 | [gnome]: https://www.gnome.org/ 40 | [poppler]: https://poppler.freedesktop.org/ 41 | [ghostscript]: https://www.freedesktop.org/wiki/Software/libspectre/ 42 | [djvulibre]: https://djvulibre.djvuzone.org/ 43 | [dvi]: https://tug.org/texinfohtml/kpathsea.html 44 | [comics]: https://libarchive.org/ 45 | [tiff]: http://libtiff.org/ 46 | [xps]: https://wiki.gnome.org/Projects/libgxps 47 | [license]: COPYING 48 | [evince-logo]: data/icons/scalable/apps/org.gnome.Evince.svg 49 | [flatpak]: https://flathub.org/api/badge?svg&locale=en 50 | -------------------------------------------------------------------------------- /TODO: -------------------------------------------------------------------------------- 1 | See Gitlab for the list of entries we are working on at: 2 | 3 | https://gitlab.gnome.org/GNOME/evince/issues 4 | -------------------------------------------------------------------------------- /backend/comics/comics-document.h: -------------------------------------------------------------------------------- 1 | /* comics-document.h: Implementation of EvDocument for comic book archives 2 | * Copyright (C) 2005, Teemu Tervo 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #pragma once 20 | 21 | #include "ev-macros.h" 22 | #include "ev-document.h" 23 | 24 | G_BEGIN_DECLS 25 | 26 | #define COMICS_TYPE_DOCUMENT (comics_document_get_type ()) 27 | #define COMICS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), COMICS_TYPE_DOCUMENT, ComicsDocument)) 28 | #define COMICS_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), COMICS_TYPE_DOCUMENT)) 29 | 30 | typedef struct _ComicsDocument ComicsDocument; 31 | 32 | GType comics_document_get_type (void) G_GNUC_CONST; 33 | 34 | G_END_DECLS 35 | -------------------------------------------------------------------------------- /backend/comics/comicsdocument.evince-backend.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Evince Backend] 2 | Module=comicsdocument 3 | TypeDescription=Comic Books 4 | MimeType=@COMICS_MIME_TYPES@; 5 | -------------------------------------------------------------------------------- /backend/comics/evince-comicsdocument.metainfo.xml.in.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | evince-comicsdocument 4 | org.gnome.Evince 5 | Comic Books 6 | Adds support for reading comic books 7 | 8 | @METAINFO_COMICS_MIME_TYPES@ 9 | 10 | 11 | ModernToolkit 12 | 13 | https://wiki.gnome.org/Apps/Evince/SupportedDocumentFormats 14 | GPL-2.0+ or GFDL-1.3-only 15 | GPL-2.0+ 16 | https://discourse.gnome.org/tag/evince 17 | 18 | -------------------------------------------------------------------------------- /backend/comics/meson.build: -------------------------------------------------------------------------------- 1 | backend_sources = files( 2 | 'comics-document.c', 3 | 'ev-archive.c', 4 | ) 5 | 6 | backend_incs = backends_common_incs + [cut_n_paste_inc] 7 | 8 | backend_deps = backends_common_deps + [ 9 | libarchive_dep, 10 | ] 11 | 12 | test_name = 'test-ev-archive' 13 | 14 | test_sources = files( 15 | 'ev-archive.c', 16 | 'test-ev-archive.c', 17 | ) 18 | 19 | executable( 20 | test_name, 21 | test_sources, 22 | include_directories: backend_incs, 23 | dependencies: backend_deps, 24 | ) 25 | -------------------------------------------------------------------------------- /backend/djvu/djvu-document-private.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Declarations used throughout the djvu classes 3 | * 4 | * Copyright (C) 2006, Michael Hofmann 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2, or (at your option) 9 | * any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #pragma once 22 | 23 | #include "djvu-document.h" 24 | 25 | #include 26 | 27 | struct _DjvuDocument { 28 | EvDocument parent_instance; 29 | 30 | ddjvu_context_t *d_context; 31 | ddjvu_document_t *d_document; 32 | ddjvu_format_t *d_format; 33 | ddjvu_format_t *thumbs_format; 34 | 35 | gchar *uri; 36 | 37 | /* PS exporter */ 38 | gchar *ps_filename; 39 | GString *opts; 40 | ddjvu_fileinfo_t *fileinfo_pages; 41 | gint n_pages; 42 | GHashTable *file_ids; 43 | }; 44 | 45 | int djvu_document_get_n_pages (EvDocument *document); 46 | void djvu_handle_events (DjvuDocument *djvu_document, 47 | int wait, 48 | GError **error); 49 | -------------------------------------------------------------------------------- /backend/djvu/djvu-document.h: -------------------------------------------------------------------------------- 1 | /* djvu-document.h: Implementation of EvDocument for djvu documents 2 | * Copyright (C) 2005, Nickolay V. Shmyrev 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #pragma once 20 | 21 | #include "ev-macros.h" 22 | #include "ev-document.h" 23 | 24 | G_BEGIN_DECLS 25 | 26 | #define DJVU_TYPE_DOCUMENT (djvu_document_get_type ()) 27 | #define DJVU_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DJVU_TYPE_DOCUMENT, DjvuDocument)) 28 | #define DJVU_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DJVU_TYPE_DOCUMENT)) 29 | 30 | typedef struct _DjvuDocument DjvuDocument; 31 | 32 | GType djvu_document_get_type (void) G_GNUC_CONST; 33 | 34 | G_END_DECLS 35 | -------------------------------------------------------------------------------- /backend/djvu/djvu-links.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006 Pauli Virtanen 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #pragma once 20 | 21 | #include "ev-document-links.h" 22 | #include "djvu-document.h" 23 | 24 | #include 25 | 26 | GtkTreeModel *djvu_links_get_links_model (EvDocumentLinks *document_links); 27 | EvMappingList *djvu_links_get_links (EvDocumentLinks *document_links, 28 | gint page, 29 | double scale_factor); 30 | EvLinkDest *djvu_links_find_link_dest (EvDocumentLinks *document_links, 31 | const gchar *link_name); 32 | gint djvu_links_find_link_page (EvDocumentLinks *document_links, 33 | const gchar *link_name); 34 | gboolean djvu_links_has_document_links (EvDocumentLinks *document_links); 35 | -------------------------------------------------------------------------------- /backend/djvu/djvudocument.evince-backend.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Evince Backend] 2 | Module=djvudocument 3 | TypeDescription=DjVu Documents 4 | MimeType=@DJVU_MIME_TYPES@; 5 | -------------------------------------------------------------------------------- /backend/djvu/evince-djvudocument.metainfo.xml.in.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | evince-djvudocument 4 | org.gnome.Evince 5 | DjVu Documents 6 | Adds support for reading DjVu documents 7 | 8 | @METAINFO_DJVU_MIME_TYPES@ 9 | 10 | 11 | ModernToolkit 12 | 13 | https://wiki.gnome.org/Apps/Evince/SupportedDocumentFormats 14 | GPL-2.0+ or GFDL-1.3-only 15 | GPL-2.0+ 16 | https://discourse.gnome.org/tag/evince 17 | 18 | -------------------------------------------------------------------------------- /backend/djvu/meson.build: -------------------------------------------------------------------------------- 1 | backend_sources = files( 2 | 'djvu-document.c', 3 | 'djvu-links.c', 4 | 'djvu-text-page.c', 5 | ) 6 | 7 | backend_deps = backends_common_deps + [ddjvuapi_dep] 8 | -------------------------------------------------------------------------------- /backend/dvi/cairo-device.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2007 Carlos Garcia Campos 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #ifndef MDVI_CAIRO_DEVICE 20 | #define MDVI_CAIRO_DEVICE 21 | 22 | #include 23 | #include 24 | 25 | #include "mdvi.h" 26 | 27 | G_BEGIN_DECLS 28 | 29 | void mdvi_cairo_device_init (DviDevice *device); 30 | void mdvi_cairo_device_free (DviDevice *device); 31 | cairo_surface_t *mdvi_cairo_device_get_surface (DviDevice *device); 32 | void mdvi_cairo_device_render (DviContext* dvi); 33 | void mdvi_cairo_device_set_margins (DviDevice *device, 34 | gint xmargin, 35 | gint ymargin); 36 | void mdvi_cairo_device_set_scale (DviDevice *device, 37 | gdouble xscale, 38 | gdouble yscale); 39 | 40 | G_END_DECLS 41 | 42 | #endif /* MDVI_CAIRO_DEVICE */ 43 | -------------------------------------------------------------------------------- /backend/dvi/dvi-document.h: -------------------------------------------------------------------------------- 1 | /* dvi-document.h: Implementation of EvDocument for dvi documents 2 | * Copyright (C) 2005, Nickolay V. Shmyrev 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #pragma once 20 | 21 | #include "ev-macros.h" 22 | #include "ev-document.h" 23 | 24 | G_BEGIN_DECLS 25 | 26 | #define DVI_TYPE_DOCUMENT (dvi_document_get_type ()) 27 | #define DVI_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DVI_TYPE_DOCUMENT, DviDocument)) 28 | #define DVI_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DVI_TYPE_DOCUMENT)) 29 | 30 | typedef struct _DviDocument DviDocument; 31 | 32 | GType dvi_document_get_type (void) G_GNUC_CONST; 33 | 34 | G_END_DECLS 35 | -------------------------------------------------------------------------------- /backend/dvi/dvidocument.evince-backend.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Evince Backend] 2 | Module=dvidocument 3 | TypeDescription=DVI Documents 4 | MimeType=@DVI_MIME_TYPES@; 5 | -------------------------------------------------------------------------------- /backend/dvi/evince-dvidocument.metainfo.xml.in.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | evince-dvidocument 4 | org.gnome.Evince 5 | DVI Documents 6 | Adds support for reading DVI documents 7 | 8 | @METAINFO_DVI_MIME_TYPES@ 9 | 10 | 11 | ModernToolkit 12 | 13 | https://wiki.gnome.org/Apps/Evince/SupportedDocumentFormats 14 | GPL-2.0+ or GFDL-1.3-only 15 | GPL-2.0+ 16 | https://discourse.gnome.org/tag/evince 17 | 18 | -------------------------------------------------------------------------------- /backend/dvi/fonts.c: -------------------------------------------------------------------------------- 1 | #include "config.h" 2 | #include "fonts.h" 3 | #include "mdvi.h" 4 | 5 | static int registered = 0; 6 | 7 | extern DviFontInfo pk_font_info; 8 | extern DviFontInfo pkn_font_info; 9 | extern DviFontInfo gf_font_info; 10 | extern DviFontInfo vf_font_info; 11 | extern DviFontInfo ovf_font_info; 12 | #if 0 13 | extern DviFontInfo tt_font_info; 14 | #endif 15 | extern DviFontInfo afm_font_info; 16 | extern DviFontInfo tfm_font_info; 17 | extern DviFontInfo ofm_font_info; 18 | 19 | static struct fontinfo { 20 | DviFontInfo *info; 21 | char *desc; 22 | int klass; 23 | } known_fonts[] = { 24 | {&vf_font_info, "Virtual fonts", 0}, 25 | {&ovf_font_info, "Omega's virtual fonts", 0}, 26 | #if 0 27 | {&tt_font_info, "TrueType fonts", 0}, 28 | #endif 29 | {&pk_font_info, "Packed bitmap (auto-generated)", 1}, 30 | {&pkn_font_info, "Packed bitmap", -2}, 31 | {&gf_font_info, "Metafont's generic font format", 1}, 32 | {&ofm_font_info, "Omega font metrics", -1}, 33 | {&tfm_font_info, "TeX font metrics", -1}, 34 | {&afm_font_info, "Adobe font metrics", -1}, 35 | {0, 0} 36 | }; 37 | 38 | void mdvi_register_fonts (void) 39 | { 40 | struct fontinfo *type; 41 | 42 | if (!registered) { 43 | for(type = known_fonts; type->info; type++) { 44 | mdvi_register_font_type(type->info, type->klass); 45 | } 46 | registered = 1; 47 | } 48 | return; 49 | } 50 | 51 | 52 | -------------------------------------------------------------------------------- /backend/dvi/fonts.h: -------------------------------------------------------------------------------- 1 | #ifndef MDVI_FONTS_REGISTRATION_H 2 | #define MDVI_FONTS_REGISTRATION_H 3 | 4 | void mdvi_register_fonts (void); 5 | 6 | #endif /* MDVI_FONTS_REGISTRATION_H */ 7 | -------------------------------------------------------------------------------- /backend/dvi/mdvi-lib/color.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2000, Matias Atria 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | 20 | #ifndef _COLOR_H_ 21 | #define _COLOR_H_ 22 | 23 | #include "common.h" 24 | 25 | extern Ulong *get_color_table(DviDevice *dev, 26 | int nlevels, Ulong fg, Ulong bg, double gamma, int density); 27 | 28 | extern void mdvi_set_color __PROTO((DviContext *, Ulong, Ulong)); 29 | extern void mdvi_push_color __PROTO((DviContext *, Ulong, Ulong)); 30 | extern void mdvi_pop_color __PROTO((DviContext *)); 31 | extern void mdvi_reset_color __PROTO((DviContext *)); 32 | 33 | #endif /* _COLOR_H_ */ 34 | 35 | -------------------------------------------------------------------------------- /backend/dvi/mdvi-lib/dviopcodes.h: -------------------------------------------------------------------------------- 1 | #ifndef _MDVI_DVIOPCODES_H 2 | #define _MDVI_DVIOPCODES_H 1 3 | 4 | #define DVI_SET_CHAR0 0 5 | #define DVI_SET_CHAR1 1 6 | #define DVI_SET_CHAR_MAX 127 7 | #define DVI_SET1 128 8 | #define DVI_SET2 129 9 | #define DVI_SET3 130 10 | #define DVI_SET4 131 11 | #define DVI_SET_RULE 132 12 | #define DVI_PUT1 133 13 | #define DVI_PUT2 134 14 | #define DVI_PUT3 135 15 | #define DVI_PUT4 136 16 | #define DVI_PUT_RULE 137 17 | #define DVI_NOOP 138 18 | #define DVI_BOP 139 19 | #define DVI_EOP 140 20 | #define DVI_PUSH 141 21 | #define DVI_POP 142 22 | #define DVI_RIGHT1 143 23 | #define DVI_RIGHT2 144 24 | #define DVI_RIGHT3 145 25 | #define DVI_RIGHT4 146 26 | #define DVI_W0 147 27 | #define DVI_W1 148 28 | #define DVI_W2 149 29 | #define DVI_W3 150 30 | #define DVI_W4 151 31 | #define DVI_X0 152 32 | #define DVI_X1 153 33 | #define DVI_X2 154 34 | #define DVI_X3 155 35 | #define DVI_X4 156 36 | #define DVI_DOWN1 157 37 | #define DVI_DOWN2 158 38 | #define DVI_DOWN3 159 39 | #define DVI_DOWN4 160 40 | #define DVI_Y0 161 41 | #define DVI_Y1 162 42 | #define DVI_Y2 163 43 | #define DVI_Y3 164 44 | #define DVI_Y4 165 45 | #define DVI_Z0 166 46 | #define DVI_Z1 167 47 | #define DVI_Z2 168 48 | #define DVI_Z3 169 49 | #define DVI_Z4 170 50 | #define DVI_FNT_NUM0 171 51 | #define DVI_FNT_NUM1 172 52 | #define DVI_FNT_NUM_MAX 234 53 | #define DVI_FNT1 235 54 | #define DVI_FNT2 236 55 | #define DVI_FNT3 237 56 | #define DVI_FNT4 238 57 | #define DVI_XXX1 239 58 | #define DVI_XXX2 240 59 | #define DVI_XXX3 241 60 | #define DVI_XXX4 242 61 | #define DVI_FNT_DEF1 243 62 | #define DVI_FNT_DEF2 244 63 | #define DVI_FNT_DEF3 245 64 | #define DVI_FNT_DEF4 246 65 | #define DVI_PRE 247 66 | #define DVI_POST 248 67 | #define DVI_POST_POST 249 68 | 69 | #define DVI_ID 2 70 | #define DVI_TRAILER 223 71 | 72 | #endif /* _MDVI_DVIOPCODES_H */ 73 | -------------------------------------------------------------------------------- /backend/dvi/mdvi-lib/hash.h: -------------------------------------------------------------------------------- 1 | #ifndef MDVI_HASH 2 | #define MDVI_HASH 3 | 4 | /* Hash tables */ 5 | 6 | 7 | typedef struct _DviHashBucket DviHashBucket; 8 | typedef struct _DviHashTable DviHashTable; 9 | 10 | /* 11 | * Hash tables 12 | */ 13 | 14 | typedef Uchar *DviHashKey; 15 | #define MDVI_KEY(x) ((DviHashKey)(x)) 16 | 17 | typedef Ulong (*DviHashFunc) __PROTO((DviHashKey key)); 18 | typedef int (*DviHashComp) __PROTO((DviHashKey key1, DviHashKey key2)); 19 | typedef void (*DviHashFree) __PROTO((DviHashKey key, void *data)); 20 | 21 | 22 | struct _DviHashTable { 23 | DviHashBucket **buckets; 24 | int nbucks; 25 | int nkeys; 26 | DviHashFunc hash_func; 27 | DviHashComp hash_comp; 28 | DviHashFree hash_free; 29 | }; 30 | #define MDVI_EMPTY_HASH_TABLE {NULL, 0, 0, NULL, NULL, NULL} 31 | 32 | #define MDVI_HASH_REPLACE 0 33 | #define MDVI_HASH_UNIQUE 1 34 | #define MDVI_HASH_UNCHECKED 2 35 | 36 | extern void mdvi_hash_init __PROTO((DviHashTable *)); 37 | extern void mdvi_hash_create __PROTO((DviHashTable *, int)); 38 | extern int mdvi_hash_add __PROTO((DviHashTable *, DviHashKey, void *, int)); 39 | extern int mdvi_hash_destroy_key __PROTO((DviHashTable *, DviHashKey)); 40 | extern void mdvi_hash_reset __PROTO((DviHashTable *, int)); 41 | extern void *mdvi_hash_lookup __PROTO((DviHashTable *, DviHashKey)); 42 | extern void *mdvi_hash_remove __PROTO((DviHashTable *, DviHashKey)); 43 | extern void *mdvi_hash_remove_ptr __PROTO((DviHashTable *, DviHashKey)); 44 | 45 | #define mdvi_hash_flush(h) mdvi_hash_reset((h), 1) 46 | #define mdvi_hash_destroy(h) mdvi_hash_reset((h), 0) 47 | 48 | #endif 49 | 50 | -------------------------------------------------------------------------------- /backend/dvi/mdvi-lib/meson.build: -------------------------------------------------------------------------------- 1 | sources = files( 2 | 'afmparse.c', 3 | 'bitmap.c', 4 | 'color.c', 5 | 'common.c', 6 | 'dviread.c', 7 | 'files.c', 8 | 'font.c', 9 | 'fontmap.c', 10 | 'fontsrch.c', 11 | 'gf.c', 12 | 'hash.c', 13 | 'list.c', 14 | 'pagesel.c', 15 | 'paper.c', 16 | 'pk.c', 17 | 'setup.c', 18 | 'special.c', 19 | 'sp-epsf.c', 20 | 'tfm.c', 21 | 'tfmfile.c', 22 | 'tt.c', 23 | 'util.c', 24 | 'vf.c', 25 | ) 26 | 27 | libmdvi = static_library( 28 | 'mdvi', 29 | sources: sources, 30 | include_directories: top_inc, 31 | gnu_symbol_visibility: 'hidden', 32 | ) 33 | 34 | libmdvi_dep = declare_dependency( 35 | include_directories: include_directories('.'), 36 | link_with: libmdvi, 37 | ) 38 | -------------------------------------------------------------------------------- /backend/dvi/mdvi-lib/paper.h: -------------------------------------------------------------------------------- 1 | #ifndef MDVI_PAPER 2 | #define MDVI_PAPER 3 | 4 | typedef struct _DviPaper DviPaper; 5 | typedef struct _DviPaperSpec DviPaperSpec; 6 | 7 | typedef enum { 8 | MDVI_PAPER_CLASS_ISO, 9 | MDVI_PAPER_CLASS_US, 10 | MDVI_PAPER_CLASS_ANY, 11 | MDVI_PAPER_CLASS_CUSTOM 12 | } DviPaperClass; 13 | 14 | struct _DviPaper { 15 | DviPaperClass pclass; 16 | const char *name; 17 | double inches_wide; 18 | double inches_tall; 19 | }; 20 | 21 | struct _DviPaperSpec { 22 | const char *name; 23 | const char *width; 24 | const char *height; 25 | }; 26 | 27 | 28 | extern int mdvi_get_paper_size __PROTO((const char *, DviPaper *)); 29 | extern DviPaperSpec* mdvi_get_paper_specs __PROTO((DviPaperClass)); 30 | extern void mdvi_free_paper_specs __PROTO((DviPaperSpec *)); 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /backend/dvi/mdvi-lib/setup.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2000, Matias Atria 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | 25 | #include "mdvi.h" 26 | #include "private.h" 27 | 28 | void mdvi_init_kpathsea(const char *program, 29 | const char *mfmode, const char *font, int dpi, 30 | const char *texmfcnf) 31 | { 32 | const char *p; 33 | 34 | /* Stop meaningless output generation. */ 35 | kpse_make_tex_discard_errors = FALSE; 36 | 37 | p = strrchr(program, '/'); 38 | p = (p ? p + 1 : program); 39 | kpse_set_program_name(program, p); 40 | kpse_init_prog(p, dpi, mfmode, font); 41 | kpse_set_program_enabled(kpse_any_glyph_format, 1, kpse_src_compile); 42 | kpse_set_program_enabled(kpse_pk_format, 1, kpse_src_compile); 43 | kpse_set_program_enabled(kpse_tfm_format, 1, kpse_src_compile); 44 | kpse_set_program_enabled(kpse_ofm_format, 1, kpse_src_compile); 45 | if (texmfcnf != NULL) 46 | xputenv("TEXMFCNF", texmfcnf); 47 | } 48 | 49 | -------------------------------------------------------------------------------- /backend/dvi/meson.build: -------------------------------------------------------------------------------- 1 | subdir('mdvi-lib') 2 | 3 | backend_sources = files( 4 | 'cairo-device.c', 5 | 'dvi-document.c', 6 | 'fonts.c', 7 | 'texmfcnf.c', 8 | ) 9 | 10 | backend_deps = backends_common_deps + [ 11 | libmdvi_dep, 12 | libspectre_dep, 13 | kpathsea_dep, 14 | m_dep 15 | ] 16 | -------------------------------------------------------------------------------- /backend/dvi/texmfcnf.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010, Hib Eris 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #include "config.h" 20 | 21 | #include "texmfcnf.h" 22 | 23 | #include 24 | #include 25 | #ifdef G_OS_WIN32 26 | #include 27 | #endif 28 | 29 | gchar * 30 | get_texmfcnf(void) 31 | { 32 | char *env = getenv("TEXMFCNF"); 33 | if (env) 34 | return g_strdup(env); 35 | 36 | #ifdef G_OS_WIN32 37 | gchar *texmfcnf = NULL; 38 | TCHAR path[_MAX_PATH]; 39 | 40 | if (SearchPath(NULL, "mktexpk", ".exe", _MAX_PATH, path, NULL)) 41 | { 42 | gchar *sdir, *sdir_parent, *sdir_grandparent; 43 | const gchar *texmfcnf_fmt = "{%s,%s,%s}{,{/share,}/texmf{-local,}/web2c}"; 44 | 45 | sdir = g_path_get_dirname(path); 46 | sdir_parent = g_path_get_dirname(sdir); 47 | sdir_grandparent = g_path_get_dirname(sdir_parent); 48 | 49 | texmfcnf = g_strdup_printf(texmfcnf_fmt, 50 | sdir, sdir_parent, sdir_grandparent); 51 | 52 | g_free(sdir); 53 | g_free(sdir_parent); 54 | g_free(sdir_grandparent); 55 | } 56 | return texmfcnf; 57 | #else 58 | return NULL; 59 | #endif 60 | } 61 | 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /backend/dvi/texmfcnf.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010, Hib Eris 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #ifndef TEXMFCNF_H 20 | #define TEXMFCNF_H 21 | 22 | #include 23 | 24 | G_BEGIN_DECLS 25 | 26 | gchar *get_texmfcnf(void); 27 | 28 | G_END_DECLS 29 | 30 | #endif /* TEXMFCNF_H */ 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /backend/pdf/ev-poppler.h: -------------------------------------------------------------------------------- 1 | /* pdfdocument.h: Implementation of EvDocument for PDF 2 | * Copyright (C) 2004, Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #pragma once 20 | 21 | #include "ev-macros.h" 22 | #include "ev-document.h" 23 | 24 | G_BEGIN_DECLS 25 | 26 | #define PDF_TYPE_DOCUMENT (pdf_document_get_type ()) 27 | #define PDF_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PDF_TYPE_DOCUMENT, PdfDocument)) 28 | #define PDF_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PDF_TYPE_DOCUMENT)) 29 | 30 | typedef struct _PdfDocument PdfDocument; 31 | typedef struct _PdfDocumentClass PdfDocumentClass; 32 | 33 | GType pdf_document_get_type (void) G_GNUC_CONST; 34 | 35 | G_END_DECLS 36 | -------------------------------------------------------------------------------- /backend/pdf/evince-pdfdocument.metainfo.xml.in.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | evince-pdfocument 4 | org.gnome.Evince 5 | PDF Documents 6 | Adds support for reading PDF Documents 7 | 8 | @METAINFO_PDF_MIME_TYPES@ 9 | 10 | 11 | ModernToolkit 12 | 13 | https://wiki.gnome.org/Apps/Evince/SupportedDocumentFormats 14 | GPL-2.0+ or GFDL-1.3-only 15 | GPL-2.0+ 16 | https://discourse.gnome.org/tag/evince 17 | 18 | -------------------------------------------------------------------------------- /backend/pdf/meson.build: -------------------------------------------------------------------------------- 1 | backend_deps = backends_common_deps + [ 2 | cairo_pdf_dep, 3 | cairo_ps_dep, 4 | poppler_glib_dep, 5 | ] 6 | 7 | backend_sources = files('ev-poppler.c') 8 | -------------------------------------------------------------------------------- /backend/pdf/pdfdocument.evince-backend.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Evince Backend] 2 | Module=pdfdocument 3 | Resident=true 4 | TypeDescription=PDF Documents 5 | MimeType=@PDF_MIME_TYPES@; 6 | 7 | -------------------------------------------------------------------------------- /backend/ps/ev-spectre.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Ghostscript widget for GTK/GNOME 3 | * 4 | * Copyright 1998 - 2005 The Free Software Foundation 5 | * 6 | * Authors: Jaka Mocnik, Federico Mena (Quartic), Szekeres Istvan (Pista) 7 | * 8 | * This library is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Library General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2 of the License, or (at your option) any later version. 12 | * 13 | * This library is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | * Library General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Library General Public 19 | * License along with this library; if not, write to the 20 | * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 21 | * Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | #pragma once 25 | 26 | #include 27 | 28 | #include "ev-macros.h" 29 | #include "ev-document.h" 30 | 31 | G_BEGIN_DECLS 32 | 33 | #define PS_TYPE_DOCUMENT (ps_document_get_type()) 34 | #define PS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PS_TYPE_DOCUMENT, PSDocument)) 35 | #define PS_DOCUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PS_TYPE_DOCUMENT, PSDocumentClass)) 36 | #define PS_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PS_TYPE_DOCUMENT)) 37 | #define PS_DOCUMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PS_TYPE_DOCUMENT, PSDocumentClass)) 38 | 39 | typedef struct _PSDocument PSDocument; 40 | typedef struct _PSDocumentClass PSDocumentClass; 41 | 42 | GType ps_document_get_type (void) G_GNUC_CONST; 43 | 44 | G_END_DECLS 45 | -------------------------------------------------------------------------------- /backend/ps/evince-psdocument.metainfo.xml.in.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | evince-psdocument 4 | org.gnome.Evince 5 | PostScript Documents 6 | Adds support for reading PostScript documents 7 | 8 | @METAINFO_PS_MIME_TYPES@ 9 | 10 | 11 | ModernToolkit 12 | 13 | https://wiki.gnome.org/Apps/Evince/SupportedDocumentFormats 14 | GPL-2.0+ or GFDL-1.3-only 15 | GPL-2.0+ 16 | https://discourse.gnome.org/tag/evince 17 | 18 | -------------------------------------------------------------------------------- /backend/ps/meson.build: -------------------------------------------------------------------------------- 1 | backend_sources = files('ev-spectre.c') 2 | 3 | backend_deps = backends_common_deps + [libspectre_dep] 4 | -------------------------------------------------------------------------------- /backend/ps/psdocument.evince-backend.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Evince Backend] 2 | Module=psdocument 3 | Resident=true 4 | TypeDescription=PostScript Documents 5 | MimeType=@PS_MIME_TYPES@; 6 | -------------------------------------------------------------------------------- /backend/tiff/evince-tiffdocument.metainfo.xml.in.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | evince-tiffdocument 4 | org.gnome.Evince 5 | TIFF Documents 6 | Adds support for reading TIFF documents 7 | 8 | @METAINFO_TIFF_MIME_TYPES@ 9 | 10 | 11 | ModernToolkit 12 | 13 | https://wiki.gnome.org/Apps/Evince/SupportedDocumentFormats 14 | GPL-2.0+ or GFDL-1.3-only 15 | GPL-2.0+ 16 | https://discourse.gnome.org/tag/evince 17 | 18 | -------------------------------------------------------------------------------- /backend/tiff/meson.build: -------------------------------------------------------------------------------- 1 | backend_sources = files( 2 | 'tiff-document.c', 3 | 'tiff2ps.c', 4 | ) 5 | 6 | backend_deps = backends_common_deps + [libtiff_dep, m_dep] 7 | -------------------------------------------------------------------------------- /backend/tiff/tiff-document.h: -------------------------------------------------------------------------------- 1 | 2 | /* pdfdocument.h: Implementation of EvDocument for tiffs 3 | * Copyright (C) 2005, Jonathan Blandford 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2, or (at your option) 8 | * any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include "ev-macros.h" 23 | #include "ev-document.h" 24 | 25 | G_BEGIN_DECLS 26 | 27 | #define TIFF_TYPE_DOCUMENT (tiff_document_get_type ()) 28 | #define TIFF_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TIFF_TYPE_DOCUMENT, TiffDocument)) 29 | #define TIFF_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TIFF_TYPE_DOCUMENT)) 30 | 31 | typedef struct _TiffDocument TiffDocument; 32 | 33 | GType tiff_document_get_type (void) G_GNUC_CONST; 34 | 35 | G_END_DECLS 36 | -------------------------------------------------------------------------------- /backend/tiff/tiff2ps.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2005 rpath, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #pragma once 20 | 21 | #include 22 | #include 23 | #include "tiffio.h" 24 | 25 | typedef struct _TIFF2PSContext TIFF2PSContext; 26 | 27 | TIFF2PSContext *tiff2ps_context_new(const gchar *filename); 28 | void tiff2ps_process_page(TIFF2PSContext* ctx, TIFF* tif, 29 | double pagewidth, double pageheight, 30 | double leftmargin, double bottommargin, 31 | gboolean center); 32 | void tiff2ps_context_finalize(TIFF2PSContext* ctx); 33 | -------------------------------------------------------------------------------- /backend/tiff/tiffdocument.evince-backend.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Evince Backend] 2 | Module=tiffdocument 3 | TypeDescription=TIFF Documents 4 | MimeType=@TIFF_MIME_TYPES@; 5 | -------------------------------------------------------------------------------- /backend/xps/evince-xpsdocument.metainfo.xml.in.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | evince-xpsdocument 4 | org.gnome.Evince 5 | XPS Documents 6 | Adds support for reading XPS documents 7 | 8 | @METAINFO_XPS_MIME_TYPES@ 9 | 10 | 11 | ModernToolkit 12 | 13 | https://wiki.gnome.org/Apps/Evince/SupportedDocumentFormats 14 | GPL-2.0+ or GFDL-1.3-only 15 | GPL-2.0+ 16 | https://discourse.gnome.org/tag/evince 17 | 18 | -------------------------------------------------------------------------------- /backend/xps/meson.build: -------------------------------------------------------------------------------- 1 | backend_sources = files('xps-document.c') 2 | backend_deps = backends_common_deps + [libgxps_dep] 3 | -------------------------------------------------------------------------------- /backend/xps/xps-document.h: -------------------------------------------------------------------------------- 1 | /* this file is part of evince, a gnome document viewer 2 | * 3 | * Copyright (C) 2010 Carlos Garcia Campos 4 | * 5 | * Evince is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Evince is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include 23 | 24 | #include "ev-macros.h" 25 | #include "ev-document.h" 26 | 27 | G_BEGIN_DECLS 28 | 29 | #define XPS_TYPE_DOCUMENT (xps_document_get_type()) 30 | #define XPS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XPS_TYPE_DOCUMENT, XPSDocument)) 31 | #define XPS_DOCUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XPS_TYPE_DOCUMENT, XPSDocumentClass)) 32 | #define XPS_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XPS_TYPE_DOCUMENT)) 33 | #define XPS_DOCUMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), XPS_TYPE_DOCUMENT, XPSDocumentClass)) 34 | 35 | typedef struct _XPSDocument XPSDocument; 36 | typedef struct _XPSDocumentClass XPSDocumentClass; 37 | 38 | GType xps_document_get_type (void) G_GNUC_CONST; 39 | 40 | G_END_DECLS 41 | -------------------------------------------------------------------------------- /backend/xps/xpsdocument.evince-backend.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Evince Backend] 2 | Module=xpsdocument 3 | Resident=true 4 | TypeDescription=XPS Documents 5 | MimeType=@XPS_MIME_TYPES@; 6 | -------------------------------------------------------------------------------- /cut-n-paste/gimpcellrenderertoggle/meson.build: -------------------------------------------------------------------------------- 1 | libgimpcellrenderertoggle = static_library( 2 | 'gimpcellrenderertoggle', 3 | sources: 'gimpcellrenderertoggle.c', 4 | include_directories: top_inc, 5 | dependencies: gtk_dep, 6 | ) 7 | 8 | libgimpcellrenderertoggle_dep = declare_dependency( 9 | include_directories: include_directories('.'), 10 | dependencies: gtk_dep, 11 | link_with: libgimpcellrenderertoggle, 12 | ) 13 | -------------------------------------------------------------------------------- /cut-n-paste/libdazzle/dzl-file-manager.h: -------------------------------------------------------------------------------- 1 | /* dzl-file-manager.h 2 | * 3 | * Copyright (C) 2015 Christian Hergert 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | #ifndef DZL_FILE_MANAGER_H 20 | #define DZL_FILE_MANAGER_H 21 | 22 | #include 23 | 24 | #include "dzl-version-macros.h" 25 | 26 | G_BEGIN_DECLS 27 | 28 | DZL_AVAILABLE_IN_ALL 29 | gboolean dzl_file_manager_show (GFile *file, 30 | GError **error); 31 | 32 | G_END_DECLS 33 | 34 | #endif /* DZL_FILE_MANAGER_H */ 35 | -------------------------------------------------------------------------------- /cut-n-paste/libdazzle/dzl-version-macros.h: -------------------------------------------------------------------------------- 1 | /* dzl-version-macros.h 2 | * 3 | * Copyright (C) 2017 Christian Hergert 4 | * 5 | * This program is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program. If not, see . 17 | */ 18 | 19 | #ifndef DZL_VERSION_MACROS_H 20 | #define DZL_VERSION_MACROS_H 21 | 22 | #ifndef _DZL_EXTERN 23 | #define _DZL_EXTERN extern 24 | #endif 25 | 26 | #define DZL_AVAILABLE_IN_ALL _DZL_EXTERN 27 | 28 | #endif /* DZL_VERSION_MACROS_H */ 29 | -------------------------------------------------------------------------------- /cut-n-paste/libdazzle/meson.build: -------------------------------------------------------------------------------- 1 | sources = files( 2 | 'dzl-file-manager.c', 3 | ) 4 | 5 | deps = [ 6 | glib_dep, 7 | ] 8 | 9 | libdazzle = static_library( 10 | 'dazzle', 11 | sources: sources, 12 | include_directories: top_inc, 13 | dependencies: deps, 14 | ) 15 | 16 | libdazzle_dep = declare_dependency( 17 | include_directories: include_directories('.'), 18 | dependencies: deps, 19 | link_with: libdazzle, 20 | ) 21 | -------------------------------------------------------------------------------- /cut-n-paste/libgd/gd-two-lines-renderer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Red Hat, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or (at your 7 | * option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 11 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 12 | * License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License 15 | * along with this program; if not, write to the Free Software Foundation, 16 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 | * 18 | * Author: Cosimo Cecchi 19 | * 20 | */ 21 | 22 | #ifndef _GD_TWO_LINES_RENDERER_H 23 | #define _GD_TWO_LINES_RENDERER_H 24 | 25 | #include 26 | 27 | #include 28 | 29 | G_BEGIN_DECLS 30 | 31 | #define GD_TYPE_TWO_LINES_RENDERER gd_two_lines_renderer_get_type() 32 | G_DECLARE_DERIVABLE_TYPE (GdTwoLinesRenderer, gd_two_lines_renderer, GD, TWO_LINES_RENDERER, GtkCellRendererText) 33 | 34 | struct _GdTwoLinesRendererClass 35 | { 36 | GtkCellRendererTextClass parent_class; 37 | }; 38 | 39 | GType gd_two_lines_renderer_get_type (void) G_GNUC_CONST; 40 | 41 | GtkCellRenderer *gd_two_lines_renderer_new (void); 42 | 43 | G_END_DECLS 44 | 45 | #endif /* _GD_TWO_LINES_RENDERER_H */ 46 | -------------------------------------------------------------------------------- /cut-n-paste/libgd/meson.build: -------------------------------------------------------------------------------- 1 | sources = files( 2 | 'gd-icon-utils.c', 3 | 'gd-two-lines-renderer.c', 4 | ) 5 | 6 | deps = [ 7 | cairo_dep, 8 | gtk_dep, 9 | ] 10 | 11 | libgd = static_library( 12 | 'gd', 13 | sources: sources, 14 | include_directories: top_inc, 15 | dependencies: deps, 16 | ) 17 | 18 | libgd_dep = declare_dependency( 19 | include_directories: include_directories('.'), 20 | dependencies: deps, 21 | link_with: libgd, 22 | ) 23 | -------------------------------------------------------------------------------- /cut-n-paste/meson.build: -------------------------------------------------------------------------------- 1 | cut_n_paste_inc = include_directories('.') 2 | 3 | subdir('gimpcellrenderertoggle') 4 | subdir('libdazzle') 5 | subdir('libgd') 6 | 7 | if not external_synctex 8 | subdir('synctex') 9 | endif 10 | -------------------------------------------------------------------------------- /cut-n-paste/synctex/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2008-2017 jerome DOT laurens AT u-bourgogne DOT fr 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /cut-n-paste/synctex/meson.build: -------------------------------------------------------------------------------- 1 | sources = files( 2 | 'synctex_parser.c', 3 | 'synctex_parser_utils.c', 4 | ) 5 | 6 | libsynctex = static_library( 7 | 'synctex', 8 | sources: sources, 9 | include_directories: top_inc, 10 | c_args: '-DSYNCTEX_VERBOSE=0', 11 | ) 12 | 13 | # for PathFindExtension 14 | if host_machine.system() == 'windows' 15 | shlwapi = cc.find_library('shlwapi') 16 | else 17 | shlwapi = [] 18 | endif 19 | 20 | synctex_dep = declare_dependency( 21 | include_directories: include_directories('.'), 22 | dependencies: shlwapi, 23 | link_with: libsynctex, 24 | ) 25 | -------------------------------------------------------------------------------- /cut-n-paste/synctex/synctex_parser_local.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2008, 2009, 2010 , 2011 jerome DOT laurens AT u-bourgogne DOT fr 3 | 4 | This file is part of the SyncTeX package. 5 | 6 | Latest Revision: Sun Oct 15 15:09:55 UTC 2017 7 | 8 | Version: 1.21 9 | 10 | See synctex_parser_readme.txt for more details 11 | 12 | License: 13 | -------- 14 | Permission is hereby granted, free of charge, to any person 15 | obtaining a copy of this software and associated documentation 16 | files (the "Software"), to deal in the Software without 17 | restriction, including without limitation the rights to use, 18 | copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the 20 | Software is furnished to do so, subject to the following 21 | conditions: 22 | 23 | The above copyright notice and this permission notice shall be 24 | included in all copies or substantial portions of the Software. 25 | 26 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 27 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 28 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 29 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 30 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 31 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 32 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 33 | OTHER DEALINGS IN THE SOFTWARE 34 | 35 | Except as contained in this notice, the name of the copyright holder 36 | shall not be used in advertising or otherwise to promote the sale, 37 | use or other dealings in this Software without prior written 38 | authorization from the copyright holder. 39 | 40 | */ 41 | 42 | /* This local header file is for TEXLIVE, use your own header to fit your system */ 43 | # include /* for inline && HAVE_xxx */ 44 | /* No inlining for synctex tool in texlive. */ 45 | # define SYNCTEX_INLINE 46 | -------------------------------------------------------------------------------- /cut-n-paste/synctex/synctex_parser_version.txt: -------------------------------------------------------------------------------- 1 | 1.21 2 | -------------------------------------------------------------------------------- /cut-n-paste/synctex/update-synctex-from-TL.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # update-synctex-from-TL.sh 3 | # 4 | # Get latest synctex parser from TexLive SVN repository. 5 | SVN_URI=svn://tug.org/texlive/trunk/Build/source/texk/web2c/synctexdir 6 | SCRIPT_NAME=update-synctex-from-TL.sh 7 | FILES="synctex_parser_version.txt synctex_parser.c synctex_parser.h synctex_parser_advanced.h synctex_parser_local.h synctex_parser_utils.c synctex_parser_utils.h synctex_version.h" 8 | 9 | echo "Obtaining latest version of the sources" 10 | for FILE in $FILES 11 | do 12 | svn export $SVN_URI/$FILE 13 | done 14 | 15 | -------------------------------------------------------------------------------- /cut-n-paste/update-from-egg.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | function die() { 4 | echo $* 5 | exit 1 6 | } 7 | 8 | if test -z "$EGGDIR"; then 9 | echo "Must set EGGDIR" 10 | exit 1 11 | fi 12 | 13 | if test -z "$EGGFILES"; then 14 | echo "Must set EGGFILES" 15 | exit 1 16 | fi 17 | 18 | for FILE in $EGGFILES; do 19 | SRCFILE=$EGGDIR/$FILE 20 | if ! test -e $SRCFILE ; then 21 | if test -e $EGGDIR/tray/$FILE ; then 22 | SRCFILE=$EGGDIR/tray/$FILE 23 | fi 24 | if test -e $EGGDIR/util/$FILE ; then 25 | SRCFILE=$EGGDIR/util/$FILE 26 | fi 27 | if test -e $EGGDIR/toolbareditor/$FILE ; then 28 | SRCFILE=$EGGDIR/toolbareditor/$FILE 29 | fi 30 | if test -e $EGGDIR/treeviewutils/$FILE ; then 31 | SRCFILE=$EGGDIR/treeviewutils/$FILE 32 | fi 33 | fi 34 | if cmp -s $SRCFILE $FILE; then 35 | echo "File $FILE is unchanged" 36 | else 37 | cp $SRCFILE $FILE || die "Could not move $SRCFILE to $FILE" 38 | echo "Updated $FILE" 39 | fi 40 | done 41 | -------------------------------------------------------------------------------- /data/evince-previewer.1: -------------------------------------------------------------------------------- 1 | .TH evince\-previewer 1 2015\-07\-28 2 | .SH NAME 3 | evince\-previewer \- show a printing preview of PostScript and PDF documents 4 | .SH SYNOPSIS 5 | \fBevince\-previewer\fR [options] \fBinput\fR 6 | .SH DESCRIPTION 7 | evince\-previewer is a GNOME program to 8 | show a printing preview from PostScript (PS), Portable Document Format 9 | (PDF), DjVu and DVI files. 10 | 11 | This program is not meant to be called by end-users. 12 | .SH OPTIONS 13 | evince\-previewer obeys all normal GNOME and GTK+ command line options. 14 | The application options are 15 | .TP 16 | \fB\-u, \-\-unlink\-tempfile\fR 17 | Delete the temporary file 18 | .TP 19 | \fB\-p, \-\-print-settings=FILE\fR 20 | Print settings file 21 | .SH "SEE ALSO" 22 | \fBevince\fR(1), 23 | \fBgnome\-options\fR(7), 24 | \fBgtk\-options\fR(7). 25 | .PP 26 | https://wiki.gnome.org/Apps/Evince 27 | -------------------------------------------------------------------------------- /data/evince-thumbnailer.1: -------------------------------------------------------------------------------- 1 | .TH evince\-thumbnailer 1 2007\-01\-15 2 | .SH NAME 3 | evince\-thumbnailer \- create png thumbnails from PostScript and PDF documents 4 | .SH SYNOPSIS 5 | \fBevince\-thumbnailer\fR [\-s \fBsize\fR] \fBinput\fR \fBoutput\fR 6 | .SH DESCRIPTION 7 | evince\-thumbnailer is a GNOME program to 8 | create thumbnails from PostScript (PS), Portable Document Format 9 | (PDF), DjVu and DVI files. 10 | .SH OPTIONS 11 | evince obeys all normal GNOME and GTK+ 12 | command line options. The only option \-s \fIsize 13 | \fRmakes it possible to choose the vertical size 14 | of the created thumbnail. 15 | .SH "SEE ALSO" 16 | \fBevince\fR(1), 17 | \fBgnome\-options\fR(7), 18 | \fBgtk\-options\fR(7). 19 | .PP 20 | http://www.gnome.org/projects/evince/ 21 | -------------------------------------------------------------------------------- /data/icons/annotations-text-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/icons/meson.build: -------------------------------------------------------------------------------- 1 | install_data( 2 | join_paths('scalable', 'apps', '@0@.svg'.format(application_id)), 3 | install_dir: join_paths(ev_datadir, 'icons', 'hicolor', 'scalable', 'apps'), 4 | ) 5 | install_data( 6 | join_paths('symbolic', 'apps', '@0@-symbolic.svg'.format(application_id)), 7 | install_dir: join_paths(ev_datadir, 'icons', 'hicolor', 'symbolic', 'apps'), 8 | ) 9 | -------------------------------------------------------------------------------- /data/icons/outline-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /data/icons/visible-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /data/icons/x-office-document-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/org.gnome.Evince-previewer.desktop.in: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Print Preview 3 | Comment=Preview before printing 4 | TryExec=evince-previewer 5 | Exec=evince-previewer %U 6 | StartupNotify=true 7 | Terminal=false 8 | Type=Application 9 | # Translators: Do NOT translate or transliterate this text (this is an icon file name)! 10 | Icon=document-print-preview 11 | NoDisplay=true 12 | Categories=GNOME;GTK;Office;Viewer;Graphics;2DGraphics;VectorGraphics; 13 | -------------------------------------------------------------------------------- /data/org.gnome.Evince.Daemon.service.in: -------------------------------------------------------------------------------- 1 | [D-BUS Service] 2 | Name=@application_id@.Daemon 3 | Exec=@libexecdir@/evinced 4 | -------------------------------------------------------------------------------- /data/org.gnome.Evince.desktop.in.in: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Document Viewer 3 | Comment=View multi-page documents 4 | # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! 5 | Keywords=pdf;ps;postscript;dvi;xps;djvu;tiff;document;presentation;viewer;evince; 6 | TryExec=evince 7 | Exec=evince %U 8 | StartupNotify=true 9 | Terminal=false 10 | Type=Application 11 | # Translators: Do NOT translate or transliterate this text (this is an icon file name)! 12 | Icon=@app_id@ 13 | Categories=GNOME;GTK;Office;Viewer;Graphics;2DGraphics;VectorGraphics; 14 | MimeType=@EVINCE_MIME_TYPES@; 15 | Actions=new-window; 16 | 17 | [Desktop Action new-window] 18 | Name=New Window 19 | Exec=evince --new-window 20 | -------------------------------------------------------------------------------- /data/org.gnome.Evince.service.in: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Evince document viewer 3 | Documentation=man:evince(1) 4 | 5 | [Service] 6 | Type=dbus 7 | BusName=@application_id@.Daemon 8 | ExecStart=@libexecdir@/evinced 9 | -------------------------------------------------------------------------------- /data/screenshots/evince-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/data/screenshots/evince-1.png -------------------------------------------------------------------------------- /data/screenshots/evince-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/data/screenshots/evince-2.png -------------------------------------------------------------------------------- /data/thumbnail-frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/data/thumbnail-frame.png -------------------------------------------------------------------------------- /evince-view.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2009 Christian Persch 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms of the GNU Lesser General Public License as published by the 6 | * Free Software Foundation; either version 2.1 of the License, or (at your 7 | * option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser 12 | * General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #pragma once 20 | 21 | #define __EV_EVINCE_VIEW_H_INSIDE__ 22 | 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | #undef __EV_EVINCE_VIEW_H_INSIDE__ 31 | -------------------------------------------------------------------------------- /evince.doap: -------------------------------------------------------------------------------- 1 | 6 | Document Viewer 7 | View multipage documents 8 | Evince is a document viewer for multiple document formats. The goal of evince is to replace the multiple document viewers that exist on the GNOME Desktop with a single simple application. 9 | 10 | Evince is specifically designed to support the file following formats: PDF, Postscript, djvu, tiff, dvi, XPS, SyncTex support with gedit, comics books (cbr,cbz,cb7 and cbt). 11 | 12 | 13 | 14 | 15 | 16 | C 17 | 18 | 19 | Christian Persch 20 | 21 | chpe 22 | 23 | 24 | 25 | 26 | Germán Poo-Caamaño 27 | 28 | gpoo 29 | 30 | 31 | 32 | 33 | Nelson Benítez León 34 | 35 | nbenitez 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /help/C/annotation-properties.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | How to customize the author, color, style or icon of an annotation. 8 | 9 | 10 | 11 | Tiffany Antopolski 12 | tiffany@antopolski.com 13 | 14 | 15 |

Creative Commons Share Alike 3.0

16 |
17 | 18 |
19 | 20 | Customize annotations 21 | 22 | 23 | 24 |

25 | Right click on the annotation icon in the document. 26 |

27 |
28 | 29 |

30 | Select Annotation Properties…. 31 |

32 |
33 | 34 |

35 | In the Annotation Properties window, you can change the author, color, style and icon of your note. 36 |

37 | 38 |

39 | The annotation properties will be applied to the note for which you made the changes only. Each note can have a different set of properties. 40 |

41 |
42 |
43 |
44 | 45 | 46 |
47 | Can I permanently change the default annotation properties? 48 |

49 | The default annotation properties (author, colour, style and icon) can only be changed on a particular note as stated above. So if you want all icons for your notes to be red instead of yellow, you will have to change the default from yellow to red individually on each note. There is no way to save different default settings for annotation properties, at this time. 50 | 51 |

52 | 53 | 54 |
55 |
56 | -------------------------------------------------------------------------------- /help/C/annotations-delete.page: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | David King 15 | davidk@gnome.org 16 | 17 | 18 | 19 | 20 | Delete annotations from a PDF document. 21 | 22 | 23 | Removing annotations 24 | 25 |

An annotation is a note or comment added to a PDF document. You can remove 26 | annotations that you or other people have added.

27 | 28 | 29 | 30 |

View a page that has an annotation. If you are not sure which pages 31 | have annotations, find them in the 32 | annotation side pane.

33 |
34 | 35 |

Right-click on the annotation icon in the document, and click 36 | Remove Annotation.

37 |
38 | 39 |

Save the changes to a new document by clicking the menu button in the 40 | top right, followed by Save As….

41 |
42 |
43 | 44 |
45 | -------------------------------------------------------------------------------- /help/C/annotations-disabled.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Annotations can only be added to PDF files. 8 | 9 | 10 | 11 | Tiffany Antopolski 12 | tiffany@antopolski.com 13 | 14 | 15 |

Creative Commons Share Alike 3.0

16 |
17 |
18 | Can't add annotations? 19 |

20 | Annotations can only be added to PDF files. If your file is of a format other than PDF, the option to add annotations will be greyed out (disabled). 21 |

22 |
23 | -------------------------------------------------------------------------------- /help/C/annotations-navigate.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | How to navigate to annotations. 8 | 9 | 10 | 11 | 12 | Tiffany Antopolski 13 | tiffany@antopolski.com 14 | 15 | 16 |

Creative Commons Share Alike 3.0

17 |
18 | 19 |
20 | 21 | Annotation navigation 22 |

23 | If you have created annotations on your document, you can use the side pane to display the list of all the annotations in the document. The list indicates the type, page number and author of the annotation. 24 |

25 |

26 | To quickly navigate to the location of a particular annotation, click on the arrow to the left of the page number. You will see a list of annotations on that page. Click on the annotation you are interested in, and the document viewer will navigate to the location of the annotation in the document. 27 |

28 | 29 |
30 | -------------------------------------------------------------------------------- /help/C/annotations-save.page: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | How to save your annotations. 8 | 9 | 10 | 11 | 12 | Tiffany Antopolski 13 | tiffany@antopolski.com 14 | 15 | 16 | Shobha Tyagi 17 | tyagishobha@gmail.com 18 | 19 | 20 |

Creative Commons Share Alike 3.0

21 |
22 |
23 | Save a copy of an annotated PDF 24 |

25 | To save a copy of your annotated PDF for future viewing using the 26 | document viewer or any other PDF viewer 27 | that supports annotations: 28 |

29 | 30 | 31 |

32 | Click File optionsSave As… 33 |

34 |
35 | 36 |

37 | Choose a name and folder in which to save the file, then click 38 | Save. The PDF will be saved in the folder you chose. 39 |

40 |
41 |
42 |

43 | Annotations are added according to the PDF specification. Therefore, most PDF 44 | readers should be able to read them. Adobe Reader is known to work. 45 |

46 | 47 |
48 | -------------------------------------------------------------------------------- /help/C/convertPostScript.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | You can convert a document to PostScript. 8 | 9 | 10 | 11 | 12 | 13 | Phil Bull 14 | philbull@gmail.com 15 | 16 | 17 | Anna Philips 18 | anna.cs.au@gmail.com 19 | 20 | 21 |

Creative Commons Share Alike 3.0

22 |
23 | 24 |
25 | 26 | Converting a document to PostScript 27 | 28 |

29 | You can convert documents of the following format types to PostScript files: 30 |

31 | 32 |

DjVu (.djvu, .djv)

33 |

Portable Document Format (.pdf)

34 |

Tagged Image File Format (.tiff, .tif)

35 |
36 |

37 | This works by opening the file in Document Viewer and "printing" the document as a PostScript file. 38 |

39 | 40 | 41 |

Click the File options menu in the top right corner and 42 | select Print or press 43 | CtrlP and go to the 44 | General tab.

45 |
46 | 47 |

48 | Select Print to File and choose PostScript as the 49 | Output format. 50 |

51 |
52 | 53 |

54 | Choose a name and folder in which to save the file, then click Print. 55 | The PostScript file will be saved in the folder you chose. 56 |

57 |
58 |
59 |
60 | -------------------------------------------------------------------------------- /help/C/convertSVG.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | You can convert a document to SVG by "printing" it to a file. 8 | 9 | 10 | 11 | 12 | Phil Bull 13 | philbull@gmail.com 14 | 15 | 16 | Anna Philips 17 | anna.cs.au@gmail.com 18 | 19 | 20 |

Creative Commons Share Alike 3.0

21 |
22 | 23 |
24 | 25 | Converting a document to SVG 26 |

27 | You can convert documents of the following format types to SVG files: 28 |

29 | 30 |

Portable Document Format (.pdf)

31 |
32 |

33 | This works by opening the file in Document Viewer and "printing" the document as an SVG file. 34 |

35 | 36 | 37 |

Click the File options menu in the top right corner and 38 | select Print or press 39 | CtrlP.

40 |
41 | 42 |

43 | Select Print to File and choose SVG as the 44 | Output format. 45 |

46 |
47 | 48 |

49 | Choose a name and folder in which to save the file, then click Print. 50 | The SVG file will be saved in the folder you chose. 51 |

52 |
53 |
54 |
55 | -------------------------------------------------------------------------------- /help/C/default-settings.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Save current settings as default for new documents. 8 | 9 | 10 | 11 | 12 | Sindhu S 13 | sindhus@live.in 14 | 15 | 16 |

Creative Commons Share Alike 3.0

17 |
18 | 19 |
20 | 21 | Change default settings 22 | 23 |

When a document is opened for the first time, default settings, such as 24 | zoom and page view preferences, are applied. Any changes you make to these 25 | settings are saved for the document.

26 |

You can save the settings which you are currently using as default for all 27 | new documents by pressing the menu button in the top-right corner of the window 28 | and selecting Save Current Settings as Default.

29 | 30 | 31 |

The new default settings do not override settings of previously opened 32 | documents, they are applied only to documents opened for the first time.

33 |
34 | 35 |
36 | -------------------------------------------------------------------------------- /help/C/develop.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Improve the Document Viewer. 8 | 9 | 10 | Tiffany Antopolski 11 | tiffany.antopolski@gmail.com 12 | 2011 13 | 14 | 15 |

Creative Commons Share Alike 3.0

16 |
17 |
18 | 19 | Help develop 20 |

21 | The Document Viewer is developed and maintained by a volunteer community. You are welcome to participate. 22 |

23 |

If you would like to help 24 | develop the Document Viewer, you can get in touch with the developers at 25 | #evince:gnome.org 26 | on Matrix or 27 | #gnome-evince on irc.libera.chat, 28 | or via GNOME Discourse.

29 | 30 |
31 | -------------------------------------------------------------------------------- /help/C/documentation.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Contact the Documentation Team. 8 | 9 | Tiffany Antopolski 10 | tiffany.antopolski@gmail.com 11 | 2011 12 | 13 | 14 |

Creative Commons Share Alike 3.0

15 |
16 |
17 | 18 | Help write documentation 19 | 20 |

21 | The Document Viewer documentation is maintained by a volunteer community. You are welcome to participate.

22 | 23 |

To contribute to the Documentation Project, feel free to get in touch with 24 | us in #docs:gnome.org 25 | on Matrix or 26 | #gnome-docs on 27 | irc.libera.chat, or via 28 | GNOME Discourse.

29 | 30 |

31 | Our wiki page contains useful information. 32 |

33 | 34 | 35 |
36 | -------------------------------------------------------------------------------- /help/C/duplex-12pages.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | Print a 12 page booklet. 9 | 10 | 11 | 12 | Tiffany Antopolski 13 | tiffany@antopolski.com 14 | 15 | 16 |

Creative Commons Share Alike 3.0

17 |
18 | 19 |
20 | 21 | 12-page booklet 22 | 23 | 24 |

25 | Press the menu button in the top-right corner of the window and press the Print button. 26 |

27 |
28 | 29 | 30 |

31 | Choose the General tab. 32 |

33 |

34 | Under Range, choose Pages. 35 |

36 |

37 | Type the numbers of the pages in this order: 12, 1, 2, 11, 10, 3, 4, 9, 8, 5, 6, 7 38 |

39 | 40 |
41 | 42 |

43 | Choose the Page Setup tab. 44 |

45 |

46 | Under Layout, in the Two-sided option, select Short Edge (Flip). 47 |

48 |

49 | In the Pages per side option, select 2. 50 |

51 |

52 | In the Page ordering menu, select Left to right. 53 |

54 |

55 | Click Print. 56 |

57 |
58 |
59 |
60 | -------------------------------------------------------------------------------- /help/C/duplex-15pages.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | Print a 15 page booklet. 9 | 10 | 11 | 12 | Tiffany Antopolski 13 | tiffany@antopolski.com 14 | 15 | 16 |

Creative Commons Share Alike 3.0

17 |
18 | 19 |
20 | 21 | 15-page booklet 22 | 23 | 24 |

25 | It is easier to print a 16-page booklet. You may wish to add a blank page to your PDF document to make it 16-pages. To do so, you can: 26 |

27 | 28 | 29 |

30 | Create a blank PDF using LibreOffice Writer. 31 |

32 |
33 | 34 |

35 | Merge the blank page with your PDF document using PDF-Shuffler placing the blank page at the end. 36 |

37 | 38 |
39 | 40 |

41 | Follow the steps for printing a 16-page booklet. 42 |

43 | 44 |
45 |
46 | 47 | 48 |
49 | -------------------------------------------------------------------------------- /help/C/duplex-16pages.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | Print a 16 page booklet. 9 | 10 | 11 | 12 | Tiffany Antopolski 13 | tiffany@antopolski.com 14 | 15 | 16 |

Creative Commons Share Alike 3.0

17 |
18 | 19 |
20 | 21 | 16-page booklet 22 | 23 | 24 |

25 | Press the menu button in the top-right corner of the window and press the Print button. 26 |

27 |
28 | 29 |

30 | Choose the General tab. 31 |

32 |

33 | Under Range, choose Pages. 34 |

35 | 36 | 37 | Type the numbers of the pages in this order: 38 | 16, 1, 2, 15, 14, 3, 4, 13, 12, 5, 6, 11, 10, 7, 8, 9 39 | 40 | 41 |
42 | 43 |

44 | Choose the Page Setup tab. 45 |

46 |

47 | Under Layout, in the Two-sided menu, select Short Edge (Flip). 48 |

49 |

50 | In the Pages per side option, select 2. 51 |

52 |

53 | In the Page ordering menu, select Left to right. 54 |

55 |
56 | 57 |

58 | Click Print. 59 |

60 |
61 |
62 |
63 | -------------------------------------------------------------------------------- /help/C/duplex-4pages.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 04-Page Booklet 8 | Print a 4 page booklet. 9 | 10 | 11 | 12 | Tiffany Antopolski 13 | tiffany@antopolski.com 14 | 15 | 16 |

Creative Commons Share Alike 3.0

17 |
18 | 19 |
20 | 21 | 4-page booklet 22 | 23 | 24 |

25 | Press the menu button in the top-right corner of the window and press the Print button. 26 |

27 |
28 | 29 | 30 | 31 |

32 | Choose the General tab. 33 |

34 |

35 | Under Range, choose Pages. 36 |

37 |

38 | Type the numbers of the pages in this order: 4, 1, 2, 3 39 |

40 |
41 | 42 |

43 | Choose the Page Setup tab. 44 |

45 |

46 | Under Layout, in the Two-sided menu, select Short Edge (Flip). 47 |

48 |

49 | In the Pages per side option, select 2. 50 |

51 |

52 | In the Page ordering menu, select Left to right. 53 |

54 |
55 | 56 |

57 | Click Print. 58 |

59 |
60 |
61 |
62 | -------------------------------------------------------------------------------- /help/C/duplex-8pages.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 08-Page Booklet 8 | Print an 8 page booklet. 9 | 10 | 11 | 12 | Tiffany Antopolski 13 | tiffany@antopolski.com 14 | 15 | 16 |

Creative Commons Share Alike 3.0

17 |
18 | 19 |
20 | 21 | 8-page booklet 22 | 23 | 24 |

25 | Press the menu button in the top-right corner of the window and press the Print button. 26 |

27 |
28 | 29 | 30 |

31 | Choose the General tab. 32 |

33 |

34 | Under Range, choose Pages. 35 |

36 |

37 | Type the numbers of the pages in this order: 8, 1, 2, 7, 6, 3, 4, 5 38 |

39 | 40 |
41 | 42 |

43 | Choose the Page Setup tab. 44 |

45 |

46 | Under Layout, in the Two-sided menu, select Short Edge (Flip). 47 |

48 |

49 | In the Pages per side option, select 2. 50 |

51 |

52 | In the Page ordering menu, select Left to right. 53 |

54 |

55 | Click Print. 56 |

57 |
58 | 59 | 60 | 61 |
62 |
63 | -------------------------------------------------------------------------------- /help/C/editing.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | You can't use the document viewer to edit files. 8 | 9 | 10 | 11 | 12 | Phil Bull 13 | philbull@gmail.com 14 | 15 | 16 |

Creative Commons Share Alike 3.0

17 |
18 | 19 |
20 | 21 | Can I edit documents in the document viewer? 22 | 23 | 24 |

25 | The document viewer can't be used to make changes to documents. You need to use the appropriate editing application for the type of file you want to change. 26 |

27 | 28 | 29 | 30 |

31 | PDF and PostScript (.ps) files are not usually intended to be edited, but PDF editing software is available. Try 32 | LibreOffice Draw or Okular, for example. 33 | Furthermore, pdfarranger allows rearranging or removing pages and merging files. 34 |

35 |
36 |
37 | -------------------------------------------------------------------------------- /help/C/figures/add-text-annotation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/C/figures/add-text-annotation.png -------------------------------------------------------------------------------- /help/C/figures/annotations-nav-to-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/C/figures/annotations-nav-to-page.png -------------------------------------------------------------------------------- /help/C/figures/emblem-system-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /help/C/figures/search-not-found.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/C/figures/search-not-found.png -------------------------------------------------------------------------------- /help/C/figures/zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/C/figures/zoom.png -------------------------------------------------------------------------------- /help/C/formats.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | PDF, PostScript and many others are. 11 | 12 | 13 | 14 | Phil Bull 15 | philbull@gmail.com 16 | 17 | 18 | Ekaterina Gerasimova 19 | kittykat3756@gmail.com 20 | 21 | 22 |

Creative Commons Share Alike 3.0

23 |
24 | 25 |
26 | 27 | Supported formats 28 | 29 |

30 | The document viewer supports the following formats: 31 |

32 | 33 |

Comic Book Archive (.cb7, .cbr, .cbt, and .cbz)

34 |

Device Independent file format (.dvi)

35 |

DjVu (.djvu, .djv)

36 |

Open XML Paper Specification (.oxps, .xps)

37 |

Portable Document Format (.pdf)

38 |

PostScript (.ps)

39 |
40 | 41 |

42 | In some Linux distributions, not all formats are supported by default, so you might not be able to view all the formats listed above. 43 |

44 |

45 | Support for a format is called a backend. If you get the error "Unable to Open Document", you may wish to check whether the backend package for the format is installed. 46 |

47 |
48 | 49 | 50 | 51 |
52 | -------------------------------------------------------------------------------- /help/C/forms.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Working with fillable forms. 8 | 9 | 10 | 11 | Tiffany Antopolski 12 | tiffany@antopolski.com 13 | 14 | 15 |

Creative Commons Share Alike 3.0

16 |
17 | 18 |
19 | 20 | Forms 21 |

22 | When filling out an interactive form, you can navigate from field to field by clicking on a field with your mouse. When you are finished filling out a text field, press Enter. 23 |

24 | 25 |

26 | You can make a selection in a scrollable list box by clicking on the list box and scrolling to your choice with your mouse. 27 |

28 | 29 |

30 | There may be some parts of a form that you may need to fill out by hand after you print the form. For example, you might have to circle certain things, or sign the form in one or more places. If you wish to do this electronically, you may want to try Xournal. 31 |

32 |
33 | 34 | 35 |
36 | -------------------------------------------------------------------------------- /help/C/headerbar.page: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | Using the header bar. 9 | 10 | 11 | 12 | 13 | 14 | Tiffany Antopolski 15 | tiffany@antopolski.com 16 | 17 | 18 |

Creative Commons Share Alike 3.0

19 |
20 | 21 |
22 | 23 | Header bar 24 | 25 |

The header bar contains:

26 | 27 | 28 |

A button to show or hide the side pane.

29 |
30 | 31 |

A text field to go to a certain 32 | page or to search in the 33 | index.

34 |
35 | 36 |

A button to manage annotations.

37 |
38 | 39 |

A drop-down box to adjust the zoom level.

40 |
41 | 42 |

A Magnifying glass button to find a 43 | word or phrase in the document.

44 |
45 | 46 |

A button to open the main menu.

47 |
48 |
49 |
50 | -------------------------------------------------------------------------------- /help/C/introduction.page: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Tiffany Antopolski 13 | tiffany@antopolski.com 14 | 15 | 16 | 17 | 18 | Introduction to the Evince Document Viewer. 19 | 20 | 21 | Introduction 22 | 23 |

Evince is a document viewer. See for a 24 | list of file types you can view.

25 | 26 |
27 | -------------------------------------------------------------------------------- /help/C/invert-colors.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | Inverting the colors can make it easier to read some text. 10 | 11 | 12 | 13 | 14 | 15 | 16 | Phil Bull 17 | philbull@gmail.com 18 | 19 | 20 | Anna Philips 21 | anna.cs.au@gmail.com 22 | 23 | 24 |

Creative Commons Share Alike 3.0

25 |
26 | 27 |
28 | 29 | Invert colors on a page 30 | 31 | 32 |

To swap black for white, white for black, and so on, press the menu button in the 33 | top-right corner of the window and select Night Mode.

34 | 35 | 36 | 37 |

38 | Doing this can make it easier to read text, especially in the case of certain kinds of visual impairment. 39 |

40 |
41 |
42 | -------------------------------------------------------------------------------- /help/C/legal-unported.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 |

This work is licensed under a 5 | Creative Commons 6 | Attribution-ShareAlike 3.0 Unported License.

7 | 8 |
9 | -------------------------------------------------------------------------------- /help/C/legal.xml: -------------------------------------------------------------------------------- 1 | 3 |

This work is licensed under a 4 | Creative Commons 5 | Attribution-Share Alike 3.0 United States License.

6 |

As a special exception, the copyright holders give you permission to copy, 7 | modify, and distribute the example code contained in this document under the 8 | terms of your choosing, without restriction.

9 |
10 | -------------------------------------------------------------------------------- /help/C/license.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | Legal information. 9 | 10 | 11 | License 12 |

13 | 17 | This work is distributed under a CreativeCommons Attribution-Share Alike 18 | 3.0 Unported license. 19 |

20 |

21 | You are free: 22 |

23 | 24 | 25 | <em>To share</em> 26 |

To copy, distribute and transmit the work.

27 |
28 | 29 | <em>To remix</em> 30 |

To adapt the work.

31 |
32 |
33 |

34 | Under the following conditions: 35 |

36 | 37 | 38 | <em>Attribution</em> 39 |

40 | You must attribute the work in the manner specified by the author or 41 | licensor (but not in any way that suggests that they endorse you or 42 | your use of the work). 43 |

44 |
45 | 46 | <em>Share Alike</em> 47 |

48 | If you alter, transform, or build upon this work, you may distribute the 49 | resulting work only under the same, similar or a compatible license. 50 |

51 |
52 |
53 |

54 | 55 | For the full text of the license, see the 56 | CreativeCommons website, 57 | or read the full Commons Deed. 58 |

59 |
60 | -------------------------------------------------------------------------------- /help/C/openerror.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Error When Opening A File. 8 | 9 | 10 | 11 | 12 | 13 | Tiffany Antopolski 14 | tiffany@antopolski.com 15 | 16 | 17 |

Creative Commons Share Alike 3.0

18 |
19 | 20 |
21 | 22 | Why can't I open a file? 23 | 24 |

If you try to open a document of a format that the document viewer does not recognize, you will get an "Unable to open document" error message. Click Close to return to the Document Viewer window. 25 |

26 | 27 |
28 | -------------------------------------------------------------------------------- /help/C/password.page: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Phil Bull 13 | philbull@gmail.com 14 | 15 | 16 | Ekaterina Gerasimova 17 | kittykat3756@gmail.com 18 | 19 | 20 | 21 | 22 | Handling password protected PDFs. 23 | 24 | 25 | Password-protected documents 26 | 27 |

If you try to open a PDF document that is protected with a password, a 28 | window will appear asking you to enter the document password. Enter the 29 | password and click Unlock Document.

30 | 31 | 48 | 49 | 50 |

Passwords can be set by the person who created or edited the 51 | document.

52 |
53 | 54 |
55 | -------------------------------------------------------------------------------- /help/C/print-2sided.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | Printing two-sided and multi-page per sheet. 9 | 10 | 11 | 12 | Phil Bull 13 | philbull@gmail.com 14 | 15 | 16 |

Creative Commons Share Alike 3.0

17 |
18 | 19 |
20 | 21 | Two-sided and multiple pages per side layout for printing 22 | 23 |

24 | You can print on both sides of each sheet of paper: 25 |

26 | 27 | 28 | 29 |

30 | Press the menu button in the top-right corner of the window and press the Print button. 31 |

32 |
33 | 34 |

35 | Go to the Page Setup tab of the Print window and choose an option from the Two-sided drop-down list. 36 |

37 |
38 | 39 |

40 | You can print more than one page of the document per side of paper too. Use the Pages per side option to do this. 41 |

42 |
43 |
44 | 45 |
46 | -------------------------------------------------------------------------------- /help/C/print-booklet.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | How to print a booklet. 9 | 10 | 11 | 12 | Tiffany Antopolski 13 | tiffany@antopolski.com 14 | 15 | 16 |

Creative Commons Share Alike 3.0

17 |
18 | 19 |
20 | 21 | Printing a booklet 22 | 23 |

24 | If you are printing a booklet (which will perhaps be bound or stapled in the middle of each page), select the type of printer you will be using for printing from the list below. Then select the number of printed pages your booklet will have. 25 |

26 | 27 |
28 | Printer allows single-sided printing 29 |
30 | 31 |
32 | Printer allows double-sided printing 33 |
34 | 35 | 36 | 37 |
38 | -------------------------------------------------------------------------------- /help/C/print-order.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | Use the Collate and Reverse options to make pages print in order. 9 | 10 | 11 | 12 | Phil Bull 13 | philbull@gmail.com 14 | 15 | 16 |

Creative Commons Share Alike 3.0

17 |
18 |
19 | 20 | Getting copies to print in the correct order 21 | 22 |

Please see the GNOME Desktop Help.

23 | 24 |
25 | -------------------------------------------------------------------------------- /help/C/print-pagescaling.page: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Ekaterina Gerasimova 13 | kittykat3756@gmail.com 14 | 2015 15 | 16 | 17 | 18 | 19 | Shrink or expand the document to fit the paper size. 20 | 21 | 22 | Scale page for printing 23 | 24 |

If you want to change the paper size of your document (for example, print 25 | a US Letter-sized PDF on A4 paper), you can change the printing format for 26 | the document.

27 | 28 | 29 | 30 |

Open the menu at the top-right of the window, then select 31 | Print….

32 |
33 | 34 |

Select the Page Handling tab.

35 |
36 | 37 |

Choose a Page Scaling from the drop-down list.

38 | 39 | 40 |

None: do not perform page scaling.

41 |
42 | 43 |

Shrink to Printable Area: document pages larger than the 44 | printable area are reduced to fit the printable area of the printer 45 | page.

46 |
47 | 48 |

Fit to Printable Area: document pages are enlarged or 49 | reduced as required to fit the printable area of the printer 50 | page.

51 |
52 |
53 |
54 | 55 |

Click Print to print your document.

56 |
57 |
58 | 59 |
60 | -------------------------------------------------------------------------------- /help/C/print-select.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Print only specific pages, or only a range of pages. 8 | 9 | 10 | 11 | Phil Bull 12 | philbull@gmail.com 13 | 14 | 15 |

Creative Commons Share Alike 3.0

16 |
17 |
18 | 19 | Only printing certain pages 20 | 21 |

Please see the GNOME Desktop Help.

22 | 23 |
24 | -------------------------------------------------------------------------------- /help/C/printing.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | How to print, and common questions about printing. 10 | 11 | 12 | 13 | 14 | Phil Bull 15 | philbull@gmail.com 16 | 17 | 18 | Anna Philips 19 | anna.cs.au@gmail.com 20 | 21 | 22 |

Creative Commons Share Alike 3.0

23 |
24 | 25 |
26 | 27 | Printing a document 28 | 29 | 30 |

To print a document:

31 | 32 | 33 |

Click the File options menu in the top right corner and 34 | select Print or press 35 | CtrlP.

36 |
37 | 38 |

Choose your printer from the list.

39 |
40 |

Click Print.

41 |
42 |
43 |
44 | 45 | 46 | 47 |

Printing is enabled for the following file formats:

48 | 49 |

Device Independent file format (.dvi)

50 |

DjVu (.djvu, .djv)

51 |

Portable Document Format (.pdf)

52 |

PostScript (.ps)

53 |

Tagged Image File Format (.tiff, .tif)

54 |
55 |
56 |
57 | 58 |
59 | -------------------------------------------------------------------------------- /help/C/reload.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | Your document will be automatically reloaded if another program changes it while you're viewing it. 10 | 11 | 12 | 13 | 14 | Phil Bull 15 | philbull@gmail.com 16 | 17 | 18 |

Creative Commons Share Alike 3.0

19 |
20 | 21 |
22 | 23 | Why does the document keep reloading? 24 | 25 |

26 | If the Document Viewer detects that the document you have open has changed (perhaps because another program has modified it), it will automatically reload the document and display the most recent version for you. 27 |

28 | 29 |

30 | If the document is deleted while you are still viewing it, it will still remain open. 31 |

32 | 33 |
34 | -------------------------------------------------------------------------------- /help/C/synctex-compile.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | How to compile your TeX document with SyncTeX 8 | 9 | 10 | 11 | Tiffany Antopolski 12 | tiffany@antopolski.com 13 | 14 | 15 |

Creative Commons Share Alike 3.0

16 |
17 |
18 | 19 | Compile TeX with SyncTeX 20 |

21 | Adding the line \synctex=1 in the preamble of your TeX file will trigger synchronization with SyncTeX. 22 |

23 | 24 | \documentclass{article} 25 | \synctex=1 26 | \usepackage{fullpage} 27 | \begin{document} 28 | ... 29 | \end{document} 30 | 31 |

32 | Alternatively, you can run the pdflatex command with the -synctex=1 option: 33 |

34 | pdflatex -synctex=1 yourFile.tex 35 |
36 | -------------------------------------------------------------------------------- /help/C/synctex-editors.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Which editor can you use to edit your TEX file? 8 | 9 | 10 | 11 | Tiffany Antopolski 12 | tiffany@antopolski.com 13 | 14 | 15 |

Creative Commons Share Alike 3.0

16 |
17 | 18 |
19 | 20 | Supported editors 21 | 22 |
<app>gedit</app> 23 |

24 | Forward Search (from gedit to the document viewer) and Backward search (from the document viewer to gedit) are both supported. 25 |

26 |
27 | 28 |
Vim-latex 29 |

30 | The gedit plugin contains a python script (evince_dbus.py) that can be used to get SyncTeX working with Vim. 31 | In order to use vim-latex together with the document viewer you need to follow the next steps: 32 |

33 | 34 | 35 |

36 | Copy the evince_dbus.py to some directory in your path and give it +x permissions. 37 | 38 |

39 |
40 | 41 |

42 | Modify your ~/.vimrc file and add the following lines. 43 |

44 | 45 | let g:Tex_ViewRule_pdf = 'evince_dbus.py' 46 | let g:Tex_DefaultTargetFormat = 'pdf' 47 | let g:Tex_CompileRule_pdf = 'pdflatex --synctex=1 -interaction=nonstopmode $*' 48 | 49 | 50 |
51 | 52 |

53 | Now you can use Forward search from vim-latex by typing \ls. Backward search is not yet supported. 54 |

55 |
56 |
57 |
58 |
59 | -------------------------------------------------------------------------------- /help/C/synctex-support.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | How to add support for SyncTeX. 8 | 9 | 10 | 11 | 12 | Tiffany Antopolski 13 | tiffany@antopolski.com 14 | 15 | 16 | Germán Poo-Caamaño 17 | gpoo@gnome.org 18 | 19 | 20 |

Creative Commons Share Alike 3.0

21 |
22 | 23 |
24 | 25 | Set-up SyncTeX 26 |

27 | The following packages need to be installed in order to add support for SyncTeX: 28 |

29 | 30 | 31 |

32 | A LaTeX engine with SyncTeX support, such as pdflatex. 33 |

34 |
35 | 36 |

37 | A text editor with SyncTeX support, such as gedit with gedit-plugins installed. 38 |

39 |
40 |
41 | 42 |

43 | In gedit, enable the SyncTeX Plugin: 44 |

45 | 46 | 47 |

48 | Press the menu button in the top-right corner of the window and select Preferences. 49 |

50 |

51 | Select the Plugins tab. 52 |

53 |
54 | 55 |

56 | Check SyncTeX. 57 |

58 |
59 |
60 |
61 | -------------------------------------------------------------------------------- /help/C/synctex.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | SyncTeX support is available. 8 | 9 | 10 | 11 | 12 | Tiffany Antopolski 13 | tiffany@antopolski.com 14 | 15 | 16 |

Creative Commons Share Alike 3.0

17 |
18 |
19 | 20 | What is SyncTeX? 21 |

22 | SyncTeX is a method that enables synchronization between a TeX source file and the resulting PDF output. 23 |

24 | 25 |
26 | -------------------------------------------------------------------------------- /help/C/textselection.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | When you copy text, the text that is pasted might be different from what you had selected. 8 | 9 | 10 | 11 | Phil Bull 12 | philbull@gmail.com 13 | 14 | 15 |

Creative Commons Share Alike 3.0

16 |
17 | 18 |
19 | 20 | Why didn't the text I selected copy properly? 21 | 22 | 23 |

24 | If you highlight and copy text from a document using the document viewer and then paste it into another 25 | application, the formatting may alter. It may also contain different characters than the original selection. This often happens when copying text from a PDF document with multiple columns. 26 |

27 | 28 | 29 |

30 | This problem happens because of how some document formats handle text. 31 | The actual text in the document is stored differently from the way it is 32 | displayed. This may result in a copy that does not appear as expected. 33 |

34 | 35 |

36 | Unfortunately, there is no real way of fixing this problem. Copying 37 | less text at a time, or copying the text into a text editor (like gedit) may minimize the problem. 38 |

39 | 40 |
41 | -------------------------------------------------------------------------------- /help/C/translate.page: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | Localize the Document Viewer. 8 | 9 | 10 | Tiffany Antopolski 11 | tiffany.antopolski@gmail.com 12 | 2011 13 | 14 | 15 | Michael Hill 16 | mdhillca@gmail.com 17 | 18 | 19 |

Creative Commons Share Alike 3.0

20 |
21 |
22 | 23 | Help translate 24 |

25 | The Document Viewer user interface and documentation is being translated by a world-wide volunteer community. You are welcome to participate. 26 |

27 |

28 | There are many languages for which translations are still needed. 29 |

30 |

31 | To start translating you will need to create an account and join the translation team for your language. This will give you the ability to upload new translations. 32 |

33 | 34 |

You can chat with GNOME translators in 35 | #i18n:gnome.org 36 | on Matrix or 37 | #gnome-i18n on irc.libera.chat. 38 | People on the channel are located worldwide, so you may not get an immediate 39 | response as a result of timezone differences.

40 | 41 |

Alternatively, you can contact the Internationalization Team using GNOME Discourse. 42 |

43 |
44 | -------------------------------------------------------------------------------- /help/LINGUAS: -------------------------------------------------------------------------------- 1 | # please keep this list sorted alphabetically 2 | bg 3 | ca 4 | cs 5 | da 6 | de 7 | el 8 | en_GB 9 | es 10 | eu 11 | fa 12 | fi 13 | fr 14 | gl 15 | hu 16 | id 17 | it 18 | ja 19 | ko 20 | lv 21 | nl 22 | oc 23 | pl 24 | pt_BR 25 | ro 26 | ru 27 | sl 28 | sr 29 | sv 30 | te 31 | tr 32 | uk 33 | vi 34 | zh_CN 35 | zh_HK 36 | zh_TW 37 | -------------------------------------------------------------------------------- /help/da/figures/annotations-nav-to-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/da/figures/annotations-nav-to-page.png -------------------------------------------------------------------------------- /help/da/figures/print-select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/da/figures/print-select.png -------------------------------------------------------------------------------- /help/da/figures/reverse-collate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/da/figures/reverse-collate.png -------------------------------------------------------------------------------- /help/de/figures/annotations-nav-to-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/de/figures/annotations-nav-to-page.png -------------------------------------------------------------------------------- /help/de/figures/print-select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/de/figures/print-select.png -------------------------------------------------------------------------------- /help/de/figures/reverse-collate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/de/figures/reverse-collate.png -------------------------------------------------------------------------------- /help/el/figures/annotations-nav-to-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/el/figures/annotations-nav-to-page.png -------------------------------------------------------------------------------- /help/el/figures/print-select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/el/figures/print-select.png -------------------------------------------------------------------------------- /help/el/figures/reverse-collate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/el/figures/reverse-collate.png -------------------------------------------------------------------------------- /help/fr/figures/annotations-nav-to-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/fr/figures/annotations-nav-to-page.png -------------------------------------------------------------------------------- /help/fr/figures/print-select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/fr/figures/print-select.png -------------------------------------------------------------------------------- /help/fr/figures/reverse-collate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/fr/figures/reverse-collate.png -------------------------------------------------------------------------------- /help/hu/figures/annotations-nav-to-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/hu/figures/annotations-nav-to-page.png -------------------------------------------------------------------------------- /help/hu/figures/print-select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/hu/figures/print-select.png -------------------------------------------------------------------------------- /help/hu/figures/reverse-collate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/hu/figures/reverse-collate.png -------------------------------------------------------------------------------- /help/it/figures/annotations-nav-to-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/it/figures/annotations-nav-to-page.png -------------------------------------------------------------------------------- /help/ja/figures/print-select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/ja/figures/print-select.png -------------------------------------------------------------------------------- /help/ja/figures/reverse-collate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/ja/figures/reverse-collate.png -------------------------------------------------------------------------------- /help/ko/figures/annotations-nav-to-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/ko/figures/annotations-nav-to-page.png -------------------------------------------------------------------------------- /help/ko/figures/print-select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/ko/figures/print-select.png -------------------------------------------------------------------------------- /help/ko/figures/reverse-collate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/ko/figures/reverse-collate.png -------------------------------------------------------------------------------- /help/pl/figures/annotations-nav-to-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/pl/figures/annotations-nav-to-page.png -------------------------------------------------------------------------------- /help/pl/figures/print-select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/pl/figures/print-select.png -------------------------------------------------------------------------------- /help/pl/figures/reverse-collate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/pl/figures/reverse-collate.png -------------------------------------------------------------------------------- /help/pt_BR/figures/annotations-nav-to-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/pt_BR/figures/annotations-nav-to-page.png -------------------------------------------------------------------------------- /help/pt_BR/figures/print-select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/pt_BR/figures/print-select.png -------------------------------------------------------------------------------- /help/pt_BR/figures/reverse-collate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/pt_BR/figures/reverse-collate.png -------------------------------------------------------------------------------- /help/reference/libdocument/libevdocument.toml.in: -------------------------------------------------------------------------------- 1 | [library] 2 | version = "@version@" 3 | browse_url = "https://gitlab.gnome.org/GNOME/evince/" 4 | repository_url = "https://gitlab.gnome.org/GNOME/evince.git" 5 | website_url = "https://wiki.gnome.org/Apps/Evince" 6 | authors = "Evince Developers" 7 | license = "GPL-2-or-later" 8 | description = "Evince is a document viewer for multiple document formats." 9 | dependencies = [ "GObject-2.0" ] 10 | devhelp = true 11 | search_index = true 12 | 13 | [dependencies."GObject-2.0"] 14 | name = "GObject" 15 | description = "The base type system library" 16 | docs_url = "https://docs.gtk.org/gobject/" 17 | 18 | [theme] 19 | name = "basic" 20 | show_index_summary = true 21 | show_class_hierarchy = true 22 | 23 | [source-location] 24 | base_url = "https://gitlab.gnome.org/GNOME/evince/-/blob/main/" 25 | -------------------------------------------------------------------------------- /help/reference/libdocument/meson.build: -------------------------------------------------------------------------------- 1 | libevdocument_toml = configure_file( 2 | input: 'libevdocument.toml.in', 3 | output: 'libevdocument-' + ev_api_version + '.toml', 4 | configuration: toml_conf, 5 | install: true, 6 | install_dir: docs_dir / 'libevdocument', 7 | ) 8 | 9 | custom_target('libevdocument-doc', 10 | input: [ libevdocument_toml, libevdocument_gir[0] ], 11 | output: 'libevdocument', 12 | command: [ 13 | gidocgen, 14 | 'generate', 15 | '--quiet', 16 | '--fatal-warnings', 17 | '--config=@INPUT0@', 18 | '--output-dir=@OUTPUT@', 19 | '--no-namespace-dir', 20 | '--content-dir=@0@'.format(meson.current_source_dir()), 21 | '@INPUT1@', 22 | ], 23 | build_by_default: true, 24 | install: true, 25 | install_dir: docs_dir, 26 | ) 27 | -------------------------------------------------------------------------------- /help/reference/libview/libevview.toml.in: -------------------------------------------------------------------------------- 1 | [library] 2 | version = "@version@" 3 | browse_url = "https://gitlab.gnome.org/GNOME/evince/" 4 | repository_url = "https://gitlab.gnome.org/GNOME/evince.git" 5 | website_url = "https://wiki.gnome.org/Apps/Evince" 6 | authors = "Evince Developers" 7 | license = "GPL-2-or-later" 8 | description = "Evince is a document viewer for multiple document formats." 9 | dependencies = [ "GObject-2.0" ] 10 | devhelp = true 11 | search_index = true 12 | 13 | [dependencies."GObject-2.0"] 14 | name = "GObject" 15 | description = "The base type system library" 16 | docs_url = "https://docs.gtk.org/gobject/" 17 | 18 | [dependencies."Graphene-1.0"] 19 | name = "Graphene" 20 | description = "A thin layer of mathematical types for 3D libraries" 21 | docs_url = "https://ebassi.github.io/graphene/docs/" 22 | 23 | [dependencies."Pango-1.0"] 24 | name = "Pango" 25 | description = "Text shaping and rendering" 26 | docs_url = "https://docs.gtk.org/Pango/" 27 | 28 | [dependencies."Gdk-4.0"] 29 | name = "GDK" 30 | description = "The GTK windowing system abstraction" 31 | docs_url = "https://docs.gtk.org/gdk4/" 32 | 33 | [theme] 34 | name = "basic" 35 | show_index_summary = true 36 | show_class_hierarchy = true 37 | 38 | [source-location] 39 | base_url = "https://gitlab.gnome.org/GNOME/evince/-/blob/main/" 40 | -------------------------------------------------------------------------------- /help/reference/libview/meson.build: -------------------------------------------------------------------------------- 1 | libevview_toml = configure_file( 2 | input: 'libevview.toml.in', 3 | output: 'libevview.toml', 4 | configuration: toml_conf, 5 | install: true, 6 | install_dir: docs_dir / 'libevview', 7 | ) 8 | 9 | custom_target('libevview-doc', 10 | input: [ libevview_toml, libevview_gir[0] ], 11 | output: 'libevview', 12 | command: [ 13 | gidocgen, 14 | 'generate', 15 | '--quiet', 16 | '--fatal-warnings', 17 | '--config=@INPUT0@', 18 | '--add-include-path=@0@'.format(meson.current_build_dir() / '..' / '..' / '..' / 'libdocument'), 19 | '--output-dir=@OUTPUT@', 20 | '--no-namespace-dir', 21 | '--content-dir=@0@'.format(meson.current_source_dir()), 22 | '@INPUT1@', 23 | ], 24 | depends: [ libevdocument_gir[0] ], 25 | build_by_default: true, 26 | install: true, 27 | install_dir: docs_dir, 28 | ) 29 | -------------------------------------------------------------------------------- /help/uk/figures/annotations-nav-to-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/uk/figures/annotations-nav-to-page.png -------------------------------------------------------------------------------- /help/uk/figures/print-select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/uk/figures/print-select.png -------------------------------------------------------------------------------- /help/uk/figures/reverse-collate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GNOME/evince/1f3dff1a3163eb2eec53221387770f9256ac9db0/help/uk/figures/reverse-collate.png -------------------------------------------------------------------------------- /libdocument/ev-backend-info.h: -------------------------------------------------------------------------------- 1 | /* this file is part of evince, a gnome document viewer 2 | * 3 | * Copyright (C) 2007 Carlos Garcia Campos 4 | * 5 | * Evince is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Evince is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #if !defined (EVINCE_COMPILATION) 23 | #error "This is a private header." 24 | #endif 25 | 26 | #include 27 | 28 | G_BEGIN_DECLS 29 | 30 | typedef struct _EvBackendInfo EvBackendInfo; 31 | 32 | struct _EvBackendInfo { 33 | /* These two fields must be first for API/ABI compat with EvTypeInfo */ 34 | gchar *type_desc; 35 | gchar **mime_types; 36 | 37 | volatile int ref_count; 38 | 39 | gchar *module_name; 40 | gboolean resident; 41 | }; 42 | 43 | EvBackendInfo *_ev_backend_info_ref (EvBackendInfo *info); 44 | 45 | void _ev_backend_info_unref (EvBackendInfo *info); 46 | 47 | GList *_ev_backend_info_load_from_dir (const char *path); 48 | 49 | G_END_DECLS 50 | -------------------------------------------------------------------------------- /libdocument/ev-document-attachments.c: -------------------------------------------------------------------------------- 1 | /* ev-document-attachments.c 2 | * this file is part of evince, a gnome document_links viewer 3 | * 4 | * Copyright (C) 2009 Carlos Garcia Campos 5 | * 6 | * Evince is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Evince is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #include "config.h" 22 | 23 | #include "ev-document-attachments.h" 24 | #include "ev-document.h" 25 | 26 | G_DEFINE_INTERFACE (EvDocumentAttachments, ev_document_attachments, 0) 27 | 28 | static void 29 | ev_document_attachments_default_init (EvDocumentAttachmentsInterface *klass) 30 | { 31 | } 32 | 33 | gboolean 34 | ev_document_attachments_has_attachments (EvDocumentAttachments *document_attachments) 35 | { 36 | EvDocumentAttachmentsInterface *iface = EV_DOCUMENT_ATTACHMENTS_GET_IFACE (document_attachments); 37 | 38 | return iface->has_attachments (document_attachments); 39 | } 40 | 41 | /** 42 | * ev_document_attachments_get_attachments: 43 | * @document_attachments: an #EvDocumentAttachments 44 | * 45 | * Returns: (transfer full) (element-type EvAttachment): a list of #EvAttachment objects 46 | */ 47 | GList * 48 | ev_document_attachments_get_attachments (EvDocumentAttachments *document_attachments) 49 | { 50 | EvDocumentAttachmentsInterface *iface = EV_DOCUMENT_ATTACHMENTS_GET_IFACE (document_attachments); 51 | 52 | return iface->get_attachments (document_attachments); 53 | } 54 | 55 | 56 | -------------------------------------------------------------------------------- /libdocument/ev-document-attachments.h: -------------------------------------------------------------------------------- 1 | /* ev-document-attachments.h 2 | * this file is part of evince, a gnome document viewer 3 | * 4 | * Copyright (C) 2009 Carlos Garcia Campos 5 | * 6 | * Evince is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Evince is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #pragma once 22 | 23 | #if !defined (__EV_EVINCE_DOCUMENT_H_INSIDE__) && !defined (EVINCE_COMPILATION) 24 | #error "Only can be included directly." 25 | #endif 26 | 27 | #include 28 | #include 29 | 30 | #include "ev-macros.h" 31 | 32 | G_BEGIN_DECLS 33 | 34 | #define EV_TYPE_DOCUMENT_ATTACHMENTS (ev_document_attachments_get_type ()) 35 | 36 | EV_PUBLIC 37 | G_DECLARE_INTERFACE (EvDocumentAttachments, ev_document_attachments, EV, DOCUMENT_ATTACHMENTS, GObject) 38 | 39 | struct _EvDocumentAttachmentsInterface 40 | { 41 | GTypeInterface base_iface; 42 | 43 | /* Methods */ 44 | gboolean (* has_attachments) (EvDocumentAttachments *document_attachments); 45 | GList *(* get_attachments) (EvDocumentAttachments *document_attachments); 46 | }; 47 | 48 | EV_PUBLIC 49 | gboolean ev_document_attachments_has_attachments (EvDocumentAttachments *document_attachments); 50 | EV_PUBLIC 51 | GList *ev_document_attachments_get_attachments (EvDocumentAttachments *document_attachments); 52 | 53 | G_END_DECLS 54 | -------------------------------------------------------------------------------- /libdocument/ev-document-images.c: -------------------------------------------------------------------------------- 1 | /* ev-document-images.c 2 | * this file is part of evince, a gnome document_links viewer 3 | * 4 | * Copyright (C) 2006 Carlos Garcia Campos 5 | * 6 | * Evince is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Evince is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #include 22 | #include "ev-document-images.h" 23 | 24 | G_DEFINE_INTERFACE (EvDocumentImages, ev_document_images, 0) 25 | 26 | static void 27 | ev_document_images_default_init (EvDocumentImagesInterface *klass) 28 | { 29 | } 30 | 31 | EvMappingList * 32 | ev_document_images_get_image_mapping (EvDocumentImages *document_images, 33 | EvPage *page) 34 | { 35 | EvDocumentImagesInterface *iface = EV_DOCUMENT_IMAGES_GET_IFACE (document_images); 36 | 37 | return iface->get_image_mapping (document_images, page); 38 | } 39 | 40 | /** 41 | * ev_document_images_get_image: 42 | * @document_images: an #EvDocumentImages 43 | * @image: an #EvImage 44 | * 45 | * Returns: (transfer full): a #GdkPixbuf 46 | */ 47 | GdkPixbuf * 48 | ev_document_images_get_image (EvDocumentImages *document_images, 49 | EvImage *image) 50 | { 51 | EvDocumentImagesInterface *iface = EV_DOCUMENT_IMAGES_GET_IFACE (document_images); 52 | 53 | return iface->get_image (document_images, image); 54 | } 55 | -------------------------------------------------------------------------------- /libdocument/ev-document-media.c: -------------------------------------------------------------------------------- 1 | /* ev-document-media.c 2 | * this file is part of evince, a gnome document_links viewer 3 | * 4 | * Copyright (C) 2015 Igalia S.L. 5 | * 6 | * Evince is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Evince is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #include 22 | #include "ev-document-media.h" 23 | 24 | G_DEFINE_INTERFACE (EvDocumentMedia, ev_document_media, 0) 25 | 26 | static void 27 | ev_document_media_default_init (EvDocumentMediaInterface *klass) 28 | { 29 | } 30 | 31 | EvMappingList * 32 | ev_document_media_get_media_mapping (EvDocumentMedia *document_media, 33 | EvPage *page) 34 | { 35 | EvDocumentMediaInterface *iface = EV_DOCUMENT_MEDIA_GET_IFACE (document_media); 36 | 37 | return iface->get_media_mapping (document_media, page); 38 | } 39 | -------------------------------------------------------------------------------- /libdocument/ev-document-media.h: -------------------------------------------------------------------------------- 1 | /* ev-document-media.h 2 | * this file is part of evince, a gnome document viewer 3 | * 4 | * Copyright (C) 2015 Igalia S.L. 5 | * 6 | * Evince is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Evince is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #pragma once 22 | 23 | #if !defined (__EV_EVINCE_DOCUMENT_H_INSIDE__) && !defined (EVINCE_COMPILATION) 24 | #error "Only can be included directly." 25 | #endif 26 | 27 | #include 28 | #include 29 | 30 | #include "ev-macros.h" 31 | #include "ev-document.h" 32 | #include "ev-media.h" 33 | #include "ev-mapping-list.h" 34 | 35 | G_BEGIN_DECLS 36 | 37 | #define EV_TYPE_DOCUMENT_MEDIA (ev_document_media_get_type ()) 38 | 39 | EV_PUBLIC 40 | G_DECLARE_INTERFACE (EvDocumentMedia, ev_document_media, EV, DOCUMENT_MEDIA, GObject) 41 | 42 | struct _EvDocumentMediaInterface { 43 | GTypeInterface base_iface; 44 | 45 | /* Methods */ 46 | EvMappingList *(* get_media_mapping) (EvDocumentMedia *document_media, 47 | EvPage *page); 48 | }; 49 | 50 | EV_PUBLIC 51 | EvMappingList *ev_document_media_get_media_mapping (EvDocumentMedia *document_media, 52 | EvPage *page); 53 | 54 | G_END_DECLS 55 | -------------------------------------------------------------------------------- /libdocument/ev-document-print.c: -------------------------------------------------------------------------------- 1 | /* ev-document-print.c 2 | * this file is part of evince, a gnome document_links viewer 3 | * 4 | * Copyright (C) 2009 Carlos Garcia Campos 5 | * 6 | * Evince is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Evince is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #include "config.h" 22 | 23 | #include "ev-document.h" 24 | #include "ev-document-print.h" 25 | 26 | G_DEFINE_INTERFACE (EvDocumentPrint, ev_document_print, 0) 27 | 28 | static void 29 | ev_document_print_default_init (EvDocumentPrintInterface *klass) 30 | { 31 | } 32 | 33 | void 34 | ev_document_print_print_page (EvDocumentPrint *document_print, 35 | EvPage *page, 36 | cairo_t *cr) 37 | { 38 | EvDocumentPrintInterface *iface = EV_DOCUMENT_PRINT_GET_IFACE (document_print); 39 | 40 | iface->print_page (document_print, page, cr); 41 | } 42 | -------------------------------------------------------------------------------- /libdocument/ev-document-print.h: -------------------------------------------------------------------------------- 1 | /* ev-document-print.h 2 | * this file is part of evince, a gnome document viewer 3 | * 4 | * Copyright (C) 2009 Carlos Garcia Campos 5 | * 6 | * Evince is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Evince is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #pragma once 22 | 23 | #if !defined (__EV_EVINCE_DOCUMENT_H_INSIDE__) && !defined (EVINCE_COMPILATION) 24 | #error "Only can be included directly." 25 | #endif 26 | 27 | #include 28 | #include 29 | 30 | #include "ev-macros.h" 31 | #include "ev-page.h" 32 | 33 | G_BEGIN_DECLS 34 | 35 | #define EV_TYPE_DOCUMENT_PRINT (ev_document_print_get_type ()) 36 | 37 | EV_PUBLIC 38 | G_DECLARE_INTERFACE (EvDocumentPrint, ev_document_print, EV, DOCUMENT_PRINT, GObject) 39 | 40 | struct _EvDocumentPrintInterface 41 | { 42 | GTypeInterface base_iface; 43 | 44 | /* Methods */ 45 | void (* print_page) (EvDocumentPrint *document_print, 46 | EvPage *page, 47 | cairo_t *cr); 48 | }; 49 | 50 | EV_PUBLIC 51 | void ev_document_print_print_page (EvDocumentPrint *document_print, 52 | EvPage *page, 53 | cairo_t *cr); 54 | 55 | G_END_DECLS 56 | -------------------------------------------------------------------------------- /libdocument/ev-document-security.c: -------------------------------------------------------------------------------- 1 | /* ev-document-links.h 2 | * this file is part of evince, a gnome document_links viewer 3 | * 4 | * Copyright (C) 2004 Red Hat, Inc. 5 | * 6 | * Author: 7 | * Jonathan Blandford 8 | * 9 | * Evince is free software; you can redistribute it and/or modify it 10 | * under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * Evince is distributed in the hope that it will be useful, but 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | * General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 22 | */ 23 | 24 | #include "config.h" 25 | 26 | #include "ev-document-security.h" 27 | 28 | G_DEFINE_INTERFACE (EvDocumentSecurity, ev_document_security, 0) 29 | 30 | static void 31 | ev_document_security_default_init (EvDocumentSecurityInterface *klass) 32 | { 33 | } 34 | 35 | gboolean 36 | ev_document_security_has_document_security (EvDocumentSecurity *document_security) 37 | { 38 | EvDocumentSecurityInterface *iface = EV_DOCUMENT_SECURITY_GET_IFACE (document_security); 39 | return iface->has_document_security (document_security); 40 | } 41 | 42 | void 43 | ev_document_security_set_password (EvDocumentSecurity *document_security, 44 | const char *password) 45 | { 46 | EvDocumentSecurityInterface *iface = EV_DOCUMENT_SECURITY_GET_IFACE (document_security); 47 | iface->set_password (document_security, password); 48 | } 49 | -------------------------------------------------------------------------------- /libdocument/ev-form-field-private.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; c-indent-level: 8 -*- */ 2 | /* this file is part of evince, a gnome document viewer 3 | * 4 | * Copyright (C) 2020 Germán Poo-Caamaño 5 | * 6 | * Evince is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Evince is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #pragma once 22 | 23 | #if !defined (EVINCE_COMPILATION) 24 | #error "Only can be included directly." 25 | #endif 26 | 27 | //#include 28 | 29 | #include "ev-macros.h" 30 | #include "ev-form-field.h" 31 | 32 | G_BEGIN_DECLS 33 | 34 | /* EvFormField base class */ 35 | EV_PRIVATE 36 | gchar *ev_form_field_get_alternate_name (EvFormField *field); 37 | EV_PRIVATE 38 | void ev_form_field_set_alternate_name (EvFormField *field, 39 | gchar *alternative_text); 40 | 41 | G_END_DECLS 42 | -------------------------------------------------------------------------------- /libdocument/ev-init.h: -------------------------------------------------------------------------------- 1 | /* this file is part of evince, a gnome document viewer 2 | * 3 | * Copyright © 2009 Christian Persch 4 | * 5 | * Evince is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU Lesser General Public License as published by 7 | * the Free Software Foundation; either version 2.1 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Evince is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #if !defined (__EV_EVINCE_DOCUMENT_H_INSIDE__) && !defined (EVINCE_COMPILATION) 23 | #error "Only can be included directly." 24 | #endif 25 | 26 | #include 27 | 28 | #include "ev-macros.h" 29 | 30 | G_BEGIN_DECLS 31 | 32 | EV_PUBLIC 33 | const gchar* ev_get_locale_dir (void); 34 | 35 | EV_PUBLIC 36 | gboolean ev_init (void); 37 | 38 | EV_PUBLIC 39 | void ev_shutdown (void); 40 | 41 | gboolean _ev_is_initialized (void); 42 | 43 | G_END_DECLS 44 | -------------------------------------------------------------------------------- /libdocument/ev-layer.h: -------------------------------------------------------------------------------- 1 | /* this file is part of evince, a gnome document viewer 2 | * 3 | * Copyright (C) 2008 Carlos Garcia Campos 4 | * 5 | * Evince is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Evince is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #if !defined (__EV_EVINCE_DOCUMENT_H_INSIDE__) && !defined (EVINCE_COMPILATION) 23 | #error "Only can be included directly." 24 | #endif 25 | 26 | #include 27 | 28 | #include "ev-macros.h" 29 | 30 | G_BEGIN_DECLS 31 | 32 | #define EV_TYPE_LAYER (ev_layer_get_type()) 33 | 34 | EV_PUBLIC 35 | G_DECLARE_FINAL_TYPE (EvLayer, ev_layer, EV, LAYER, GObject) 36 | 37 | struct _EvLayer { 38 | GObject base_instance; 39 | }; 40 | 41 | EV_PUBLIC 42 | EvLayer *ev_layer_new (gboolean is_parent, 43 | gint rb_group); 44 | EV_PUBLIC 45 | gboolean ev_layer_is_parent (EvLayer *layer); 46 | EV_PUBLIC 47 | gint ev_layer_get_rb_group (EvLayer *layer); 48 | 49 | G_END_DECLS 50 | -------------------------------------------------------------------------------- /libdocument/ev-link.h: -------------------------------------------------------------------------------- 1 | /* this file is part of evince, a gnome document viewer 2 | * 3 | * Copyright (C) 2005 Red Hat, Inc. 4 | * 5 | * Evince is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Evince is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #if !defined (__EV_EVINCE_DOCUMENT_H_INSIDE__) && !defined (EVINCE_COMPILATION) 23 | #error "Only can be included directly." 24 | #endif 25 | 26 | #include 27 | 28 | #include "ev-macros.h" 29 | #include "ev-document.h" 30 | #include "ev-link-action.h" 31 | 32 | G_BEGIN_DECLS 33 | 34 | #define EV_TYPE_LINK (ev_link_get_type()) 35 | 36 | EV_PUBLIC 37 | G_DECLARE_FINAL_TYPE (EvLink, ev_link, EV, LINK, GObject) 38 | 39 | EV_PUBLIC 40 | EvLink *ev_link_new (const gchar *title, 41 | EvLinkAction *action); 42 | 43 | EV_PUBLIC 44 | const gchar *ev_link_get_title (EvLink *self); 45 | EV_PUBLIC 46 | EvLinkAction *ev_link_get_action (EvLink *self); 47 | 48 | G_END_DECLS 49 | -------------------------------------------------------------------------------- /libdocument/ev-macros.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2012 Christian Persch 3 | * 4 | * This library is free software; you can redistribute it and/or modify it 5 | * under the terms of the GNU Lesser General Public License as published by the 6 | * Free Software Foundation; either version 2.1 of the License, or (at your 7 | * option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #pragma once 20 | 21 | #if defined(EV_DISABLE_DEPRECATION_WARNINGS) 22 | #define EV_DEPRECATED 23 | #define EV_DEPRECATED_FOR(f) 24 | #define EV_UNAVAILABLE(maj,min) 25 | #else 26 | #define EV_DEPRECATED G_DEPRECATED 27 | #define EV_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f) 28 | #define EV_UNAVAILABLE(maj,min) G_UNAVAILABLE(maj,min) 29 | #endif 30 | 31 | #ifdef __has_attribute 32 | #if __has_attribute(__visibility__) 33 | #define EV_PUBLIC __attribute__((__visibility__("default"))) extern 34 | #endif 35 | #endif 36 | #ifndef EV_PUBLIC 37 | #define EV_PUBLIC extern 38 | #endif 39 | 40 | #define EV_PRIVATE EV_PUBLIC 41 | -------------------------------------------------------------------------------- /libdocument/ev-media.h: -------------------------------------------------------------------------------- 1 | /* this file is part of evince, a gnome document viewer 2 | * 3 | * Copyright (C) 2015 Igalia S.L. 4 | * 5 | * Evince is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Evince is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #if !defined (__EV_EVINCE_DOCUMENT_H_INSIDE__) && !defined (EVINCE_COMPILATION) 23 | #error "Only can be included directly." 24 | #endif 25 | 26 | #include 27 | 28 | #include "ev-macros.h" 29 | #include "ev-page.h" 30 | 31 | G_BEGIN_DECLS 32 | 33 | #define EV_TYPE_MEDIA (ev_media_get_type()) 34 | 35 | EV_PUBLIC 36 | G_DECLARE_FINAL_TYPE (EvMedia, ev_media, EV, MEDIA, GObject) 37 | 38 | struct _EvMedia { 39 | GObject base_instance; 40 | }; 41 | 42 | EV_PUBLIC 43 | EvMedia *ev_media_new_for_uri (EvPage *page, 44 | const gchar *uri); 45 | EV_PUBLIC 46 | const gchar *ev_media_get_uri (EvMedia *media); 47 | EV_PUBLIC 48 | guint ev_media_get_page_index (EvMedia *media); 49 | EV_PUBLIC 50 | gboolean ev_media_get_show_controls (EvMedia *media); 51 | EV_PUBLIC 52 | void ev_media_set_show_controls (EvMedia *media, 53 | gboolean show_controls); 54 | 55 | G_END_DECLS 56 | -------------------------------------------------------------------------------- /libdocument/ev-page.c: -------------------------------------------------------------------------------- 1 | /* this file is part of evince, a gnome document viewer 2 | * 3 | * Copyright (C) 2008 Carlos Garcia Campos 4 | * 5 | * Evince is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Evince is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #include 21 | 22 | #include "ev-page.h" 23 | 24 | G_DEFINE_TYPE (EvPage, ev_page, G_TYPE_OBJECT) 25 | 26 | static void 27 | ev_page_init (EvPage *page) 28 | { 29 | } 30 | 31 | static void 32 | ev_page_finalize (GObject *object) 33 | { 34 | EvPage *page = EV_PAGE (object); 35 | 36 | if (page->backend_destroy_func) { 37 | page->backend_destroy_func (page->backend_page); 38 | page->backend_destroy_func = NULL; 39 | } 40 | page->backend_page = NULL; 41 | 42 | (* G_OBJECT_CLASS (ev_page_parent_class)->finalize) (object); 43 | } 44 | 45 | static void 46 | ev_page_class_init (EvPageClass *klass) 47 | { 48 | GObjectClass *object_class = G_OBJECT_CLASS (klass); 49 | 50 | object_class->finalize = ev_page_finalize; 51 | } 52 | 53 | EvPage * 54 | ev_page_new (gint index) 55 | { 56 | EvPage *page; 57 | 58 | page = EV_PAGE (g_object_new (EV_TYPE_PAGE, NULL)); 59 | page->index = index; 60 | 61 | return page; 62 | } 63 | -------------------------------------------------------------------------------- /libdocument/ev-page.h: -------------------------------------------------------------------------------- 1 | /* this file is part of evince, a gnome document viewer 2 | * 3 | * Copyright (C) 2008 Carlos Garcia Campos 4 | * 5 | * Evince is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Evince is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #if !defined (__EV_EVINCE_DOCUMENT_H_INSIDE__) && !defined (EVINCE_COMPILATION) 23 | #error "Only can be included directly." 24 | #endif 25 | 26 | 27 | #include 28 | 29 | #include "ev-macros.h" 30 | 31 | G_BEGIN_DECLS 32 | 33 | #define EV_TYPE_PAGE (ev_page_get_type()) 34 | 35 | EV_PUBLIC 36 | G_DECLARE_FINAL_TYPE (EvPage, ev_page, EV, PAGE, GObject) 37 | 38 | typedef gpointer EvBackendPage; 39 | typedef GDestroyNotify EvBackendPageDestroyFunc; 40 | 41 | struct _EvPage { 42 | GObject base_instance; 43 | 44 | gint index; 45 | 46 | EvBackendPage backend_page; 47 | EvBackendPageDestroyFunc backend_destroy_func; 48 | }; 49 | 50 | 51 | EV_PUBLIC 52 | EvPage *ev_page_new (gint index); 53 | 54 | G_END_DECLS 55 | -------------------------------------------------------------------------------- /libdocument/ev-portal.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Evince is free software; you can redistribute it and/or modify it 3 | * under the terms of the GNU Lesser General Public License as published by 4 | * the Free Software Foundation; either version 2.1 of the License, or 5 | * (at your option) any later version. 6 | * 7 | * Evince is distributed in the hope that it will be useful, but 8 | * WITHOUT ANY WARRANTY; without even the implied warranty of 9 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser 10 | * General Public License for more details. 11 | * 12 | * You should have received a copy of the GNU General Public License 13 | * along with this program. If not, see . 14 | */ 15 | 16 | #include "config.h" 17 | 18 | #include "ev-portal.h" 19 | 20 | /* Copied from gtk+, under LGPL2.1+ */ 21 | 22 | /** 23 | * ev_should_use_portal: 24 | * 25 | * Checks whether evince should use the portal. 26 | * 27 | * Returns: whether evince should use the portal 28 | * 29 | * Since: 3.30 30 | */ 31 | gboolean 32 | ev_should_use_portal (void) 33 | { 34 | static const char *use_portal = NULL; 35 | 36 | if (G_UNLIKELY (use_portal == NULL)) 37 | { 38 | char *path; 39 | 40 | path = g_build_filename (g_get_user_runtime_dir (), "flatpak-info", NULL); 41 | if (g_file_test (path, G_FILE_TEST_EXISTS)) 42 | use_portal = "1"; 43 | else 44 | { 45 | use_portal = g_getenv ("GTK_USE_PORTAL"); 46 | if (!use_portal) 47 | use_portal = ""; 48 | } 49 | g_free (path); 50 | } 51 | 52 | return use_portal[0] == '1'; 53 | } 54 | -------------------------------------------------------------------------------- /libdocument/ev-portal.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2018 Christian Persch 3 | * 4 | * Evince is free software; you can redistribute it and/or modify it 5 | * under the terms of the GNU Lesser General Public License as published by 6 | * the Free Software Foundation; either version 2.1 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * Evince is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser 12 | * General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | 18 | #pragma once 19 | 20 | #if !defined (EVINCE_COMPILATION) 21 | #error "This is a private header." 22 | #endif 23 | 24 | #include 25 | 26 | #include "ev-macros.h" 27 | 28 | G_BEGIN_DECLS 29 | 30 | EV_PRIVATE 31 | gboolean ev_should_use_portal (void); 32 | 33 | G_END_DECLS 34 | -------------------------------------------------------------------------------- /libdocument/ev-version.h.in: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2009 Christian Persch 3 | * 4 | * This library is free software; you can redistribute it and/or modify it 5 | * under the terms of the GNU Lesser General Public License as published by the 6 | * Free Software Foundation; either version 2.1 of the License, or (at your 7 | * option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along 15 | * with this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #pragma once 20 | 21 | /** 22 | * SECTION:ev-version 23 | * @short_description: Library version checks 24 | * 25 | * These macros enable compile time checks of the library version. 26 | */ 27 | 28 | /** 29 | * EV_MAJOR_VERSION: 30 | * 31 | * The major version number of the EV library 32 | * (e.g. in version 3.1.4 this is 3). 33 | */ 34 | 35 | #define EV_MAJOR_VERSION (@EV_MAJOR_VERSION@) 36 | 37 | /** 38 | * EV_MINOR_VERSION: 39 | * 40 | * The minor version number of the EV library 41 | * (e.g. in version 3.1.4 this is 1). 42 | */ 43 | #define EV_MINOR_VERSION (@EV_MINOR_VERSION@) 44 | 45 | /** 46 | * EV_CHECK_VERSION: 47 | * @major: required major version 48 | * @minor: required minor version 49 | * 50 | * Macro to check the library version at compile time. 51 | * It returns 1 if the version of EV is greater or 52 | * equal to the required one, and 0 otherwise. 53 | */ 54 | #define EV_CHECK_VERSION(major,minor) \ 55 | (EV_MAJOR_VERSION > (major) || \ 56 | (EV_MAJOR_VERSION == (major) && EV_MINOR_VERSION > (minor)) 57 | -------------------------------------------------------------------------------- /libdocument/ev-xmp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2021 Christian Persch 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2, or (at your option) 7 | * any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | #pragma once 20 | 21 | #if !defined (EVINCE_COMPILATION) 22 | #error "This is a private header." 23 | #endif 24 | 25 | #include "ev-document-info.h" 26 | 27 | G_BEGIN_DECLS 28 | 29 | gboolean ev_xmp_parse (const char *xmp, 30 | gsize size, 31 | EvDocumentInfo *info); 32 | 33 | G_END_DECLS 34 | -------------------------------------------------------------------------------- /libmisc/ev-page-action-widget.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | 34 | 35 | -------------------------------------------------------------------------------- /libmisc/libmisc.gresource.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | ev-page-action-widget.ui 21 | 22 | 23 | -------------------------------------------------------------------------------- /libmisc/meson.build: -------------------------------------------------------------------------------- 1 | sources = files( 2 | 'ev-page-action-widget.c', 3 | ) 4 | 5 | sources += gnome.compile_resources( 6 | 'ev-resources', 7 | 'libmisc.gresource.xml', 8 | c_name: 'libmisc', 9 | ) 10 | 11 | libevmisc = static_library( 12 | 'evmisc', 13 | sources: sources, 14 | include_directories: top_inc, 15 | dependencies: libevview_dep, 16 | ) 17 | 18 | libevmisc_dep = declare_dependency( 19 | include_directories: include_directories('.'), 20 | dependencies: libevview_dep, 21 | link_whole: libevmisc, 22 | ) 23 | -------------------------------------------------------------------------------- /libview/ev-color-contrast.h: -------------------------------------------------------------------------------- 1 | /* ev-color-contrast.h 2 | * this file is part of evince, a gnome document viewer 3 | * 4 | * Copyright (C) 2020 Vanadiae 5 | * 6 | * Evince is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Evince is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #pragma once 22 | 23 | #if !defined (EVINCE_COMPILATION) 24 | #error "This is a private header." 25 | #endif 26 | 27 | #include 28 | 29 | GdkRGBA *ev_color_contrast_get_most_readable_color (const GdkRGBA *bg_color, 30 | GdkRGBA *first_color, 31 | GdkRGBA *second_color); 32 | 33 | GdkRGBA *ev_color_contrast_get_best_foreground_color (const GdkRGBA *bg_color); 34 | -------------------------------------------------------------------------------- /libview/ev-job-scheduler.h: -------------------------------------------------------------------------------- 1 | /* ev-job-scheduler.h 2 | * this file is part of evince, a gnome document viewer 3 | * 4 | * Copyright (C) 2008 Carlos Garcia Campos 5 | * 6 | * Evince is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Evince is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #pragma once 22 | 23 | #if !defined (__EV_EVINCE_VIEW_H_INSIDE__) && !defined (EVINCE_COMPILATION) 24 | #error "Only can be included directly." 25 | #endif 26 | 27 | #include 28 | 29 | #include 30 | #include "ev-jobs.h" 31 | 32 | G_BEGIN_DECLS 33 | 34 | typedef enum { 35 | EV_JOB_PRIORITY_URGENT, /* Rendering current page range */ 36 | EV_JOB_PRIORITY_HIGH, /* Rendering current thumbnail range */ 37 | EV_JOB_PRIORITY_LOW, /* Rendering pages not in current range */ 38 | EV_JOB_PRIORITY_NONE, /* Any other job: load, save, print, ... */ 39 | EV_JOB_N_PRIORITIES 40 | } EvJobPriority; 41 | 42 | EV_PUBLIC 43 | void ev_job_scheduler_push_job (EvJob *job, 44 | EvJobPriority priority); 45 | EV_PUBLIC 46 | void ev_job_scheduler_update_job (EvJob *job, 47 | EvJobPriority priority); 48 | EV_PUBLIC 49 | EvJob *ev_job_scheduler_get_running_thread_job (void); 50 | 51 | EV_PUBLIC 52 | void ev_job_scheduler_wait (void); 53 | 54 | G_END_DECLS 55 | -------------------------------------------------------------------------------- /libview/ev-view-cursor.c: -------------------------------------------------------------------------------- 1 | /* this file is part of evince, a gnome document viewer 2 | * 3 | * Copyright (C) 2004 Red Hat, Inc 4 | * 5 | * Evince is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Evince is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #include "ev-view-cursor.h" 21 | 22 | GdkCursor * 23 | ev_view_cursor_new (GdkDisplay *display, 24 | EvViewCursor new_cursor) 25 | { 26 | GdkCursor *cursor = NULL; 27 | 28 | switch (new_cursor) { 29 | case EV_VIEW_CURSOR_NORMAL: 30 | break; 31 | case EV_VIEW_CURSOR_IBEAM: 32 | cursor = gdk_cursor_new_for_display (display, GDK_XTERM); 33 | break; 34 | case EV_VIEW_CURSOR_LINK: 35 | cursor = gdk_cursor_new_for_display (display, GDK_HAND2); 36 | break; 37 | case EV_VIEW_CURSOR_WAIT: 38 | cursor = gdk_cursor_new_for_display (display, GDK_WATCH); 39 | break; 40 | case EV_VIEW_CURSOR_HIDDEN: 41 | cursor = gdk_cursor_new_for_display (display, GDK_BLANK_CURSOR); 42 | break; 43 | case EV_VIEW_CURSOR_DRAG: 44 | cursor = gdk_cursor_new_for_display (display, GDK_FLEUR); 45 | break; 46 | case EV_VIEW_CURSOR_AUTOSCROLL: 47 | cursor = gdk_cursor_new_for_display (display, GDK_DOUBLE_ARROW); 48 | break; 49 | case EV_VIEW_CURSOR_ADD: 50 | cursor = gdk_cursor_new_for_display (display, GDK_PLUS); 51 | break; 52 | } 53 | 54 | return cursor; 55 | } 56 | -------------------------------------------------------------------------------- /libview/ev-view-cursor.h: -------------------------------------------------------------------------------- 1 | /* this file is part of evince, a gnome document viewer 2 | * 3 | * Copyright (C) 2004 Red Hat, Inc 4 | * 5 | * Evince is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Evince is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #if !defined (EVINCE_COMPILATION) 23 | #error "This is a private header." 24 | #endif 25 | 26 | #include 27 | 28 | G_BEGIN_DECLS 29 | 30 | typedef enum { 31 | EV_VIEW_CURSOR_NORMAL, 32 | EV_VIEW_CURSOR_IBEAM, 33 | EV_VIEW_CURSOR_LINK, 34 | EV_VIEW_CURSOR_WAIT, 35 | EV_VIEW_CURSOR_HIDDEN, 36 | EV_VIEW_CURSOR_DRAG, 37 | EV_VIEW_CURSOR_AUTOSCROLL, 38 | EV_VIEW_CURSOR_ADD 39 | } EvViewCursor; 40 | 41 | GdkCursor *ev_view_cursor_new (GdkDisplay *display, 42 | EvViewCursor cursor); 43 | 44 | G_END_DECLS 45 | -------------------------------------------------------------------------------- /libview/ev-view-marshal.list: -------------------------------------------------------------------------------- 1 | VOID:ENUM,ENUM 2 | VOID:INT,INT 3 | BOOLEAN:ENUM,INT,BOOLEAN 4 | -------------------------------------------------------------------------------- /po/LINGUAS: -------------------------------------------------------------------------------- 1 | # please keep this list sorted alphabetically 2 | ab 3 | af 4 | an 5 | ar 6 | as 7 | ast 8 | be 9 | be@latin 10 | bg 11 | bn 12 | bn_IN 13 | br 14 | bs 15 | ca 16 | ca@valencia 17 | cs 18 | cy 19 | da 20 | de 21 | dz 22 | el 23 | en_CA 24 | en_GB 25 | en@shaw 26 | eo 27 | es 28 | et 29 | eu 30 | fa 31 | fi 32 | fr 33 | fur 34 | ga 35 | gd 36 | gl 37 | gu 38 | he 39 | hi 40 | hr 41 | hu 42 | ia 43 | id 44 | ie 45 | is 46 | it 47 | ja 48 | ka 49 | kab 50 | kk 51 | km 52 | kn 53 | ko 54 | ks 55 | ku 56 | lt 57 | lv 58 | mai 59 | mg 60 | mjw 61 | mk 62 | ml 63 | mn 64 | mr 65 | ms 66 | my 67 | nb 68 | nds 69 | ne 70 | nl 71 | nn 72 | oc 73 | or 74 | pa 75 | pl 76 | ps 77 | pt 78 | pt_BR 79 | ro 80 | ru 81 | rw 82 | si 83 | sk 84 | sl 85 | sq 86 | sr 87 | sr@latin 88 | sv 89 | ta 90 | te 91 | tg 92 | th 93 | tr 94 | ug 95 | uk 96 | uz 97 | vi 98 | wa 99 | zh_CN 100 | zh_HK 101 | zh_TW 102 | zu 103 | -------------------------------------------------------------------------------- /po/POTFILES.skip: -------------------------------------------------------------------------------- 1 | # List of source files that should *not* be translated. 2 | # Please keep this file sorted alphabetically. 3 | backend/comics/comicsdocument.evince-backend.desktop.in 4 | backend/comics/evince-comicsdocument.metainfo.xml.in 5 | backend/djvu/djvudocument.evince-backend.desktop.in 6 | backend/djvu/evince-djvudocument.metainfo.xml.in 7 | backend/dvi/dvidocument.evince-backend.desktop.in 8 | backend/dvi/evince-dvidocument.metainfo.xml.in 9 | backend/dvi/mdvi-lib/dviread.c 10 | backend/dvi/mdvi-lib/font.c 11 | backend/dvi/mdvi-lib/fontmap.c 12 | backend/dvi/mdvi-lib/gf.c 13 | backend/dvi/mdvi-lib/pagesel.c 14 | backend/dvi/mdvi-lib/paper.c 15 | backend/dvi/mdvi-lib/pk.c 16 | backend/dvi/mdvi-lib/special.c 17 | backend/dvi/mdvi-lib/sp-epsf.c 18 | backend/dvi/mdvi-lib/t1.c 19 | backend/dvi/mdvi-lib/tfm.c 20 | backend/dvi/mdvi-lib/tfmfile.c 21 | backend/dvi/mdvi-lib/tt.c 22 | backend/dvi/mdvi-lib/util.c 23 | backend/dvi/mdvi-lib/vf.c 24 | backend/pdf/evince-pdfdocument.metainfo.xml.in 25 | backend/pdf/pdfdocument.evince-backend.desktop.in 26 | backend/ps/evince-psdocument.metainfo.xml.in 27 | backend/ps/psdocument.evince-backend.desktop.in 28 | backend/tiff/evince-tiffdocument.metainfo.xml.in 29 | backend/tiff/tiffdocument.evince-backend.desktop.in 30 | backend/xps/evince-xpsdocument.metainfo.xml.in 31 | backend/xps/xpsdocument.evince-backend.desktop.in 32 | cut-n-paste/libdazzle/dzl-file-manager.c 33 | data/org.gnome.Evince.desktop.in 34 | data/org.gnome.Evince-previewer.desktop.in 35 | data/org.gnome.Evince.Daemon.service.in 36 | -------------------------------------------------------------------------------- /po/meson.build: -------------------------------------------------------------------------------- 1 | i18n.gettext( 2 | ev_name, 3 | preset: 'glib', 4 | args: '--keyword=TypeDescription', 5 | ) 6 | -------------------------------------------------------------------------------- /previewer/evince-previewer.css: -------------------------------------------------------------------------------- 1 | .content-view.document-page { 2 | box-shadow: rgba(60, 64, 67, 0.2) 0px 2px 3px 1px, rgba(60, 64, 67, 0.3) 0px 1px 3px 1px; 3 | background-color: @theme_bg_color; 4 | } 5 | 6 | EvView { 7 | background-color: @theme_bg_color; 8 | } 9 | 10 | EvView:selected { 11 | background-color: @theme_selected_bg_color; 12 | } 13 | 14 | EvView.document-page { 15 | background-color: white; 16 | padding: 0; 17 | } 18 | -------------------------------------------------------------------------------- /previewer/meson.build: -------------------------------------------------------------------------------- 1 | previewer_sources = files( 2 | 'ev-previewer-window.c', 3 | 'ev-previewer-window.h', 4 | 'ev-previewer.c', 5 | ) 6 | 7 | previewer_sources += gnome.compile_resources( 8 | 'ev-previewer-resources', 9 | 'previewer.gresource.xml', 10 | source_dir: data_dir, 11 | c_name: 'ev_previewer', 12 | ) 13 | 14 | previewer_deps = [ 15 | libevdocument_dep, 16 | libevmisc_dep, 17 | libevview_dep, 18 | hdy_dep 19 | ] 20 | 21 | if enable_gtk_unix_print 22 | previewer_deps += gtk_unix_print_dep 23 | endif 24 | 25 | previewer = executable( 26 | 'evince-previewer', 27 | previewer_sources, 28 | include_directories: top_inc, 29 | dependencies: previewer_deps, 30 | link_args: common_ldflags, 31 | install: true, 32 | ) 33 | -------------------------------------------------------------------------------- /previewer/previewer.gresource.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | previewer-window.ui 21 | evince-previewer.css 22 | 23 | 24 | -------------------------------------------------------------------------------- /properties/meson.build: -------------------------------------------------------------------------------- 1 | libevproperties = static_library( 2 | 'evproperties', 3 | sources: 'ev-properties-view.c', 4 | include_directories: top_inc, 5 | dependencies: libevdocument_dep, 6 | gnu_symbol_visibility: 'hidden', 7 | ) 8 | 9 | libevproperties_dep = declare_dependency( 10 | include_directories: include_directories('.'), 11 | dependencies: libevdocument_dep, 12 | link_with: libevproperties, 13 | ) 14 | 15 | if enable_nautilus 16 | deps = [ 17 | libevdocument_dep, 18 | libnautilus_extension_dep, 19 | ] 20 | 21 | shared_module( 22 | 'evince-properties-page', 23 | sources: 'ev-properties-main.c', 24 | include_directories: top_inc, 25 | dependencies: deps, 26 | link_with: libevproperties, 27 | install: true, 28 | install_dir: nautilus_extension_dir, 29 | gnu_symbol_visibility: 'hidden', 30 | ) 31 | endif 32 | -------------------------------------------------------------------------------- /shell/ev-daemon-gdbus.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /shell/ev-gdbus.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /shell/ev-keyring.h: -------------------------------------------------------------------------------- 1 | /* ev-keyring.h 2 | * this file is part of evince, a gnome document viewer 3 | * 4 | * Copyright (C) 2008 Carlos Garcia Campos 5 | * 6 | * Evince is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Evince is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #pragma once 22 | 23 | #include 24 | #include 25 | 26 | G_BEGIN_DECLS 27 | 28 | gboolean ev_keyring_is_available (void); 29 | gchar *ev_keyring_lookup_password (const gchar *uri); 30 | gboolean ev_keyring_save_password (const gchar *uri, 31 | const gchar *password, 32 | GPasswordSave flags); 33 | 34 | G_END_DECLS 35 | -------------------------------------------------------------------------------- /shell/ev-loading-message.h: -------------------------------------------------------------------------------- 1 | /* ev-loading-message.h 2 | * this file is part of evince, a gnome document viewer 3 | * 4 | * Copyright (C) 2010, 2012 Carlos Garcia Campos 5 | * 6 | * Evince is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Evince is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #pragma once 22 | 23 | #include 24 | 25 | G_BEGIN_DECLS 26 | 27 | typedef struct _EvLoadingMessage EvLoadingMessage; 28 | typedef struct _EvLoadingMessageClass EvLoadingMessageClass; 29 | 30 | #define EV_TYPE_LOADING_MESSAGE (ev_loading_message_get_type()) 31 | #define EV_LOADING_MESSAGE(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_LOADING_MESSAGE, EvLoadingMessage)) 32 | #define EV_IS_LOADING_MESSAGE(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_LOADING_MESSAGE)) 33 | #define EV_LOADING_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_LOADING_MESSAGE, EvLoadingMessageClass)) 34 | #define EV_IS_LOADING_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EV_TYPE_LOADING_MESSAGE)) 35 | #define EV_LOADING_MESSAGE_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), EV_TYPE_LOADING_MESSAGE, EvLoadingMessageClass)) 36 | 37 | GType ev_loading_message_get_type (void) G_GNUC_CONST; 38 | 39 | GtkWidget *ev_loading_message_new (void); 40 | 41 | G_END_DECLS 42 | -------------------------------------------------------------------------------- /shell/ev-recent-view.h: -------------------------------------------------------------------------------- 1 | /* this file is part of evince, a gnome document viewer 2 | * 3 | * Copyright (C) 2013 Aakash Goenka 4 | * 5 | * Evince is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Evince is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include 23 | #include 24 | 25 | G_BEGIN_DECLS 26 | 27 | #define EV_TYPE_RECENT_VIEW (ev_recent_view_get_type ()) 28 | G_DECLARE_FINAL_TYPE (EvRecentView, ev_recent_view, EV, RECENT_VIEW, GtkBin); 29 | 30 | struct _EvRecentView 31 | { 32 | GtkBin parent; 33 | }; 34 | 35 | GtkWidget *ev_recent_view_new (void); 36 | 37 | G_END_DECLS 38 | -------------------------------------------------------------------------------- /shell/ev-search-box.h: -------------------------------------------------------------------------------- 1 | /* ev-search-box.h 2 | * this file is part of evince, a gnome document viewer 3 | * 4 | * Copyright (C) 2015 Igalia S.L. 5 | * 6 | * Evince is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Evince is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | */ 20 | 21 | #pragma once 22 | 23 | #include 24 | #include 25 | #include 26 | 27 | G_BEGIN_DECLS 28 | 29 | #define EV_TYPE_SEARCH_BOX (ev_search_box_get_type()) 30 | 31 | G_DECLARE_FINAL_TYPE (EvSearchBox, ev_search_box, EV, SEARCH_BOX, GtkBox); 32 | 33 | struct _EvSearchBox { 34 | GtkBox parent; 35 | }; 36 | 37 | GtkWidget *ev_search_box_new (EvDocumentModel *model); 38 | GtkSearchEntry *ev_search_box_get_entry (EvSearchBox *box); 39 | gboolean ev_search_box_has_results (EvSearchBox *box); 40 | void ev_search_box_restart (EvSearchBox *box); 41 | 42 | G_END_DECLS 43 | -------------------------------------------------------------------------------- /shell/ev-sidebar-page.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; c-indent-level: 8 -*- */ 2 | /* 3 | * Copyright (C) 2005 Marco Pesenti Gritti 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2, or (at your option) 8 | * any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | */ 20 | 21 | #pragma once 22 | 23 | #include 24 | #include 25 | 26 | #include "ev-document.h" 27 | #include "ev-document-model.h" 28 | 29 | G_BEGIN_DECLS 30 | 31 | #define EV_TYPE_SIDEBAR_PAGE (ev_sidebar_page_get_type ()) 32 | G_DECLARE_INTERFACE (EvSidebarPage, ev_sidebar_page, EV, SIDEBAR_PAGE, GObject) 33 | 34 | struct _EvSidebarPageInterface 35 | { 36 | GTypeInterface base_iface; 37 | 38 | /* Methods */ 39 | gboolean (* support_document) (EvSidebarPage *sidebar_page, 40 | EvDocument *document); 41 | void (* set_model) (EvSidebarPage *sidebar_page, 42 | EvDocumentModel *model); 43 | const gchar*(* get_label) (EvSidebarPage *sidebar_page); 44 | }; 45 | 46 | gboolean ev_sidebar_page_support_document (EvSidebarPage *sidebar_page, 47 | EvDocument *document); 48 | void ev_sidebar_page_set_model (EvSidebarPage *sidebar_page, 49 | EvDocumentModel *model); 50 | const gchar* ev_sidebar_page_get_label (EvSidebarPage *page); 51 | 52 | 53 | G_END_DECLS 54 | -------------------------------------------------------------------------------- /shell/ev-utils.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; c-indent-level: 8 -*- */ 2 | /* 3 | * Copyright (C) 2004 Anders Carlsson 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2, or (at your option) 8 | * any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | * 19 | */ 20 | 21 | #pragma once 22 | 23 | #include 24 | #include 25 | 26 | G_BEGIN_DECLS 27 | 28 | GdkPixbuf* ev_pixbuf_add_shadow (GdkPixbuf *src, int size, 29 | int x_offset, int y_offset, double opacity); 30 | 31 | void ev_print_region_contents (cairo_region_t *region); 32 | 33 | void ev_gui_menu_popup_at_tree_view_selection (GtkMenu *menu, 34 | GtkTreeView *tree_view); 35 | 36 | void file_chooser_dialog_add_writable_pixbuf_formats (GtkFileChooser *chooser); 37 | GdkPixbufFormat* get_gdk_pixbuf_format_by_extension (const gchar *uri); 38 | gchar* ev_str_replace (const char *str, const char *substr, const char *repl); 39 | 40 | G_END_DECLS 41 | -------------------------------------------------------------------------------- /shell/ev-window-title.h: -------------------------------------------------------------------------------- 1 | /* this file is part of evince, a gnome document viewer 2 | * 3 | * Copyright (C) 2005 Red Hat, Inc 4 | * 5 | * Evince is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Evince is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | #pragma once 21 | 22 | #include "ev-window.h" 23 | #include "ev-document.h" 24 | 25 | G_BEGIN_DECLS 26 | 27 | typedef struct _EvWindowTitle EvWindowTitle; 28 | 29 | typedef enum 30 | { 31 | EV_WINDOW_TITLE_DOCUMENT, 32 | EV_WINDOW_TITLE_PASSWORD, 33 | EV_WINDOW_TITLE_RECENT 34 | } EvWindowTitleType; 35 | 36 | EvWindowTitle *ev_window_title_new (EvWindow *window); 37 | void ev_window_title_set_type (EvWindowTitle *window_title, 38 | EvWindowTitleType type); 39 | void ev_window_title_set_document (EvWindowTitle *window_title, 40 | EvDocument *document); 41 | void ev_window_title_set_filename (EvWindowTitle *window_title, 42 | const char *filename); 43 | void ev_window_title_free (EvWindowTitle *window_title); 44 | 45 | G_END_DECLS 46 | -------------------------------------------------------------------------------- /shell/evince-progress-message-area.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | 28 | 29 | -------------------------------------------------------------------------------- /shell/evince-sidebar.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | 24 | 25 | -------------------------------------------------------------------------------- /shell/evince-zoom-action.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | 21 | 22 | 23 | 3 24 | entry 25 | 26 | 27 | 28 |
29 | 30 | Fit Pa_ge 31 | win.sizing-mode 32 | fit-page 33 | 34 | 35 | Fit _Width 36 | win.sizing-mode 37 | fit-width 38 | 39 | 40 | _Automatic 41 | win.sizing-mode 42 | automatic 43 | 44 |
45 |
46 |
47 |
48 |
49 | -------------------------------------------------------------------------------- /shell/evince.css: -------------------------------------------------------------------------------- 1 | #ev-fullscreen-toolbar { 2 | -GtkToolbar-shadow-type: none; 3 | } 4 | 5 | #ev-loading-message { 6 | background-color: @theme_bg_color; 7 | color: @theme_fg_color; 8 | border-radius: 10px; 9 | padding: 10px; 10 | } 11 | 12 | .content-view.document-page { 13 | box-shadow: rgba(60, 64, 67, 0.2) 0px 2px 3px 1px, rgba(60, 64, 67, 0.3) 0px 1px 3px 1px; 14 | background-color: @theme_bg_color; 15 | } 16 | 17 | evview, .content-view { 18 | background-color: @theme_bg_color; 19 | } 20 | 21 | evview:selected { 22 | background-color: @theme_selected_bg_color; 23 | } 24 | 25 | evview.find-results:selected { 26 | background-color: alpha (@theme_selected_bg_color, 0.3); 27 | } 28 | 29 | evview.find-results:active { 30 | background-color: alpha (@theme_selected_bg_color, 0.6); 31 | } 32 | 33 | evview.document-page { 34 | background-color: white; 35 | caret-color: black; 36 | padding: 0; 37 | } 38 | 39 | evview.document-page.inverted { 40 | background-color: black; 41 | caret-color: white; 42 | } 43 | 44 | evsidebarthumbnails.page-thumbnail { 45 | background-color: white; 46 | border: 1px solid black; 47 | } 48 | 49 | evsidebarthumbnails.page-thumbnail.inverted { 50 | background-color: black; 51 | } 52 | 53 | @binding-set MoveCursor { 54 | unbind "p"; 55 | unbind "n"; 56 | } 57 | 58 | iconview { 59 | -gtk-key-bindings: MoveCursor; 60 | } 61 | 62 | @binding-set HorizontalScroll { 63 | unbind "Right"; 64 | unbind "Left"; 65 | } 66 | 67 | scrolledwindow { 68 | -gtk-key-bindings: HorizontalScroll; 69 | } 70 | 71 | evpresentationview { 72 | background-color: black; 73 | } 74 | 75 | evpresentationview.white-mode { 76 | background-color: white; 77 | } 78 | 79 | .inline-toolbar { 80 | border-width: 0 0 1px; 81 | border-radius: 0; 82 | } 83 | 84 | .content-view .combo { 85 | padding-left: 2px; 86 | padding-right: 2px; 87 | } 88 | 89 | .tnum { 90 | font-feature-settings: "tnum 1"; 91 | } 92 | -------------------------------------------------------------------------------- /thumbnailer/evince.thumbnailer.in: -------------------------------------------------------------------------------- 1 | [Thumbnailer Entry] 2 | TryExec=evince-thumbnailer 3 | Exec=evince-thumbnailer -s %s %u %o 4 | MimeType=@EVINCE_MIME_TYPES@ 5 | -------------------------------------------------------------------------------- /thumbnailer/meson.build: -------------------------------------------------------------------------------- 1 | input = 'evince.thumbnailer' 2 | 3 | configure_file( 4 | input: input + '.in', 5 | output: input, 6 | configuration: mime_types_conf, 7 | install: true, 8 | install_dir: join_paths(ev_datadir, 'thumbnailers'), 9 | ) 10 | 11 | thumbnailer_sources = files( 12 | 'evince-thumbnailer.c', 13 | ) 14 | 15 | thumbnailer_deps = [ 16 | libevdocument_dep, 17 | ] 18 | 19 | thumbnailer = executable( 20 | 'evince-thumbnailer', 21 | sources: thumbnailer_sources, 22 | include_directories: top_inc, 23 | dependencies: thumbnailer_deps, 24 | link_args: common_ldflags, 25 | install: true, 26 | ) 27 | --------------------------------------------------------------------------------