"SfR Fresh" - the SfR Freeware/Shareware Archive 
Member "inkscape-0.46/NEWS" of archive inkscape-0.46.zip:
As a special service "SfR Fresh" has tried to format the requested source page into HTML format using source code syntax highlighting with prefixed line numbers.
Alternatively you can here view or download the uninterpreted source code file.
That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
1 ------------------------------------------------------------------------
2
3 Inkscape 0.46
4
5 ------------------------------------------------------------------------
6
7 Highlights in this release:
8 * Paintbucket tool
9 * Tweak tool
10 * 3D Box tool
11 * Live path effects
12 * Color management
13 * New SVG filters and UI
14 * Native PDF and AI import
15 * XAML import/export
16 * Open Clip Art Library integration (import/export)
17 * Stock patterns
18 * Bitmap editing extension effects
19 * Full on-canvas gradient editing
20 * Engraver's Toolbox in the Calligraphic tool
21 * Touch selection
22 * Dockable dialogs
23 * Command-line access to verbs
24 * Snapping made usable
25 * "3D" / axonometric grid
26 * Angled guidelines
27 * Conversion of objects to guidelines
28 * Significant speed and interactivity improvements
29 * Hundreds of smaller features and bugfixes
30
31 Speed and interactivity
32
33 * In this version, Inkscape starts using the cairo library for
34 rendering. It is now used for outline mode display which, thanks to
35 using cairo and other optimizations, redraws faster by about 25%.
36 More impressive are memory savings: thanks to cairo, in outline
37 mode Inkscape now takes only about 50% of the memory used by 0.45
38 for the same file.
39
40 * Smart redraw directionality: With complex images and/or on slow
41 computers, you may have noticed that Inkscape redraws the screen
42 image in horizontal strips, and these strips are painted in order
43 from top to bottom. Now the redraw always starts at your mouse
44 cursor location and proceed upwards and downwards from it, so that
45 the area near the cursor is always redrawn first. This
46 significantly improves program's responsiveness in some situations.
47 For example, when you are node-editing part of a complex path, the
48 entire path needs to be redrawn on each change, but now this redraw
49 starts from the point you're working on. Moreover, the redraw is
50 interruptible, so each mouse movement starts new redraw from the
51 mouse cursor area. As a result, during such operations those parts
52 that you're working on redraw often and feel snappy and responsive,
53 while areas further away may lag behind more.
54
55 * Faster blur for exporting and high quality on-screen rendering:
56 Inkscape now uses an IIR (Infinite Impulse Response) filter for
57 blurring with large radius. This greatly improves the speed of blur
58 redraw at high zooms or in high-resolution export (or simply with
59 very large blur radius). On the other hand, the results are an
60 approximation to a true Gaussian blur, so a drawing may look
61 slightly different from the mathematically precise blur (usually
62 the differences are far from visible, though). This code is mainly
63 based on: Recursive Gaussian Derivative Filters by L.J. van Vliet,
64 I.T. Young and P.W. Verbeek (see the source code for more detailed
65 references).
66
67 Exporting drawings with blur was particularly slow in 0.45; some
68 files could take hours to export. Now this is fixed, in part by
69 the faster algorithm mentioned above and in part by a bugfix in
70 the export code. Now even the quite complex files with large
71 blurs export at high resolution in at most a few minutes.
72
73 * Minor improvements have been made to gradient rendering
74 performance.
75
76 * Dragging handles and nodes as well as dragging and transforming
77 objects by mouse became more responsive, so that working in complex
78 drawings and especially editing complex paths is noticeably easier.
79 In particular, this fixes the annoying latency issue where a node
80 or a handle could follow mouse cursor even after you release mouse
81 button after a drag.
82
83 * Moving objects, nodes, and gradient handles by cursor keys as well
84 as scaling and rotating objects from keyboard and zooming by keys
85 are much more responsive when working with complex slow-rendering
86 objects. Now, if you press and hold a key, your selection/zoom
87 level will quickly jump to the final position instead of going
88 through all the intermediate steps as before.
89
90 * Moving the cursor around in a file with large and complex paths has
91 become much snappier and more responsive. Previously, in extreme
92 cases Inkscape could freeze for seconds while catching up with the
93 mouse cursor; such delays are now eliminated.
94
95 * Several improvements make canvas panning and scrolling smoother and
96 more interactive in complex slow-rendering documents:
97
98 + When panning by the middle mouse button, Inkscape no longer
99 attempts to redraw the canvas while your mouse button is
100 pressed. Any redrawing only happens after you release the
101 mouse. As a result, the newly revealed parts of the canvas are
102 somewhat more "dirty" but the panning is smoother than before,
103 with few if any "hiccups".
104
105 + Redrawing the newly exposed parts of the canvas after
106 scrolling, especially diagonal scrolling, is now faster
107 because only the exposed areas are redrawn; before, this often
108 resulted in the entire screen being redrawn which was much
109 slower.
110
111 + Previously, if you started panning with middle button while
112 Inkscape is still redrawing screen in a complex drawing,
113 panning sometimes completely failed or moved canvas just a
114 little step. Now it is guaranteed to pan the canvas all the
115 way from mouse-press point to mouse-release point in any case,
116 even if sometimes it fails to show the intermediate positions.
117
118 + When pressing and holding Ctrl+arrows to scroll canvas,
119 Inkscape normally accelerates scrolling so that each next
120 scrolling step is bigger than the previous. Previously, in
121 complex drawings this acceleration sometimes got interrupted,
122 which made scrolling annoyingly bumpy and slow. Now this is
123 fixed so that scrolling is smoothly accelerated even in a
124 slow-rendering document.
125
126 + The default starting speed and acceleration of Ctrl+arrows
127 scrolling are slightly increased. (They are both settable in
128 Preferences.)
129
130 * Better responsiveness and more visual feedback in user interface:
131
132 + When you zoom, the zoom control on the right end of the
133 statusbar now updates immediately, not after screen redraw as
134 before.
135
136 + Many potentially slow commands (Save, Simplify, Combine, Break
137 Apart and others) now display a busy cursor and flash a
138 message in the statusbar (e.g. "Saving document...") while
139 they work.
140
141 + The statusbar messages displayed while you're drawing a shape
142 or a path in Pen tool do not lag behind the mouse movements.
143
144 * Combine and Convert to paths commands are now orders of magnitude
145 faster when applied to a selection with hundreds or thousands of
146 objects.
147
148 * The time it takes to snap to objects using the selector tool has
149 been reduced dramatically, which is most noticeable for snapping to
150 complex paths.
151
152 Tools
153
154 Paint Bucket tool
155
156 The new Paint Bucket tool works exactly as you would expect: click in
157 any area bounded on all sides and it will fill it with color. Being a
158 vector tool, however, Inkscape's Paint Bucket just creates a new path
159 that "fills in" the area in which you clicked.
160
161 How it works
162
163 It is important to note that the tool is perceptual, not geometric.
164 That is, when looking for the boundaries around the point you clicked,
165 it takes for such boundaries any visible color changes. This means that
166 filling will stop at gradients, blurs, and even the color boundaries in
167 imported bitmaps, but will ignore any paths or other objects that are
168 fully (or almost) transparent or for any other reason do not stand out
169 from the background. In short, it will work exactly as if you were
170 filling a rasterized version of your image in a bitmap editor like
171 Photoshop or GIMP - but will give you a vector object to work with.
172
173 For example, now you can scan a pencil sketch, import the bitmap into
174 Inkscape, and quickly fill all its cells with colors even without
175 tracing the bitmap first. This is a very convenient and interactive way
176 of digitizing your paper drawings, making the traditional bitmap
177 tracing unnecessary in many cases.
178
179 Internally, the tool works by performing a bitmap-based flood fill on a
180 rendered version of the visible canvas, then tracing the resulting fill
181 using potrace and placing the traced path into the document.
182
183 It places the rendered path onto the current layer, so you can have a
184 layer on top (for example, "Inks") and select the layer below
185 ("Colors") and do the fills so that they always appear below the Inks.
186
187 The resolution of the bitmap image used to perform the trace is
188 dependent upon your current zoom level -- the more zoomed in to an area
189 that you are, the higher the resolution of the bitmap-based flood fill.
190 So, if you are got a fill that is too imprecise, has rough corners, or
191 don't go into small nooks and appendices where it is supposed to go,
192 just undo, zoom in closer and repeat filling from the same point.
193 Conversely, if the fill leaks out through a small gap, zoom out to make
194 the gap less visible and fill again (or use the auto gap closing
195 parameter, see below).
196
197 Style
198
199 Like all object-creating tools, the Paint Bucket may use the last-set
200 style for the objects it creates (this is the default), or it can use
201 its own fixed style. You can switch between these modes on this tool's
202 page in Inkscape Preferences (Ctrl+Shift+P). As in all other tools, the
203 style swatch on the far right of the Controls bar shows the style that
204 will be used for the next fill object you create.
205
206 Controls
207
208 In the tool's Controls bar:
209 * Paint Bucket's perceptual fill can use either all visible colors or
210 specific color channels. Using the Fill by drop-down list, you can
211 restrict the fill algorithm to one the following channels:
212 + Red
213 + Green
214 + Blue
215 + Hue
216 + Saturation
217 + Lightness
218 + Alpha
219
220 * The Threshold (in per cent units) controls how large must be color
221 difference at a point (compared to the initial click point) to stop
222 the fill. Zero tolerance means only the area of strictly the same
223 color will be filled; the larger the tolerance, the easier it will
224 be for the fill to leak into adjacent different-color areas. The
225 default value is 10%.
226
227 * Using the Grow/shrink by parameter, you can control the amount of
228 inset/outset to be applied to the created fill path. Setting a
229 positive outset causes fill paths to be larger than the filled
230 bitmap area (good for eliminating anti-aliasing errors), while
231 setting a negative outset causes the path to be smaller. This works
232 much the same as the Outset and Inset path commands, except it's
233 done automatically after every fill.
234
235 * With the Close gaps parameter, you can make the Paint Bucket tool
236 ignore any gaps in the area boundaries that would normally cause
237 the fill to spill out of the desired area. There are four settings
238 to auto gap:
239 + None
240 + Small (close gaps up to 2 pixels in size)
241 + Medium (4 pixels)
242 + Large (6 pixels)
243
244 Note that setting this parameter to other than None may slow
245 down noticeably the filling of large areas.
246
247 Shortcuts
248
249 The tool's shortcuts are:
250 * Single click performs filling from the click point.
251
252 * Shift+click performs filling from the click point and then unions
253 the resulting path with the selected path. This way, if your first
254 attempt did not fill in all of the desired area, you can
255 Shift+click the remaining corner to fill it in separately and
256 combine the result with the result of the previous fill.
257
258 * Ctrl+click on an object simply changes that object's fill to the
259 current fill color of the tool, and Shift+Ctrl+click changes the
260 stroke to the current stroke color.
261
262 * Click and drag performs filling from all of the points that you
263 pass while dragging (you will see your path visualized by a red
264 line). From each point, the fill spreads to the neighbors with the
265 colors similar to that point - in other words, it's like clicking
266 with this tool at each point of the drag path and unioning the
267 results. This lets you easily fill an area occupied by a gradient
268 or blur - just drag from the darkest to the lightest points in the
269 area you want to fill.
270
271 * Alt+click and drag works similarly to simple drag, except from each
272 point of the drag path, the fill spreads to the neighbors (if any)
273 with the colors similar to the initial point (the point where you
274 started the drag). This lets you fill a series of similarly-colored
275 yet separated areas (for example, multiple cells in a cartoon) by
276 starting the drag in one of those areas, and alt+dragging the tool
277 through all the other areas.
278
279 Tweak tool
280
281 The Tweak tool is an exciting new way to edit drawings which largely
282 blurs the distinction between vector and raster editing. Instead of
283 meticulously selecting some objects and then performing an action on
284 the selection, you can now select all objects (or all objects you are
285 interested in) and apply the Tweak tool's brush to smoothly and
286 naturally change the shape or style of only those objects (or parts
287 thereof) that the brush touches.
288
289 The area of the tool's action - its brush - is marked by an
290 orange-colored circular outline that moves with your mouse cursor.
291 However, that area actually has no sharp boundaries; the power of the
292 tool's action falls off gradually, following a smooth bell-shaped
293 profile. This makes the tool act softly and smoothly.
294
295 The tool will work on any number of selected objects; for example, you
296 can select all (Ctrl+A) and "smear" your entire drawing by Push mode or
297 paint it by Color Paint mode. You can also apply it to groups of
298 objects; it will go into groups and act on individual objects inside
299 groups. If you're trying to use it without anything selected, it will
300 remind you by a statusbar message to select some objects.
301
302 Width
303
304 The width of the tool's brush, in the range from 1 to 100, can be
305 changed by the Width control in the tool's controls bar above the
306 canvas. You can also change width by Left and Right arrow keys (same as
307 in the Calligraphy tool) at any time (including during action) as well
308 as Home and End. Also, as in Calligraphy tool, the visible width of the
309 brush is independent of zoom; simply zooming in or out is often easier
310 than adjusting the width if you want to cover a smaller or larger area
311 of the drawing.
312
313 Force
314
315 The next control is Force which adjusts the power of the action, also
316 in the range from 1 to 100. You can also change width by Up and Down
317 arrow keys at any time (including during action).
318
319 If you have a pressure-sensitive tablet and your "Use pressure" button
320 on the right-hand end of the controls bar is on, then the force will
321 also depend on how hard you actually press your pen into your tablet,
322 changing in the range from zero to whatever you set in the Force
323 control. If all you have is a mouse, then the force will be constant
324 but still settable by the Force control.
325
326 Path editing modes
327
328 The Tweak tool has a number of modes, selectable by toggle buttons in
329 the tool's Controls bar and by keyboard shortcuts. Some of these modes
330 change the shapes of paths while others affect the colors of objects.
331 All these modes share the Width and Force controls but otherwise are
332 quite different. Let's look at the path editing modes first.
333
334 Unlike the Node tool, to edit paths with the Tweak tool you don't need
335 to worry about where the nodes of a path are and how to manipulate
336 them. You just apply the tool's brush to any point, and the selected
337 paths at that point will reshape smoothly and naturally - as if made of
338 soft jelly - regardless of where its nodes lie. If applied to a shape
339 or text object, the tool converts them to paths automatically.
340
341 While not very useful for technical drawings, tweaking paths will be
342 indispensable for artistic uses of Inkscape - cartoons, drawings,
343 sketches, anime, etc. This new functionality is somewhat similar to the
344 tools such as "Pucker" and "Bloat" in the latest versions of Adobe
345 Illustrator.
346
347 There are currently six path editing modes in the Tweak tool: Push,
348 Shrink, Grow, Attract, Repel, and Roughen.
349 * This default mode of the tool, Push, simply displaces the part of
350 the path under the cursor in the direction of the drag. The path
351 behaves like soft jelly, bending and bulging smoothly and
352 naturally. It's an easy way to produce various irregular, lifelike,
353 handmade-looking shapes starting from something as simple as an
354 ellipse or a calligraphic stroke. For parallel-stroke hatching
355 (engraving) done in the Calligraphy tool, pushing is an easy way to
356 bend, pinch, or curve the entire hatching uniformly.
357
358 * The Shrink and Grow are two opposite modes that move each point of
359 a path in a direction perpendicular to the path's surface at the
360 point, either inwards (Shrink) or outwards (Grow). This is similar
361 to the Inset and Outset commands, except that the Tweak tool can
362 act on a part of a path instead of the whole path.
363
364 For example, the visible lightness/darkness of an engraving
365 hatching may not exactly correspond to your artistic intention.
366 Also, the ends of Calligraphy pen strokes are often far from
367 ideal - they may be too blunt or have unsightly bends or blobs.
368 This is where the Tweak tool may help. Select all the strokes in
369 a hatching pattern and apply a light Shrink action where you
370 want the lines to become thinner (and the hatching to become
371 lighter), up until total disappearance. If you press hard,
372 shrinking works as an eraser, so you can easily clean the
373 strokes' ends to make them thin, sharp, and uniform. Conversely,
374 applying Grow makes strokes wider (i.e. the hatching becomes
375 darker).
376
377 Of course, shrinking and growing are useful not only for
378 calligraphic strokes. Same as with Push, with Shrink and Grow
379 you can sculpt any path, spawning smooth treacle-like appendages
380 with Inflating and carving holes with Melting. Unlike the "node
381 sculpting" mode in the Node tool, however, this does not require
382 adding new nodes to the shape.
383
384 * The Attract and Repel modes work by moving each affected point on a
385 path towards (Attract) or from (Repel) the cursor point. In some
386 cases this may look similar to Shrink and Grow, but the difference
387 is that shrinking/growing moves paths perpendicularly to the path
388 in each point, whereas attracting/repelling moves them to or from
389 the cursor regardless of the path shape. These modes are similar to
390 the Pinch effect in ; you can use them for various
391 central-symmetric distortions in parts of your paths.
392
393 * The Roughen mode does exactly this: roughens the edge of the path
394 without changing its overall shape. Slight roughening simply makes
395 the edge crooked and uneven; strong roughening tears and explodes
396 the edge into random blobs and splotches. Note that this operation,
397 especially with high Fidelity, adds a lot of nodes which increases
398 the size of your SVG document and may slow down Inkscape
399 considerably. In particular, pushing/melting/inflating of a
400 roughened path becomes much slower and more difficult, so it's
401 recommended to finalize the overall shape of a path first and
402 roughen it, if necessary, only as the final step.
403
404 See the screenshot at [136][1] for a few examples of using the path
405 editing modes of the Tweak tool.
406
407 Fidelity
408
409 Any tweaking of a path slightly distorts the entire path, including
410 even those parts that you didn't touch. These distortions are similar
411 to those that a Simplify command produces. The Fidelity value (also in
412 the range from 1 to 100, default is 50) allows you to control the
413 amount of these distortions. With a higher fidelity, the distortions
414 are less noticeable, but the path may end up having a lot of nodes
415 which inflates up the SVG size and slows down Inkscape.
416
417 The best value of Fidelity depends on the nature of your artwork. If
418 you're sculpting an amorphous blob, you can do with low fidelity of
419 about 20. If, however, you are pushing or inflating a text string (as a
420 single path) and want the letters outside the distorted area to remain
421 crisp and clean, you will need to raise fidelity to 80 or more.
422
423 Known problems
424
425 Known problems with the path editing modes in Tweak tool:
426 1. they don't work on open paths (an open path becomes closed if you
427 tweak it);
428 2. they are rather slow;
429 3. they quickly eat memory; and
430 4. they are sometimes buggy - thin calligraphic strokes may suddenly
431 disappear or change their shape drastically as you're melting or
432 inflating them.
433
434 For (4), it helps to increase Fidelity. Also, you can undo the bad
435 change and try again with less pressure on the pen - if you do your
436 thinning in several light touches instead of one heavy press, usually
437 you will be able to get the desired result without the buggy behavior.
438
439 Also, sometimes after roughening, further tweaking of a path becomes
440 impossible with this diagnostic:
441 WARNING **: Shape error in ConvertToShape: directedEulerian(a) == false
442
443 All these problems stem from the livarot library that we use for
444 geometric manipulation of paths. Fortunately, livarot is scheduled for
445 replacement by lib2geom, a new library now in development, so hopefully
446 these issues will be addressed then.
447
448 Color editing modes
449
450 The Color Paint and Color Jitter modes, unlike the path editing modes,
451 change the colors of objects instead of their shapes. Yet they share
452 enough common features with the path editing modes to be part of the
453 same tool: These modes also use a circular soft-edged brush controlled
454 by the Width and Force parameters on the Controls bar and affected by
455 the pen pressure (if you have a pressure-sensitive tablet).
456 * Color Paint applies the style of the tool to the selected objects
457 under the brush. The style of the tool is visible in the style
458 swatch at the rightmost end of the tool's control bar; it can be
459 changed by clicking on the color palette or by any other style
460 assignment command, such as Fill and Stroke dialog. (Note: unlike
461 all other tools, in Tweak tool in Color Paint mode you cannot
462 assign style directly to selected objects; any style-setting
463 command changes the tool's style instead.)
464
465 The fill from the tool's style applies to the fills of the
466 painted objects, and the stroke applies to the strokes. If the
467 tool's style has no fill or no stroke, it won't affect fills or
468 strokes, correspondingly. For example, if you want to color the
469 fills of objects blue but leave their strokes untouched, assign
470 blue fill to the tool's style (just click blue on the palette)
471 but set its stroke to None (middle-click the Stroke swatch in
472 the statusbar). Similarly, master opacity in the tool's style
473 affects master opacities of the touched objects (if the O
474 channel is on, see below).
475
476 This mode allows you to literally paint over objects, shifting
477 their colors towards the target style of the tool. For example,
478 if you paint with yellow fill over a blue-filled object, the
479 object will become greenish blue, then green, then yellowish
480 green, and end up being exactly the yellow color you're painting
481 with. This speed of this gradual transition depends on both
482 Force parameter and pen pressure; also, objects touched by the
483 periphery of the brush are less affected than those hit by the
484 brush center. Overall, using this tool is very similar to a soft
485 brush in a raster editor such as Gimp or Photoshop.
486
487 * Color Jitter mode does not apply any color, but instead jitters
488 (randomizes) the colors of the objects it touches. The force of the
489 action determines how strong is the randomization, i.e. how far the
490 colors deviate from the original values. This mode does not use the
491 tool's style.
492
493 Both modes work on flat fills and gradients; for gradients, the tool
494 takes into account not only the position of the entire object with
495 gradient, but also the position of each gradient stop relative to the
496 brush. This means that, for example, you can change the blue color only
497 in an object filled with blue-red gradient simply by painting over its
498 blue end with a brush small enough to not touch the red. (Note that
499 color tweaking does not create gradients on objects that used flat
500 color before, but only adjusts existing gradients in the drawing.)
501
502 See the screenshot at [140][2] for a few examples of using the color
503 editing modes of the Tweak tool.
504
505 Channels
506
507 Color Paint and Color Jitter honor the Channels control. This control
508 comprises the four buttons: H, S, L, and O, which allow you to turn on
509 and off the tool's action on the object's hue, saturation, lightness,
510 and opacity, correspondingly. For example, if you want to raise the
511 saturation of some part of your drawing without changing the hue,
512 select some maximum-saturation color (e.g. pure red) and turn off all
513 Channels buttons except S. Similarly, you can replace the hues without
514 affecting saturation or lightness (only H pressed), or lighten/darken
515 all colors without changing their hues and saturation (only L pressed).
516 Pressing O allows you to apply the master opacity from the tool's style
517 to the master opacity of objects (but not fill or stroke opacity).
518
519 Usage notes
520
521 Color painting with Tweak tool is similar, but not exactly analogous to
522 bitmap painting. Even though the tool itself works as a soft brush, it
523 still applies its color to vector objects, which behave as vector
524 objects usually do. For example, if you want to change the tint of the
525 face in your drawing, and if a hand in the drawing is part of the same
526 object as the face, that hand will change its tint too even if it's
527 located far from the point you are painting. (We foresee a "fracture"
528 command in one of the next versions of Inkscape which will help you
529 turn a monolithic object into a mosaic of small fragments that will be
530 then easy to paint with Tweak tool.) Still, even with this limitation,
531 color painting is a novel way of dealing with vector drawings which
532 allows you to quickly and intuitively make adjustments which would be
533 awkward and slow with traditional approach.
534
535 Drawings containing patterns or scatterings of small independent
536 objects are best suited for color painting with Tweak tool. Examples
537 include:
538 * freehand drawings with Calligraphy pen, consisting of many separate
539 strokes;
540
541 * gradient meshes imported from Adobe Illustrator files (Inkscape
542 renders these meshes as lattices of small polygons; while there's
543 no direct support for gradient meshes in Inkscape yet, color
544 painting on such lattices is almost as good);
545
546 * text converted to paths and with Break Apart command applied so
547 that each letter is a separate path;
548
549 * patterns made with the Tile Clones command; note that you need to
550 unset the fill and/or stroke on the original object and use the
551 Color tab to assign some initial color to the clones - this will
552 make them paintable with the Tweak tool without unlinking.
553
554 Moreover, color tweaking can be useful for compositions with a few
555 objects or even for single objects. Unlike all other color selection
556 methods, painting with the Tweak tool implements the color mixing
557 metaphor which is much more familiar to traditional artists than RGB
558 sliders or even the color wheel. For example, start with a rectagle of
559 pure blue color; then, pick different colors by Color Paint and apply
560 light touches with minimum Force and minimum pen pressure: add a little
561 green, a little brown, a little yellow, etc. until you have the exact
562 hue you need. Similarly, you can whiten or blacken any hue by admixing
563 white or black.
564
565 You can also use color tweaking to add a tint, darken/lighten,
566 saturate/desaturate, or color jitter your entire drawing. Just select
567 all in all layers, zoom out, choose a large brush width so it covers
568 all of the drawing, and apply a little color tweaking (with minimum
569 Force) that will therefore affect all visible objects.
570
571 Keyboard shortcuts
572
573 * W, Shift+F2: switch to the Tweak tool
574
575 * Shift+P: switch to the Push mode
576
577 * Shift+S: switch to the Shrink mode
578
579 * Shift+G: switch to the Grow mode
580
581 * Shift+A: switch to the Attract mode
582
583 * Shift+E: switch to the Repel mode
584
585 * Shift+R: switch to the Roughen mode
586
587 * Shift+C: switch to the Color Paint mode
588
589 * Shift+J: switch to the Color Jitter mode
590
591 * Left, Right, Home, End: change width
592
593 * Up, Down: change force
594
595 * mouse drag: act on selected path in the current mode
596
597 * Ctrl+mouse drag: temporarily switch to Shrink (while Ctrl is down)
598
599 * Shift+Ctrl+mouse drag: temporarily switch to Grow (while Shift+Ctrl
600 is down)
601
602 3D Box tool
603
604 Inkscape is a two-dimensional drawing tool. However, very often it is
605 used to create drawings or objects that appear three-dimensional. The
606 new 3D box tool helps you create such drawings by automating the most
607 common operation: creating a box in a given 3D perspective. The tool
608 automatically ensures that all sides of the box lie on the
609 corresponding perspective lines. We're not going to compete with
610 Blender - but even simple things can go a long way.
611
612 Currently in the 3D Box tool you can:
613 * Draw a 3D box by dragging on canvas; Shift+drag without releasing
614 the mouse button to extrude in Z direction.
615
616 * Adjust any of its 3 dimensions by handles. The 4 handles on the
617 front X/Y side resize it, the four ones on the back X/Y side
618 expand/contract the box in Z direction. With Shift, the functions
619 of handles on front and back sides are reversed. With Ctrl, the
620 side-resizing handles snap to the coordinate axes or diagonals.
621
622 * Move a 3D box "in perspective" by dragging its center; without
623 modifiers, movement occurs within the XY-plane (press Ctrl to
624 constrain the movement to the directions of the coordinate axes or
625 diagonals), with Shift the box moves parallel to the Z-axis.
626
627 * Adjust the vanishing points of a perspective by dragging them on
628 the canvas (see below) or toggling their states; all boxes sharing
629 this perspective are affected by a vanishing point move.
630
631 When several boxes are selected, all vanishing points of their
632 associated perspectives are shown on the canvas. If vanishing points of
633 different perspectives coincide, they are combined in a single
634 "dragger". Moving this dragger moves all the vanishing points
635 simultaneously and transforms the associated boxes accordingly. Note
636 that some non-selected boxes may also be reshaped if their perspectives
637 share the same vanishing point. Pressing Shift while moving the dragger
638 can be used to only transform the selected boxes, separating their
639 perspectives from the non-selected ones'. On the other hand, when a
640 vanishing point being dragged comes close enough to another one, both
641 snap together and are combined in a single dragger.
642
643 In SVG, a 3D box is represented as a group (svg:g) with a special
644 extension attribute (in Inkscape's namespace); this group contains the
645 6 quadrilateral paths representing the sides of the box. Only the 3D
646 box tool treats this object as a box; for all other tools it is just a
647 group, so you can select any of the paths by Ctrl+click, apply any
648 style to it, delete it, etc. You can of course transform the entire box
649 or any face in it using Selector or Node tools.
650
651 Keyboard shortcuts
652
653 * X, Shift+F4: switch to the 3D box tool
654
655 * The various kinds of parentheses, namely [ ], ( ), { }, can be used
656 to rotate infinite (i.e., parallel) perspective lines in X-, Y-,
657 and Z-direction, respectively. Closing parentheses rotate clockwise
658 and opening parentheses rotate counterclockwise. The angle of
659 rotation is taken from the preferences. Pressing Alt reduces the
660 amount of rotation to 1 screen pixel.
661
662 * When the 3D box tool is active, Shift+X, Shift+Y, and Shift+Z
663 toggle perspective lines in the corresponding direction between
664 "converging" and "parallel".
665
666 Gradient Tool
667
668 Selecting multiple stops
669
670 More than one gradient stop can be selected at a time. Shortcuts for
671 working with multiple stop selections are generally modeled on the Node
672 tool.
673 * Add a stop to the selected stops by Shift+click.
674 * Press Ctrl+A to select all stops in the selected objects.
675 * Shift+drag around stops to add them to selection.
676
677 Multiple selected stops:
678 * Can be moved together by mouse drag or by arrow keys. For example,
679 creating a linear gradient, then press Ctrl+A to select all stops
680 and use arrow keys to move the entire gradient as a whole.
681 * Can be deleted at the same time by pressing Del.
682
683 An always up-to-date description of the current handle selection is
684 provided in the statusbar in the Gradient tool, including the number of
685 selected handles (and the type of the single selected handle), as well
686 as the total number of handles and selected objects.
687
688 Editing intermediate stops
689
690 Intermediate stops in gradients can be added, deleted, and edited on
691 canvas (previously this was only possible in the Gradient Editor
692 dialog).
693 * Stops can be added by double clicking or by Ctrl+Alt+Click on the
694 gradient line. Also, you can drag-and-drop a color from the palette
695 onto the gradient line to create a new stop with this color.
696 Dropping a color on an existing stop changes the color of that
697 stop.
698 * When two or more adjacent stops are selected, pressing Ins adds
699 stops in the middles of all selected stop intervals.
700 * Intermediate stops can be mousedragged or moved by arrow keys along
701 their gradient line, within the limits of the adjacent unselected
702 stops (or end handles).
703
704 + Dragging with Ctrl moves the selected stops snapping them to
705 1/10 fractions of the available range.
706 + Dragging with Alt moves the selected stops depending on how
707 close each one is to the stop being dragged, using a smooth
708 bell-like curve similar to the node sculpting feature in Node
709 tool. This makes it easy to approximate different gradient
710 profiles; for example, if you have a two-stop gradient that
711 you want to shape according to a curve profile, select both
712 ends of the gradient, press Ins a few times to add a number of
713 intermediate nodes, then Alt+drag a node in the middle to
714 smoothly profile the gradient.
715
716 * Stops can also be moved by arrow keys with all the regular
717 modifiers (Shift for 10x movement, Alt for pixel-size movement at
718 the current zoom, Shift+Alt for 10 pixels movement at the current
719 zoom).
720 * Stops can be deleted by Ctrl+Alt+Click on a stop or by the Del key
721 for all the selected stop(s).
722
723 + When you delete an end stop, the nearest intermediate stop
724 becomes the new end stop of the gradient (without moving -
725 i.e., the gradient span becomes shorter).
726 + When you delete an end stop and there are no intermediate
727 stops, the object will be painted with a solid fill taken from
728 the color & opacity of the remaining stop.
729
730 * Pressing Ctrl+L with some intermediate stops selected attempts to
731 simplify the selected portion of the gradient, removing those stops
732 that can be removed without too much change in the way the gradient
733 looks. In particular, new stops created by double-clicking or
734 pressing Ins initially do not change the appearance of the
735 gradient, so if you press Ctrl+L, all redundant stops that weren't
736 moved or repainted since creation will be deleted.
737
738 Style of gradient stops
739
740 * When you have one of the gradient handles selected, its style
741 (color and opacity) is reflected by the selected style indicator
742 (left of the statusbar) and the Fill&Stroke dialog. Previously,
743 opacity of a gradient handle was reflected as fill-opacity and
744 stroke-opacity; now it is reflected as master opacity (the "O:"
745 spinbutton in the selected style indicator, the "Master opacity"
746 slider in Fill&Stroke). This makes it much easier to view and
747 change opacity of gradient handles using only the selected style
748 indicator in the statusbar.
749
750 + When multiple gradient stops are selected, the selected style
751 indicator (in the statusbar) displays and controls the
752 averaged color and opacity of the selected stops.
753
754 * When one or more gradient stops are selected, using the Copy
755 command (Ctrl+C) copies to the clipboard the style (color and
756 opacity) of the selected stop or the averaged style of several
757 selected stops, not the entire object with gradient as before. This
758 means you can now copy/paste style between stops: select the source
759 stop(s), copy, select the destination stop(s), paste style
760 (Ctrl+Shift+V). With several selected stops, this also allows you
761 to easily average their colors and opacities by copying them and
762 pasting the style back onto them. (After that, redundant gradient
763 stops can be removed by simplification with Ctrl+L).
764 * If the selected object(s) have gradient in fill or stroke, the
765 selected style indicator in the bottom-left corner of the editing
766 window now displays a live gradient preview prefixed by R or L to
767 indicate Radial or Linear gradients (instead of displaying "L
768 Gradient" or "R Gradient" text labels as before). Also, this and
769 other similar widget now use italic font face to indicate None and
770 bold to indicate Unset.
771
772 Automatic duplication of gradients
773
774 When copy/pasting or duplicating an object with gradient, it now
775 automatically gets a copy of the original gradient, so modifying it
776 does not affect the source object's gradient anymore (before, you had
777 to press the Duplicate button on the Gradient controls bar for this).
778 The Duplicate button is therefore removed.
779
780 However, to accommodate the needs of users who have relied on sharing
781 the same gradient definition across objects, this behavior can be
782 optionally suppressed. The Prevent sharing of gradient definitions
783 checkbox on the Misc tab of Inkscape Preferences is by default checked;
784 if you uncheck it, Inkscape does not automatically copy gradient
785 definitions for new objects, which means that copy/pasting,
786 duplicating, pasting style, and explicit assignment of a gradient to an
787 object via the Gradient tool controls results in a shared gradient
788 definition, so that changing the colors or mid-stop positions of the
789 gradient on one object (but not changing the coordinates of the end
790 handles) affects all other objects that share the same definition.
791
792 Calligraphy tool: Engraver's Toolbox
793
794 Several new features were added to the Calligraphic pen to make
795 Inkscape capable of the ancient art of line engraving. Traditional
796 engraving is a very labour-intensive process, and while for a long time
797 it was the only practical way of reproducing lifelike images in
798 black-and-white print, about a century ago it was almost completely
799 displaced by automatic halftone screens. However, line engravings have
800 their characteristic charm, and there's no reason not to try to
801 resurrect this art form with the help of Inkscape.
802
803 A brief visual guide to the new functionality can be seen on these
804 screenshots:
805
806 http://inkscape.org/screenshots/gallery/inkscape-0.46-engraving1.png
807
808 http://inkscape.org/screenshots/gallery/inkscape-0.46-engraving2.png
809
810 Tracking a guide path with Ctrl
811
812 One of the most common operations in line engraving is hatching (or
813 sometimes cross-hatching when several hatching grids cross): filling a
814 space with many parallel straight or variously curved lines (usually of
815 varying width to represent a gradual shading). You could try to achieve
816 a similar effect with e.g. path interpolation (blending), but it is
817 rather cumbersome and limited; manual drawing of hatch lines, on the
818 other hand, is tedious and nearly impossible to do uniformly. Now
819 Inkscape provides "assisted hatching" by tracking a guide path,
820 allowing you to hatch quickly and uniformly and at the same time giving
821 you sufficient manual control over the process.
822
823 Here's how to do this. First, select the guide path that you will
824 track. It may be another calligraphic stroke, any path or shape, or
825 even a letter of a text object. Then switch to Calligraphic pen, select
826 the desired parameters (line width, angle, fixation etc.) and, before
827 starting to draw, press Ctrl. You will see a gray track circle centered
828 at your mouse pointer and touching the closest point on the selected
829 guide path. (If you have no guide path selected, a statusbar message
830 will tell you to select it.)
831
832 Now move your mouse close to the guide path, so that the track circle
833 radius is equal to the desired spacing of your hatch pattern, and start
834 drawing along the guide path. At that moment, the radius of the circle
835 gets locked; now the circle slides along the guide path - and the
836 actual stroke is drawn by the center of the tracking circle, not by
837 your mouse point. As a result, you are getting a smooth stroke going
838 parallel to the guide path and always at the same distance from it.
839
840 When the stroke is ready, release your mouse button (or lift your
841 tablet pen) but do not let go of the Ctrl key because as long as you
842 have it pressed, the tool remembers the hatch spacing you set when you
843 started drawing. Now, you have just created a new stroke and, as usual
844 with Inkscape tools, it gets selected instead of what was selected
845 before. In our case, this means that the newly drawn stroke itself
846 becomes the new guide path. Next, you can draw a second stroke along
847 the first one, then a third one along the second, etc. Eventually you
848 can fill any desired space with uniform hatching.
849
850 Alternatively, if you uncheck "Select new path" in the Calligraphy tool
851 preferences, newly created strokes will not be selected, so your
852 original guide path will be kept selected. In this mode, Inkscape will
853 increase the tracking distance after each created stroke so that you
854 can create uniformly spaced hatching by tracking a single guide path.
855
856 The attachment to the guide path is not absolute. If you stray your
857 mouse pointer far enough from the guide path, you will be able to tear
858 it off (the track circle turns from green to red) and move freely. This
859 is intentional; this feature allows you, for example, to continue
860 drawing a stroke past the end of a guide stroke, thus making your
861 hatching cover a wider area than the initial guide path. Special care
862 is taken to make such tearing off as smooth as possible and to suppress
863 violent jerks, but this is not always possible; the general advice is
864 to not try to hatch too fast. If jerking and unintended tearoffs still
865 bother you, try increasing the Mass parameter.
866
867 Also, special code is in place to prevent flipovers - accidental jumps
868 to the other side of the guide path. Brief flipovers are suppressed,
869 but if you intentionally go over to the other side and stay there,
870 eventually Inkscape will obey and your tracking stroke will also flip
871 over to follow you.
872
873 Tracking a guide also allows some slight feedback by gradually changing
874 the tracking distance in response to your drawing behavior. Thus, if
875 you're consistently trying to draw closer or farther from the guide
876 than the current tracking distance, the distance will correspondingly
877 decrease or increase, so you will get a hatching that is slightly
878 spacing in or out. (The effect is very slight, however, so as not to
879 become a nuisance.) Also, note that since tracking follows the edge of
880 the stroke, strokes of varying width (such as those tracing background,
881 see below) will result in gradual bending of the hatching pattern as
882 you proceed.
883
884 Tracing background by stroke width
885
886 There is a new toggle button on the Calligraphy tool's controls bar,
887 Trace background. When on, the width of your pen depends on the
888 lightness of the background under the stroke in each point, so that
889 white translates into the minimum stoke width (1) and black translates
890 to the maximum (which is set by the Width parameter). This can work
891 alone or in combination with pressure sensitivity, depending on whether
892 the "Use pressure" button is also toggled.
893
894 This feature allows you to not only hatch over an imported bitmap image
895 or any drawing, but to do so automatically reproducing the highlights
896 and shades of the background with your strokes becoming lighter and
897 heavier as needed.
898
899 Misc features
900
901 * For consistency with other drawing tools, drawing with Shift in
902 Calligraphy tool automatically unions the newly created stroke with
903 whatever paths were selected (and selects the result). Thus, you
904 can do a series of overlapping Shift+strokes to create one unioned
905 path object instead of separate objects as before.
906
907 * To facilitate changing the Width parameter, the Home/End keys in
908 Calligraphy tool switch you to the minimum (1) and maximum (100)
909 width, correspondingly. (This is in addition to the Left/Right
910 arrow keys that change Width by 1; remember also that you can press
911 Alt+X, type any width, and press Enter.)
912
913 Selector
914
915 * A new selection mode is available: selecting by touch. In this
916 mode, you draw a freehand path across the objects; when you release
917 mouse button, all objects that are touched by this path get
918 selected. This mode is very convenient in situations where you need
919 to select objects so intermingled that selecting them by the
920 rectangular rubberband is too difficult and so numerous that
921 click-selecting them one by one is too tedious.
922
923 To activate selecting by touch, whenever you are drawing a
924 rubberband rectangle, just press Alt to switch it to the touch
925 mode. The rectangle will disappear and a red touch path will be
926 shown instead. When dragging from an empty space, you can press
927 Alt first and then start to drag to get the touch mode (note
928 that your selection must be empty, otherwise Alt+dragging will
929 move the selected objects instead). To start a touch selection
930 from a point over an object, or to add to existing selection by
931 touching, press Shift+Alt and then start to drag.
932
933 * Previously, the only way to switch selection from scale mode to
934 rotate mode or back was to click on it, which was rather
935 inconvenient when the selected object is in a group or under other
936 objects. Now you can switch modes with keyboard as well by pressing
937 Shift+S in Selector tool.
938
939 * Draging the scale handles with Alt now scales selection by an
940 integer factor, i.e. up to 2, 3, 4, etc. times the original size or
941 down to 1/2. 1/3, 1/4, etc. of the original size (in any of the two
942 dimensions independently), as well as to -1/3, -1/2, -1, -2, -3,
943 etc. This way you can, for example, mirror any object around one of
944 the edges of its box. (This replaces the old and rarely used "slow"
945 scaling mode with Alt.)
946
947 * Horizontal/vertical flipping: So far, flipping a selection made it
948 flip within its bounding box, so that the latter remained fixed. In
949 the move/scale mode of the selector tool, this behaviour remains
950 unchanged. However, in rotate/shear mode flipping now happens about
951 an (imaginary) vertical/horizontal axis through the rotation
952 center. This is very handy, since the latter can be freely dragged
953 around and snaps to all kinds of objects if desired.
954
955 Node tool
956
957 * If any of the nodes in the currently selected path is mouseovered,
958 then horizontal/vertical flipping ('H' and 'V' keys), stepwise
959 rotation ('[' and ']' keys) and scaling ('<' and '>' keys) now all
960 use this specific node as center/axis. If there is no mouseovered
961 node, the center of the bounding box is used instead (as is
962 currently the case unconditionally). Nodes that are covered by one
963 of their handles are also detected as mouseovered.
964
965 * As a long-requested feature, two entry fields are added to the
966 toolbar which allow precise editing of the coordinates of selected
967 nodes.
968
969 Rectangle Tool
970
971 * Ctrl+dragging now also allows the creation of rectangles with sides
972 constrained to the golden ratio (approx. 1 : 1.618034), not only
973 integer ratios.
974
975 Ellipse Tool
976
977 * It is now easy to create ellipses/circles passing through
978 particular points. Normally, the starting and ending point of the
979 mouse drag mark the corners of the bounding box. Now the Alt
980 modifier can be used to enlarge the ellipse so that its
981 circumference passes through these two points.
982
983 * Ctrl+Alt+drag is an exception from this rule. It creates a perfect
984 circle whose diameter is defined by the starting and ending point
985 of the drag.
986
987 Pen/Pencil Tools
988
989 These tools can now create single dots by Ctrl+click on the canvas.
990 This creates a small circle filled with the current stroke color. The
991 radius can be set in the Preferences of the respective tools (it is
992 specified as a multiple of the current stroke width). Shift+Ctrl+click
993 creates a dot twice the specified size, and Alt+Ctrl+click varies the
994 size of the created dots randomly.
995
996 Dropper Tool
997
998 The shortcut 'D' is now used to toggle (not just switch to) the dropper
999 tool - much like space is used to toggle the selector tool. That is,
1000 pressing 'D' a second time switches back to the tool used before.
1001
1002 SVG features
1003
1004 The tref element
1005
1006 Inkscape can now correctly open files with tref elements, and new tref
1007 elements can be created manually in the XML editor.
1008
1009 The actual character data contained in a text element can either be
1010 embedded directly, or it can be the character content of an element
1011 referenced by a tref.
1012
1013 While the textual content from the referenced element will be stripped
1014 of any markup before being used by the tref, the tref element can
1015 itself have the same attributes as a tspan. In fact, when rendered, it
1016 is as though the tref element is replaced by a tspan with the same
1017 attributes, and the referenced character data is embedded in that
1018 tspan.
1019
1020 The property xlink:href is used to refer to another element whose
1021 character data will be used. Any element can be referred to except an
1022 ancestor of the tref. When any of the text contained in the referred
1023 element changes, the tref will immediately be updated to display the
1024 new data.
1025
1026 Existing tref elements can be converted into tspan elements with Edit >
1027 Clone > Unlink Clone. If more than one tref is contained within a
1028 selection, all trefs will be converted into tspans. All attributes
1029 applied to the tref will be retained in the new tspan.
1030
1031 A tref element can be mixed with any other elements allowed to be
1032 contained by a text element.
1033
1034 The cloned character data rendered by the tref may not be edited, but
1035 any characters surrounding it can be changed. Styles cannot be applied
1036 to a subset of the cloned characters, but if all are selected, a style
1037 can be applied to the tref.
1038
1039 SVG filters
1040
1041 New filters supported
1042
1043 * The feBlend filter primitive gives us image blending modes, like in
1044 many image manipulation programs. These modes are screen, multiply,
1045 darken and lighten. There's a caveat, though: when blending an
1046 object against an semi-transparent background, the background will
1047 be accumulated twice, resulting in thicker objects under the
1048 bounding box of blended object. This is a limitation of current
1049 version of SVG format, not a bug in Inkscape.
1050
1051 * The feColorMatrix filter primitive applies a matrix transformation
1052 to colour of each rendered pixel. This allows for effects like
1053 turning object to grayscale, modifying colour saturation and
1054 changing colour hue.
1055
1056 * The feComposite filter primitive composites two images using one of
1057 the Porter-Duff blending modes (described in paper Compositing
1058 Digital Images by T. Porter and T. Duff, published in SIGGRAPH '84
1059 Conference Proceedings, Association for Computing Machinery, Volume
1060 18, Number 3, July 1984) or the aritmetic mode described in SVG
1061 standard. Porter-Duff blending modes are essentially logical
1062 operations between the images. For example, xor mode shows the
1063 areas, where either one of the objects is, but not the areas where
1064 both of the objects are. Arithmetic mode lets you specify
1065 coefficients k1-k4 for blending equation (result colour) = k1 *
1066 (first input colour) * (second input colour) + k2 * (first input
1067 colour) + k3 * (second input colour) + k4.
1068
1069 * The feConvolveMatrix lets you specify a Convolution to be
1070 applied on the image. Common effects created using convolution
1071 matrices are blur, sharpening, embossing and edge detection.
1072 There's a fairly good explanation and some example matrices at
1073 www.gamedev.net/reference/programming/features/imageproc/page2
1074 .asp. Note that while gaussian blur can be created using this
1075 filter primitive, the special gaussian blur primitive is faster and
1076 resolution-independent.
1077
1078 * Filter primitives feDiffuseLighting and feSpecularLighting create
1079 lighting maps for the object in input image. SVG doesn't have
1080 concept of third dimension, so these filters use alpha channel of
1081 input image as a height map: the more opaque given point in input
1082 image is, the nearer spectator it is considered to be. There exists
1083 an example for using these in Inkscape distribution, in
1084 share/examples/lighting_effects.svg or in SVN
1085
1086 * The feDisplacementMap filter primitive displaces the pixels in the
1087 first input using the second input as a displacement map, that
1088 shows from how far the pixel should come from. Classical examples
1089 are whirl and pinch effects, that can be found in most image
1090 manipulation programs and even in some screensavers, where this
1091 kind off effect is moving around screen, twisting desktop beneath
1092 it.
1093
1094 * The feFlood filter primitive fills its region with a given color
1095 and opacity. It can be used as an auxiliary tool, usualy in
1096 combination with other filter primitives, in order to facilitate
1097 some common color handling operations.
1098
1099 * The feImage filter primitive allows using external images as part
1100 of filtering chain. For example, one could use external image as a
1101 displacement map for feDisplacementMap or as a height map for
1102 lighting effects. Note that while SVG standard allows using other
1103 parts of the SVG file in this filter primitive, the current
1104 Inkscape implementation only allows external images.
1105
1106 * The feMerge filter primitive composites several temporary images
1107 inside the filter primitive to a single image. It uses normal alpha
1108 compositing for this. This is equivalent to using several feBlend
1109 primitives in 'normal' mode or several feComposite primitives in
1110 'over' -mode.
1111
1112 * The feMorphology filter primitive provides erode and dilate
1113 effects, that are common in image manipulation programs. With
1114 erode, darker and more transparent areas spread to lighter and more
1115 opaque areas, whereas with dilate lighter and more opaque areas
1116 spread to darker and more transparent areas. For single-colour
1117 objects, this basically means, erode makes the object thinner and
1118 dilate makes it thicker.
1119
1120 * The feOffset filter primitive offsets the image by an user-defined
1121 amount. For example, this is useful for drop shadows, where the
1122 shadow is in a slightly different position than the actual object.
1123
1124 * The feTurbulence filter primitive renders Perlin noise. This
1125 kind of noise is useful in simulating several nature phenomena like
1126 clouds, fire and smoke and in generating complex textures like
1127 marble or granite.
1128
1129 See also wiki page Filter Effects for more info on filters in
1130 Inkscape in general.
1131
1132 Filters UI
1133
1134 * New dialog for creating and modifying filter effects (Object>Filter
1135 Effects...)
1136 * The list at the left of the dialog displays all filters currently
1137 in the document.
1138 + New filters can be added with the Add button beneath the list
1139 + Right-clicking a filter for the pop-up menu allows duplicating
1140 or removing a filter.
1141 + Double-clicking a filter will apply it to all selected objects
1142 + A black dot is placed next to whatever filter is applied to
1143 the selected objects. If more than one filter is in use by
1144 selected objects, an unfilled dot is used instead.
1145 * The second list, at the left of the dialog, displays the filter
1146 primitives that are contained within the currently-selected filter.
1147 + New primitives can be added by selecting the primitive type
1148 from the combo box beneath the list, and then pressing the Add
1149 button.
1150 + Right-clicking a primitive for the pop-up menu allows
1151 duplicating or removing a primitive.
1152 + Primitives can be rearranged by clicking and dragging any
1153 filter in the list.
1154 + When a filter is selected, the Settings group at the bottom of
1155 the dialog will change to display the attributes available for
1156 that primitive. Changing a setting results in an immediate
1157 update to the document.
1158 + The "in" and "in2" attributes for filters that support them
1159 are not shown in the Settings group. These input connections
1160 are displayed graphically in the list, under the Connections
1161 column.
1162 o Inputs for a particular filter are displayed as
1163 triangles. Depending on the primitive type, there may be
1164 one or two inputs (or more for Merge primitives.)
1165 Connections can be created by clicking on a triangle and
1166 dragging.
1167 o There are six standard input types that can be used for
1168 any primitive input; Source Graphic, Source Alpha,
1169 Background Image, Background Alpha, Fill Paint, and
1170 Stroke Paint. These are displayed vertically on the far
1171 right of the list. Click and drag from an input triangle
1172 to one of the standard inputs to connect them.
1173 o Primitives can also be connected to other primitives by
1174 clicking an input triangle and dragging upwards to
1175 another primitive. A primitive can only be connected to
1176 one higher up the list.
1177 o Single-clicking on an input triangle will unset it,
1178 returning it to the default. If it is on a Merge
1179 primitive, the input will be deleted.
1180 o Merge inputs have an empty input at the end. Dragging a
1181 connection from this input will add a new input to the
1182 primitive.
1183
1184 Live Path Effects (LPE)
1185
1186 Live path effects (not to be confused with extension effects or SVG
1187 filters) are a new way to non-destructively modify path and shape
1188 objects. Path effects affect the path data of an object but not its
1189 style. The original path is preserved and can be edited directly
1190 on-canvas, and the path effect applied to it will be updated live.
1191
1192 In this version, we include several path effects that are analogous to
1193 the corresponding extension effects (such as Path along Path effect and
1194 Pattern along Path that replaces the extension of the same name). The
1195 most important advantage of path effects is that they are, indeed, live
1196 - you can still edit the original path and the effect will update in
1197 real time (unlike the extension effects which were one-time one-way
1198 transformations). In the future, we plan to reimplement most if not all
1199 of path-changing extensions as live path effects.
1200
1201 Live path effects were developed by Johan Engelen as part of the GSoC
1202 2007.
1203
1204 Details about operation
1205
1206 The following schematic tries to explain how LPE work.
1207 original style ------------> output style
1208 original path --> LPE --> output path
1209 ^
1210 |
1211 parameters
1212
1213 The original style and path are from the path that the effect is
1214 applied on. The output is what is visible on screen. What is very
1215 important to notice is that output style equals original style.
1216
1217 The parameters can be paths, numbers, points, text, in principle
1218 anything.
1219
1220 Applying effects
1221
1222 Path effects are applied through the Path Effects dialog (opened from
1223 the Path menu, or by pressing Ctrl+Shift+7. This dialog is also used
1224 for controlling the effect's parameters and for removing effects.
1225
1226 When a path with a path effect applied is selected, the statusbar
1227 description mentions that, for example "Path (4 nodes, path effect)".
1228
1229 There is a special Paste Path Effect command (Ctrl+7) that can be used
1230 to copy effects from one path to another.
1231
1232 Editing effect parameters
1233
1234 When switching to the node edit tool (F2), the original path can be
1235 edited. The original path is shown as a red helper path. Normal path
1236 operations, like simplify, still work.
1237
1238 Some parameters of effects can be edited on-canvas. For example, path
1239 parameters can be node-edited, by pressing the "edit on-canvas" button
1240 in the Path Effects dialog. Press "7" to cycle through the different
1241 on-canvas editable parameters. This way, one can edit the parameters
1242 without opening the Path Effects dialog. The statusbar tells the name
1243 of the parameters that is currently being shown.
1244
1245 Available effects
1246
1247 Path along path
1248
1249 The Path along Path effect can curve a path along another path. When
1250 this effect is applied to a path, it can be bend along another path
1251 (called bend path). With the node edit tool, both the original path and
1252 the bend path can be changed on-canvas and the result is updated live.
1253 This provides a direct equivalent of "vector brushes" or "skeletal
1254 strokes" features in other vector editors.
1255
1256 In the effect's control panel in the Path Effects dialog, you can
1257 select how many copies of the original path are put along the bend path
1258 (either single or repeated) and whether it is stretched to fill the
1259 bend path. In this dialog you'll also find a button to edit the bend
1260 path on-canvas and a button to paste a new bend path from clipboard. A
1261 possible workflow is this: you select and copy the new bend path to the
1262 clipboard, then select the path you want to bend, apply the Path along
1263 path effect, and paste the bend path with the paste button next to
1264 'bend path'.
1265
1266 Example file: live-path-effects-pathalongpath.svg
1267
1268 Pattern along path
1269
1270 The Pattern along Path effect can curve a path along another path. When
1271 this effect is applied to path A (called skeleton), another path B
1272 (called pattern) can then be passed as a parameter. The result is that
1273 path B is bent along path A. With the node edit tool, path A can be
1274 changed on-canvas and the result is updated live. This provides a
1275 direct equivalent of "vector brushes" or "skeletal strokes" features in
1276 other vector editors.
1277
1278 In the effect's control panel in the Path Effects dialog, you can
1279 select how many copies of the pattern are attached (either single or
1280 repeated) and whether the pattern is stretched to fill the skeleton
1281 path. You can also choose the pattern for the selected skeleton [either
1282 directly or] by pasting it from clipboard (that is, you select and copy
1283 to the clipboard the pattern, then select the skeleton, apply the Path
1284 along path effect, and paste the pattern). The Scale width parameter
1285 allows you to change the width of the pattern applied to the path.
1286
1287 Example file: live-path-effects-pathalongpath.svg
1288
1289 Stitch Subcurves
1290
1291 The Stitch Subcurves effect connects points from two subpaths of the
1292 path with straight line or curved segments, i.e. the stitches. It looks
1293 a lot like the Effect Lines from Expression 3. The result is also
1294 referred to as "String Art". For some examples of string art, see
1295 http://members.shaw.ca/jillbritton/string_art/jbstringart.htm.
1296
1297 The shape of the connecting paths can controlled by the stroke path
1298 parameter. This could be used to draw 'hair-shaped' connecting paths
1299 with sharp end-tips. Other controls include the number of paths, the
1300 variation in spacing between the connecting paths (clustering) and also
1301 whether the start and end points of the stitches should like exactly on
1302 the original subcurves or can stray randomly around them. Finally the
1303 width of the stroke path can be varied.
1304
1305 Note that this effect can only be applied to a path with two subpaths
1306 in it, hence 'subcurve' in the name. Use Path > Combine to create such
1307 a path from two separate paths.
1308
1309 Example file: live-path-effects-curvestitch.svg
1310
1311 Gears
1312
1313 The Gears effect is a toy effect. It generates a chain of
1314 interconnected gears from the path that has the effect applied to it.
1315 The nodes of the path define the centers of the gears. The first 3
1316 nodes are special; the first defines the start angle of the chain, the
1317 second defines the center of the first gear and the third knot
1318 specifies the radius of the first gear. That is, to create a chain of 2
1319 gears, you will need a path with 4 nodes; for 3 gears, 5 nodes, and so
1320 on.
1321
1322 Example file: live-path-effects-gears.svg
1323
1324 Development of new effects
1325
1326 One of the goals of the Summer of Code project was to make it easy to
1327 create new effects. There is a framework that greatly simplifies effect
1328 implementation; very little code is needed to get the effect hooked
1329 into Inkscape. This leaves valuable time for the actual effect to be
1330 implemented. See the
1331 http://wiki.inkscape.org/wiki/index.php/MakingLivePathEffects wiki
1332 page for an explanation of how to get started with your own effect!
1333
1334 Extension effects
1335
1336 Live preview
1337
1338 * Live preview of effects: Using the async behavior (see below), as
1339 soon as the parameters dialog for an effect is shown, the script is
1340 executed in the background and the screen updates as soon as it's
1341 finished. This can result is seemingly faster execution if no
1342 parameters are changed. If some parameters are adjusted, the script
1343 is restarted. This allows you to see immediately the effects of any
1344 parameter change without pressing the OK button on the effect's
1345 dialog.
1346
1347 * Spawn Glib API: Scripting extension have been moved to the Glib
1348 spawn API to ensure that parameters and variables aren't
1349 interpreted by a shell. This also means that scripting extensions
1350 are executed in a separate process asynchronously allowing the GTK
1351 main loop to continue to execute.
1352
1353 * Progress dialog: While an extension is working on a document, a
1354 small dialog is shown allowing the user to cancel the execution.
1355
1356 New and improved effects
1357
1358 * The new Modify Path > Edge 3D extension creates black, grey and
1359 white paths around a shape, then blurs and clips them for a 3D
1360 effect.
1361
1362 * The new Generate from Path > Dimensions extension creates CAD style
1363 dimensions that are basically arrows with lengths equal to
1364 selection's bounding box and captions representing length.
1365
1366 * The new Render > Barcode extension creates a barcode.
1367 Supported types include EAN13, EAN8, UPC-A, UPC-E, UPC-5, Code39,
1368 Code39Ext, Code93, Code128, and RM4SCC.
1369
1370 * The new Render > Gear extension creates a mechanical gear
1371 given the number of teeth, the circular pitch (in px units), and
1372 the pressure angle.
1373
1374 * The new Render > Spirograph extension creates intricate
1375 mathematical curves akin to the classic mechanical Spirograph
1376 toy (see samples).
1377
1378 * A group of new effects in the Text submenu performs various case
1379 conversions on selected text objects: converting to UPPERCASE,
1380 lowercase, Sentence case, Title Case, as well as flipping case
1381 (switching uppercase to lowercase and vice versa) and rANdoMiZInG
1382 cAse. If no texts are selected, the effect works on all texts in
1383 the document.
1384
1385 * Another effect in the Text submenu, Replace text, performs
1386 search-and-replace on the selected text objects or (if nothing is
1387 selected) on all texts in the document. Searching is case
1388 sensitive. You can use this effect to globally delete all
1389 occurrences of some text fragment by replacing it with empty
1390 string. Conversely, if you search for an empty string and replace
1391 it with some string, this string will be inserted after every
1392 character of your text; for example, you can space out a text by
1393 replacing in it an empty string with a single space.
1394
1395 * A new effect, Replace color in the Color submenu, simply replaces
1396 one RRGGBB-specified color to another within selection or, if
1397 there's no selection, in the entire document. As with other effects
1398 in that submenu, the replacement affects fill, stroke, and gradient
1399 colors, but not colors of bitmaps.
1400
1401 * The new Color > Randomize extension allows you to change the color
1402 via hue, saturation and lightness check boxes. This is useful if
1403 you want to colorize lots of shapes at the same time.
1404
1405 * The Whirl extension uses the center of view as the center of whirl,
1406 so you don't have to enter the center coordinates numerically.
1407
1408 * The Render > Grid extension has got an extended range of grid
1409 spacings, from 0.1 to 1000 px.
1410
1411 * The Render > Function Plotter extension can now plot using polar
1412 coordinates.
1413
1414 * The Generate Template > Perfect-Bound Cover extension creates
1415 templates for wraparound covers for perfect-bound books using US
1416 size and paper weight measurements. This extension will resize the
1417 document to include the width, height, spine width, and bleed
1418 measurements that are provided to the extensions, so it should be
1419 the first operation done before designing.
1420
1421 XSLT effects
1422
1423 * XSLT is now supported for input, output and effect extensions. This
1424 is used to support the XAML file format (both import and export)
1425 and the Adobe Illustrator SVG import which removes Adobe's stuff
1426 from SVG.
1427
1428 ImageMagick effects
1429
1430 New raster operations available through the effects drop-down menu,
1431 powered by the ImageMagick library. For any of these effects to work,
1432 you need to have an image object selected in the drawing.
1433 * Adaptive Threshold applies adaptive thresholding to the bitmap.
1434 Average color of rectangle provided by width and height used as
1435 threshold value. Use offset to apply a different threshold than the
1436 average.
1437
1438 * Add Noise adds random noise of certain types to the bitmap.
1439
1440 * Blur blurs the bitmap, using radius as the amount of blur. Higher
1441 radius means more blur. (Note that unlike the vector Gaussian blur
1442 of objects, this bitmap blur will not extend the edges of the
1443 image, so it may appear truncated at the edges.)
1444
1445 * Channel extracts the specified channel from the bitmap.
1446
1447 * Charcoal applies a charcoal drawing style to a bitmap. Radius
1448 controls the width (or detail) of charcoal strokes. Higher radius
1449 means lower detail. Sigma: the higher it is, the less defined the
1450 charcoal is.
1451
1452 * Colorize overlays the bitmap with a given color at a given
1453 intensity.
1454
1455 * Contrast lightly enhances the contrast (difference between lights
1456 and darks) of a bitmap.
1457
1458 * Cycle Colormap cycles the colormap of a bitmap.
1459
1460 * Despeckle reduce the speckle noise in a bitmap.
1461
1462 * Edge hilights edges in a bitmap.
1463
1464 * Emboss embosses a bitmap, hilighting edges with 3D effect.
1465
1466 * Enhance enhance a bitmap, minimizing noise.
1467
1468 * Equalize equalizes a bitmap. Histogram equalization.
1469
1470 * Flop mirrors a bitmap, reflecting each scanline in the horizontal
1471 direction.
1472
1473 * Gaussian Blur blurs a bitmap, more strongly than regular blur.
1474
1475 * Implode sucks everything towards the center of the bitmap.
1476
1477 * Level scales values falling between the given Black Point to White
1478 Point range to the full color range.
1479
1480 * Level Channel acts the same way as level but for only one channel.
1481
1482 * Median Filter filters a a bitmap by replacing each pixel component
1483 with the median color in a circular neighborhood
1484
1485 * Modulate adjusts the percent hue, saturation, and brightness of a
1486 bitmap.
1487
1488 * Negate takes the inverse of a bitmap.
1489
1490 * Normalize normalizes a bitmap, expanding color range to the full
1491 possible range of color.
1492
1493 * Oil Paint stylizes a bitmap so that it appears to be painted with
1494 oils.
1495
1496 * Opacity modifies the opacity channel of a bitmap.
1497
1498 * Raise alters the lightness of the edges of a bitmap to create a
1499 raised appearance, much like a frame.
1500
1501 * Reduce Noise reduces noise in a bitmap by using a noise peak
1502 elimination filter.
1503
1504 * Shade shades a bitmap by simulating a distant light source
1505
1506 * Sharpen sharpens a bitmap.
1507
1508 * Solarize solarizes a bitmap, like overexposing photographic film.
1509
1510 * Spread randomly spread pixels in a bitmap within the radius of
1511 amount.
1512
1513 * Swirl swirls the bitmap around the center point.