X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fgraphics%2FPreviewLoader.h;h=272c4d361bd47e133498335d2ffa29f492643266;hb=649755f48180b0466cdf212178dc9bdcc5d18210;hp=e2866abdd89f263a8486824bf1637472c795245a;hpb=3aa7e91a827fa15b3e0906b975c4755a2dcdb76d;p=lyx.git diff --git a/src/graphics/PreviewLoader.h b/src/graphics/PreviewLoader.h index e2866abdd8..272c4d361b 100644 --- a/src/graphics/PreviewLoader.h +++ b/src/graphics/PreviewLoader.h @@ -1,50 +1,50 @@ // -*- C++ -*- /** - * \file PreviewLoader.h - * Read the file COPYING + * \file PreviewLoader.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * \author Angus Leeming + * \author Angus Leeming * - * Full author contact details available in file CREDITS + * Full author contact details are available in file CREDITS. * - * grfx::PreviewLoader collects latex snippets together. Then, on a - * startLoading() call, these are dumped to file and processed, converting - * each snippet to a separate bitmap image file. Once a bitmap file is ready - * to be loaded back into LyX, the PreviewLoader emits a signal to inform - * the initiating process. + * graphics::PreviewLoader collects latex snippets together. Then, on a + * startLoading() call, these are dumped to file and processed, converting + * each snippet to a separate bitmap image file. Once a bitmap file is ready + * to be loaded back into LyX, the PreviewLoader emits a signal to inform + * the initiating process. */ #ifndef PREVIEWLOADER_H #define PREVIEWLOADER_H -#ifdef __GNUG__ -#pragma interface -#endif +#include "ColorCode.h" +#include "support/signals.h" -#include "LString.h" -#include -#include -#include +#include + +#include + +namespace lyx { class Buffer; -namespace grfx { +namespace graphics { class PreviewImage; -class PreviewLoader : boost::noncopyable { +class PreviewLoader : public QObject { + Q_OBJECT public: /** We need buffer because we require the preamble to the * LaTeX file. */ PreviewLoader(Buffer const & buffer); - /// - ~PreviewLoader(); /** Is there an image already associated with this snippet of LaTeX? * If so, returns a pointer to it, else returns 0. */ - PreviewImage const * preview(string const & latex_snippet) const; + PreviewImage const * preview(std::string const & latex_snippet) const; /// enum Status { @@ -59,26 +59,27 @@ public: }; /// How far have we got in loading the image? - Status status(string const & latex_snippet) const; + Status status(std::string const & latex_snippet) const; /// Add a snippet of LaTeX to the queue for processing. - void add(string const & latex_snippet) const; + void add(std::string const & latex_snippet) const; /// Remove this snippet of LaTeX from the PreviewLoader. - void remove(string const & latex_snippet) const; + void remove(std::string const & latex_snippet) const; /** We have accumulated several latex snippets with status "InQueue". * Initiate their transformation into bitmap images. */ - void startLoading() const; + void startLoading(bool wait = false) const; /** Connect and you'll be informed when the bitmap image file * has been created and is ready for loading through - * grfx::PreviewImage::image(). + * lyx::graphics::PreviewImage::image(). */ - typedef boost::signal1::slot_type slot_type; + typedef signal sig; + typedef sig::slot_type slot; /// - boost::signals::connection connect(slot_type const &) const; + connection connect(slot const &) const; /** When PreviewImage has finished loading the image file into memory, * it tells the PreviewLoader to tell the outside world @@ -87,14 +88,29 @@ public: /// Which buffer owns this loader. Buffer const & buffer() const; + /// The background color used + static ColorCode backgroundColor() { return Color_background; } + /// The foreground color used + static ColorCode foregroundColor() { return Color_preview; } + + double displayPixelRatio() const ; + +public Q_SLOTS: + /// + void refreshPreviews(); private: + /// noncopyable + PreviewLoader(PreviewLoader const &); + void operator=(PreviewLoader 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_; + std::shared_ptr const pimpl_; }; -} // namespace grfx +} // namespace graphics +} // namespace lyx #endif // PREVIEWLOADER_H