加载中
源代码提交 35
-
Do not update lpe items on selection change · 85e98c11
* Remove lpe update code from _selChanged. Changing the selection should not trigger an LPE update. * Originally, the removed code was added as part of undo fixes for LPE code. But it ended up patching the problem instead of fixing it in a semantically correct manner. The undo / redo issues are mostly related to improper transactions to the document from the path effect class. To address these issues, we should fix each live path effect individually instead of patching commonly used workflows as it could introduce performance regressions and unexpected updates to the document. Partially fixes: #1351
-
Fix building with Poppler 26.04.0 · 9fcd1ec7
Poppler's getString() et al now return &std::string and not *GooString. So functions that expected *Goostring have been modified to accept std::string, with wrappers for backwards compatibility Fixes #6090
-
Fix mime type of ODF extension · d3758f27
This looks like a copy&paste oversight. As a result, copying to the clipboard sometimes randomly ran the odf export code for the povray mime type, resulting in weird behaviour.
-
Refactor paint server data so the renderer works from data · c821845d
This allows the paint server code to be unit tested in later versions. There are some limitations to this refactoring including use of virtual functions instead of casting so we can use templates in renderers. ll SPObjects must implement their virtual functions, so the base classes all return empty objects where possible and this pushed the design in a certain direction for some calls. * Move sp-gradient spread, units and vector to sp-paint-server-data.h * Move mesh gradient patches data from display/drawing-paintserver to sp-paint-server-data * Allow SPPaintServer to be used as a template class in a renderer by providing data from sp-paint-server-data in a consistant way from the base class using virtual functions. * Add getPaintType and enum class to decide what type of paint server we have instead of cast * Add SPGradient virtual for gathering geometric gradient data for Lienar and Radial gradients * Add SPMeshGradient virtual for gathering mesh patches data for the Mesh gradient * Pack gradient geometric data into SPGradientVector and return in getGradientVector * Harmonize const and API between Mesh Gradients and Linear/Radial Gradients * Move add create_drawing_paintserver calls to display/drawing-paintserver in a single call * Remove `mg` MeshGradient pointer from MeshArray and remove back-linking. This indicates bad API design for some of these calls as the functions used mg and had little to do with the MeshArray but for now we just push the MeshGradient object back in as an argument. * Change drawing-paintserver constructors to take paint-server-data objects instead of individual arguments.
-
Cleanup SPIFloat and default values in styles · b233c4c0
Remove remaining uses of SCALE24_TO_FLOAT and FROM_FLOAT macros which were only used for SPIFloat and can easily be folded into the object itself. Harmonize the default data type use with SPIEnum, SPILength and SPIFontSize this allows the rendering engine nr-style.cpp to use the right rendering value which is always the computed value and not need to think about the internal implementation of the style variable between `value`, `computed` and will allow these variable to be made private in the future. Mikekov: Add `as_double` and `as_enum` getter functions for the new explicit interface.
-
Fix crash while using maximum scans in trace dialog · a52cf8ae
* In the multi-color autotrace mode, max scans is used to set the `color_count` value. It determines the number of colors a color bitmap is reduced to. The allowed values are 1 to 256. * The crash occurred because of incrementing scans value by 1 in multi-color autotrace mode while invoking setColorCount. Since, the maximum value allowed for the scan adjustment is 256, this'd result in color count being set to 257. Hence, resulting in a crash because of out of range value. Fixes: #5475
-
Speed up drawing cache insert · bfec9d1a
Use boost intrusive multiset instead of std::list, now insert takes O(log n) instead of O(n) with n number of items on canvas. Erase remains O(1). No more memory allocation or failure paths on cache insertion at the expense of slightly larger DrawingItem struct.
-
Fix Rotation and Undo History when rotated · 7c47c2c0
In 'transform_rotate', 'transform_rotate_step', and 'transform_rotate_screen' multiply the rotation angle by 'yaxisdir()' to ensures the visual rotation the action (CW vs CCW). calculate the visual angle' relative to 'yaxisdir()' for generating the Undo History message. Fixes: #5992
-
Converge canvas item text rendering to one place · 49be3c2c
On Windows, when rendering a Pango::Layout in _render, the result may be different from the rendering in _update. Converge it to a single function and use it in both update functions.
-
Fix breakage with Ubuntu 26.04 CI · 1a4da430
* Implement supersampling for CLI tests, allowing lower fuzz thresholds. * Merge l2compare.sh into check_output.sh to reduce duplication. * Always use L2 metric for fuzzy raster comparisons, not absolute error. * Fix 09-text-layout.svg to add 'arabic' css class to some text that was missing it, use 'Noto Sans Hebrew' for hebrew text, and re-show some cut-off text. Update bundled Noto Sans fonts that it depends on. * Fix test-store writing to source directory. * Update reference images and adjust fuzz. Only significant reference image change is the peppercarrot one, where some previously missing text ("日本語") actually appears now.
























