1
0
mirror of https://gitlab.gnome.org/GNOME/evince synced 2024-07-05 00:59:07 +00:00
Commit Graph

7 Commits

Author SHA1 Message Date
Pablo Correa Gómez
273511ac39
libdocument: simplify freeing memory by better exploiting glib functions
Mostly g_clear_object and g_clear_pointer. But also some small
simplifications depending on the context.
2023-03-24 09:58:48 +01:00
Owen W. Taylor
6b50ba7172 Switch to specifying rendered output in pixels, not as a scale
Passing a scale to the backend meant that we were implicitly counting
on the backend code and front-end code to do exactly the same calculation
to get the rendered size of a page. Instead switch to passing a
target size in pixels to the backend.

This, among other things, allows us to make sure that we render at a size
that is integer device pixels in both X and Y directions.

ev-render-context.[ch]: Add ev_render_context_set_target_size() and
three helper functions:

 ev_render_context_compute_scaled_size(): get the pixel size to render at
 ev_render_context_compute_transformed_size(): size including effect of rotation
 ev_render_context_compute_scales(): get the corresponding xscale/yscale.

ev-jobs.[ch]: Add ev_job_thumbnail_new_with_target_size(), and pass the
target size for thumbnail and render jobs (which already had a target
size) to the backends.

backend/*: Use the helper functions rather than directly accessing
 render_context->scale.

ev-pixbuf-cache.c ev-view.c ev-view-presentation.c ev-sidebar-thumbnails.c
ev-window.c: Switch to passing target sizes rather than scales when
rendering.

https://bugzilla.gnome.org/show_bug.cgi?id=723431
2014-03-22 13:53:29 +01:00
Arun Persaud
19a00ed1cd Update FSF address everywhere.
updated where 'git grep Temple' showed an old address, not including po-files.

Fixes bug# 514607.

Signed-off-by: Arun Persaud <arun@nubati.net>
2010-04-05 11:24:46 +02:00
Carlos Garcia Campos
b8aebf2e1b Add EvPage so that we can hold a reference to the backend page. Form
2008-04-14  Carlos Garcia Campos  <carlosgc@gnome.org>

	* libdocument/Makefile.am:
	* libdocument/ev-page.[ch]:
	* libdocument/ev-render-context.[ch]: (ev_render_context_dispose),
	(ev_render_context_new), (ev_render_context_set_page):
	* libdocument/ev-form-field.[ch]: (ev_form_field_init),
	(ev_form_field_finalize), (ev_form_field_class_init):
	* libdocument/ev-document-forms.[ch]:
	(ev_document_forms_get_form_fields):
	* libdocument/ev-document.[ch]: (ev_document_get_page),
	(ev_document_get_page_size), (ev_document_get_page_label):
	* shell/ev-jobs.[ch]: (ev_job_thumbnail_dispose),
	(ev_job_render_run), (ev_job_thumbnail_new),
	(ev_job_thumbnail_run), (ev_job_print_run):
	* shell/ev-page-cache.c: (ev_page_cache_new):
	* shell/ev-pixbuf-cache.c: (job_page_ready_cb), (job_finished_cb),
	(check_job_size_and_unref), (add_job):
	* shell/ev-sidebar-thumbnails.c: (add_range):
	* shell/ev-view.c: (ev_view_form_field_get_region),
	(ev_view_form_field_button_create_widget),
	(ev_view_form_field_text_save), (ev_view_form_field_choice_save),
	(ev_view_handle_form_field), (ev_view_size_allocate),
	(get_selected_text):
	* shell/ev-window.c: (ev_window_refresh_window_thumbnail):
	* backend/pdf/ev-poppler.cc: (pdf_document_get_page_size),
	(pdf_document_get_page), (pdf_document_get_page_label),
	(pdf_document_render), (pdf_document_get_info),
	(pdf_document_document_iface_init),
	(pdf_document_thumbnails_get_thumbnail),
	(pdf_document_thumbnails_get_dimensions),
	(pdf_document_file_exporter_do_page),
	(pdf_selection_render_selection),
	(pdf_selection_get_selected_text),
	(pdf_selection_get_selection_region),
	(pdf_selection_get_selection_map),
	(pdf_document_forms_get_form_fields),
	(pdf_document_forms_form_field_text_get_text),
	(pdf_document_forms_form_field_text_set_text),
	(pdf_document_forms_form_field_button_set_state),
	(pdf_document_forms_form_field_button_get_state),
	(pdf_document_forms_form_field_choice_get_item),
	(pdf_document_forms_form_field_choice_get_n_items),
	(pdf_document_forms_form_field_choice_is_item_selected),
	(pdf_document_forms_form_field_choice_select_item),
	(pdf_document_forms_form_field_choice_toggle_item),
	(pdf_document_forms_form_field_choice_unselect_all),
	(pdf_document_forms_form_field_choice_set_text),
	(pdf_document_forms_form_field_choice_get_text):
	* backend/ps/ev-spectre.c: (ps_document_get_page),
	(ps_document_get_page_size), (ps_document_get_page_label),
	(ps_document_render), (ps_document_document_iface_init),
	(ps_document_file_exporter_do_page):
	* backend/tiff/tiff-document.c: (tiff_document_get_page_size),
	(tiff_document_render), (tiff_document_render_pixbuf),
	(tiff_document_file_exporter_do_page):
	* backend/pixbuf/pixbuf-document.c:
	(pixbuf_document_get_page_size):
	* backend/comics/comics-document.c:
	(comics_document_get_page_size), (comics_document_render_pixbuf):
	* backend/djvu/djvu-document.c: (djvu_document_get_page_size),
	(djvu_document_render), (djvu_selection_get_selected_text),
	(djvu_document_thumbnails_get_thumbnail),
	(djvu_document_file_exporter_do_page),
	(djvu_document_find_get_result):
	* backend/dvi/dvi-document.c: (dvi_document_get_page_size),
	(dvi_document_render), (dvi_document_thumbnails_get_dimensions),
	(dvi_document_thumbnails_get_thumbnail),
	(dvi_document_file_exporter_do_page):
	* backend/impress/impress-document.c:
	(impress_document_get_page_size),
	(impress_document_render_pixbuf):
	* thumbnailer/evince-thumbnailer.c: (evince_thumbnail_pngenc_get):

	Add EvPage so that we can hold a reference to the backend
	page. Form fields keep now a reference to the poppler page
	improving performance since we don't have to create/destroy the
	poppler field for every form operation. This will be needed for
	annotations too.

svn path=/trunk/; revision=3004
2008-04-14 17:07:39 +00:00
Christian Persch
1af6600934 Include config.h. Bug #504721.
2007-12-28  Christian Persch  <chpe@gnome.org>

	* **/*.c: Include config.h. Bug #504721.

svn path=/trunk/; revision=2787
2007-12-28 19:23:22 +00:00
Carlos Garcia Campos
2d1cbc42b4 Add support for thumbnails in ps backend. Fixes bug #164755.
2007-02-13  Carlos Garcia Campos  <carlosgc@gnome.org>
	* backend/ps/Makefile.am:
	* backend/ps/ps-document.[ch]: (ps_document_init), (ps_document_dispose),
	(document_load), (ps_document_load), (save_document),
	(save_page_list), (ps_document_get_n_pages),
	(ps_document_get_page_size), (ps_document_get_info),
	(ps_interpreter_page_rendered), (ps_async_renderer_render_pixbuf),
	(ps_interpreter_thumbnail_rendered), (ps_document_render_thumbnail),
	(ps_document_thumbnails_get_thumbnail),
	(ps_document_thumbnails_get_dimensions),
	(ps_document_document_thumbnails_iface_init):
	* backend/ps/ps.[ch]: (psgetpagebox):
	* backend/ps/ps-interpreter.[ch]:
	Add support for thumbnails in ps backend. Fixes bug #164755. 

svn path=/trunk/; revision=2323
2007-02-13 15:32:24 +00:00
Nickolay V. Shmyrev
13a0634925 Reorganize source tree.
2007-01-08  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>

	* Makefile.am:
	* backend/Makefile.am:
	* backend/comics/Makefile.am:
	* backend/djvu/Makefile.am:
	* backend/dvi/Makefile.am:
	* backend/ev-async-renderer.c:
	* backend/ev-async-renderer.h:
	* backend/ev-attachment.c:
	* backend/ev-attachment.h:
	* backend/ev-backend-marshal.c:
	* backend/ev-document-factory.c:
	* backend/ev-document-factory.h:
	* backend/ev-document-find.c:
	* backend/ev-document-find.h:
	* backend/ev-document-fonts.c:
	* backend/ev-document-fonts.h:
	* backend/ev-document-images.c:
	* backend/ev-document-images.h:
	* backend/ev-document-info.h:
	* backend/ev-document-links.c:
	* backend/ev-document-links.h:
	* backend/ev-document-misc.c:
	* backend/ev-document-misc.h:
	* backend/ev-document-security.c:
	* backend/ev-document-security.h:
	* backend/ev-document-thumbnails.c:
	* backend/ev-document-thumbnails.h:
	* backend/ev-document-transition.c:
	* backend/ev-document-transition.h:
	* backend/ev-document.c:
	* backend/ev-document.h:
	* backend/ev-file-exporter.c:
	* backend/ev-file-exporter.h:
	* backend/ev-image.c:
	* backend/ev-image.h:
	* backend/ev-link-action.c:
	* backend/ev-link-action.h:
	* backend/ev-link-dest.c:
	* backend/ev-link-dest.h:
	* backend/ev-link.c:
	* backend/ev-link.h:
	* backend/ev-render-context.c:
	* backend/ev-render-context.h:
	* backend/ev-selection.c:
	* backend/ev-selection.h:
	* backend/impress/Makefile.am:
	* backend/pdf/Makefile.am:
	* backend/pixbuf/Makefile.am:
	* backend/ps/Makefile.am:
	* backend/ps/ps-document.c: (push_pixbuf), (interpreter_failed),
	(ps_document_widget_event), (setup_pixmap), (setup_page), (input),
	(start_interpreter), (stop_interpreter), (document_load),
	(ps_document_next_page), (render_page):
	* backend/tiff/Makefile.am:
	* comics/Makefile.am:
	* comics/comics-document.c:
	* comics/comics-document.h:
	* configure.ac:
	* cut-n-paste/zoom-control/ephy-zoom-control.c:
	* djvu/Makefile.am:
	* djvu/djvu-document-private.h:
	* djvu/djvu-document.c:
	* djvu/djvu-document.h:
	* djvu/djvu-links.c:
	* djvu/djvu-links.h:
	* djvu/djvu-text-page.c:
	* djvu/djvu-text-page.h:
	* djvu/djvu-text.c:
	* djvu/djvu-text.h:
	* dvi/Makefile.am:
	* dvi/dvi-document.c:
	* dvi/dvi-document.h:
	* dvi/fonts.c:
	* dvi/fonts.h:
	* dvi/mdvi-lib/Makefile.am:
	* dvi/mdvi-lib/afmparse.c:
	* dvi/mdvi-lib/afmparse.h:
	* dvi/mdvi-lib/bitmap.c:
	* dvi/mdvi-lib/bitmap.h:
	* dvi/mdvi-lib/color.c:
	* dvi/mdvi-lib/color.h:
	* dvi/mdvi-lib/common.c:
	* dvi/mdvi-lib/common.h:
	* dvi/mdvi-lib/defaults.h:
	* dvi/mdvi-lib/dvimisc.c:
	* dvi/mdvi-lib/dviopcodes.h:
	* dvi/mdvi-lib/dviread.c:
	* dvi/mdvi-lib/files.c:
	* dvi/mdvi-lib/font.c:
	* dvi/mdvi-lib/fontmap.c:
	* dvi/mdvi-lib/fontmap.h:
	* dvi/mdvi-lib/fontsrch.c:
	* dvi/mdvi-lib/gf.c:
	* dvi/mdvi-lib/hash.c:
	* dvi/mdvi-lib/hash.h:
	* dvi/mdvi-lib/list.c:
	* dvi/mdvi-lib/mdvi.h:
	* dvi/mdvi-lib/pagesel.c:
	* dvi/mdvi-lib/paper.c:
	* dvi/mdvi-lib/paper.h:
	* dvi/mdvi-lib/pk.c:
	* dvi/mdvi-lib/private.h:
	* dvi/mdvi-lib/setup.c:
	* dvi/mdvi-lib/sp-epsf.c:
	* dvi/mdvi-lib/special.c:
	* dvi/mdvi-lib/sysdeps.h:
	* dvi/mdvi-lib/t1.c:
	* dvi/mdvi-lib/tfm.c:
	* dvi/mdvi-lib/tfmfile.c:
	* dvi/mdvi-lib/tt.c:
	* dvi/mdvi-lib/util.c:
	* dvi/mdvi-lib/vf.c:
	* dvi/pixbuf-device.c:
	* dvi/pixbuf-device.h:
	* impress/Makefile.am:
	* impress/common.h:
	* impress/document.c:
	* impress/f_oasis.c:
	* impress/f_oo13.c:
	* impress/iksemel.c:
	* impress/iksemel.h:
	* impress/imposter.h:
	* impress/impress-document.c:
	* impress/impress-document.h:
	* impress/internal.h:
	* impress/r_back.c:
	* impress/r_draw.c:
	* impress/r_geometry.c:
	* impress/r_gradient.c:
	* impress/r_style.c:
	* impress/r_text.c:
	* impress/render.c:
	* impress/render.h:
	* impress/zip.c:
	* impress/zip.h:
	* lib/Makefile.am:
	* lib/ev-debug.c:
	* lib/ev-debug.h:
	* lib/ev-file-helpers.c:
	* lib/ev-file-helpers.h:
	* lib/ev-gui.c:
	* lib/ev-gui.h:
	* lib/ev-tooltip.c:
	* lib/ev-tooltip.h:
	* libdocument/Makefile.am:
	* libdocument/ev-file-helpers.c:
	* pdf/Makefile.am:
	* pdf/ev-poppler.cc:
	* pdf/ev-poppler.h:
	* pixbuf/Makefile.am:
	* pixbuf/pixbuf-document.c:
	* pixbuf/pixbuf-document.h:
	* properties/Makefile.am:
	* ps/Makefile.am:
	* ps/gsdefaults.c:
	* ps/gsdefaults.h:
	* ps/gsio.c:
	* ps/gsio.h:
	* ps/gstypes.h:
	* ps/ps-document.c:
	* ps/ps-document.h:
	* ps/ps.c:
	* ps/ps.h:
	* shell/Makefile.am:
	* shell/ev-application.h:
	* shell/ev-sidebar-links.c:
	* shell/ev-sidebar-links.h:
	* shell/ev-utils.c: (ev_gui_sanitise_popup_position),
	(ev_gui_menu_position_tree_selection):
	* shell/ev-utils.h:
	* shell/ev-view.c: (ev_view_finalize):
	* shell/ev-window.c:
	* shell/main.c: (main):
	* thumbnailer/Makefile.am:
	* tiff/Makefile.am:
	* tiff/tiff-document.c:
	* tiff/tiff-document.h:
	* tiff/tiff2ps.c:
	* tiff/tiff2ps.h:
	
	Reorganize source tree.



svn path=/trunk/; revision=2197
2007-01-08 12:25:31 +00:00