Skip to content

updates for Cogent Canvas #1528

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

Draft
wants to merge 40 commits into
base: main
Choose a base branch
from
Draft

updates for Cogent Canvas #1528

wants to merge 40 commits into from

Conversation

rcoreilly
Copy link
Member

Some fixes needed to svg to make Cogent Canvas work.

@rcoreilly rcoreilly marked this pull request as draft May 19, 2025 09:01
rcoreilly added 28 commits May 19, 2025 13:22
…ng; key for cogent canvas which updates multiple sprites at a time and otherwise got into corrupted state with some sprites rendered before being all updated. also fixed key issue with path WriteGeom.
…simplifies most of the math involving them, especially on the canvas side.
…ul for many use-cases when viewing an SVG. also fix texteditor update on start of query-replace.
… system to update bound values for both Input and Change events, so it is always fresh. these are needed for proper undo handling in Canvas app.
…or text fields etc, so need this optional method to call when needed.
…t instead of having to search in the code for this every time..
… and body to widgets. also fixed saving of text elements in svg.
…lows the color picker to work. Add missing items to struct-tags docs. Add IconSize to styles: allows easy specification of icon size in a way that can be passed through chooser to the chooser menu -- minimal addition that elegantly solves this problem and makes canvas dashes and markers choosers actually functional.
…rangely missing. doesn't break any tests or demo but might cause a bit more overhead..
…y -- greatly simplifies tree icon size styling. switches needed some different logic but overall cleaner and controlled at the top-level of the switch instead of buried down inside the bits. overall gives the control at the top level where you want it!
… avoid duplicate names; Fixes #1007  Also exported functions needed in Canvas, and added DeleteSelected.
…vg.Group with no color! requires its own visible logic.
… are not exported (enum gen needs to respect that; doesn't currently). colors.Uniform returns nil if source color is nil, instead of a uniform wrapper -- verified this doesn't break any tests.
…rix2 "center" functions which were a wrong version of "about" logic which is now working correctly. also can get rid of the saving of geom stuff and just put gradients on nodes..
…ransforming nodes: use a simple BitCopyFrom of original node data instead of all the custom Read / Write geom, and store the node's own gradient points on the node itself, which gradient properties across new gradients and makes for much easier updating / editing of gradient geom. Got rid of all the faulty math32.Matrix2 center code which was incorrect version of About transforms. Everything is good except for our transform of the radius property on rasterx radius relative to the svg spec
…ale factors and then extract rotation and apply that to point during render, to put back into radius-based reference frame.
rcoreilly added 11 commits May 26, 2025 00:55
…gradient control points -- just store gradient transforms and update those. also fix key bug in reading gradients that prevented setting numbers < 0, which broke some test cases; also inkscape really wants its xlink:href instead of just plain "href" so we save those now.
… -- that is what the control values are set for..
…in() logic to use it, so you need to check in OnShow when opening first window..
… provides a much simpler way of doing blinking without external timers: just detect time since etc.
… an easy, core-conventional way without having to sort the list. And use keylist instead of ordmap. this _should_ be the last significant change for the canvas PR..
… significant fixes to texteditor cursor showing logic for new sprites code; ppath.Scanner reports Index() correctly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant