X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fgraphics%2FGraphicsImage.h;h=5488a760a9c5d72815855c07350cb51afd252a74;hb=55a3dd7b346d29a52ba305a4558e9e380ef50f47;hp=ec39bc1b5aec732d66c905fe72bbf30f5acad684;hpb=236ea81bc5c0ce7101c9460d1ee97b8f3c9be9df;p=lyx.git diff --git a/src/graphics/GraphicsImage.h b/src/graphics/GraphicsImage.h index ec39bc1b5a..5488a760a9 100644 --- a/src/graphics/GraphicsImage.h +++ b/src/graphics/GraphicsImage.h @@ -24,38 +24,18 @@ #ifndef GRAPHICSIMAGE_H #define GRAPHICSIMAGE_H -#include "support/std_string.h" +#include "Dimension.h" -#include -#include -#include +namespace lyx { -#include -#include +namespace support { class FileName; } -namespace lyx { namespace graphics { class Params; class Image { public: - /** This is to be connected to a function that will return a new - * instance of a viable derived class. - */ - typedef boost::shared_ptr ImagePtr; - /// - static boost::function0 newImage; - - /// Return the list of loadable formats. - typedef std::vector FormatList; - /// - static boost::function0 loadableFormats; - - /// Must define default c-tor explicitly as we define a copy c-tor. - Image() {} - /// Don't copy the signal finishedLoading - Image(Image const &) {} /// virtual ~Image() {} @@ -63,51 +43,31 @@ public: virtual Image * clone() const = 0; /// Get the image width - virtual unsigned int getWidth() const = 0; + virtual unsigned int width() const = 0; /// Get the image height - virtual unsigned int getHeight() const = 0; + virtual unsigned int height() const = 0; - /// is the image drawable ? + /// Is the image drawable ? virtual bool isDrawable() const = 0; - /** At the end of the loading process inform the outside world - * by emitting a signal. - */ - typedef boost::signal1 SignalType; - /// - SignalType finishedLoading; - /** Start loading the image file. * The caller should expect this process to be asynchronous and * so should connect to the "finished" signal above. */ - virtual void load(string const & filename) = 0; + virtual bool load(support::FileName const & filename) = 0; /** Generate the pixmap. * Uses the params to decide on color, grayscale etc. * Returns true if the pixmap is created. */ virtual bool setPixmap(Params const & params) = 0; - - /// Clip the image using params. - virtual void clip(Params const & params) = 0; - - /// Rotate the image using params. - virtual void rotate(Params const & params) = 0; - - /// Scale the image using params. - virtual void scale(Params const & params) = 0; - -protected: - /** Uses the params to ascertain the dimensions of the scaled image. - * Returned as make_pair(width, height). - * If something goes wrong, returns make_pair(getWidth(), getHeight()) - */ - std::pair - getScaledDimensions(Params const & params) const; }; +/// Only way to create a new Image. +/// Implemented in the frontend. +Image * newImage(); + } // namespace graphics } // namespace lyx