// -*- C++ -*- /** * \file GraphicsParams.h * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * * \author Angus Leeming * * Full author contact details are available in file CREDITS. * * Used internally by the lyx::graphics::Image. */ #ifndef GRAPHICSPARAMS_H #define GRAPHICSPARAMS_H #include "GraphicsTypes.h" #include "support/FileName.h" #include #include namespace lyx { namespace graphics { /** Parse a string of the form "200pt 500pt 300mm 5in" into a * usable bounding box. */ class BoundingBox { public: /// BoundingBox(); /// BoundingBox(std::string const &); /// 0 0 0 0 is empty! bool empty() const; unsigned int xl; unsigned int yb; unsigned int xr; unsigned int yt; }; bool operator==(BoundingBox const &, BoundingBox const &); bool operator!=(BoundingBox const &, BoundingBox const &); std::ostream & operator<<(std::ostream &, BoundingBox const &); class Params { public: Params(); DisplayType display; unsigned int scale; /// The image filename. support::FileName filename; /** Note that the BoundingBox is always relative to the BoundingBox * as stored in the EPS file. * Ie, bb.xl and bb.yb == 0 if that corner is not moved. */ BoundingBox bb; /** The size of the view inside lyx in pixels or the scaling of the * image. */ /// Rotation angle. double angle; /** The icon to be displayed to the top-left corner of an image. * It is mutable because an icon reflects a temporary state of * the image, and is variable. */ mutable std::string icon; }; bool operator==(Params const &, Params const &); bool operator!=(Params const &, Params const &); } // namespace graphics } // namespace lyx #endif // GRAPHICSPARAMS_H