GNOME Bugzilla – Bug 557970
Merge vector layers GSoC Project
Last modified: 2018-05-24 12:26:42 UTC
I have cleaned up the patch considerably and already committed lots of code that is of general usefulness. What remains is the actual vector layer code. I will attach a patch on top of current SVN. The branch is hereby declared dead.
Created attachment 121382 [details] [review] The remaining patch
Created attachment 121525 [details] [review] Updated patch Updated for trunk, fixes some leaks and some coding style.
Created attachment 121595 [details] [review] Next version Correctly stroke and fill even if there is a selection.
Created attachment 122203 [details] [review] Updated for recent GimpItem API changes
Created attachment 125052 [details] [review] soc-2006-vector-layers-8.patch Updated patch that applies cleanly to trunk. Other than that the state is the same; before commiting Undo needs to work, currently it is broken.
Created attachment 134880 [details] [review] 0001-WiP-of-Vector-Layers-from-GSoC-2006.patch Updated patch for GNOME master, apply with `git am file.patch'. The only change is the use of gimp_drawable_get/set_tiles() instead of accessing those members directly since they are not exposed any longer.
Created attachment 140257 [details] [review] 0001-WiP-of-Vector-Layers-from-GSoC-2006.patch Updated for git master (added GIMP_IMAGE_ACTIVE_PARENT to gimp_image_add_layer() call.
Created attachment 140280 [details] [review] 0002-WiP-Undo-for-GSoC-2006-Vector-Layers.patch Initial code for undo that compiles. I could only stand hacking on this for a few hours, it almost bored me to death :P It's copied and modified code for the text layer undo. Perhaps we should abstract GimpTextUndo and base both GimpTextUndo and GimpVectorLayerUndo on the result. Probably not worth polishing the current undo system since we will need to rewrite it for GIMP 3.0 anyway.
I know that "rewrite" and "redesign" are your favorite words, but why exactly did the undo system need a redesign again?
To allow undo trees instead of just undo stacks, to allow macro recording in a sane way, and to make code more local and self contained. Right now undo code is all over the place. We need a GimpCommand with GimpCommand::execute() and GimpCommand::undo().
I agree with parts of that, but let's discuss that when i'm back from vacation ;)
*** Bug 68915 has been marked as a duplicate of this bug. ***
Created attachment 161505 [details] Patch to merged Vectors Layers in current git master. What is it : * Integration of the previous vectors layers patches onto current git master HEAD * Fixes compilation and linking issues * Enabling "Create Vector Layer" push button from vectors tool dialog. I guess it is really promising to have such a feature in gimp, but UI still needs improvements.
Created attachment 161507 [details] Vectors Layers combined with layer groups Using Vectors Layers in combination with layers group is really nice to have !
We still need to get undo to work properly before we can merge it to git master.
Created attachment 162085 [details] Patches to merge vector layers in current git master (including undo support) Updated my previous patch series, with what i think is the minimal undo support for vector layers. what have been done : * Rebasing old vector layer patches onto up to date git master * fixes compilation and linking issues. * layer vectors can be created directly from the vector tool option dialog. * Support for undo ( discard vector layer informations ) * Allows vector layers to have different names and to keep them different. * Support for more undo ( fill/stroke vector layer options )
Comment on attachment 162085 [details] Patches to merge vector layers in current git master (including undo support) Thanks, but still needs work: 1. Create a new image 2. Create a path 3. Create a layer from that path 4. Change fill color to red 5. Undo until initial satte of image 6. Redo as far as you can Expected result: Red fill color Actual result: Fill color still default white (removing 'patch' status because bugzilla chokes on non-diff patches when you try to review them)
I'm updating the 2.8 schedule and we won't have time to fix and stabilize this for 2.8, moving to 2.10.
Created attachment 166472 [details] Vector Layers support and undo fixes. Hi, Finally after some time, I guess I fixed most of the undo issues. At least, the undo/redo as far as you can reported by Martin, and another issue when removing only the path. Anyway, I agree with Martin that vector layers need more testings (and probably a re-design of the UI...) and have to be moved to the 2.10
Low priority compared to things on our roadmap, moving to Future
Hi everyone. I really, really want to be able to use vector layers, so I'm sponsoring it via FreedomSponsors for $20. Hopefully it'll catch more attention and the bounty will go up. http://www.freedomsponsors.org/core/issue/86/gimp-vector-layers Once you solve it (according to the acceptance criteria described there), just create a FreedomSponsors account and mark it as resolved (oh, you'll need a Paypal account too). Then I'll have a look and pay up.
I'm supporting Philip Horger on this. Added $10 to the bounty at FS. Regards Bastian.
Also adding $10 to the bounty. Keep up the good work, this sounds like a nice feature.
*** Bug 738348 has been marked as a duplicate of this bug. ***
Is there anything happening to this request? It would be really nice to have vector layers in GIMP, similarly to Paint Shop Pro, which has been supporting them for more than a decade. For example, if I have a dark blue rectangle with a 6-pixel-wide light blue border and I want to make the dark blue area wider then I cannot do it in gimp easily. In PSP I just have to modify some numerical attributes of the vectorial object. I know there is Inkscape for vectoral drawings but if I want to use vectorial and non-vectorial parts as well within an image then none of them is an option.
Created attachment 366092 [details] [review] 0003-Fixes-Compilation-and-linking-issues
Created attachment 366093 [details] [review] 0004-Creates-vector-layers-from-the-vector-tool-dialog
Created attachment 366094 [details] [review] 0005-Adding-discard-vector-informations-undo-support
Created attachment 366095 [details] [review] 0006-Adding-memsize-support-to-gimpvectorlayer
Created attachment 366096 [details] [review] 0007-FIX-Render-vector-layer-preserves-layer-s-name
Created attachment 366097 [details] [review] 0008-Adding-undo-support-to-vector-layers-fill-stroke
Created attachment 366098 [details] [review] 0009-Remove-has_alpha-field
Created attachment 366099 [details] [review] 0010-Remove-signal-is-moved-from-GimpVectorLayerOptions-t
Created attachment 366100 [details] [review] 0011-Grouping-both-undo-Remove-path-and-discard-vector-la
Created attachment 366101 [details] [review] 0012-Cleaning-code
Sorry for the spam, but it is much better to have this set of patches readily available for statistics and review.
Setting 2.10 milestone. I'll review these patches after 2.10 release, and hopefully (if all looks fine), this may happen for a 2.10.x.
If it applies cleanly to master, maybe push it to a branch?
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gimp/issues/282.