lyx_mirror/src/insets/insetgraphicsParams.h

97 lines
2.4 KiB
C
Raw Normal View History

// -*- C++ -*-
/**
* \file insetgraphicsParams.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Baruch Even
* \author Herbert Vo<EFBFBD>
*
* Full author contact details are available in file CREDITS.
*/
#ifndef INSETGRAPHICSPARAMS_H
#define INSETGRAPHICSPARAMS_H
#include "graphics/GraphicsTypes.h"
#include "lyxlength.h"
#include "support/filename.h"
class LyXLex;
namespace lyx {
namespace graphics {
class Params;
}
}
/// This struct holds all the parameters needed by insetGraphics.
struct InsetGraphicsParams
{
/// Image filename.
lyx::support::FileName filename;
/// Scaling the Screen inside Lyx
unsigned int lyxscale;
/// How to display the image inside LyX
lyx::graphics::DisplayType display;
/// Scaling for output (LaTeX)
float scale;
/// sizes for output (LaTeX)
LyXLength width;
///
LyXLength height;
/// Keep the ratio between height and width when resizing.
bool keepAspectRatio;
/// draft mode
bool draft;
/// what to do with zipped files
bool noUnzip;
/// The bounding box with "xLB yLB yRT yRT ", divided by a space!
std::string bb;
/// clip image
bool clip;
/// Rotation angle.
float rotateAngle;
/// Origin point of rotation
std::string rotateOrigin;
/// Do we have a subcaption?
bool subcaption;
/// The text of the subcaption.
std::string subcaptionText;
/// any userdefined special command
std::string special;
///
InsetGraphicsParams();
///
InsetGraphicsParams(InsetGraphicsParams const &);
///
InsetGraphicsParams & operator=(InsetGraphicsParams const &);
/// Save the parameters in the LyX format stream.
void Write(std::ostream & os, std::string const & bufpath) const;
/// If the token belongs to our parameters, read it.
bool Read(LyXLex & lex, std::string const & token, std::string const & bufpath);
/// convert
// Only a subset of InsetGraphicsParams is needed for display purposes.
// This function also interrogates lyxrc to ascertain whether
// to display or not.
lyx::graphics::Params as_grfxParams() const;
private:
/// 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);
};
///
bool operator==(InsetGraphicsParams const &, InsetGraphicsParams const &);
///
bool operator!=(InsetGraphicsParams const &, InsetGraphicsParams const &);
#endif