summaryrefslogtreecommitdiffstats
path: root/src/extension/internal/cairo-render-context.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* refactor SPIEnum: more type safetyThomas Holder2019-10-281-2/+2
| | | | | | fixes ungrouping of "font-weight:bolder" fixes "titling-caps" parsing fixes a casting error in CairoRenderContext::renderGlyphtext
* Add export/import PDF blend modes and add isolation modifierJabier Arraiza2019-10-191-0/+15
|
* Try to improve match of image-rendering values to cairo filtersPatrick Storz2019-09-221-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.
* Eliminate clang warningsThomas Holder2019-08-231-0/+2
| | | | | | | | | | -Wconstant-conversion -Wenum-compare-switch -Wpointer-bool-conversion -Wundefined-bool-conversion -Wunused-value Excluding deprecation warnings and 3rdparty directory.
* Move reproducible-builds hack out of CairoRenderContextPatrick Storz2019-07-101-43/+6
|
* cairo-renderer: set metadata in outputPatrick Storz2019-07-101-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
* cairo-renderer: / cairo-render-context: whitespace fixesPatrick Storz2019-07-101-6/+6
|
* Fix link export codeMarc Jeanmougin2019-07-041-4/+6
|
* Export links to pdf. Fixes https://gitlab.com/inkscape/inbox/issues/583Marc Jeanmougin2019-07-031-0/+12
|
* modernize loopsMarc Jeanmougin2019-01-021-7/+6
|
* Clarify licensesMax Gaukler2018-11-081-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
* Remove #include "config.h" wherever possibleEduard Braun2018-10-011-1/+1
|
* Use _WIN32 instead of WIN32Eduard Braun2018-10-011-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
* Fix opacity of bitmap images in PDF exportEduard Braun2018-08-281-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()
* Refactor with Tav helpJabier Arraiza2018-08-051-1/+1
|
* Revert changesJabier Arraiza2018-08-051-25/+3
|
* Allow inkscape handle units and percent in dasharray and dashoffset. Add ↵Jabier Arraiza2018-08-051-3/+25
| | | | pref optional to scale dashes on stroke scale
* Replace functions with methods in SPColor.Emmanuel Gil Peyrot2018-06-191-4/+4
|
* Run clang-tidy’s modernize-redundant-void-arg pass.Emmanuel Gil Peyrot2018-06-191-17/+17
|
* Run clang-tidy’s modernize-deprecated-headers pass.Emmanuel Gil Peyrot2018-06-181-5/+5
| | | | This renames most C <*.h> includes into C++ <c*> includes.
* Run clang-tidy’s modernize-use-nullptr pass.Emmanuel Gil Peyrot2018-06-181-35/+35
| | | | | This replaces all NULL or 0 with nullptr when assigned to or returned as a pointer.
* Fix typoMarc Jeanmougin2018-05-091-1/+1
|
* Make the command-line PDF output reproducible.Chris Lamb2018-03-181-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>
* Move classes derived from SPObject to own directory.Tavmjong Bah2018-01-301-10/+10
| | | | A lot of header clean-up.
* CairoRenderer: print warning if rendering failedEduard Braun2017-12-041-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.
* Proper fix for multipage PDF+Latex exportEduard Braun2017-12-041-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]
* Revert "Fix PDF+TeX output for text inside groups with clip/mask"Eduard Braun2017-12-041-32/+3
| | | | This reverts commit e4dea66a338824037b6c35b262aa8db4004b6581.
* Two fixes (should work on Linux now)Eduard Braun2017-11-211-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
* Fix printing multiple copies of a documentEduard Braun2017-11-201-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
* Misc. typosUnknown2017-11-071-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 ```
* Removed all GSList occurences in .h filesMarc Jeanmougin2017-10-011-7/+7
|
* [Bug #1417470] Fix PDF+TeX output for text inside groups with clip/maskMax Gaukler2017-06-131-3/+32
| | | | | Fixes Bug: - https://launchpad.net/bugs/1417470
* Fix PDF export with respect to 'image-rendering'.Tavmjong Bah2017-05-291-5/+5
| | | (bzr r15715)
* [Bug #1537497] Icon preview doesn't render background.tghs2017-01-251-1/+1
| | | | | | Fixed bugs: - https://launchpad.net/bugs/1537497 (bzr r15446)
* Rename <mesh> to <meshgradient> per SVG 2 CR specificiation.Tavmjong Bah2016-09-271-3/+3
| | | | | Note: <mesh> has been repurposed to be a special shape that tightly wraps a mesh gradient. (bzr r15137)
* Renamed children list in SPObjectAdrian Boguszewski2016-07-141-3/+3
| | | (bzr r14954.1.21)
* Second part of new SPObject children listAdrian Boguszewski2016-07-131-12/+11
| | | (bzr r14954.1.19)
* Add PDF/PS output support for 'paint-order' property.Tavmjong Bah2016-03-081-17/+73
| | | (bzr r14696)
* Support rendering of radial gradients with the 'fr' attribute. New in SVG 2.Tavmjong Bah2016-01-091-1/+2
| | | (bzr r14569)
* replaced remaining GHashTable with std::mapMarc Jeanmougin2015-12-091-7/+7
| | | (bzr r14504.1.16)
* static code analysisKris De Gussem2015-12-071-3/+3
| | | (bzr r14510)
* merged trunkTomasz Boczkowski2015-05-091-0/+1
|\ | | | | (bzr r14059.1.21)
| * fixes a few of jenkins warningsMarc Jeanmougin2015-05-081-0/+1
| | | | | | (bzr r14126)
* | renamed SPPattern methods to match coding styleTomasz Boczkowski2015-05-031-8/+8
| | | | | | (bzr r14059.1.20)
* | Introduced fixes after merge proposal reviewTomasz Boczkowski2015-05-031-1/+0
| | | | | | (bzr r14059.1.16)
* | merged SPPattern c++-sification from svgpaints branchTomasz Boczkowski2015-04-251-8/+8
|\ \ | |/ |/| (bzr r14059.1.2)
| * SPPattern c++-sification: replacing pattern_ functions by methods pt1Tomasz Boczkowski2014-05-271-8/+8
| | | | | | (bzr r13341.6.19)
| * SPPattern c++-sification: replaced guint by bool and enumTomasz Boczkowski2014-05-261-2/+2
| | | | | | (bzr r13341.6.16)
* | Enable PDF/PS/EPS export for gradient mesh (bug #1363369)Adrian Johnson2015-03-071-0/+5
| | | | | | (bzr r13971)
* | change default pdf import resolution to 96 dpiAlvin Penner2014-11-021-3/+3
| | | | | | (bzr r13660)