[graphics] improve line, text, ellipse execute events#22222
Open
linev wants to merge 18 commits into
Open
Conversation
Test Results 22 files 22 suites 3d 10h 46m 54s ⏱️ For more details on these failures, see this check. Results for commit 536e230. ♻️ This comment has been updated with latest results. |
DistanceToPrimitive, GetBoundingBox and ExecuteEvent have to use absolute pixel coordinates.
For non-opaque moving rectangle and marker are drawn.
Use provided base-class methods to recalculate pixels to text coordinates
There are several places where such method are used. First is BBox handling, second is ExecuteEvent handling
Allow to keep usage of NDC. Use new methods for coordinates calculation
Use new methods for coordinate conversion
First fill points for painting in the vectors and then perform painting. This clarify paint procedure and let reuse same code in other place
Significantly reduce number of static variables, use markers and FillPoints method to produce painting points for non-opaque paint. Fully avoid gVirtualX
It is used not by TEllipse, can be used in other classes
Provide helper method to draw polymarkers in both interactive and normal mode
Used now by some classes like TEllipse in ExecuteEvent
Now all 4 markers can be drawn together. Simplify logic how borders are handled, handle swap Fix coordinates calculation
Allow to draw marker also from ExecuteEvent Move line and fill attributes handling in QuartzMarker util - avoid code duplication
Used in many ExecuteEvent methods therefore better handle single points buffer with line attributes instead of multiple calls to gVirtualX->DrawLine
TGQuartz use internal vector for coordinates conversion Do not keep it while vector can be deleted afterwards
It is more direct usage of line drawings in GL instead of using `glRectd` with disabled polygon drawing
Now TEllipse paint at least 36 points when full 2Pi angle is covered Updating SVG which include ellipses Update tlatex0 ref values while it make small dots
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
These are classes which has special handling for non-opaque moving
In previous ROOT versions only simple line can be painted in such mode
This makes implementation of classes like
TEllipseugly.Add support of invert mode in all relevant painter places:
TPadPainterTGLPadPaintTGQuartzxor mode for polymarker and polylineProvide unified painting of
TEllipsefor normal and interactive drawing.Fix errors with absolute coordinates in
TTextandTLine.Remove
gVirtualXusage from all mentioned classses