2000-07-31 12:30:10 +00:00
|
|
|
|
// -*- C++ -*-
|
2002-09-25 14:26:13 +00:00
|
|
|
|
/**
|
|
|
|
|
* \file insetgraphicsParams.h
|
|
|
|
|
* This file is part of LyX, the document processor.
|
|
|
|
|
* Licence details can be found in the file COPYING.
|
2000-07-31 12:30:10 +00:00
|
|
|
|
*
|
2002-01-29 09:26:24 +00:00
|
|
|
|
* \author Baruch Even
|
2003-09-07 01:45:40 +00:00
|
|
|
|
* \author Herbert Vo<EFBFBD>
|
2002-09-25 14:26:13 +00:00
|
|
|
|
*
|
2003-08-23 00:17:00 +00:00
|
|
|
|
* Full author contact details are available in file CREDITS.
|
2002-09-25 14:26:13 +00:00
|
|
|
|
*/
|
2000-07-31 12:30:10 +00:00
|
|
|
|
|
|
|
|
|
#ifndef INSETGRAPHICSPARAMS_H
|
|
|
|
|
#define INSETGRAPHICSPARAMS_H
|
|
|
|
|
|
2000-08-08 09:18:39 +00:00
|
|
|
|
|
2002-08-24 22:02:30 +00:00
|
|
|
|
#include "graphics/GraphicsTypes.h"
|
2002-07-21 21:21:06 +00:00
|
|
|
|
#include "lyxlength.h"
|
2003-07-22 20:42:40 +00:00
|
|
|
|
#include "support/filename.h"
|
2000-07-31 12:30:10 +00:00
|
|
|
|
|
2002-07-21 21:21:06 +00:00
|
|
|
|
class LyXLex;
|
2000-07-31 12:30:10 +00:00
|
|
|
|
|
2003-07-04 08:23:23 +00:00
|
|
|
|
namespace lyx {
|
|
|
|
|
namespace graphics {
|
2002-06-28 11:22:56 +00:00
|
|
|
|
class Params;
|
|
|
|
|
}
|
2003-07-04 08:23:23 +00:00
|
|
|
|
}
|
|
|
|
|
|
2002-05-28 11:50:04 +00:00
|
|
|
|
|
2000-07-31 12:30:10 +00:00
|
|
|
|
/// This struct holds all the parameters needed by insetGraphics.
|
2000-08-14 09:44:53 +00:00
|
|
|
|
struct InsetGraphicsParams
|
|
|
|
|
{
|
2002-01-29 09:26:24 +00:00
|
|
|
|
/// Image filename.
|
2003-07-22 20:42:40 +00:00
|
|
|
|
lyx::support::FileName filename;
|
2002-08-24 22:02:30 +00:00
|
|
|
|
/// Scaling the Screen inside Lyx
|
|
|
|
|
unsigned int lyxscale;
|
|
|
|
|
/// How to display the image inside LyX
|
2003-07-21 21:30:57 +00:00
|
|
|
|
lyx::graphics::DisplayType display;
|
2002-08-24 22:02:30 +00:00
|
|
|
|
/// Scaling for output (LaTeX)
|
2002-10-24 11:53:46 +00:00
|
|
|
|
float scale;
|
2002-08-24 22:02:30 +00:00
|
|
|
|
/// sizes for output (LaTeX)
|
|
|
|
|
LyXLength width;
|
|
|
|
|
///
|
|
|
|
|
LyXLength height;
|
|
|
|
|
/// Keep the ratio between height and width when resizing.
|
|
|
|
|
bool keepAspectRatio;
|
2002-01-29 09:26:24 +00:00
|
|
|
|
/// draft mode
|
|
|
|
|
bool draft;
|
2002-02-11 10:42:11 +00:00
|
|
|
|
/// what to do with zipped files
|
|
|
|
|
bool noUnzip;
|
2002-08-24 22:02:30 +00:00
|
|
|
|
|
2002-02-11 10:42:11 +00:00
|
|
|
|
/// The bounding box with "xLB yLB yRT yRT ", divided by a space!
|
2003-10-06 15:43:21 +00:00
|
|
|
|
std::string bb;
|
2002-08-24 22:02:30 +00:00
|
|
|
|
/// clip image
|
|
|
|
|
bool clip;
|
|
|
|
|
|
|
|
|
|
/// Rotation angle.
|
|
|
|
|
float rotateAngle;
|
|
|
|
|
/// Origin point of rotation
|
2003-10-06 15:43:21 +00:00
|
|
|
|
std::string rotateOrigin;
|
2002-08-24 22:02:30 +00:00
|
|
|
|
/// Do we have a subcaption?
|
|
|
|
|
bool subcaption;
|
|
|
|
|
/// The text of the subcaption.
|
2003-10-06 15:43:21 +00:00
|
|
|
|
std::string subcaptionText;
|
2002-02-11 10:42:11 +00:00
|
|
|
|
/// any userdefined special command
|
2003-10-06 15:43:21 +00:00
|
|
|
|
std::string special;
|
2002-08-24 22:02:30 +00:00
|
|
|
|
|
2000-09-14 17:53:12 +00:00
|
|
|
|
///
|
2000-08-14 09:44:53 +00:00
|
|
|
|
InsetGraphicsParams();
|
2000-09-14 17:53:12 +00:00
|
|
|
|
///
|
2000-08-14 09:44:53 +00:00
|
|
|
|
InsetGraphicsParams(InsetGraphicsParams const &);
|
2000-09-14 17:53:12 +00:00
|
|
|
|
///
|
|
|
|
|
InsetGraphicsParams & operator=(InsetGraphicsParams const &);
|
2000-08-14 09:44:53 +00:00
|
|
|
|
/// Save the parameters in the LyX format stream.
|
2003-10-06 15:43:21 +00:00
|
|
|
|
void Write(std::ostream & os, std::string const & bufpath) const;
|
2000-08-14 09:44:53 +00:00
|
|
|
|
/// If the token belongs to our parameters, read it.
|
2003-10-06 15:43:21 +00:00
|
|
|
|
bool Read(LyXLex & lex, std::string const & token, std::string const & bufpath);
|
2002-06-24 20:28:12 +00:00
|
|
|
|
/// convert
|
2002-05-28 12:03:42 +00:00
|
|
|
|
// Only a subset of InsetGraphicsParams is needed for display purposes.
|
|
|
|
|
// This function also interrogates lyxrc to ascertain whether
|
|
|
|
|
// to display or not.
|
2003-07-21 21:30:57 +00:00
|
|
|
|
lyx::graphics::Params as_grfxParams() const;
|
2000-07-31 12:30:10 +00:00
|
|
|
|
|
|
|
|
|
private:
|
2000-08-14 09:44:53 +00:00
|
|
|
|
/// Initialize the object to a default status.
|
|
|
|
|
void init();
|
|
|
|
|
/// Copy the other objects content to us, used in copy c-tor and assignment
|
|
|
|
|
void copy(InsetGraphicsParams const & params);
|
2000-07-31 12:30:10 +00:00
|
|
|
|
};
|
|
|
|
|
|
2000-09-14 17:53:12 +00:00
|
|
|
|
///
|
|
|
|
|
bool operator==(InsetGraphicsParams const &, InsetGraphicsParams const &);
|
2001-03-28 13:16:37 +00:00
|
|
|
|
///
|
|
|
|
|
bool operator!=(InsetGraphicsParams const &, InsetGraphicsParams const &);
|
2000-07-31 12:30:10 +00:00
|
|
|
|
|
2002-03-21 17:09:55 +00:00
|
|
|
|
#endif
|