]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiImage.cpp
Complete the removal of the embedding stuff. Maybe. It's hard to be sure we got every...
[lyx.git] / src / frontends / qt4 / GuiImage.cpp
index 51eb3cf6f74b36a54cb964af572b26733fb13c5a..75c78a6ee8335b71db7728e7935a009e57a27dec 100644 (file)
 #include "GuiImage.h"
 #include "qt_helpers.h"
 
-#include "debug.h"
 #include "Format.h"
 
 #include "graphics/GraphicsParams.h"
 
+#include "support/debug.h"
 #include "support/FileName.h"
 #include "support/lstrings.h"       // ascii_lowercase
 
 #include <QPainter>
-#include <QPictureIO>
-#include <QPicture>
 #include <QImage>
 #include <QImageReader>
 
-#include <boost/bind.hpp>
-#include <boost/tuple/tuple.hpp>
-
-using lyx::support::ascii_lowercase;
-
-using boost::bind;
-
-using std::endl;
-using std::equal_to;
-using std::find_if;
-using std::string;
-
-QPictureIO StaticPicture;
+using namespace std;
+using namespace lyx::support;
 
 namespace lyx {
 namespace graphics {
 
 /// Access to this class is through this static method.
-Image::ImagePtr QLImage::newImage()
+Image * GuiImage::newImage()
 {
-       ImagePtr ptr;
-       ptr.reset(new QLImage);
-       return ptr;
+       return new GuiImage;
 }
 
 
 /// Return the list of loadable formats.
-Image::FormatList QLImage::loadableFormats()
+Image::FormatList GuiImage::loadableFormats()
 {
        static FormatList fmts;
 
@@ -66,28 +51,24 @@ Image::FormatList QLImage::loadableFormats()
        Formats::const_iterator begin = formats.begin();
        Formats::const_iterator end   = formats.end();
 
+       //LYXERR(Debug::GRAPHICS,
+       //      "D:/msys/home/yns/src/lyx-devel/lib/images/banner.png mis of format: "
+       //      << fromqstr(Pic.pictureFormat("D:/msys/.../banner.png")))
+       //if (Pic.pictureFormat("D:/msys/.../banner.png"))
+       //      LYXERR(Debug::GRAPHICS, "pictureFormat not returned NULL\n"
+       //              << "Supported formats are: " << Pic.inputFormats());
 
-//     LYXERR(Debug::GRAPHICS)
-//             << "D:/msys/home/yns/src/lyx-devel/lib/images/banner.png mis of format: "
-//             << fromqstr(Pic.pictureFormat("D:/msys/home/yns/src/lyx-devel/lib/images/banner.png"))
-//             << endl;
-//     if (Pic.pictureFormat("D:/msys/home/yns/src/lyx-devel/lib/images/banner.png"))
-//             LYXERR(Debug::GRAPHICS)
-//                     << "pictureFormat not returned NULL\n" << endl;
-//                     << "Supported formats are: " << Pic.inputFormats() << endl;
-
-       QList<QByteArray> qt_formats = QImageReader::supportedImageFormats ();
+       QList<QByteArray> qt_formats = QImageReader::supportedImageFormats();
 
-       LYXERR(Debug::GRAPHICS)
-               << "\nThe image loader can load the following directly:\n";
+       LYXERR(Debug::GRAPHICS,
+               "\nThe image loader can load the following directly:\n");
 
        if (qt_formats.empty())
-               LYXERR(Debug::GRAPHICS)
-                       << "\nQt4 Problem: No Format available!" << endl;
+               LYXERR(Debug::GRAPHICS, "\nQt4 Problem: No Format available!");
 
-       for (QList<QByteArray>::const_iterator it =qt_formats.begin(); it != qt_formats.end(); ++it) {
+       for (QList<QByteArray>::const_iterator it = qt_formats.begin(); it != qt_formats.end(); ++it) {
 
-               LYXERR(Debug::GRAPHICS) << (const char *) *it << ", ";
+               LYXERR(Debug::GRAPHICS, (const char *) *it << ", ");
 
                string ext = ascii_lowercase((const char *) *it);
 
@@ -95,76 +76,65 @@ Image::FormatList QLImage::loadableFormats()
                if (ext == "jpeg")
                        ext = "jpg";
 
-               Formats::const_iterator fit =
-                       find_if(begin, end,
-                               bind(equal_to<string>(),
-                                    bind(&Format::extension, _1),
-                                    ext));
-               if (fit != end)
-                       fmts.push_back(fit->name());
+               for (Formats::const_iterator fit = begin; fit != end; ++fit) 
+                       if (fit->extension() == ext) {
+                               fmts.push_back(fit->name());
+                               break;
+                       }
        }
 
        if (lyxerr.debugging()) {
-               LYXERR(Debug::GRAPHICS)
-                       << "\nOf these, LyX recognises the following formats:\n";
+               LYXERR(Debug::GRAPHICS, "Of these, LyX recognises the following formats:");
 
                FormatList::const_iterator fbegin = fmts.begin();
                FormatList::const_iterator fend   = fmts.end();
                for (FormatList::const_iterator fit = fbegin; fit != fend; ++fit) {
                        if (fit != fbegin)
-                               LYXERR(Debug::GRAPHICS) << ", ";
-                       LYXERR(Debug::GRAPHICS) << *fit;
+                               LYXERR(Debug::GRAPHICS, ", ");
+                       LYXERR(Debug::GRAPHICS, *fit);
                }
-               LYXERR(Debug::GRAPHICS) << '\n' << endl;
+               LYXERR(Debug::GRAPHICS, '\n');
        }
 
        return fmts;
 }
 
 
-QLImage::QLImage()
-       : Image()
-{
-}
-
-
-QLImage::QLImage(QLImage const & other)
+GuiImage::GuiImage(GuiImage const & other)
        : Image(other), original_(other.original_),
          transformed_(other.transformed_),
          transformed_pixmap_(other.transformed_pixmap_)
 {}
 
 
-Image * QLImage::clone_impl() const
+Image * GuiImage::clone() const
 {
-       return new QLImage(*this);
+       return new GuiImage(*this);
 }
 
 
-unsigned int QLImage::getWidth_impl() const
+unsigned int GuiImage::width() const
 {
        return transformed_.width();
 }
 
 
-unsigned int QLImage::getHeight_impl() const
+unsigned int GuiImage::height() const
 {
        return transformed_.height();
 }
 
 
-void QLImage::load_impl(support::FileName const & filename)
+void GuiImage::load(FileName const & filename)
 {
        if (!original_.isNull()) {
-               LYXERR(Debug::GRAPHICS)
-                       << "Image is loaded already!" << endl;
+               LYXERR(Debug::GRAPHICS, "Image is loaded already!");
                finishedLoading(false);
                return;
        }
 
        if (!original_.load(toqstr(filename.absFilename()))) {
-               LYXERR(Debug::GRAPHICS)
-                       << "Unable to open image" << endl;
+               LYXERR(Debug::GRAPHICS, "Unable to open image");
                finishedLoading(false);
                return;
        }
@@ -173,10 +143,8 @@ void QLImage::load_impl(support::FileName const & filename)
 }
 
 
-namespace {
-
 // This code is taken from KImageEffect::toGray
-QImage & toGray(QImage & img)
+static QImage & toGray(QImage & img)
 {
        if (img.width() == 0 || img.height() == 0)
                return img;
@@ -195,10 +163,8 @@ QImage & toGray(QImage & img)
        return img;
 }
 
-} // namespace anon
-
 
-bool QLImage::setPixmap_impl(Params const & params)
+bool GuiImage::setPixmap(Params const & params)
 {
        if (original_.isNull() || params.display == NoDisplay)
                return false;
@@ -223,7 +189,7 @@ bool QLImage::setPixmap_impl(Params const & params)
 }
 
 
-void QLImage::clip_impl(Params const & params)
+void GuiImage::clip(Params const & params)
 {
        if (transformed_.isNull())
                return;
@@ -254,7 +220,7 @@ void QLImage::clip_impl(Params const & params)
 }
 
 
-void QLImage::rotate_impl(Params const & params)
+void GuiImage::rotate(Params const & params)
 {
        if (transformed_.isNull())
                return;
@@ -269,20 +235,18 @@ void QLImage::rotate_impl(Params const & params)
 }
 
 
-void QLImage::scale_impl(Params const & params)
+void GuiImage::scale(Params const & params)
 {
        if (transformed_.isNull())
                return;
 
-       unsigned int width;
-       unsigned int height;
-       boost::tie(width, height) = getScaledDimensions(params);
+       Dimension dim = scaledDimension(params);
 
-       if (width == getWidth() && height == getHeight())
+       if (dim.width() == width() && dim.height() == height())
                return;
 
        QMatrix m;
-       m.scale(double(width) / getWidth(), double(height) / getHeight());
+       m.scale(double(dim.width()) / width(), double(dim.height()) / height());
        transformed_ = transformed_.transformed(m);
 }