mhamedbenjmaa opened a new pull request, #9272: URL: https://github.com/apache/hop/pull/9272
Hops are drawn as straight lines from icon center to icon center, so they run across the icons they connect. This adds a **Hop line shape** option in Options > GUI with two values: - **Straight** (default): unchanged. - **Curved**: a smooth Bézier curve that leaves the source icon and enters the target icon on the side facing the other icon (left/right when the icons are further apart horizontally, top/bottom otherwise). The arrow sits just in front of the target icon. What follows the curve: - Drawing in pipelines and workflows, in Hop GUI, Hop Web and SVG export (`IGc.drawCubicCurve()`, drawn natively by `SwtGc` with an SWT `Path` and by `SvgGc` with `CubicCurve2D`; other `IGc` implementations fall back to a polyline). - The arrow, the hop icons (copy, error, info, true/false, parallel, row distribution) and the data / debug badges. - Hit testing: right-click on a hop and dropping a transform on a hop. - The Hop Web drag preview in `canvas.js`. The geometry lives in a new `HopPath` class, shared by the painters and the graphs. The setting is a user preference stored with the other GUI properties; nothing is written to pipeline or workflow files. Not in this change: routing around other icons. Tests: `HopPathTest` covers the side selection, end points, arrow angle, hit distance and the fallback to Straight. - [x] I hereby declare this contribution to be licensed under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0) <img width="1475" height="963" alt="image" src="https://github.com/user-attachments/assets/bdb23611-82a5-4e23-a090-18d24c30e5a1" /> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
