惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
D
Docker
GbyAI
GbyAI
宝玉的分享
宝玉的分享
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Vercel News
Vercel News
博客园_首页
Recent Announcements
Recent Announcements
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
S
SegmentFault 最新的问题
Microsoft Security Blog
Microsoft Security Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
V
V2EX
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
IT之家
IT之家
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

Martin Owens activity

Martin Owens deleted project branch average-color-divide at Inkscape / inkscape Fix divide-by-zero crash when using calligraphy tool (d34276f8) · Commits · Inkscape / inkscape · GitLab Fix divide-by-zero crash when using calligraphy tool (!7923) · Merge requests · Inkscape / inkscape · GitLab Add selection file to bypass Windows command length limits (correction) (865df7a5) · Commits · Inkscape / inkscape · GitLab Draft: Fix AppImage crashing during save on older distros (!7922) · Merge requests · Inkscape / inkscape · GitLab e71fa7f8e0858aab87b7fc0814a30a8c88da9b43 to fe225a6b9e1042c7221d95173be22a02b3725337 · Martin Owens / inkscape · GitLab 403 Forbidden on Inkscape web server (#693) · Issues · Inkscape / inkscape-web · GitLab 403 Forbidden on Inkscape web server (#13509) · Issues · Inkscape / Inbox · GitLab Add selection file to bypass Windows command length limits (correction) (!7917) · 合并请求 · Inkscape / inkscape · GitLab Non-vertical axonometric axis implementation (!7912) · Merge requests · Inkscape / inkscape · GitLab Update split mode on tab switch (!7915) · Merge requests · Inkscape / inkscape · GitLab inset/offset as app functions so they can be used from CLI (!7914) · Merge requests · Inkscape / inkscape · GitLab Performace regresion in last month (#5879) · Issues · Inkscape / inkscape · GitLab [Regression] Right-aligned text has a new gap in 1.4.4 (#6130) · Issues · Inkscape / inkscape · GitLab [Regression] Right-aligned text has a new gap in 1.4.4 (#13498) · Issues · Inkscape / Inbox · GitLab c503804e014994d611de1b225bee8158c06448a8 to a4588d8ead1e7049b90c5a126962746ed286ab17 · Inkscape / inkscape-web · GitLab Validate the extensions of signature file uploads (a4588d8e) · 提交 · Inkscape / inkscape-web · GitLab Allow color conversions using static arrays instead of just vectors (e71fa7f8) · 提交 · Martin Owens / inkscape · GitLab Speed up ungroup on thousands of items (!7908) · Merge requests · Inkscape / inkscape · GitLab Incorrect handling of FontMatrix and transformation matrices with internal PDF import (#4845) · Issues · Inkscape / inkscape · GitLab Handling edge case of negative fonts in PDF (59040229) · 提交 · Inkscape / inkscape · GitLab Handling edge case of negative fonts in PDF (!7911) · 合并请求 · Inkscape / inkscape · GitLab Allow color conversions using static arrays instead of just vectors (33e65d1b) · Commits · Martin Owens / inkscape · GitLab Allow color conversions using static arrays instead of just vectors (9be5f867) · Commits · Martin Owens / inkscape · GitLab a9672ea1dff483b5b3aa8c6b5d88cd223001bef5 to 512a5e57602ac52e1d35782a7dcebae04262b2b8 · Martin Owens / inkscape · GitLab Add selection file to bypass Windows command length limits (!7905) · 合并请求 · Inkscape / inkscape · GitLab Revert Pango label changes (1.4.x) (!7907) · 合并请求 · Inkscape / inkscape · GitLab Crash on selecting a `<text>` object without a `<tspan>` inside (#5462) · Issues · Inkscape / inkscape · GitLab Fix breakage with Ubuntu 26.04 CI (!7904) · 合并请求 · Inkscape / inkscape · GitLab c673fdd5148253276826d4eda3951daaefb82607 to 356b31383ba324396a225686613236484305533d · Martin Owens / inkscape · GitLab
4fad4dca7c8c63a60f68bf796b4cf1abdebb5f90 to dd1cf0272f1ef...
Martin Owens · 2026-04-22 · via Martin Owens activity

Commits on Source 30

  • 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.
  • Fix crash in shape builder · a592efa8
    karliss1 authored and karliss1's avatar karliss1 committed
    Long term storage of raw pointers for  objects which might have been erased by the time shape builder finishes is problematic.
    
    Fixes #6101
  • 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
    Vaibhav Malik authored and Vaibhav Malik's avatar Vaibhav Malik committed
    * 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
    Nagata Parama Aptana authored and Willy (Wen-Wei) Kao's avatar Willy (Wen-Wei) Kao committed
    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
    Ayan Das authored and karliss1's avatar karliss1 committed
    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
  • Update Color API preparing for new Rendering Engine · 39351ce9
    Added isDirect to Colors::Space::* which tells us if a color space is
    backed by a single icc profile, and no other processing steps with some
    public method cleanups.
    
    Removed Lab toXYZ and fromXYZ which were orphaned by previous commit.
    
    Reformatted CairoTransform into generic SurfaceTransform so it can work
    with any memory surface of pixels and in a greater number of data formats.
    
    Split out CMS transform class from SurfaceTransforms and use a base class
    Allowing for different assumptions with formatting and alpha premultiplication.
    
    Add a forward.h header to make including color namespaces easier and cleaner.
    
    Clean up generic testing utils for VectorIs Add colors and some better flexibility
    for arrays and vectors in testing.
  • Add Alpha color space · 0e172440
    This color space allows surfaces to be converted to luminosity masks
    and varius other useful alpha related filtering for the new rendering
    engine.
    
    We use lcms2 to hold the gray scale profile for quicker conversions.
    
    The transform-cms is modified so it can cope with outputs which do
    not have an allpha channel of their own. Tests for this are added.
  • New image pixel access and pixel filters · f929522f
    To support more color channels, and greater flexibility in our rendering
    engine, this new code impliments a new API for accessing pixel data in a
    cairo surface and expands it's capabilities so that they can work with
    floating point pixel data as well as CMYKA (5 channel) interpolations.
    
    The new interface makes heavy use of compile time templating for channel count
    and cairo surface formats.
    
    The primary use of this API is for filters. Each filter which depends on
    non-cairo functionality is recoded to use this new API and split out from
    their svg filter primitive and display object files so they can be unit tested.
    
    Threading and dispatch pool are held as light copies until the refactoring is
    completed and we can copy them to a central utility instead.
    
    Assistance from PBS (squashed):
    
    * Use requires instead of run-time checks.
    * Use more modern _v/_t instead of ::value/::type.
    * Fix const T* memory() calling itself in infinite loop.
    * Make some functions static (_primary_pos, _bilinear_interpolate).
    * Make _transform std::optional.
    * Convert G_BYTE_ORDER == G_LITTLE_ENDIAN to if constexpr, revealing
      missing glib.h header.
    * Use safemod for wrapping.
  • Build surface management engine · 09aa9c64
    To contain the multiple cairo surfaces and integrate with the pixel access code
    a new Surface class is made that stores references to cairo surfaces.
    
    PixelAccess objects of the right format can be run with filters to control the
    surface at a pixel by pixel level.
    
    A host of new tests are adding for each of the filters to make sure PixelAccess
    integration is correct for each one of them.
    
    Other Changes
    
     * Add forward declaration to colors API to smooth importing
  • Build context drawing engine · c06021a9
    We wrap the cairo context with our own multi-context engine
    which keeps track of the color space, can paint multi-surface
    CMYK rasters onto each other as well as translate between
    Inkscape geom, path objects to cairo instructions.
    
    Added many tests for each of the functionalities in cairo context
    drawing.
    
    Add README to explain the local code structures.
  • Add Drawing Filter stack to render SVG Filter Primitives · a125df15
    The stack mostly backs onto PixelFilters, but also onto the Surface
    and Context where upstream functionality can provide the output.
    
    The ColorSpace for the filter primitives are tied into the rendering
    process so filters are rendered in the correct space.
    
    Drawing options are refactored to be more concise for future use.
  • Copy of display/drawing* code · b7742c28
    This copy from display allows the differences to be seen more easily.
    
    display/drawing* -> renderer/drawing/drawing*
    display/surface* -> renderer/drawing/drawing-area* (might not be needed)
    display/tags* -> renderer/drawing/drawing-item-tags*
    display/nr-style* -> renderer/drawing/drawing-style*
  • Refactor DrawingItem and the rest of the Drawing stack for new rendering engine · dd1cf027
    The process used for this refactoring was a light touch on the logic. But
    the namespaces, and somme processes that were incompatible with the new
    surface and pixel filters had to be changed.
    
    The RenderContext was changed to DrawingOptions to better express what it is
    and the various options from filters and other parts of the pipeline were
    added so they aren't being passed around in addition.
    
    Pull in all uses of SPStyle into the DrawingStyle parsing and remove DrawingItem
    style variables to provide consistancy and remove duplication.