1 2002-07-22 Lars Gullik Bjønnes <larsbj@birdstep.com>
3 * GraphicsConverter.C (build_script): take a ostream as a more
4 general argument than ostringstream.
6 2002-07-22 Herbert Voss <voss@lyx.org>
8 * GraphicsConverter.C: get the "default converter" run again
10 2002-07-21 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
12 * PreviewLoader.C: use BufferParams::getLyXTextClass
14 2002-07-21 Herbert Voss <voss@lyx.org>
16 * GraphicsImage.C: get the LyXAspectRatio run.
18 * GraphicsParams.[Ch]: add bool keepLyXXAspectRatio
20 2002-07-20 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
22 * PreviewLoader.C (startLoading): pass an interger as resolution
23 to the lyxpreview converter
25 * GraphicsParams.C: include <cstdlib>
27 2002-07-19 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
29 * PreviewLoader.C (startLoading): use LibScriptSearch to find the
30 preview converter script
32 2002-07-18 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
34 * GraphicsCacheItem.C (reset): use erase() instead of clear() for
37 2002-07-18 Angus Leeming <leeming@lyx.org>
39 * GraphicsCacheItem.[Ch]: add a FileMonitor variable to the the Impl
41 (startMonitoring, monitoring, checksum): new methods to interact with
44 * GraphicsLoader.[Ch] (startMonitoring, monitoring, checksum): new
45 methods invoking the CacheItem methods of the same name.
46 (resetFile): if monitoring and the file changes, start monitoring this
49 2002-07-17 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
51 * Makefile.am: remove FileMonitor.[Ch]
53 2002-06-17 Herbert Voss <voss@lyx.org>
55 * GraphicsCachItem.C (findTargetFormat): remove the speciell case
56 for old ps-files (Garst). It's now handled by defining a converter and
57 disabling the ps-support of xforms.
59 2002-07-17 Angus Leeming <leeming@lyx.org>
61 Be true to the Pimpl idiom, moving all signals into the respective
62 Impl classes and defining methods to connect them to an outside slot.
63 Const-ify all visible class methods as they act only on a const pimpl_.
65 * GraphicsCache.[Ch] (add, remove): const-ify.
67 * GraphicsCacheItem.[Ch] (startLoading): const-ify.
68 (statusChanged): move the signal into the Impl class.
69 (connect): new method, enabling a listener to connect to this signal.
71 * GraphicsConverter.[Ch]: (startConversion): const-ify.
72 (finishedConversion): move the signal into the Impl class.
73 (connect): new method, enabling a listener to connect to this signal.
75 * GraphicsLoader.[Ch] (reset, startLoading): const-ify.
76 (statusChanged): move the signal into the Impl class.
77 (connect): new method, enabling a listener to connect to this signal.
79 * PreviewLoader.[Ch] (add, remove, startLoading): const-ify.
80 (imageReady): move the signal into the Impl class.
81 (connect): new method, enabling a listener to connect to this signal.
82 (emitSignal): new method, enabling PreviewImage to tell the outside
83 world that the file has been loaded into memory.
85 * Previews.[Ch] (loader, removeLoader, generateBufferPreviews):
89 * GraphicsCacheItem.C:
90 * GraphicsConverter.[Ch]:
94 * PreviewLoader.[Ch]: whitespace clean-up.
96 2002-07-16 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
98 * PreviewLoader.C (setConverter): remove unused variable
100 * GraphicsImageXPM.C (isDrawable): implement
101 (setPixmap): the opaque color is black, not white
103 2002-07-15 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
105 * GraphicsImageXPM.C (color_none_id):
106 (contains_color_none): use ascii_lowercase instead of lowercase
108 2002-07-16 Angus Leeming <leeming@lyx.org>
110 * PreviewLoader.C: greater use of STL algorithms.
112 * Previews.[Ch]: use const in more places.
113 (generateBufferPreviews): now takes a Buffer const & argument, not a
116 2002-07-15 John Levon <moz@compsoc.man.ac.uk>
118 * GraphicsImage.h: remove getPixmap/X, add isDrawable()
120 2002-07-12 Angus Leeming <leeming@lyx.org>
122 * GraphicsLoader.[Ch]: smart loading of images. Images are loaded only
123 if visible 2 secs after the call to load them is first made.
125 * GraphicsSupport.[Ch]: new files. isInsetVisible interrogates the
126 BufferView to ascertain whether the inset is visible or not.
128 * Makefile.am: added GraphicsSupport.[Ch].
130 * PreviewImage.[Ch]: use this smart loader.
132 * PreviewLoader.C: don't load generated image files indiscimminantly.
133 Instead emit the imageReady signal and allow the image owner to decide.
135 2002-07-12 John Levon <moz@compsoc.man.ac.uk>
137 * GraphicsCache.C: remove init_graphics()
139 2002-07-09 Angus Leeming <leeming@lyx.org>
141 * PreviewLoader.C (setAscentFractions): fix bug due to use of integer
142 arithmetic when it should be floating.
144 2002-07-09 Angus Leeming <leeming@lyx.org>
146 * PreviewLoader.C (startLoading): prepend LaTeX file with "\batchmode".
147 Output equation labels as "(#)" if lyxrc preference is set.
148 (setFontScalingFactor): use lyxrc variable preview_scale_factor
149 rather than hard-coding this.
151 2002-07-09 Angus Leeming <leeming@lyx.org>
153 * PreviewLoader.C: Further refactoring of the code. Should now be
156 * PreviewMetrics.[Ch]: removed. Had a v. short shelf life and is now
157 past its sell-by date. The code to read the metrics file is now found
158 as a helper function in PreviewLoader.C.
160 * GraphicsImageXPM.C (scale): use boost::tie.
162 2002-07-08 Herbert Voss <voss@lyx.org>
164 * PreviewLoader.C: use of preview_size_factor to get the right
165 font-size! 0.9 is the default.
167 2002-07-08 Angus Leeming <leeming@lyx.org>
169 * PreviewLoader.C: Add "delayed" and "showlabels" options to the
170 invocation of preview.sty.
171 Perform something of an internal clean-up.
173 2002-07-06 Angus Leeming <leeming@lyx.org>
175 * PreviewLoader.C: ensure that the metrics data is used by the
179 * PreviewImage.C: (Impl d-tor): remove all generated files that still
180 exist (perhaps because the process was curtailed before the images
183 * PreviewLoader.C (unique_filename): store the files in Buffer::tmppath.
185 2002-07-05 Angus Leeming <leeming@lyx.org>
194 * Previews.C: new files. The previewed LaTeX snippet stuff.
196 * Makefile.am: add these files.
198 2002-07-05 Angus Leeming <leeming@lyx.org>
200 * GraphicsLoader.h: whitespace.
202 2002-07-04 Lars Gullik Bjønnes <larsbj@birdstep.com>
204 * GraphicsImage.[Ch]: newImage and loadableFormats changed to
205 boost::function from boost::signal.
207 2002-07-01 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
209 * GraphicsConverter.C (convert): do not use ChangeExtension
210 because to_file_base may contain a dot.
212 2002-06-28 Angus Leeming <leeming@lyx.org>
214 * GraphicsCacheItem.[Ch]: refactor some of the more convoluted logic
215 by moving those SignalPtrs into the grfx::Image and grfx::Converter
216 classes where they really belong.
217 Use the Pimpl idiom to hide the class internals from public view.
219 * GraphicsTypes: remove the typedefs, leaving only the enums.
221 * GraphicsImage.h: now has a finishedLoading signal, as opposed to being
222 passed a reference to one in the load() method.
224 * GraphicsConverter.[Ch]: totally refactored. An instance of
225 grfx::Converter now represents a single conversion process.
226 Thus grfx::CachItem now has a grfx::Converter * that is set when the
227 conversion is initiated and destroyed on completion.
229 * GraphicsCache.[Ch]:
230 * GraphicsCacheItem.[Ch]:
231 * GraphicsConverter.[Ch]:
232 * GraphicsLoader.[Ch]: use the Pimpl idiom to hide the class internals
234 Note that I have done this only after making the above changes,
235 so not only should we have a clean, minimal and well documented
236 interface to these classes in the header files, but the class internals
237 should be much clearer too.
240 grfx::GCache -> grfx::Cache,
241 grfx::GCacheItem -> grfx::CacheItem,
242 grfx::GConverter -> grfx::Converter,
243 grfx::GImage -> grfx::Image,
244 grfx::GImageXPM -> grfx::ImageXPM,
245 grfx::GParams -> grfx::Params.
247 2002-06-26 Angus Leeming <leeming@lyx.org>
249 * GraphicsLoader.[Ch]: use boost::scoped_ptr in preference to
250 std::auto_ptr. Define an empty Loader d-tor out-of-line to ensure it
253 2002-06-26 Angus Leeming <leeming@lyx.org>
255 * GraphicsTypes.h: add "Ready" to the ImageStatus enum.
256 move the DisplayType enum out of grfx::GParams to here.
258 * GraphicsCacheItem.h: re-write preliminary description to reflect
261 * GraphicsParams.[Ch]:
262 * GraphicsImageXPM.C (load, setPixmap): changes aassociated with moving
263 grfx::DisplayType out of grfx::GParams.
265 * GraphicsLoader.[Ch]: new files. Factor out the image loading stuff
266 that was in frontends/screen.C and insets/insetgraphics.C into a
267 single, easy-to-use class.
269 * Makefile.am: add these files.
271 2002-06-25 Angus Leeming <leeming@lyx.org>
273 * GraphicsCache.[Ch]:
274 * GraphicsCacheItem.[Ch]:
275 * GraphicsTypes.h: rewrite the graphics cache to just load a graphics
276 file into memory. The cache no longer controls the generation of the
277 pixmap. Instead, it just emits a signal when the loading status of an
279 The cache no longer stores InsetGraphics pointers and nor does it
280 assume responsibility for modifying an image (scaling, rotating etc).
281 Instead, that must now be performed elsewhere.
283 2002-06-19 Angus Leeming <leeming@lyx.org>
285 * GraphicsConverter.C: add using std::endl directive.
287 2002-06-17 Herbert Voss <voss@lyx.org>
289 * GraphicsCachItem.C: (findTargetFormat)return xpm-format as a
290 default when nothing different was found
291 (convertToDisplayFormat): handle zipped files in the right way and
292 choose always convert as a default converter when no other
293 userdefined was found
295 * GraphicsConverter.C: add more lyxerr comments and choose
296 convert when no other userdefined converter was found
298 2002-06-10 Herbert Voss <voss@lyx.org>
300 * GraphicsImageXPM.C (convertTo7chars): get another special color
301 format from convert work in the right way
303 2002-06-12 John Levon <moz@compsoc.man.ac.uk>
305 * GraphicsCache.C: use right colormap incantation
307 2002-06-12 John Levon <moz@compsoc.man.ac.uk>
309 * GraphicsCache.C: use lyx_gui namespace
311 * GraphicsImageXPM.C: back down to using xforms
314 2002-06-07 Angus Leeming <leeming@lyx.org>
316 Fixes needed to compile with Compaq cxx 6.5.
317 * GraphicsConverter.h: forward declare class ConvProcess.
319 * GraphicsImageXPM.C:
320 all c-library variables have been moved into namespace std.
321 Wrap using std::xyz declarations inside a #ifndef CXX_GLOBAL_CSTD block.
323 2002-06-06 Angus Leeming <a.leeming@ic.ac.uk>
325 * GraphicsImageXPM.C (rotate): rotate in the same sense as xdvi!
327 2002-05-30 Lars Gullik Bjønnes <larsbj@birdstep.com>
329 * GraphicsImageXPM.C: SigC to boot::signals changes.
330 (newImage): fix () bug when using new.
332 2002-05-29 Lars Gullik Bjønnes <larsbj@birdstep.com>
334 * switch from SigC signals to boost::signals.
336 2002-05-29 André Pönitz <poenitz@gmx.net>
338 * GraphicsParam.C: remove unneeded #include, move vomment
340 2002-05-28 André Pönitz <poenitz@gmx.net>
342 * GraphicsParam.[Ch]: move inset related stuff to inset/insetgraphics
344 2002-05-24 John Levon <moz@compsoc.man.ac.uk>
346 * GraphicsImageXPM.C: ColorHandler moved
348 2002-05-24 Juergen Vigna <jug@sad.it>
351 * GraphicsImage.h: include LString.h first.
353 2002-05-22 Lars Gullik Bjønnes <larsbj@birdstep.com>
355 * GraphicsCacheItem.h: use more specific smart_ptr header.
356 * GraphicsTypes.h: ditto
357 * GraphicsImage.h: ditto
358 * GraphicsConverter.h: ditto
360 2002-04-28 John Levon <moz@compsoc.man.ac.uk>
362 * GraphicsImageXPM.C: understand convert's use of "opaque"
365 2002-04-19 Marco Morandini <morandini@aero.polimi.it>
367 * GraphicsCache.[Ch] (loadableFormats): new method. A wrapper for
368 GImage::loadableFormats() that ensures that the signal is connected
369 to the derived class' method.
371 2002-04-18 Lars Gullik Bjønnes <larsbj@birdstep.com>
373 * GraphicsImageXPM.C (convertTo7chars): drop all conversions and
374 only work on the string.
376 2002-04-17 Angus Leeming <a.leeming@ic.ac.uk>
378 * GraphicsImageXPM.C (Data::reset): Fix the loading of xpm files by
379 the simple image loader when it encounters colour strings like
382 2002-04-16 Angus Leeming <a.leeming@ic.ac.uk>
384 * GraphicsCacheItem.C (convertToDisplayFormat):
385 * GraphicsConverter.C (build_script): remove the Alerts when things go
386 wrong as the inset displays the message anyway. Moreover, Alert seems
387 pretty temperamemtal at the moment.
389 2002-04-16 Rob Lahaye <lahaye@users.sourceforge.net>
391 * GraphicsImageXPM.C: fix clipping for boundingbox y-coordinates
393 2002-04-08 Angus Leeming <a.leeming@ic.ac.uk>
395 * GraphicsCacheItem.C (findTargetFormat): fix bug waiting to bite:
396 a reference to a temp object that's going out of scope...
398 2002-04-09 Herbert Voss <voss@lyx.org>
400 * GraphicsParams.C (BoundingBox c-tor): fix rounding errors by using
401 LyXLength::inBP instead of inPixels.
403 2002-04-10 Herbert Voss <voss@perce.de>
405 * GraphicsCache.[Ch]:
406 * GraphicsCacheItem.[Ch]: add width/height functions from Angus
407 to read the "Bounding Box" from non (e)ps files.
409 2002-04-08 Angus Leeming <a.leeming@ic.ac.uk>
411 * GraphicsParams.C (c-tor): if clipping, then check the Bounding Box of
412 the EPS file too, to ensure that the clipped Bounding Box is relative
413 to the original. (From Herbert.)
415 2002-04-04 Angus Leeming <a.leeming@ic.ac.uk>
417 * GraphicsParams.C (BoundingBox c-tor): ensure that the member
418 variables are initialised. Clean-up parsing of the string (with thanks
421 2002-03-26 Angus Leeming <a.leeming@ic.ac.uk>
423 * GraphicsCacheItem.C (convertToDisplayFormat): don't launch that Alert
424 if the file can't be found.
426 * GraphicsParams.h (c-tor): remove string() as default argument.
428 * GraphicsCacheItem.C: a couple of changes as a result.
430 2002-03-22 Angus Leeming <a.leeming@ic.ac.uk>
432 * GraphicsCache.[Ch] (update): now passed filepath to determine absolute
433 path to graphics file.
435 * GraphicsParams.[Ch] (c-tor): now passed filepath.
437 2002-03-21 Lars Gullik Bjønnes <larsbj@birdstep.com>
439 * most files: ws cleanup
441 * Makefile.am: remove ld -r stuff
443 2002-03-20 Lars Gullik Bjønnes <larsbj@birdstep.com>
445 * Makefile.am: special rules if partial linking
447 2002-03-14 Angus Leeming <a.leeming@ic.ac.uk>
449 * GraphicsCache.C: use Lars' preferred idiom for a for-loop.
451 2002-03-11 Lars Gullik Bjønnes <larsbj@birdstep.com>
453 * GraphicsConverter.[Ch] (converted): make first arg const ref.
455 * GraphicsCacheItem.h: doxy change
457 * GraphicsCacheItem.C: ws change
459 2002-03-05 Angus Leeming <a.leeming@ic.ac.uk>
461 * Makefile.am: if there is no image loading class leveraging the power
462 of the appropriate gui library, then compile the basic alternative
463 found in GraphicsImageXPM.[Ch].
465 2002-03-04 Angus Leeming <a.leeming@ic.ac.uk>
467 * GraphicsCache.C: change associated with move of initialiseGraphics
470 2002-02-28 Angus Leeming <a.leeming@ic.ac.uk>
472 * GraphicsParams.[Ch]:
474 * GraphicsImageXPM.C: properly resolve more warnings about comparison
475 between signed and unsigned integer expressions.
477 * Makefile.am: add GraphicsTypes.h which I'd carelessly left out.
479 * GraphicsCache.C: move connections to the GImage-derived classes to
482 * GraphicsImageXPM.C (copy c-tor): don't copy pixmap.
484 * GraphicsCacheItem.C (findTargetFormat): if we can load direct without
485 conversion, then do that.
487 2002-02-27 Angus Leeming <a.leeming@ic.ac.uk>
489 * GraphicsCache.C: improve commentary to graphicsInit and where it
492 * GraphicsImageXPM.C (~Data, free_color_table): resolve the crash
493 that became a memory leak properly. (Let the shared_c_ptr free the
495 (reset, mapcolor): tidy up and introduce a work around for XPM files
496 with crappy color entries. Print out a nice friendly message on what's
497 gone wrong and how to resolve it properly.
499 2002-02-27 Angus Leeming <a.leeming@ic.ac.uk>
501 * GraphicsImageXPM.[Ch]: more rigorous use of types (signed/unsigned).
502 (Data d-tor): introduce memory leak temporarily, to "fix" a crash
504 (unique_color_string): use the correct string c-tor.
506 2002-02-15 Angus Leeming <a.leeming@ic.ac.uk>
509 * ImageLoaderXPM.[Ch]: removed.
511 * GraphicsConverter.[Ch]:
512 * GraphicsImage.[Ch]:
513 * GraphicsImageXPM.[Ch]:
514 * GraphicsParams.[Ch]:
515 * GraphicsTypes.h: new files.
517 * All files. A total re-write of the graphics cache. The cache now
518 supports asynchronous file conversion and file loading. Images
519 can be cropped, rotated and scaled for display on the LyX screen.
520 The old LyXImage and ImageLoader have been combined in a new class
521 GImage. Ditto, ImageLoaderXPM's functionality has been moved into
524 2002-02-07 Herbert Voss <voss@lyx.org>
526 * GraphicsCacheItem.C: use unzipFile() from support/filetools
528 2002-01-31 Herbert Voss <voss@lyx.org>
530 * GraphicsCacheItem.h: handle filetype without the file extension;
531 getting type from contents; handle zipped files
533 2002-01-27 Herbert Voss <voss@lyx.org>
535 * GraphicsCacheItem.h: added Converting to the ImageStatus enum.
537 2002-01-17 John Levon <moz@compsoc.man.ac.uk>
539 * ImageLoaderXPM.C: don't set XpmColorKey flag if we don't use it
541 2001-12-19 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
543 * GraphicsCacheItem.h: do not include <config.h> in header files
545 2001-09-21 Angus Leeming <a.leeming@ic.ac.uk>
547 * ImageLoaderXPM.C (runImageLoader): If the pixmap contains a
548 transparent colour, then set it to the colour of the background.
549 Also take account of the monochrome, grayscale of color
552 2001-09-20 Angus Leeming <a.leeming@ic.ac.uk>
554 * GraphicsCacheItem.C (convertImage): only convert if "from" and "to"
555 are different. Thus, don't delete the "to" if it's the original!
557 2001-09-01 John Levon <moz@compsoc.man.ac.uk>
559 * ImageLoadXPM.C: remove setting of alloc colour mask,
560 led to crash as we don't define a callback
562 2001-07-29 Baruch Even <baruch@lyx.org>
564 * ImageLoaderXPM.C (runImageLoader): When loading agree to use non-exact
565 colors with closeness of 10000.
567 * GraphicsCacheItem.C: Fixed a compilation bug introduced earlier.
569 2001-07-29 Baruch Even <baruch@lyx.org>
571 * GraphicsCacheItem.C (findTargetFormat): Removed error dialog box,
574 2001-07-23 Baruch Even <baruch@lyx.org>
576 * GraphicsCacheItem.C (convertImage): Fixed a bug with regard to loading
577 the image after conversion.
579 2001-07-17 Baruch Even <baruch@lyx.org>
581 * GraphicsCacheItem.h:
582 * GraphicsCacheItem.C: Shuffled things a bit to make it easier to switch
583 from synchronous to asynchronous and to ease the coming changes.
585 2001-07-03 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
587 * ImageLoaderXPM.C (runImageLoader): get display information from
590 2001-06-14 Angus Leeming <a.leeming@ic.ac.uk>
593 * GraphicsCacheItem.C:
595 * ImageLoaderXPM.C: removed // -*- C++ -*- as first line.
597 2001-04-17 Lars Gullik Bjønnes <larsbj@birdstep.com>
599 * GraphicsCache.h: inherit privately from noncopyable
600 * ImageLoader.h: ditto
601 * GraphicsCacheItem.h: ditto
603 2001-04-16 Allan Rae <rae@lyx.org>
605 * ImageLoaderXPM.C (runImageLoader): #warning triggers an error on Sun
606 CC 6.0 as an unrecognised preprocessor directive. So ensure they're
609 2001-04-02 Baruch Even <baruch@lyx.org>
611 * GraphicsCacheItem.[Ch]: Changed to used the Converter class instead
612 of hard coding ImageMagick.
614 2001-03-10 Baruch Even <baruch@lyx.org>
616 * GraphicsCache.C: Style change from (*it).field to it->field
618 2001-03-15 Lars Gullik Bjønnes <larsbj@trylle.birdstep.com>
620 * GraphicsCache.h: noncopyable is in namespace boost
621 * ImageLoader.h: ditto
622 * GraphicsCacheItem.h: ditto
624 2001-03-07 Baruch Even <baruch@lyx.org>
626 * GraphicsCache.C (d-tor): Removed the assert, the assumption it carried
627 was false and it's not needed anyhow since the shared_ptr's in the cache
628 will destroy everything on exit.
630 2001-02-28 Baruch Even <baruch@ev-en.org>
633 * GraphicsCache.C: Changed the singleton pattern implementation, the
634 former version "leaked" in the sense that it was not deallocated at
637 2001-02-20 Baruch Even <baruch@ev-en.org>
639 * GraphicsCache.C: Changed to use shared_ptr<GraphicsCacheItem>
640 instead of a pure pointer.
642 * GraphicsCacheItem.[Ch]:
643 * GraphicsCacheItem_pimpl.[Ch]: Collapsed them into GraphicsCacheItem,
644 removed the reference counting that was inside. Also fixed a bug where
645 a temporary file wouldn't get erased.
647 * ImageLoader.[Ch]: Changed the semantics of the image_ pointers usage.
648 Ownership is now dropped when the caller requests the image_ pointer.
650 2001-02-20 Baruch Even <baruch@ev-en.org>
652 * GraphicsCache.C: Cleared up the confusion on when and how it is
655 * GraphicsCacheItem.C: Indentation change.
657 * GraphicsCacheItem_pimpl.C: Fixed the loading logic so that it will
658 figure correctly when the image has been loaded successfully.
660 2001-02-08 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
662 * ImageLoader.C: add a "using" directive.
664 * ImageLoader.h: remove extra comma at the end of enum; add an
665 std:: qualifier for vector.
667 2001-01-21 Baruch Even <baruch@ev-en.org>
669 * GraphicsCacheItem.[Ch]: Changes due to the storage of width and
670 height in the image itself and minor cleanups.
672 * GraphicsCacheItem_impl.[Ch]: Changes due to the switch to use a
673 new ImageLoader class instead of the older Renderer class. This
674 means change of responsibilities.