// -*- 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 "buffer.h"
-#include "lyxlex.h"
+class LyXLex;
-using std::ostream;
+namespace grfx {
+ 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 sizeType { // for latex and/or lyx
- DEFAULT_SIZE, // like none
- WH, // width/height values
- SCALE // percentage value
- };
/// 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;
+ /// Scaling the Screen inside Lyx
+ unsigned int lyxscale;
+ /// How to display the image inside LyX
+ grfx::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
- sizeType size_type;
- /// 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
- /// Typ of the LyXView, same as for latex
- sizeType lyxsize_type;
- LyXLength lyxwidth;
- ///
- LyXLength lyxheight;
- /// Typ of rescaling the Screen inside lyx
- int lyxscale;
+
///
InsetGraphicsParams();
///
///
InsetGraphicsParams & operator=(InsetGraphicsParams const &);
/// Save the parameters in the LyX format stream.
- void Write(Buffer const * buf, ostream & os) const;
+ void Write(std::ostream & os, string const & bufpath) const;
/// If the token belongs to our parameters, read it.
- bool Read(Buffer const * buf, 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() const;
private:
/// Initialize the object to a default status.
///
bool operator!=(InsetGraphicsParams const &, InsetGraphicsParams const &);
-#endif
+#endif