2002-07-18 Jean-Marc Lasgouttes * GraphicsCacheItem.C (reset): use erase() instead of clear() for strings 2002-07-18 Angus Leeming * GraphicsCacheItem.[Ch]: add a FileMonitor variable to the the Impl class. (startMonitoring, monitoring, checksum): new methods to interact with the FileMonitor. * GraphicsLoader.[Ch] (startMonitoring, monitoring, checksum): new methods invoking the CacheItem methods of the same name. (resetFile): if monitoring and the file changes, start monitoring this new file. 2002-07-17 Jean-Marc Lasgouttes * Makefile.am: remove FileMonitor.[Ch] 2002-06-17 Herbert Voss * GraphicsCachItem.C (findTargetFormat): remove the speciell case for old ps-files (Garst). It's now handled by defining a converter and disabling the ps-support of xforms. 2002-07-17 Angus Leeming Be true to the Pimpl idiom, moving all signals into the respective Impl classes and defining methods to connect them to an outside slot. Const-ify all visible class methods as they act only on a const pimpl_. * GraphicsCache.[Ch] (add, remove): const-ify. * GraphicsCacheItem.[Ch] (startLoading): const-ify. (statusChanged): move the signal into the Impl class. (connect): new method, enabling a listener to connect to this signal. * GraphicsConverter.[Ch]: (startConversion): const-ify. (finishedConversion): move the signal into the Impl class. (connect): new method, enabling a listener to connect to this signal. * GraphicsLoader.[Ch] (reset, startLoading): const-ify. (statusChanged): move the signal into the Impl class. (connect): new method, enabling a listener to connect to this signal. * PreviewLoader.[Ch] (add, remove, startLoading): const-ify. (imageReady): move the signal into the Impl class. (connect): new method, enabling a listener to connect to this signal. (emitSignal): new method, enabling PreviewImage to tell the outside world that the file has been loaded into memory. * Previews.[Ch] (loader, removeLoader, generateBufferPreviews): const-ify. * GraphicsCache.C: * GraphicsCacheItem.C: * GraphicsConverter.[Ch]: * GraphicsImage.h: * GraphicsImageXPM.C: * GraphicsLoader.C: * PreviewLoader.[Ch]: whitespace clean-up. 2002-07-16 Jean-Marc Lasgouttes * PreviewLoader.C (setConverter): remove unused variable * GraphicsImageXPM.C (isDrawable): implement (setPixmap): the opaque color is black, not white 2002-07-15 Jean-Marc Lasgouttes * GraphicsImageXPM.C (color_none_id): (contains_color_none): use ascii_lowercase instead of lowercase 2002-07-16 Angus Leeming * PreviewLoader.C: greater use of STL algorithms. * Previews.[Ch]: use const in more places. (generateBufferPreviews): now takes a Buffer const & argument, not a pointer. 2002-07-15 John Levon * GraphicsImage.h: remove getPixmap/X, add isDrawable() 2002-07-12 Angus Leeming * GraphicsLoader.[Ch]: smart loading of images. Images are loaded only if visible 2 secs after the call to load them is first made. * GraphicsSupport.[Ch]: new files. isInsetVisible interrogates the BufferView to ascertain whether the inset is visible or not. * Makefile.am: added GraphicsSupport.[Ch]. * PreviewImage.[Ch]: use this smart loader. * PreviewLoader.C: don't load generated image files indiscimminantly. Instead emit the imageReady signal and allow the image owner to decide. 2002-07-12 John Levon * GraphicsCache.C: remove init_graphics() 2002-07-09 Angus Leeming * PreviewLoader.C (setAscentFractions): fix bug due to use of integer arithmetic when it should be floating. 2002-07-09 Angus Leeming * PreviewLoader.C (startLoading): prepend LaTeX file with "\batchmode". Output equation labels as "(#)" if lyxrc preference is set. (setFontScalingFactor): use lyxrc variable preview_scale_factor rather than hard-coding this. 2002-07-09 Angus Leeming * PreviewLoader.C: Further refactoring of the code. Should now be pretty clean. * PreviewMetrics.[Ch]: removed. Had a v. short shelf life and is now past its sell-by date. The code to read the metrics file is now found as a helper function in PreviewLoader.C. * GraphicsImageXPM.C (scale): use boost::tie. 2002-07-08 Herbert Voss * PreviewLoader.C: use of preview_size_factor to get the right font-size! 0.9 is the default. 2002-07-08 Angus Leeming * PreviewLoader.C: Add "delayed" and "showlabels" options to the invocation of preview.sty. Perform something of an internal clean-up. 2002-07-06 Angus Leeming * PreviewLoader.C: ensure that the metrics data is used by the correct image! * PreviewLoader.C: * PreviewImage.C: (Impl d-tor): remove all generated files that still exist (perhaps because the process was curtailed before the images were loaded.) * PreviewLoader.C (unique_filename): store the files in Buffer::tmppath. 2002-07-05 Angus Leeming * PreviewImage.h: * PreviewImage.C: * PreviewLoader.h: * PreviewLoader.C: * PreviewMetrics.h: * PreviewMetrics.C: * Previews.h: * Previews.C: new files. The previewed LaTeX snippet stuff. * Makefile.am: add these files. 2002-07-05 Angus Leeming * GraphicsLoader.h: whitespace. 2002-07-04 Lars Gullik Bjønnes * GraphicsImage.[Ch]: newImage and loadableFormats changed to boost::function from boost::signal. 2002-07-01 Jean-Marc Lasgouttes * GraphicsConverter.C (convert): do not use ChangeExtension because to_file_base may contain a dot. 2002-06-28 Angus Leeming * GraphicsCacheItem.[Ch]: refactor some of the more convoluted logic by moving those SignalPtrs into the grfx::Image and grfx::Converter classes where they really belong. Use the Pimpl idiom to hide the class internals from public view. * GraphicsTypes: remove the typedefs, leaving only the enums. * GraphicsImage.h: now has a finishedLoading signal, as opposed to being passed a reference to one in the load() method. * GraphicsConverter.[Ch]: totally refactored. An instance of grfx::Converter now represents a single conversion process. Thus grfx::CachItem now has a grfx::Converter * that is set when the conversion is initiated and destroyed on completion. * GraphicsCache.[Ch]: * GraphicsCacheItem.[Ch]: * GraphicsConverter.[Ch]: * GraphicsLoader.[Ch]: use the Pimpl idiom to hide the class internals from public view. Note that I have done this only after making the above changes, so not only should we have a clean, minimal and well documented interface to these classes in the header files, but the class internals should be much clearer too. * Renamed classes grfx::GCache -> grfx::Cache, grfx::GCacheItem -> grfx::CacheItem, grfx::GConverter -> grfx::Converter, grfx::GImage -> grfx::Image, grfx::GImageXPM -> grfx::ImageXPM, grfx::GParams -> grfx::Params. 2002-06-26 Angus Leeming * GraphicsLoader.[Ch]: use boost::scoped_ptr in preference to std::auto_ptr. Define an empty Loader d-tor out-of-line to ensure it compiles. 2002-06-26 Angus Leeming * GraphicsTypes.h: add "Ready" to the ImageStatus enum. move the DisplayType enum out of grfx::GParams to here. * GraphicsCacheItem.h: re-write preliminary description to reflect current reality. * GraphicsParams.[Ch]: * GraphicsImageXPM.C (load, setPixmap): changes aassociated with moving grfx::DisplayType out of grfx::GParams. * GraphicsLoader.[Ch]: new files. Factor out the image loading stuff that was in frontends/screen.C and insets/insetgraphics.C into a single, easy-to-use class. * Makefile.am: add these files. 2002-06-25 Angus Leeming * GraphicsCache.[Ch]: * GraphicsCacheItem.[Ch]: * GraphicsTypes.h: rewrite the graphics cache to just load a graphics file into memory. The cache no longer controls the generation of the pixmap. Instead, it just emits a signal when the loading status of an image changes. The cache no longer stores InsetGraphics pointers and nor does it assume responsibility for modifying an image (scaling, rotating etc). Instead, that must now be performed elsewhere. 2002-06-19 Angus Leeming * GraphicsConverter.C: add using std::endl directive. 2002-06-17 Herbert Voss * GraphicsCachItem.C: (findTargetFormat)return xpm-format as a default when nothing different was found (convertToDisplayFormat): handle zipped files in the right way and choose always convert as a default converter when no other userdefined was found * GraphicsConverter.C: add more lyxerr comments and choose convert when no other userdefined converter was found 2002-06-10 Herbert Voss * GraphicsImageXPM.C (convertTo7chars): get another special color format from convert work in the right way 2002-06-12 John Levon * GraphicsCache.C: use right colormap incantation 2002-06-12 John Levon * GraphicsCache.C: use lyx_gui namespace * GraphicsImageXPM.C: back down to using xforms directly again 2002-06-07 Angus Leeming Fixes needed to compile with Compaq cxx 6.5. * GraphicsConverter.h: forward declare class ConvProcess. * GraphicsImageXPM.C: all c-library variables have been moved into namespace std. Wrap using std::xyz declarations inside a #ifndef CXX_GLOBAL_CSTD block. 2002-06-06 Angus Leeming * GraphicsImageXPM.C (rotate): rotate in the same sense as xdvi! 2002-05-30 Lars Gullik Bjønnes * GraphicsImageXPM.C: SigC to boot::signals changes. (newImage): fix () bug when using new. 2002-05-29 Lars Gullik Bjønnes * switch from SigC signals to boost::signals. 2002-05-29 André Pönitz * GraphicsParam.C: remove unneeded #include, move vomment 2002-05-28 André Pönitz * GraphicsParam.[Ch]: move inset related stuff to inset/insetgraphics 2002-05-24 John Levon * GraphicsImageXPM.C: ColorHandler moved 2002-05-24 Juergen Vigna * GraphicsCache.h: * GraphicsImage.h: include LString.h first. 2002-05-22 Lars Gullik Bjønnes * GraphicsCacheItem.h: use more specific smart_ptr header. * GraphicsTypes.h: ditto * GraphicsImage.h: ditto * GraphicsConverter.h: ditto 2002-04-28 John Levon * GraphicsImageXPM.C: understand convert's use of "opaque" as a colour name 2002-04-19 Marco Morandini * GraphicsCache.[Ch] (loadableFormats): new method. A wrapper for GImage::loadableFormats() that ensures that the signal is connected to the derived class' method. 2002-04-18 Lars Gullik Bjønnes * GraphicsImageXPM.C (convertTo7chars): drop all conversions and only work on the string. 2002-04-17 Angus Leeming * GraphicsImageXPM.C (Data::reset): Fix the loading of xpm files by the simple image loader when it encounters colour strings like #rrrrggggbbbb. 2002-04-16 Angus Leeming * GraphicsCacheItem.C (convertToDisplayFormat): * GraphicsConverter.C (build_script): remove the Alerts when things go wrong as the inset displays the message anyway. Moreover, Alert seems pretty temperamemtal at the moment. 2002-04-16 Rob Lahaye * GraphicsImageXPM.C: fix clipping for boundingbox y-coordinates 2002-04-08 Angus Leeming * GraphicsCacheItem.C (findTargetFormat): fix bug waiting to bite: a reference to a temp object that's going out of scope... 2002-04-09 Herbert Voss * GraphicsParams.C (BoundingBox c-tor): fix rounding errors by using LyXLength::inBP instead of inPixels. 2002-04-10 Herbert Voss * GraphicsCache.[Ch]: * GraphicsCacheItem.[Ch]: add width/height functions from Angus to read the "Bounding Box" from non (e)ps files. 2002-04-08 Angus Leeming * GraphicsParams.C (c-tor): if clipping, then check the Bounding Box of the EPS file too, to ensure that the clipped Bounding Box is relative to the original. (From Herbert.) 2002-04-04 Angus Leeming * GraphicsParams.C (BoundingBox c-tor): ensure that the member variables are initialised. Clean-up parsing of the string (with thanks to Herbert.) 2002-03-26 Angus Leeming * GraphicsCacheItem.C (convertToDisplayFormat): don't launch that Alert if the file can't be found. * GraphicsParams.h (c-tor): remove string() as default argument. * GraphicsCacheItem.C: a couple of changes as a result. 2002-03-22 Angus Leeming * GraphicsCache.[Ch] (update): now passed filepath to determine absolute path to graphics file. * GraphicsParams.[Ch] (c-tor): now passed filepath. 2002-03-21 Lars Gullik Bjønnes * most files: ws cleanup * Makefile.am: remove ld -r stuff 2002-03-20 Lars Gullik Bjønnes * Makefile.am: special rules if partial linking 2002-03-14 Angus Leeming * GraphicsCache.C: use Lars' preferred idiom for a for-loop. 2002-03-11 Lars Gullik Bjønnes * GraphicsConverter.[Ch] (converted): make first arg const ref. * GraphicsCacheItem.h: doxy change * GraphicsCacheItem.C: ws change 2002-03-05 Angus Leeming * Makefile.am: if there is no image loading class leveraging the power of the appropriate gui library, then compile the basic alternative found in GraphicsImageXPM.[Ch]. 2002-03-04 Angus Leeming * GraphicsCache.C: change associated with move of initialiseGraphics to GUIRuntime. 2002-02-28 Angus Leeming * GraphicsParams.[Ch]: * GraphicsImage.C: * GraphicsImageXPM.C: properly resolve more warnings about comparison between signed and unsigned integer expressions. * Makefile.am: add GraphicsTypes.h which I'd carelessly left out. * GraphicsCache.C: move connections to the GImage-derived classes to the frontends. * GraphicsImageXPM.C (copy c-tor): don't copy pixmap. * GraphicsCacheItem.C (findTargetFormat): if we can load direct without conversion, then do that. 2002-02-27 Angus Leeming * GraphicsCache.C: improve commentary to graphicsInit and where it should really go. * GraphicsImageXPM.C (~Data, free_color_table): resolve the crash that became a memory leak properly. (Let the shared_c_ptr free the color table.) (reset, mapcolor): tidy up and introduce a work around for XPM files with crappy color entries. Print out a nice friendly message on what's gone wrong and how to resolve it properly. 2002-02-27 Angus Leeming * GraphicsImageXPM.[Ch]: more rigorous use of types (signed/unsigned). (Data d-tor): introduce memory leak temporarily, to "fix" a crash in free_color_table. (unique_color_string): use the correct string c-tor. 2002-02-15 Angus Leeming * ImageLoader.[Ch]: * ImageLoaderXPM.[Ch]: removed. * GraphicsConverter.[Ch]: * GraphicsImage.[Ch]: * GraphicsImageXPM.[Ch]: * GraphicsParams.[Ch]: * GraphicsTypes.h: new files. * All files. A total re-write of the graphics cache. The cache now supports asynchronous file conversion and file loading. Images can be cropped, rotated and scaled for display on the LyX screen. The old LyXImage and ImageLoader have been combined in a new class GImage. Ditto, ImageLoaderXPM's functionality has been moved into GImageXPM. 2002-02-07 Herbert Voss * GraphicsCacheItem.C: use unzipFile() from support/filetools 2002-01-31 Herbert Voss * GraphicsCacheItem.h: handle filetype without the file extension; getting type from contents; handle zipped files 2002-01-27 Herbert Voss * GraphicsCacheItem.h: added Converting to the ImageStatus enum. 2002-01-17 John Levon * ImageLoaderXPM.C: don't set XpmColorKey flag if we don't use it 2001-12-19 Jean-Marc Lasgouttes * GraphicsCacheItem.h: do not include in header files 2001-09-21 Angus Leeming * ImageLoaderXPM.C (runImageLoader): If the pixmap contains a transparent colour, then set it to the colour of the background. Also take account of the monochrome, grayscale of color preferences option. 2001-09-20 Angus Leeming * GraphicsCacheItem.C (convertImage): only convert if "from" and "to" are different. Thus, don't delete the "to" if it's the original! 2001-09-01 John Levon * ImageLoadXPM.C: remove setting of alloc colour mask, led to crash as we don't define a callback 2001-07-29 Baruch Even * ImageLoaderXPM.C (runImageLoader): When loading agree to use non-exact colors with closeness of 10000. * GraphicsCacheItem.C: Fixed a compilation bug introduced earlier. 2001-07-29 Baruch Even * GraphicsCacheItem.C (findTargetFormat): Removed error dialog box, too annoying. 2001-07-23 Baruch Even * GraphicsCacheItem.C (convertImage): Fixed a bug with regard to loading the image after conversion. 2001-07-17 Baruch Even * GraphicsCacheItem.h: * GraphicsCacheItem.C: Shuffled things a bit to make it easier to switch from synchronous to asynchronous and to ease the coming changes. 2001-07-03 Jean-Marc Lasgouttes * ImageLoaderXPM.C (runImageLoader): get display information from GUIRunTime. 2001-06-14 Angus Leeming * GraphicsCache.C: * GraphicsCacheItem.C: * ImageLoader.C: * ImageLoaderXPM.C: removed // -*- C++ -*- as first line. 2001-04-17 Lars Gullik Bjønnes * GraphicsCache.h: inherit privately from noncopyable * ImageLoader.h: ditto * GraphicsCacheItem.h: ditto 2001-04-16 Allan Rae * ImageLoaderXPM.C (runImageLoader): #warning triggers an error on Sun CC 6.0 as an unrecognised preprocessor directive. So ensure they're wrapped. 2001-04-02 Baruch Even * GraphicsCacheItem.[Ch]: Changed to used the Converter class instead of hard coding ImageMagick. 2001-03-10 Baruch Even * GraphicsCache.C: Style change from (*it).field to it->field 2001-03-15 Lars Gullik Bjønnes * GraphicsCache.h: noncopyable is in namespace boost * ImageLoader.h: ditto * GraphicsCacheItem.h: ditto 2001-03-07 Baruch Even * GraphicsCache.C (d-tor): Removed the assert, the assumption it carried was false and it's not needed anyhow since the shared_ptr's in the cache will destroy everything on exit. 2001-02-28 Baruch Even * GraphicsCache.h: * GraphicsCache.C: Changed the singleton pattern implementation, the former version "leaked" in the sense that it was not deallocated at program end. 2001-02-20 Baruch Even * GraphicsCache.C: Changed to use shared_ptr instead of a pure pointer. * GraphicsCacheItem.[Ch]: * GraphicsCacheItem_pimpl.[Ch]: Collapsed them into GraphicsCacheItem, removed the reference counting that was inside. Also fixed a bug where a temporary file wouldn't get erased. * ImageLoader.[Ch]: Changed the semantics of the image_ pointers usage. Ownership is now dropped when the caller requests the image_ pointer. 2001-02-20 Baruch Even * GraphicsCache.C: Cleared up the confusion on when and how it is emptied. * GraphicsCacheItem.C: Indentation change. * GraphicsCacheItem_pimpl.C: Fixed the loading logic so that it will figure correctly when the image has been loaded successfully. 2001-02-08 Jean-Marc Lasgouttes * ImageLoader.C: add a "using" directive. * ImageLoader.h: remove extra comma at the end of enum; add an std:: qualifier for vector. 2001-01-21 Baruch Even * GraphicsCacheItem.[Ch]: Changes due to the storage of width and height in the image itself and minor cleanups. * GraphicsCacheItem_impl.[Ch]: Changes due to the switch to use a new ImageLoader class instead of the older Renderer class. This means change of responsibilities.