X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fgraphics%2FGraphicsCacheItem.h;h=a018b3931d7f871c0778eaa830a821d1326a4d53;hb=5f82a7a515bffd3527c9e557ebfb1e39d1705a97;hp=7f008244fb0b982ea232690708270da2fb3f4b98;hpb=3aa7e91a827fa15b3e0906b975c4755a2dcdb76d;p=lyx.git diff --git a/src/graphics/GraphicsCacheItem.h b/src/graphics/GraphicsCacheItem.h index 7f008244fb..a018b3931d 100644 --- a/src/graphics/GraphicsCacheItem.h +++ b/src/graphics/GraphicsCacheItem.h @@ -1,18 +1,19 @@ // -*- C++ -*- /** * \file GraphicsCacheItem.h - * Read the file COPYING + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * \author Baruch Even - * \author Angus Leeming + * \author Baruch Even + * \author Angus Leeming * - * Full author contact details available in file CREDITS + * Full author contact details are available in file CREDITS. * - * The graphics cache is a container of grfx::CacheItems. - * Each grfx::CacheItem, defined here represents a separate image file. + * The graphics cache is a container of graphics::CacheItems. + * Each graphics::CacheItem, defined here represents a separate image file. * * The routines here can be used to load the graphics file into memory at - * which point (status() == grfx::Loaded). + * which point (status() == graphics::Loaded). * The user is then free to access image() in order to copy it and to then * transform the copy (rotate, scale, clip) and to generate the pixmap. * @@ -20,42 +21,39 @@ * file conversion to a loadable format; * file loading. * - * Whether you get that, of course, depends on grfx::Converter and on the - * grfx::Image-derived image class. + * Whether you get that, of course, depends on graphics::Converter and + * on the graphics::Image-derived image class. */ #ifndef GRAPHICSCACHEITEM_H #define GRAPHICSCACHEITEM_H -#ifdef __GNUG__ -#pragma interface -#endif - #include "GraphicsTypes.h" -#include "LString.h" -#include -#include -#include +#include "support/signals.h" + -class InsetGraphics; +namespace lyx { -namespace grfx { +namespace support { class FileName; } + +namespace graphics { class Image; -class Converter; -/// A grfx::Cache item holder. -class CacheItem : boost::noncopyable { +/// A graphics::Cache item holder. +class CacheItem { public: /// - CacheItem(string const & file); - - /// Define an empty d-tor out-of-line to keep boost::scoped_ptr happy. + CacheItem(support::FileName const & file, support::FileName const & doc_file); + /// Needed for the pimpl ~CacheItem(); /// - string const & filename() const; + support::FileName const & filename() const; + + /// Try to load a display format. + bool tryDisplayFormat() const; /// It's in the cache. Now start the loading process. void startLoading() const; @@ -67,11 +65,8 @@ public: void startMonitoring() const; /// bool monitoring() const; - /** Returns the check sum of filename() so that, for example, you can - * ascertain whether to output a new PostScript version of the file - * for a LaTeX run. - */ - unsigned long checksum() const; + /// perform a modification check asynchronously + void checkModifiedAsync() const; /** Get the image associated with filename(). * If the image is not yet loaded, returns 0. @@ -86,18 +81,22 @@ public: /** Connect and you'll be informed when the loading status of the image * changes. */ - typedef boost::signal0::slot_type slot_type; + typedef signal::slot_type slot_type; /// - boost::signals::connection connect(slot_type const &) const; + connection connect(slot_type const &) const; private: + /// noncopyable + CacheItem(CacheItem const &); + void operator=(CacheItem const &); + /// Use the Pimpl idiom to hide the internals. class Impl; - /// The pointer never changes although *pimpl_'s contents may. - boost::scoped_ptr const pimpl_; + Impl * const pimpl_; }; -} // namespace grfx +} // namespace graphics +} // namespace lyx #endif // GRAPHICSCACHEITEM_H