Now there are two pairs of inset/outset commands: one creates the SPOffset object and the other simply offsets a path, leaving it as a path. Which pair is linked to the menu commands can currently be changed by commenting/uncommenting within sp_selected_path_offset() and sp_selected_path_inset() in splivarot.cpp.
I propose the following UI:
- "Inset path" and "Outset path" commands act depending on the type of the selected object(s). For SPOffset objects, they increment/decrement radius by options.insetdistance (to be added to the preferences, no more relying on stroke width please!). For all other objects, they do one-time offset leaving objects as paths (or converting them to paths if necessary) also by options.insetdistance. If there are several objects selected, each one is treated according to its type.
- The third command, "Dynamic inset/outset", creates an SPOffset with zero radius. It also flashes to the statusbar, "Use node editor to inset/outset the path interactively."
If there are no objections, Fred, could you please implement these three commands and I will put them into the menu and in shortcuts. See this page on how to create/access a preferences value:
http://www.inkscape.org/cgi-bin/wiki.pl?HandlingPreferences
More issues:
- The splotches bug is fixed, but now interactive offsetting has become much slower. With a text string, I need to wait at least a second after dragging the control before it regenerates the path. Is this inevitable, or can it be optimized somehow?
- The quality of offset in SPOffset object is very good, however the sp_selected_path_do_offset() function creates ugly artefacts (e.g. try it on a text string) even when applied _only once_. Why the difference?
- Please use statusbar API to report errors, instead of g_warning:
http://www.inkscape.org/cgi-bin/wiki.pl?StatusBar
Whenever a command cannot perform its action, it must provide a reason for it in the statusbar. Also please don't forget to enclose all text strings shown to the user into _("...") so they can be translated.
_________________________________________________________________ Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963
On Wed, 2003-12-31 at 15:44, bulia byak wrote:
- "Inset path" and "Outset path" commands act depending on the type of the
selected object(s). For SPOffset objects, they increment/decrement radius by options.insetdistance (to be added to the preferences, no more relying on stroke width please!). For all other objects, they do one-time offset leaving objects as paths (or converting them to paths if necessary) also by options.insetdistance. If there are several objects selected, each one is treated according to its type.
- The third command, "Dynamic inset/outset", creates an SPOffset with zero
radius. It also flashes to the statusbar, "Use node editor to inset/outset the path interactively."
If there are no objections, Fred, could you please implement these three commands and I will put them into the menu and in shortcuts. See this page on how to create/access a preferences value:
Go ahead and do it like this for now. "Dynamic inset/outset" should probably also get a button like "Convert to path" has.
Long-term, I'm wondering if SPOffset's functionality would be best simply merged into either SPShape or SPPath (probably SPPath).
In that case, perhaps the node editor could provide a different style 'knot' (perhaps e.g. a green circle rather than a losenge/square) for adjusting the inset/outset (for all paths).
By default, paths would have no inkscape:outset attribute -- once the offset knot was dragged from its initial position (0 outset), the attribute would be added, and the original path data copied to an 'inkscape:path' attribute.
When the outset was present, the nodepath knots would use inkscape:path instead of the normal 'd' attribute. That way the user can still edit the original shape and watch the effect on the outset.
It might be nice to have an action (another application of 'convert to path', maybe?) to "flatten" the outset/inset path, removing inkscape:path and inkscape:outset.
-mental
It might be nice to have an action (another application of 'convert to path', maybe?) to "flatten" the outset/inset path, removing inkscape:path and inkscape:outset.
-mental
Yeah, the idea of an 'expand' is used in illustrator and freehand, where a shape's outline and offset, or appearance with styles is 'expanded' or flattened so that it is editable...
jon
participants (3)
-
bulia byak
-
Jonathan Phillips
-
MenTaLguY