/[skencil]/website/trunk/pages/devnotes.html
ViewVC logotype

Annotation of /website/trunk/pages/devnotes.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 606 - (hide annotations)
Thu Mar 25 17:48:16 2004 UTC (20 years, 11 months ago) by jpaalasm
Original Path: website/trunk/skencil.org/pages/devnotes.html
File MIME type: text/html
File size: 28102 byte(s)
Changing the page layout file so that diffs taken from the
generated files can be applied better to sources.

1 jpaalasm 606 title: Skencil / Release Notes for the Development Version
2    
3     <div class="document">
4     <p>All changes since version 0.7.5 are covered in detail in the ChangeLog
5     files. Here you'll only find the most important changes.</p>
6     <div class="section" id="sketch-0-7-12-february-7th-2003">
7     <h2><a name="sketch-0-7-12-february-7th-2003">Sketch 0.7.12 (February 7th, 2003)</a></h2>
8     <blockquote>
9     <ul class="simple">
10     <li>Translucency works for raster images with alpha channel. Most of the
11     code for this came from a patch by David Boddie.</li>
12     <li>Export filter for EPS files. You can now save drawings as EPS by
13     saving to a file with a .eps extension.</li>
14     <li>Updates to the CGM filters by Antoon Pardon. These updates are also
15     in 0.6.15</li>
16     </ul>
17     </blockquote>
18     <p>Bug Fixes:</p>
19     <blockquote>
20     <ul class="simple">
21     <li>The SVG import filter now handles the viewBox attribute of the svg
22     element (it doesn't handle the preserveAspectRatio attribute though).
23     The filter also makes sure that non-text object won't get a font
24     attribute and it understands more color names. Bugs reported by Keith
25     Hopper. These fixes are also in 0.6.15</li>
26     <li>The CMX import filter handles poly-curves with a large number of
27     points better now. Reported by Tim Wright. These fixes are also in
28     0.6.15.</li>
29     </ul>
30     </blockquote>
31     </div>
32     <div class="section" id="sketch-0-7-11-september-14th-2002">
33     <h2><a name="sketch-0-7-11-september-14th-2002">Sketch 0.7.11 (September 14th, 2002)</a></h2>
34     <blockquote>
35     <ul class="simple">
36     <li>CGM import/export filters. Contributed by Antoon Pardon</li>
37     </ul>
38     </blockquote>
39     <p>Bug fixes:</p>
40     <blockquote>
41     <ul class="simple">
42     <li>This release contains the missing the Plugins/Filters/Lib
43     subdirectory.</li>
44     <li>The SVG import filter now only accepts ASCII font names. Before
45     unicode strings could end up in .sk files which Sketch couldn't read.</li>
46     </ul>
47     </blockquote>
48     </div>
49     <div class="section" id="sketch-0-7-10-august-2nd-2002">
50     <h2><a name="sketch-0-7-10-august-2nd-2002">Sketch 0.7.10 (August 2nd, 2002)</a></h2>
51     <blockquote>
52     <ul class="simple">
53     <li>New dialog with a color palette. Contributed by Mark Rose</li>
54     <li>New dialog to edit object properties. Contributed by Mark Rose.</li>
55     <li>Nodes inserted into bezier segments are now 'smooth' instead of
56     'symmetric'. Reported by Antoon Pardon</li>
57     <li>Files can now be saved in the older format used by Sketch 0.6 by
58     using the extension &quot;.sk1&quot;.</li>
59     <li>Import filter for Acorn Drawfiles, the same as published with 0.6.13.
60     Contributed by David Boddie.</li>
61     <li>The wmf import filter supports a PolyPolylines now. Patch from Antoon
62     Pardon.</li>
63     <li>The SVG import filter parses paths more correctly now. The old
64     version didn't accept numbers without delimiters in between, which is
65     legal in an SVG path if the second number starts with a sign.</li>
66     <li>The SVG export filter now escapes text properly. Bug reported by
67     Stefan Eilers (SF #545267).</li>
68     <li>The SVG export has some basic support for Text. Based on a Patch by
69     Paul Giotta</li>
70     <li>The Illustrator-import filter now gives a warning if the file looks
71     as if it's not generated by AI. Furthermore it understands text
72     alignment now.</li>
73     </ul>
74     </blockquote>
75     <p>Internal Changes:</p>
76     <blockquote>
77     <ul class="simple">
78     <li>The load_immediately flag of plugins ported over from 0.6</li>
79     <li>Plugins can now have plugin specific libraries. Also ported over from
80     0.6.</li>
81     </ul>
82     </blockquote>
83     <p>Bug fixes:</p>
84     <blockquote>
85     <ul class="simple">
86     <li>Quote filenames of EPS files properly when rendering the preview. The
87     previous behavior was a security problem. This is the fix that was
88     already part of Sketch 0.6.13.</li>
89     <li>The extension modules in Sketch/Modules and Filter now use the Python
90     Memory API correctly as specified for Python 1.5.2 but it should also
91     be compatible with later versions including 2.3 (according to the
92     discussion in April 2002)</li>
93     </ul>
94     </blockquote>
95     </div>
96     <div class="section" id="sketch-0-7-9-november-28th-2001">
97     <h2><a name="sketch-0-7-9-november-28th-2001">Sketch 0.7.9 (November 28th, 2001)</a></h2>
98     <blockquote>
99     <ul class="simple">
100     <li>Russian translation contributed by Andrey Kiselev</li>
101     <li>When given a non-existing file on the command line, open a window for
102     that file anyway instead of just giving error messages. Based on a
103     patch by Han-Wen Nienhuys.</li>
104     <li>Ungrouping works now. Based on a patch by Han-Wen Nienhuys.</li>
105     <li>Support for Python 2.1</li>
106     <li>The beginnings of a simple test suite in the test/ subdirectory</li>
107     </ul>
108     </blockquote>
109     <p>Bug fixes:</p>
110     <blockquote>
111     <ul class="simple">
112     <li>setup.py uses libart-config instead of gnome-config to correctly
113     support systems that have libart but not GNOME.</li>
114     <li>Read AFM-files without per character bounding boxes correctly. Based
115     on a patch by Han-Wen Nienhuys.</li>
116     <li>Sketch still used an Xlib function directly to read XBM files. This
117     is now fixed by reding them through PIL.</li>
118     </ul>
119     </blockquote>
120     <p>Internal Changes:</p>
121     <blockquote>
122     <ul class="simple">
123     <li>remove some code in the insert/remove implementation that was still
124     left over from the old representation of the selections.</li>
125     </ul>
126     </blockquote>
127     </div>
128     <div class="section" id="sketch-0-7-8-april-4th-2001">
129     <h2><a name="sketch-0-7-8-april-4th-2001">Sketch 0.7.8 (April 4th, 2001)</a></h2>
130     <blockquote>
131     <ul class="simple">
132     <li>Make bezier segments draggable. Ported from demo code by Simon Budig.
133     This is the same code that's also in 0.6.8</li>
134     <li>New menu &quot;Xtns&quot; in the tool box window.</li>
135     <li>A new dialog reachable through the Xtns menu that displays error
136     messages</li>
137     <li>All graphics objects support meta data. There's also a dialog to add,
138     edit and remove meta data in the Xtns menu.</li>
139     <li>A PDF export filter. This is the same that's also in 0.6.9.</li>
140     <li>New implementations of the impert and export filters for the
141     sk-format. The format has also changed somewhat. The new format is
142     the native format now. Sketch 0.6.8 can't read those files currently,
143     but documents can be saved in the old format by saving them with the
144     extensions .sk1.</li>
145     <li>As part of the filter rewrite, the way plugin objects are saved has
146     changed. The PluginObjects that come with Sketch have been updated
147     accordingly.</li>
148     </ul>
149     </blockquote>
150     <p>Bug fixes:</p>
151     <blockquote>
152     <ul class="simple">
153     <li>Some small fixes to make Sketch compile with Python 1.6/2.0. Based on
154     a patch contributed by Thomas Gellekum.</li>
155     <li>Push the gdkrgb visual and colormap once at the beginning in main
156     before any widgets are created. This fixes one common cause of the
157     segmentation faults many users experienced.</li>
158     <li>Several small fixes in the SVG filters.</li>
159     </ul>
160     </blockquote>
161     <p>Internal Changes:</p>
162     <blockquote>
163     <ul class="simple">
164     <li>The plugin management code is now in the new subpackage
165     Sketch.Plugin. This package has its own config file
166     ~/.devsketch/plugin.prefs</li>
167     <li>Tools are now identified by an object and not just by their name
168     anymore. These objects are derived from the new class ToolInfo and
169     have some attributes that describe the object including a method that
170     instantiates the tool for a given document editor. The old tool
171     classes like MouseTool and derived classes are the classes for these
172     editor specific instances.</li>
173     <li>The code for the old representation of the selection has been
174     removed.</li>
175     <li>Added ASCII85 filters to the streamfilter module (In the Filters/
176     subdirectory)</li>
177     </ul>
178     </blockquote>
179     </div>
180     <div class="section" id="sketch-0-7-7-june-24th-2000">
181     <h2><a name="sketch-0-7-7-june-24th-2000">Sketch 0.7.7 (June 24th, 2000)</a></h2>
182     <blockquote>
183     <ul>
184     <li><p class="first">Added a button in the top-right corners of the editor windows that
185     indicates whether the document in the window is the active document.
186     Clicking on the button makes the document in the window the active
187     document.</p>
188     </li>
189     <li><p class="first">A document can have multiple views and editors now. The menu item
190     View-&gt;New View creates a new view but the same editor as the active
191     window and View-&gt;New Editor creates a new view with a new editor.</p>
192     <p>A document window always has one associated editor and an editor
193     always has one associated document, but a document can have multiple
194     editors and an editor can have multiple windows. Windows that share
195     an editor (and hence also a document) always have the same selection,
196     windows with different editors may have different selections even for
197     the same document.</p>
198     <p>The &quot;New Editor&quot; command is an advanced feature IMO in that the
199     difference between &quot;New View&quot; and &quot;New Editor&quot; isn't all that obvious
200     and I'm not sure whether the &quot;New Editor&quot; command is really useful.
201     The current implementation has some limitations when the same bezier
202     curve is selected in different editors in edit mode. The selected
203     nodes will be the same in both editors. This feature is mostly a side
204     effect of internal changes anyway. It may be that the &quot;New Editor&quot;
205     command will not be included in 0.8, but the functionality is
206     unlikely to be removed.</p>
207     </li>
208     <li><p class="first">A somewhat incomplete fill pattern dialog.</p>
209     </li>
210     <li><p class="first">The 'modified' label works now.</p>
211     </li>
212     </ul>
213     </blockquote>
214     <p>Internal Changes:</p>
215     <blockquote>
216     <ul>
217     <li><p class="first">Sketch/Base is now a subpackage. All objects and modules that used to
218     be directly available in the Sketch package and whose files were in
219     Sketch/Base are now part of Sketch.Base. The Sketch.base_init
220     function is now Sketch.Base.init</p>
221     </li>
222     <li><p class="first">All objects that are implemented in the Graphics subpackage are now
223     exported directly by it and should be taken from there and not from
224     the Sketch package. E.g. Use Sketch.Graphics.Rectangle instead of
225     Sketch.Rectangle</p>
226     </li>
227     <li><p class="first">Pattern and gradient objects are now immutable. This change involves
228     removing all of the methods that change a pattern/gradient in place
229     and the addition of new methods that return changed copies of an
230     object.</p>
231     </li>
232     <li><p class="first">A new class of document editor that manages the selection itself. In
233     the old implementation the selection was managed by the document. The
234     new approach makes more sense in my opinion and, together with a
235     somewhat different representation of the set of selected objects, it
236     offers some new features:</p>
237     <blockquote>
238     <ul class="simple">
239     <li>It will be possible to 'remember' selections. E.g. the user could
240     name a particular set of selected objects and later. This isn't
241     implemented yet.</li>
242     <li>It's possible to have several views of one document with
243     different selections.</li>
244     </ul>
245     </blockquote>
246     </li>
247     <li><p class="first">The document's TRANSACTION_END messages now have parameters.</p>
248     </li>
249     <li><p class="first">The representation of menus has changed. Normal menu items are only
250     stored as command names now which are looked up in the command
251     registry every time the command object has to be accessed. The title
252     of the menu item is taken from the command object.</p>
253     </li>
254     </ul>
255     </blockquote>
256     </div>
257     <div class="section" id="sketch-0-7-6-march-26th-2000">
258     <h2><a name="sketch-0-7-6-march-26th-2000">Sketch 0.7.6 (March 26th, 2000)</a></h2>
259     <blockquote>
260     <ul class="simple">
261     <li>Sketch is in GNOME CVS now. See README for access instructions</li>
262     <li>The tree view is actually useful. It reflects the current selection
263     and you can use it to select objects.</li>
264     <li>8-Bit PseudoColor visuals are supported again. The implementation is
265     not very good at the moment, though. The anti-aliased rendering mode
266     should be fine and you'll even get error diffusion dithering thanks
267     to GdkRGB, but the colors in the non-anti-aliased mode may be a
268     little off.</li>
269     <li>User preferences are no longer saved in ~/.devsketch/preferences.py
270     but in four different files in the same directory: base.prefs,
271     graphics.prefs, editor.prefs and ui.prefs. See below for more detail.</li>
272     <li>Various enhancements for the anti-aliased mode including outlined
273     drawing of individual layers and the whole document as already
274     possible in non-anti-aliased mode.</li>
275     </ul>
276     </blockquote>
277     <p>Internal Changes:</p>
278     <blockquote>
279     <ul>
280     <li><p class="first">Added a number of new message channels to the document object which
281     are also forwarded by the context object.</p>
282     <p>TRANSACTION_START and TRANSACTION_END are issued at the start and end
283     of each transaction. OBJECT_CHANGED is issued whenever an object
284     changes. The message parameters describe which object changed and
285     what changed, i.e. whether its geometry or properties changed among
286     others.</p>
287     </li>
288     <li><p class="first">The graphics objects aren't message publishers anymore. They only
289     report changes to their parents and to the document object they
290     belong to. To be notified of a change in an object, subscribe to the
291     document's or the context's OBJECT_CHANGED channel</p>
292     </li>
293     <li><p class="first">The way the redraw region is determined has changed completely.
294     Before, it was basically the bounding rectangle of the current
295     selection and if necessary a few additional rectangles. Now, this is
296     automatically handled by the object's _changed() methods.</p>
297     </li>
298     <li><p class="first">Changed the way user preferences are handled. Instead of only one
299     preference object in Sketch.config there are now several objects
300     which are also saved in different files in ~/.devsketch:
301     Sketch.config.preference for basic configuration (saved in
302     base.prefs), Sketch.UI.preferences for GUI prefs (ui.prefs),
303     Sketch.Editor.preferences for GUI independent editor preferences
304     (editor.prefs) and Sketch.Graphics.preferences (graphics.prefs).</p>
305     </li>
306     <li><p class="first">The main entry point for Sketch as a GUI program is now
307     Sketch.UI.main. Sketch/Base/main.py has been removed.</p>
308     </li>
309     </ul>
310     </blockquote>
311     </div>
312     <div class="section" id="sketch-0-7-5-january-23rd-2000">
313     <h2><a name="sketch-0-7-5-january-23rd-2000">Sketch 0.7.5 (January 23rd, 2000)</a></h2>
314     <blockquote>
315     <ul class="simple">
316     <li>The libart renderer now supports dashes, arrows and tiled image
317     fills.</li>
318     <li>&quot;Snap To Objects&quot; now also works for raster images and eps files.
319     They can even be used as guides by moving them onto the guide layer.
320     They behave just like rectangles in this regard.</li>
321     <li>bzip2 compressed sk-files (and also ai and svg) can now be
322     uncompressed transparently if bzip2 is installed. The same
323     functionality for gzip was already present in 0.5.0.</li>
324     <li>More accurate papersizes for the A&lt;n&gt; formats, contributed by Martin
325     Glaser. The sizes used to be derived from first principles, so to
326     speak, everytime, but that does not yield exactly the same values
327     that the standard defines. The old code is still there in
328     Sketch/Graphics/papersize.py, if you're curious.</li>
329     <li>The DSC parser, used for e.g. extracting the bounding box of EPS
330     files, can cope with non-Unix line separator conventions.</li>
331     <li>Fixed a bug in the code that draws axial (linear) gradients on the
332     screen, postscript output was not affected. In some cases the
333     direction of diagonal the gradients was incorrect, most noticable for
334     very large border values.</li>
335     <li>The way paper formats are stored in the sk-files has changed
336     slightly. Only formats of a fixed list are stored by name now, for
337     all others, only the dimensions are saved. This was done to prevent
338     problems if users add new formats in their userhooks.py.</li>
339     <li>The files ARROWS and NOTES are now in a subdirectory Doc with
340     lowercase filenames</li>
341     <li>A new file Doc/styles that describes the ideas behind the dynamic
342     styles currently implemented in Sketch</li>
343     <li>The --imaging-include option of setup.py should work properly with
344     relative filenames now.</li>
345     </ul>
346     </blockquote>
347     </div>
348     <div class="section" id="sketch-0-7-4-december-23rd-1999">
349     <h2><a name="sketch-0-7-4-december-23rd-1999">Sketch 0.7.4 (December 23rd, 1999)</a></h2>
350     <blockquote>
351     <ul>
352     <li><p class="first">Sketch can use libart for anti-aliased rendering now. The
353     libart-drawing code is not complete yet, though. For instance, arrow
354     heads, dashes and tiled images as fill patterns are not yet
355     implemented. By default sketch still uses the gdk-based drawing
356     routines but you can swith to antialiased mode with the &quot;Antialiased&quot;
357     command in the &quot;View&quot; menu.</p>
358     <p>libart is the rendering library of the GNOME canvas. If you have
359     gnome installed, the setup script should be able to find libart
360     automatically. If the script can't find libart, anti-aliased
361     rendering will not be available.</p>
362     <p>Sketch only uses libart itself at the moment and it is possible to
363     install libart without the rest of GNOME as it is completely
364     independent. If you have installed libart without GNOME, you might
365     have to use the --libart-cflags and --libart-libs options of setup.py
366     to point it at your libart installation. E.g. if libart is installed
367     under /usr/local you could use:</p>
368     <blockquote>
369     <dl>
370     <dt>./setup.py configure --libart-cflags=-I/usr/local/include </dt>
371     <dd><p class="first last">--libart-libs=-I/usr/local/lib -lart_lgpl</p>
372     </dd>
373     </dl>
374     </blockquote>
375     </li>
376     <li><p class="first">Experimental changes to the arrow head code to make the tips of the
377     arrows `snappable'. See the file ARROWS for a more detailed
378     discussion. The two solutions described there are available in a new
379     &quot;Devel&quot; menu for commands only needed for development purposes. Both
380     commands assing two arrow heads and a line_width of 4 to the selected
381     object. Both solutions are only implemented in the editor and the
382     screen display code, you can't print or save them.</p>
383     </li>
384     <li><p class="first">Started to work on a property/style dialog, available in the &quot;Devel&quot;
385     menu. It's very primitive and you can't change anything yet, but it
386     allows yu to see the information Sketch actually stores with each
387     object. This is especially interesting if you have a drawing with
388     styles.</p>
389     </li>
390     <li><p class="first">Moved more of the curve fitting code for the freehand tool to C to
391     make it faster.</p>
392     </li>
393     <li><p class="first">Added some experimental Drag and Drop code to the toolbox. It should
394     be possible to drop files from gmc on the toolbox to make Sketch open
395     them.</p>
396     </li>
397     <li><p class="first">When editing bezier curves, the ctrl-key now restricts the movement
398     of nodes to horizontal and vertical and when dragging a control
399     point, the angle of the tangent is restricted to multiples of 15
400     degrees.</p>
401     </li>
402     <li><p class="first">When drawing bezier curves the ctrl-key now restricts the slope of
403     the tangent to multiples of 15 degrees.</p>
404     </li>
405     <li><p class="first">When drawing poly-lines, the ctrl-key now restricts the slopes of the
406     lines to multiples of 15 degrees.</p>
407     </li>
408     <li><p class="first">Selecting a blend group works a little different now, so that
409     clicking on the interpolation selects the entire blend group. In
410     earlier versions only the interpolation object was selected in that
411     case. Clicking on a control object of a blend group still selects
412     just the control object. (The blend group object contains both the
413     control objects and the interpolation objects).</p>
414     <p>The reason for this change is that it makes it easier to select two
415     blend groups to create an interpolation betweem them.</p>
416     </li>
417     <li><p class="first">There a new option for ~/.sketch/preferences.py, fallback_font. This
418     is the name of the font to use when a font or the corresponding
419     metrics can't be found. The default is 'Times-Roman'</p>
420     </li>
421     <li><p class="first">Fixed a bug in Sketch's postscript procset
422     (Resources/Misc/sketch-proc.ps) that caused problems when a
423     sketch-eps that contains eps's that use showpage was embedded in a ps
424     file which was then run through psnup (got that? :) ) To reproduce
425     it, create an eps with dvips, embed it in a Sketch drawing export as
426     eps, embed it in a tex-document, create a psfile from that with dvips
427     and 'psnup -2' it. The resulting psfile executes a superfluous
428     showpage at the end of the embedded tex-eps.</p>
429     </li>
430     <li><p class="first">Blending of two path-text objects works now. In previous versions
431     attempting this would leave the document in an inconsistent state and
432     the user could neither undo the operation or even save properly.</p>
433     </li>
434     <li><p class="first">Fixed bugs in the type1 font file parser and the underlying
435     postscript tokenizer. Some type 1 font files caused segfaults in the
436     tokenizer (e.g. the UTB_____.pfa font that comes with X11).</p>
437     </li>
438     </ul>
439     </blockquote>
440     <p>Internal Changes:</p>
441     <blockquote>
442     <ul>
443     <li><p class="first">Switched _skgtkmodule from using _gtk's _private dictionary to access
444     _gtk at C level to using init_pygtk().</p>
445     </li>
446     <li><p class="first">In gtkdevice.py, distinguish between the associated window
447     (self.window) and the current drawable (new instance var
448     self.drawable) to facilitate switching to a pixmap temporarily. All
449     drawing takes place on self.drawable.</p>
450     </li>
451     <li><p class="first">Introduced a new class PatternDevice between SimpleGC and
452     GraphicsDevice in gtkdevice.py. PatternDevice knows how to draw
453     gradient and other special fills and is used by the new properties
454     dialog to draw the preview pixmaps.</p>
455     </li>
456     <li><p class="first">Introduced a new class SketchDrawingArea which is basically a clone
457     of pygtk's GtkDrawingArea class, but has some Sketch specific
458     features.</p>
459     </li>
460     <li><p class="first">Changed the way redraw region is handled inside the document object.
461     In the old scheme, only the area covered by the selected objects
462     before and after the transaction were automatically redrawn and some
463     objects (the blend group) and operations (update style) had to add
464     rectangles to this region themselves to make sure everything is
465     redrawn properly. Undo/Redo were also treated specially.</p>
466     <p>In the new scheme, the object's _changed() method adds self to the
467     list of changed objects if self is part of a document by calling the
468     documens object_changed() method. This covers all special cases
469     listed above and is also much better for user scripts as they might
470     modify arbitrary objects and not just the selected ones.</p>
471     </li>
472     </ul>
473     </blockquote>
474     </div>
475     <div class="section" id="sketch-0-7-3-october-17th-1999">
476     <h2><a name="sketch-0-7-3-october-17th-1999">Sketch 0.7.3 (October 17th, 1999)</a></h2>
477     <blockquote>
478     <ul>
479     <li><p class="first">A freehand tool. The implementation of the curve fitting is a bit
480     slow at the moment, because much of the computation is done in
481     Python. Moving more parts to C should improve performance
482     substantially.</p>
483     <p>The freehand tool has an accuracy option, which you can set by double
484     clicking on the tool's button. The accuracy determines how close the
485     fitted bezier curves match the sampled mouse positions, it's
486     basically the maximum deviation in pixels.</p>
487     <p>The algorithm, which is basically the same as found in gimp or
488     autotrace, also needs some more fine tuning</p>
489     </li>
490     <li><p class="first">A most recently used file list in the file menu</p>
491     </li>
492     <li><p class="first">&quot;Save&quot; and &quot;Save As&quot; commands</p>
493     </li>
494     <li><p class="first">Updated svg import filter. It's the same as in 0.6.2 now.</p>
495     </li>
496     <li><p class="first">fixed a bug that caused the first few characters of a path-text to be
497     misplaced if the start position coincided with a node (but not the
498     start-node) of the curve-object.</p>
499     </li>
500     <li><p class="first">The afm-file parser is more tolerant now. It had problems with empty
501     lines.</p>
502     </li>
503     <li><p class="first">The mkfontdb.py script knows a few more foundries and has a new
504     commandline option '-f' to specify the foundry used when it can't be
505     determined from the afm-file. I also increased its version to 1.2.</p>
506     </li>
507     <li><p class="first">setup.py's build command accepts arguments of the form &lt;KEY&gt;=&lt;VALUE&gt;
508     now. These are passed through to make to let you override variables
509     like CC or OPT. See the generated Makefiles or Makefile.pre.in for
510     more details.</p>
511     </li>
512     </ul>
513     </blockquote>
514     <p>Internal Changes:</p>
515     <blockquote>
516     <ul class="simple">
517     <li>I've begun to split the document class in Sketch/Graphics/document.py
518     into a base class for all Sketch documents and, derived from that, an
519     InteractiveDocument class that contains code only needed for an
520     interative editor. InteractiveDocument is defined in
521     Sketch/Editor/document.py</li>
522     </ul>
523     </blockquote>
524     </div>
525     <div class="section" id="sketch-0-7-2-september-7th-1999">
526     <h2><a name="sketch-0-7-2-september-7th-1999">Sketch 0.7.2 (September 7th, 1999)</a></h2>
527     <blockquote>
528     <ul>
529     <li><p class="first">If your Python is thread enabled, you should upgrade to GTK 1.2.4.</p>
530     <p>With a thread-enabled Python, Sketch will hang in some situations
531     with GTK 1.2.3 and earlier. The reason for this is a
532     threading-related bug in GTK which was fixed in 1.2.4.</p>
533     <p>Sketch 0.7.1 contained a workaround for this bug, but I took it out
534     because it caused Sketch to hang with the fixed GTK. You can reenable
535     this workaround by uncommenting the lines marked THREADBUG in
536     Sketch/UI/canvas.py</p>
537     </li>
538     <li><p class="first">Import/Export filters for the SVG format. They also work with the
539     current stable release (0.6.1); just copy them to the Plugins/Filters
540     subdirectory of your Sketch installation.</p>
541     <p>Both filters are very incomplete and experimental. I don't know how
542     much time I will have to improve them because at the moment working
543     on the core parts of Sketch is more important, so I'd appreciate it
544     if somebody could take over development of these plugins.</p>
545     <p>SVG is likely to become a very important file format for vector
546     graphics. I think the ability to read and write SVG files will become
547     a crucial feature for Sketch to have.</p>
548     <p>The import filter requires the python xml package. See the INSTALL
549     file for details on where to get it.</p>
550     </li>
551     </ul>
552     </blockquote>
553     <p>User Interface:</p>
554     <blockquote>
555     <ul>
556     <li><p class="first">The edit tool can edit several objects at the same time now. This is
557     especially useful when editing bezier curves. This feature is quite
558     experimental at the moment and may not work as expected in some
559     cases.</p>
560     </li>
561     <li><p class="first">The (UI of the) text tool is more sophisticated.</p>
562     <ul class="simple">
563     <li>If you click on an existing text object, it is selected and you can
564     edit the text. The caret is positioned where you clicked.</li>
565     <li>If you click on a curve-like object, i.e. a bezier curve, a
566     rectangle or an ellipse, a path text object is created an you can
567     start editing the text.</li>
568     <li>If you click somewhere else, a normal text object is created and
569     you can start editing it. If you click and drag, you create a
570     rotated text object (This already worked in the stable releases).</li>
571     </ul>
572     <p>The mouse cursor changes to indicate which of these things will
573     happen.</p>
574     </li>
575     </ul>
576     </blockquote>
577     <p>Internal Changes:</p>
578     <blockquote>
579     <ul class="simple">
580     <li>The code reorganisation is practically complete.</li>
581     </ul>
582     </blockquote>
583     </div>
584     <div class="section" id="sketch-0-7-1-july-16th-1999">
585     <h2><a name="sketch-0-7-1-july-16th-1999">Sketch 0.7.1 (July 16th, 1999)</a></h2>
586     <blockquote>
587     <ul class="simple">
588     <li>The rewrite of the scripting/command infrastructure continued and
589     supports keystrokes and toggle menu entries now</li>
590     <li>Snapping has been added to the UI</li>
591     <li>I've begun to implement a tree view of the object hierarchy, but you
592     can't do anything yet. This will replace the layer dialog and allow
593     the user to rearrange the stacking order of objects more easily.</li>
594     <li>There's a simplistic text-tool now.</li>
595     </ul>
596     </blockquote>
597     <p>Internal Changes:</p>
598     <blockquote>
599     <ul class="simple">
600     <li>Most of the code reorganization is complete. In particular, the
601     python-level gtk-specific code is in Sketch.UI and the C-level
602     gtk-specific code is in a separate module, _skgtk.so.</li>
603     </ul>
604     </blockquote>
605     </div>
606     <div class="section" id="sketch-0-7-0-june-18th-1999">
607     <h2><a name="sketch-0-7-0-june-18th-1999">Sketch 0.7.0 (June 18th, 1999)</a></h2>
608     <blockquote>
609     <ul class="simple">
610     <li>Sketch uses GTK instead of Tcl/Tk now.</li>
611     <li>The directory for user specific configuration files is ~/.devsketch
612     to avoid conflicts with a stable Sketch version.</li>
613     </ul>
614     </blockquote>
615     </div>
616     </div>

Properties

Name Value
svn:eol-style native
svn:executable *
svn:keywords Author Date Id Revision

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26