summaryrefslogtreecommitdiffstats
path: root/src/extension/internal/cairo-render-context.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-10-28refactor SPIEnum: more type safetyThomas Holder1-2/+2
fixes ungrouping of "font-weight:bolder" fixes "titling-caps" parsing fixes a casting error in CairoRenderContext::renderGlyphtext
2019-10-19Add export/import PDF blend modes and add isolation modifierJabier Arraiza1-0/+15
2019-09-22Try to improve match of image-rendering values to cairo filtersPatrick Storz1-8/+13
Specifically image-rendering="crisp-edges" should use a scaling algorithm that does *not* blur edges. Unfortunately this only leaves CAIRO_FILTER_NEAREST, but seems to be the most suitable choice.
2019-08-23Eliminate clang warningsThomas Holder1-0/+2
-Wconstant-conversion -Wenum-compare-switch -Wpointer-bool-conversion -Wundefined-bool-conversion -Wunused-value Excluding deprecation warnings and 3rdparty directory.
2019-07-10Move reproducible-builds hack out of CairoRenderContextPatrick Storz1-43/+6
2019-07-10cairo-renderer: set metadata in outputPatrick Storz1-0/+38
- metadata is taken from the SVG document; - fields that are compatible with the target format (and also supported by cairo) are set accordingly
2019-07-10cairo-renderer: / cairo-render-context: whitespace fixesPatrick Storz1-6/+6
2019-07-04Fix link export codeMarc Jeanmougin1-4/+6
2019-07-03Export links to pdf. Fixes https://gitlab.com/inkscape/inbox/issues/583Marc Jeanmougin1-0/+12
2019-01-02modernize loopsMarc Jeanmougin1-7/+6
2018-11-08Clarify licensesMax Gaukler1-3/+2
- add license headers to everything - convert a few files from public domain or LGPL2.1+ to GPL2+ - some archaeology to clarify which files are from which library
2018-10-01Remove #include "config.h" wherever possibleEduard Braun1-1/+1
2018-10-01Use _WIN32 instead of WIN32Eduard Braun1-5/+5
The former is guaranteed to be set for any compiler targeting win32, the latter is implementation dependent (but works for gcc) See also http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system
2018-08-28Fix opacity of bitmap images in PDF exportEduard Braun1-1/+1
This is a follow-up to 1e31c41a0ef4b0f383d4f9d2941f643ae67ca646. As it turns out the same issue also applied to bitmap images embedded in the SVG. Replacing 'cairo_paint_with_alpha()' -> 'cairo_paint()' prevents reducing opacity when rendering the bitmap onto a cairo surface. Opacity should already be properly handled in CairoRenderContext::popLayer()
2018-08-05Refactor with Tav helpJabier Arraiza1-1/+1
2018-08-05Revert changesJabier Arraiza1-25/+3
2018-08-05Allow inkscape handle units and percent in dasharray and dashoffset. Add ↵Jabier Arraiza1-3/+25
pref optional to scale dashes on stroke scale
2018-06-19Replace functions with methods in SPColor.Emmanuel Gil Peyrot1-4/+4
2018-06-19Run clang-tidy’s modernize-redundant-void-arg pass.Emmanuel Gil Peyrot1-17/+17
2018-06-18Run clang-tidy’s modernize-deprecated-headers pass.Emmanuel Gil Peyrot1-5/+5
This renames most C <*.h> includes into C++ <c*> includes.
2018-06-18Run clang-tidy’s modernize-use-nullptr pass.Emmanuel Gil Peyrot1-35/+35
This replaces all NULL or 0 with nullptr when assigned to or returned as a pointer.
2018-05-09Fix typoMarc Jeanmougin1-1/+1
2018-05-04Revert "Fix include order with clang-tidy check llvm-include-order"Marc Jeanmougin1-11/+11
This reverts commit bba4ff6672494fab59286b50f6c645ad62a47e60.
2018-04-29Fix include order with clang-tidy check llvm-include-orderMarc Jeanmougin1-11/+11
2018-03-18Make the command-line PDF output reproducible.Chris Lamb1-0/+43
Whilst working on the Reproducible Builds effort [0], we noticed that inkscape generates output that is not reproducible: $ cp /usr/share/icons/gnome/scalable/places/debian-swirl.svg . $ inkscape -z debian-swirl.svg --export-width=25 --export-pdf=a.pdf $ sleep 1 $ inkscape -z debian-swirl.svg --export-width=25 --export-pdf=b.pdf $ sha1sum *.pdf bee6f300a8fce628e94febd0700fa97f90aa7b37 a.pdf 32f26595ec1957c7e714174e007c452f6cb5dd79 b.pdf This is affecting (at least) the "debian-astro" package: │ │ │ ├── ./usr/share/pixmaps/Debian-Astro-logo.pdf │ │ │ │ ├── pdftk {} output - uncompress │ │ │ │ │ @@ -357,15 +357,15 @@ │ │ │ │ │ << │ │ │ │ │ /Type /Catalog │ │ │ │ │ /Pages 1 0 R │ │ │ │ │ >> │ │ │ │ │ endobj │ │ │ │ │ 6 0 obj │ │ │ │ │ << │ │ │ │ │ -/CreationDate (D:20180315093948-12'00) │ │ │ │ │ +/CreationDate (D:20190418180346+14'00) │ │ │ │ │ /Producer (cairo 1.15.10 \(http://cairographics.org\)) │ │ │ │ │ >> │ │ │ │ │ endobj xref After applying this patch (which uses SOURCE_DATE_EPOCH [1]): $ export SOURCE_DATE_EPOCH=1521324801 $ […] $ sha1sum *.pdf 620bf8469600ab744ffa6fcc3eee4c6845f4f159 a.pdf 620bf8469600ab744ffa6fcc3eee4c6845f4f159 b.pdf This was originally filed in Debian as #893314 [2]. [0] https://reproducible-builds.org/ [1] https://reproducible-builds.org/specs/source-date-epoch/ [2] https://bugs.debian.org/893314 Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
2018-01-30Move classes derived from SPObject to own directory.Tavmjong Bah1-10/+10
A lot of header clean-up.
2017-12-04CairoRenderer: print warning if rendering failedEduard Braun1-1/+5
It happen often that the rendering was interrupted early but the final "cairo_surface_status" claims success which results in incomplete output but no user-visible warning.
2017-12-04Proper fix for multipage PDF+Latex exportEduard Braun1-2/+33
The previous implementation [1] allowed to sandwich text between graphical objects by outputting multiple (partial) PDF pages which are then stacked in the final document to reveal the full image. However this code failed for clipped/masked/transparent objects as those are treated specially by the renderer resulting in missing pages in the output causing [2]. The attempt to workaround this issue which was committed in e4dea66a338824037b6c35b262aa8db4004b6581 (now reverted) fixed document creation in LaTeX by inserting blank pages but did not actually fix the issue with clipped/masked/transparent objects typically resulting in a single page with the full image and all text put on top. This commit resolves the underlying issue, making the former workaround unnecessary and allowing for proper overlaying of text and arbitrarily clipped/masked/transparent objects Fixed bugs: - https://bugs.launchpad.net/inkscape/+bug/771957 [1] - https://bugs.launchpad.net/inkscape/+bug/1417470 [2]
2017-12-04Revert "Fix PDF+TeX output for text inside groups with clip/mask"Eduard Braun1-32/+3
This reverts commit e4dea66a338824037b6c35b262aa8db4004b6581.
2017-11-21Two fixes (should work on Linux now)Eduard Braun1-3/+2
- do not call cairo_show_page as the GtkPrintOperation seems to do that internally (calling it manually will emit the current page, clear it, and the cleared page seems to be emitted in error later) - we can (and should) still call cairo_surface_destroy as it's doing reference counting internally (we increase the reference count in CairoRenderContext::setSurfaceTarget) and won't actually destroy anything until the count reaches zero
2017-11-20Fix printing multiple copies of a documentEduard Braun1-4/+7
Previously only the first page was printed properly, all following pages were either blank or were not printed at all. This was caused by finishing/destroying the cairo surface of the cairo context associated with the GtkPrintContext used for printing which made it impossible to draw to it for any consecutive page Fixed bugs: - https://bugs.launchpad.net/inkscape/+bug/1733424 - https://bugs.launchpad.net/inkscape/+bug/490866
2017-11-07Misc. typosUnknown1-2/+2
Found using `codespell -q 3 -w --skip="*.svg,*.po,*.ts,./share/tutorials,./src/libavoid,./packaging/win32/languages,./man,./src/2geom" -I ../inkscape-whitelist.txt` whereby whitelist file contained: ``` dum iff glight substract te upto ```
2017-10-01Removed all GSList occurences in .h filesMarc Jeanmougin1-7/+7
2017-06-13[Bug #1417470] Fix PDF+TeX output for text inside groups with clip/maskMax Gaukler1-3/+32
Fixes Bug: - https://launchpad.net/bugs/1417470
2017-05-29Fix PDF export with respect to 'image-rendering'.Tavmjong Bah1-5/+5
(bzr r15715)
2017-05-29Fix PDF export with respect to 'image-rendering'.Tavmjong Bah1-5/+5
(bzr r15703.1.12)
2017-01-25[Bug #1537497] Icon preview doesn't render background.tghs1-1/+1
Fixed bugs: - https://launchpad.net/bugs/1537497 (bzr r15446)
2016-09-27Rename <mesh> to <meshgradient> per SVG 2 CR specificiation.Tavmjong Bah1-3/+3
Note: <mesh> has been repurposed to be a special shape that tightly wraps a mesh gradient. (bzr r15137)
2016-07-14Renamed children list in SPObjectAdrian Boguszewski1-3/+3
(bzr r14954.1.21)
2016-07-13Second part of new SPObject children listAdrian Boguszewski1-12/+11
(bzr r14954.1.19)
2016-03-08Add PDF/PS output support for 'paint-order' property.Tavmjong Bah1-17/+73
(bzr r14696)
2016-01-09Support rendering of radial gradients with the 'fr' attribute. New in SVG 2.Tavmjong Bah1-1/+2
(bzr r14569)
2015-12-09replaced remaining GHashTable with std::mapMarc Jeanmougin1-7/+7
(bzr r14504.1.16)
2015-12-07static code analysisKris De Gussem1-3/+3
(bzr r14510)
2015-05-08fixes a few of jenkins warningsMarc Jeanmougin1-0/+1
(bzr r14126)
2015-05-03renamed SPPattern methods to match coding styleTomasz Boczkowski1-8/+8
(bzr r14059.1.20)
2015-05-03Introduced fixes after merge proposal reviewTomasz Boczkowski1-1/+0
(bzr r14059.1.16)
2015-03-07Enable PDF/PS/EPS export for gradient mesh (bug #1363369)Adrian Johnson1-0/+5
(bzr r13971)
2014-11-02change default pdf import resolution to 96 dpiAlvin Penner1-3/+3
(bzr r13660)
2014-10-18Refactoring hatch to remove memory leaks (bad GTKish casting macros) and ↵Jon A. Cruz1-10/+11
uninitialized value. (bzr r13622)