-
-
Notifications
You must be signed in to change notification settings - Fork 114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor drawing subsystem #723
Commits on May 18, 2024
-
Extract "Ellips" primitive from a generic "Area"
Both ellipses and rectangles are drawn from a single object named "Area". Drawing logic depends on the source of an object: if it's from "rectangles" container, then draw a rectangle, otherwise draw an ellipse. This commit creates new separate "Ellips" type, which allows to: - hide a dedicated ellipsis rectangle drawing logic in a method associated only with "Ellips" objects - distinguish ellipses and rectangles by their types, not by the place they come from The name ("Ellips") has no "e" at the end because "Ellipse" conflicts with a painting with the same name, which is declared in the same namespace. I didn't want to go into any additional trouble and chose to go with this type of a "workaround".
Configuration menu - View commit details
-
Copy full SHA for 3d3c3ee - Browse repository at this point
Copy the full SHA 3d3c3eeView commit details -
Rename member "ellips" to "ellipses"
Some classes have members of container types, storing "Ellips" objects, i.e. ellipses. Just assigning a proper name.
Configuration menu - View commit details
-
Copy full SHA for 75484d7 - Browse repository at this point
Copy the full SHA 75484d7View commit details -
After extracting ellipse from "Area" to a separate class, "Area" means only a rectangle.
Configuration menu - View commit details
-
Copy full SHA for a2e7d8e - Browse repository at this point
Copy the full SHA a2e7d8eView commit details -
This is a helper function required for some future changes.
Configuration menu - View commit details
-
Copy full SHA for ba24ba4 - Browse repository at this point
Copy the full SHA ba24ba4View commit details -
Add "DrawingPrimitive" interface and its implementations
DrawingPrimitive is a common interface for the parts from which component's appearence is built: qucs::Line, qucs::Arc, qucs::Rect, qucs::Ellips, qucs::Text. With this commit they a turned from "dumb" POD to more "smart" objects. Common interface also allows to hide drawing logic and make drawing more convenient and easy for client code.
Configuration menu - View commit details
-
Copy full SHA for 599f9a9 - Browse repository at this point
Copy the full SHA 599f9a9View commit details -
Configuration menu - View commit details
-
Copy full SHA for a356fa4 - Browse repository at this point
Copy the full SHA a356fa4View commit details -
Configuration menu - View commit details
-
Copy full SHA for b5b7d5f - Browse repository at this point
Copy the full SHA b5b7d5fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 794b2d2 - Browse repository at this point
Copy the full SHA 794b2d2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e9e968 - Browse repository at this point
Copy the full SHA 4e9e968View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ba06d7 - Browse repository at this point
Copy the full SHA 3ba06d7View commit details -
Configuration menu - View commit details
-
Copy full SHA for a1813ee - Browse repository at this point
Copy the full SHA a1813eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1cf43cd - Browse repository at this point
Copy the full SHA 1cf43cdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 44dfae9 - Browse repository at this point
Copy the full SHA 44dfae9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 820ba2d - Browse repository at this point
Copy the full SHA 820ba2dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ee8364 - Browse repository at this point
Copy the full SHA 1ee8364View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0cbb383 - Browse repository at this point
Copy the full SHA 0cbb383View commit details -
Configuration menu - View commit details
-
Copy full SHA for c8af759 - Browse repository at this point
Copy the full SHA c8af759View commit details -
Configuration menu - View commit details
-
Copy full SHA for 17d4f0a - Browse repository at this point
Copy the full SHA 17d4f0aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 05c186b - Browse repository at this point
Copy the full SHA 05c186bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 423c887 - Browse repository at this point
Copy the full SHA 423c887View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7340b6d - Browse repository at this point
Copy the full SHA 7340b6dView commit details -
Configuration menu - View commit details
-
Copy full SHA for a6ef626 - Browse repository at this point
Copy the full SHA a6ef626View commit details -
Configuration menu - View commit details
-
Copy full SHA for e1c4ce7 - Browse repository at this point
Copy the full SHA e1c4ce7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3fb9458 - Browse repository at this point
Copy the full SHA 3fb9458View commit details -
Configuration menu - View commit details
-
Copy full SHA for b407e38 - Browse repository at this point
Copy the full SHA b407e38View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1dc52b0 - Browse repository at this point
Copy the full SHA 1dc52b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for c5ac979 - Browse repository at this point
Copy the full SHA c5ac979View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4c5a6fa - Browse repository at this point
Copy the full SHA 4c5a6faView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2476576 - Browse repository at this point
Copy the full SHA 2476576View commit details -
Configuration menu - View commit details
-
Copy full SHA for be88d06 - Browse repository at this point
Copy the full SHA be88d06View commit details -
Configuration menu - View commit details
-
Copy full SHA for c416126 - Browse repository at this point
Copy the full SHA c416126View commit details -
Configuration menu - View commit details
-
Copy full SHA for 99e11f6 - Browse repository at this point
Copy the full SHA 99e11f6View commit details -
Make Schematic::drawContents use QPainter-based drawing
Schematic::drawContents is the root of the "drawing" call stack: starting from this function the QPainter is passed down to diagrams, components, paintings, etc., using the QPainter-base "paint" methods prepared in previous commits. So, in this commit we're basically connect everyhing together to make the new drawing subsystem.
Configuration menu - View commit details
-
Copy full SHA for b97cf20 - Browse repository at this point
Copy the full SHA b97cf20View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8fd201e - Browse repository at this point
Copy the full SHA 8fd201eView commit details -
Configuration menu - View commit details
-
Copy full SHA for e9f5228 - Browse repository at this point
Copy the full SHA e9f5228View commit details -
Remove ViewPainter and related stuff
After switching everything to drawing using bare QPainter, a lot of ViewPainter-based stuff became unused and basically obsolete, including the ViewPainter itself.
Configuration menu - View commit details
-
Copy full SHA for 1a05e13 - Browse repository at this point
Copy the full SHA 1a05e13View commit details -
Remove unused functions from ImageWriter
These functions became unused after switching to QPainter-based drawing and printing.
Configuration menu - View commit details
-
Copy full SHA for 4a7dc25 - Browse repository at this point
Copy the full SHA 4a7dc25View commit details
Commits on May 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for f171eba - Browse repository at this point
Copy the full SHA f171ebaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4ae6c25 - Browse repository at this point
Copy the full SHA 4ae6c25View commit details
Commits on May 23, 2024
-
Configuration menu - View commit details
-
Copy full SHA for fd9e2fc - Browse repository at this point
Copy the full SHA fd9e2fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for f6fda4d - Browse repository at this point
Copy the full SHA f6fda4dView commit details