// -*- C++ -*-
-/* This file is part of
- * =================================================
- *
- * LyX, The Document Processor
- * Copyright 1995 Matthias Ettrich.
- * Copyright 1995-2002 The LyX Team.
+/**
+ * \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 Voss <voss@lyx.org>
- * ================================================= */
+ * \author Herbert Voss
+ *
+ * Full author contact details are available in file CREDITS
+ */
#ifndef INSETGRAPHICSPARAMS_H
#define INSETGRAPHICSPARAMS_H
-#ifdef __GNUG__
-#pragma interface
-#endif
+#include "graphics/GraphicsTypes.h"
#include "LString.h"
#include "lyxlength.h"
+#include "support/filename.h"
class LyXLex;
-namespace grfx {
+namespace lyx {
+namespace graphics {
class Params;
}
+}
+
/// This struct holds all the parameters needed by insetGraphics.
struct InsetGraphicsParams
{
- /// How do we display the image?
- enum DisplayType {
- DEFAULT, // whatever is in lyxrc.display_graphics
- COLOR, // full color range
- GRAYSCALE, // 256 shades of gray
- MONOCHROME, // In black and white.
- NONE // only keep a frame in place.
- };
- ///
- enum sizeKind { // for latex and/or lyx
- DEFAULT_SIZE, // like none
- SCALE, // percentage value
- WH // width/height values
- };
/// Image filename.
- string filename;
- /// Do we have a subcaption?
- bool subcaption;
- /// The text of the subcaption.
- string subcaptionText;
- /// Do we rotate?
- bool rotate;
- /// Origin point of rotation
- string rotateOrigin;
- /// Rotation angle.
- float rotateAngle;
- /// clip image
- bool clip;
+ 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!
string bb;
- /// Type of rescaling
- sizeKind size_kind;
- /// three possible values for rescaling (latex)
- LyXLength width;
- ///
- LyXLength height;
- ///
- int scale;
- /// Keep the ratio between height and width when resizing.
- bool keepAspectRatio;
+ /// clip image
+ bool clip;
+
+ /// Rotation angle.
+ float rotateAngle;
+ /// Origin point of rotation
+ string rotateOrigin;
+ /// Do we have a subcaption?
+ bool subcaption;
+ /// The text of the subcaption.
+ string subcaptionText;
/// any userdefined special command
string special;
- /// How to display the image inside lyx
- DisplayType display;
- /// the size for the view inside lyx
- LyXLength lyxwidth;
- /// Typ of the LyXView, same as for latex
- sizeKind lyxsize_kind;
- ///
- LyXLength lyxheight;
- /// Keep the ratio between lyxheight and lyxwidth when resizing.
- bool keepLyXAspectRatio;
- /// Typ of rescaling the Screen inside lyx
- int lyxscale;
+
///
InsetGraphicsParams();
///
///
InsetGraphicsParams & operator=(InsetGraphicsParams const &);
/// Save the parameters in the LyX format stream.
- void Write(std::ostream & os) const;
+ void Write(std::ostream & os, string const & bufpath) const;
/// If the token belongs to our parameters, read it.
- bool Read(LyXLex & lex, string const & token);
+ bool Read(LyXLex & lex, string const & token, 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.
- grfx::Params as_grfxParams(string const & filepath) const;
+ lyx::graphics::Params as_grfxParams() const;
private:
/// Initialize the object to a default status.