summaryrefslogtreecommitdiffstats
path: root/src/display/sp-canvas.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Make background color affect checkerboardtim_rawlinson2019-02-231-2/+3
|
* No longer use widget data to store pointer to desktop widget.Tavmjong Bah2019-01-201-2/+3
|
* Fix bug 1810206: Crash if XRay mode enabled (assertion failed in ↵Jabier Arraiza2019-01-071-65/+62
| | | | SPCanvas::paintXRayBuffer) and other improvements to XRay
* modernize loopsMarc Jeanmougin2019-01-021-8/+8
|
* Merge branch 'items-to-intrusive-list' of gitlab.com:ollip/inkscapeMarc Jeanmougin2019-01-011-38/+45
|\
| * Speed up de-selection by switching to more efficient intrusive list structureOlli Parviainen2018-12-261-38/+45
| | | | | | | | | | | | | | | | | | | | De-selection were slow for large path sets because disposal of SPCanvasItems needed to perform linear search through SPCanvasGroup::items linked list for every disposed item separately, meaning O(N^2) operation complexity. For large path sets this became excessively slow. To speed up the disposal operation, changed SPCanvasGroup::items from std::list to boost::intrusive::list that allows getting a linked list position iterator directly from SPCanvasItem pointer in constant time. This reduces the disposal operation complexity from O(N^2) to O(N). Testing with a large path set consisting of >100k items, de-selection became tens of times faster. Signed-off-by: Olli Parviainen <oparviai@iki.fi>
* | Fix toggle rullers in split view and improve speed and rendering to xrayJabier Arraiza2018-12-091-24/+35
|/
* desktop-widget: make rulers privateAlexander Valavanis2018-12-061-2/+5
|
* fix coding styleJabier Arraiza2018-12-041-25/+20
|
* Ready to review XRayJabier Arraiza2018-12-041-55/+51
|
* working on render XRayJabier Arraiza2018-12-041-15/+94
|
* Added XRayJabier Arraiza2018-12-041-27/+60
|
* Fix coding styleJabier Arraiza2018-12-011-141/+148
|
* Add scrool insensitive and reset if desktop change sizeJabier Arraiza2018-12-011-1/+18
|
* Move spliter from prefs to SPCanvas to allow multidesktopJabiertxof2018-12-011-94/+111
|
* Fixes to contoler position and auto hideJabiertxof2018-12-011-2/+5
|
* Allow drag controller on splitJabiertxof2018-12-011-6/+29
|
* Add some Martin fixes and UX improvementsJabiertxof2018-12-011-92/+38
|
* Add actions and cleanup cairo drawJabier Arraiza2018-12-011-119/+148
|
* Working on split controllerJabiertxof2018-12-011-20/+150
|
* Improve spliter and add outline mode functionalityJabier Arraiza2018-12-011-45/+63
|
* Adding line to move outlineJabier Arraiza2018-12-011-33/+115
|
* Improbements to eventsJabiertxof2018-12-011-27/+32
|
* working on eventsJabiertxof2018-12-011-9/+76
|
* Allow to redraw on dragJabier Arraiza2018-12-011-5/+4
|
* Handling cursor for dragin splitJabier Arraiza2018-12-011-5/+7
|
* Working with canvas to splitJabiertxof2018-12-011-22/+34
|
* Adding draggin areaJabier Arraiza2018-12-011-2/+31
|
* Adding minor fixesJabier Arraiza2018-12-011-4/+4
|
* Initial commit of split canvasJabiertxof2018-12-011-4/+52
|
* Clarify licensesMax Gaukler2018-11-081-1/+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
|
* Merge branch 'misc-typos' of gitlab.com:luzpaz/inkscapeMarc Jeanmougin2018-09-131-1/+1
|\
| * Several more typosluz.paz2018-09-111-1/+1
| |
* | Support smooth scrolling (part 1)Eduard Braun2018-09-111-0/+1
|/ | | | Allows panning / zooming / rotating the canvas smoothly.
* Run clang-tidy’s modernize-use-bool-literals pass.Emmanuel Gil Peyrot2018-06-181-1/+1
| | | | | This makes it clearer whether an integer or a boolean has to be passed in this specific call.
* Run clang-tidy’s modernize-use-nullptr pass.Emmanuel Gil Peyrot2018-06-181-69/+69
| | | | | This replaces all NULL or 0 with nullptr when assigned to or returned as a pointer.
* Revert "Fix include order with clang-tidy check llvm-include-order"Marc Jeanmougin2018-05-041-12/+12
| | | | This reverts commit bba4ff6672494fab59286b50f6c645ad62a47e60.
* Fix include order with clang-tidy check llvm-include-orderMarc Jeanmougin2018-04-291-12/+12
|
* Speed up removing items from SPCanvasGroupEduard Braun2018-03-121-2/+5
| | | | | | | | | | | | This shortcut is possible as there are no duplicate items in SPCanvasGroup. It reverts to the behavior before ab7cc89c4f9f938575e777530c31312cde116208 which introduced a severe performance regression when deselecting paths with many nodes while the node tool is active. Fixed bugs: - https://bugs.launchpad.net/inkscape/+bug/1652100 - https://bugs.launchpad.net/inkscape/+bug/1745763
* Store device-scale and propogate value where necessary.Tavmjong Bah2017-11-301-21/+26
| | | | | Avoids reliance on cairo_surface_get_device_scale. Also necessary for filters.
* Remove debugging code and other cleanup.Tavmjong Bah2017-11-241-105/+21
|
* Fix repainting.Tavmjong Bah2017-11-241-3/+21
|
* First attempt at supporting HiDPI on canvas.Tavmjong Bah2017-11-231-17/+152
| | | | | Rendering seems to work but has not been fully tested. Editting does not work.
* Remove need to restart Inkscape when changing tile multiplier.Tavmjong Bah2017-11-041-5/+2
| | | | Increase default and maximum values of tile multiplier.
* Fix crash in "New from template" dialogChristophe Lebras2017-07-041-19/+26
| | | | | | Selecting template in "New from template" dialog, causes Inkscape to crash because the method SPCanvas::paintSingleBuffer is called before _backing_store is initialized. Checking _backing_store value and returning if null, prebent crash.
* SPCanvas::paintSingleBuffer: Draw directly to _backing_storeUli Schlachter2017-07-011-12/+18
| | | | | | | | | | | | | | Before this commit, this function creates a new cairo image surface, draws the tile that it was told to redraw to this buffer and then uses cairo to copy the drawn data at the right position inside of _backing_store. Thus, the drawn data was copied around at least once. This commit changes the code so that it draws directly to _backing_store: We get the information from _backing_store and then create a new image surface from this that covers just the part that we should redraw. Thus, one copy of the data is avoided. Signed-off-by: Uli Schlachter <psychon@znc.in>
* SPCanvas: Use a similar image for _backing_storeUli Schlachter2017-07-011-4/+47
| | | | | | | | | | | | | | | | Cairo 1.12 adds the function cairo_surface_create_similar_image(). It works just like cairo_image_surface_create() in that it creates an image surface. However, when the passed-in surface is a cairo-xlib surface, the data of the image surface will be allocated in a shared memory segment. This makes it cheaper to have the X11 server access the surface since it does not need to be uploaded. To make use of this, a new _surface_for_similar member is added. This member is set to a (useless) surface in handle_draw(). On Linux this creates a cairo-xlib surface, so that _backing_store is latter allocated in a shared memory segment. Signed-off-by: Uli Schlachter <psychon@znc.in>
* Fix a small memory leak in SPCanvas::paintUli Schlachter2017-07-011-0/+3
| | | | Signed-off-by: Uli Schlachter <psychon@znc.in>
* Add preference that allows user to increase the canvas tile size.Tavmjong Bah2017-03-301-1/+7
| | | | | | A larger tile size vastly speeds up rendering for drawings with heavy filter use by reducing the need to recalculate filter effects that cross multiple tiles. (bzr r15614)