lyx_mirror/src/graphics/GraphicsParams.h
Georg Baum 8e6e970d7b Next step of true unicode filenames: Use support::FileName instead of
std::string at many places (not all yet).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16069 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-26 21:30:39 +00:00

84 lines
1.5 KiB
C++

// -*- 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 <string>
#include <iosfwd>
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;
};
bool operator==(Params const &, Params const &);
bool operator!=(Params const &, Params const &);
} // namespace graphics
} // namespace lyx
#endif // GRAPHICSPARAMS_H