// -*- 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 Voß
+ *
+ * Full author contact details are available in file CREDITS.
+ */
#ifndef INSETGRAPHICSPARAMS_H
#define INSETGRAPHICSPARAMS_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-#include "LString.h"
+#include "graphics/GraphicsTypes.h"
+#include "lyxlength.h"
+#include "support/filename.h"
+
+namespace lyx {
-#include "buffer.h"
-#include "lyxlex.h"
+namespace graphics { class Params; }
-using std::ostream;
+class LyXLex;
-/// This struct holds all the parameters needed by insetGraphics.
-struct InsetGraphicsParams
+
+/// This class holds all the parameters needed by insetGraphics.
+class 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 {
- DEFAULT_SIZE, // like none
- WH, // width/height values
- SCALE // percentage value
- };
+public:
/// Image filename.
- string filename;
- /// Do we have a subcaption?
- bool subcaption;
- /// The text of the subcaption.
- string subcaptionText;
- /// The bounding box with "xLB yLB yRT yRT ", divided by a space!
- string bb;
- /// clip image
- bool clip;
- /// draft mode
- bool draft;
- /// How to display the image
- DisplayType display;
- /// any userdefined special command
- string special;
- /// three possible values for rescaling
+ support::DocFileName filename;
+ /// Scaling the Screen inside Lyx
+ unsigned int lyxscale;
+ /// How to display the image inside LyX
+ graphics::DisplayType display;
+ /// Scaling for output (LaTeX)
+ std::string scale;
+ /// sizes for output (LaTeX)
LyXLength width;
///
LyXLength height;
- ///
- int scale;
- /// Type of rescaling
- sizeType size_type;
/// Keep the ratio between height and width when resizing.
bool keepAspectRatio;
- /// the size for the view inside lyx
- LyXLength lyxwidth;
- ///
- LyXLength lyxheight;
- /// Origin point of rotation
- string rotateOrigin;
+ /// 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;
+ std::string 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 & operator=(InsetGraphicsParams const &);
/// Save the parameters in the LyX format stream.
- void Write(Buffer const * buf, ostream & os) const;
+ void Write(std::ostream & os, std::string const & bufpath) const;
/// If the token belongs to our parameters, read it.
- bool Read(Buffer const * buf, LyXLex & lex, string const & token);
- /// Test the struct to make sure that all the options have legal values.
- void testInvariant() const;
+ 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.
+ graphics::Params as_grfxParams() const;
private:
/// Initialize the object to a default status.
///
bool operator!=(InsetGraphicsParams const &, InsetGraphicsParams const &);
-#endif
+} // namespace lyx
+
+#endif