]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetgraphicsParams.h
* src/LyXAction.C: mark goto-clear-bookmark as working without buffer
[lyx.git] / src / insets / insetgraphicsParams.h
index 3fae9694e2cbffbe62aa5530228c60b47c308a7e..8b2a62842401af1d53257c5e14a5e0a67ad43282 100644 (file)
@@ -1,92 +1,69 @@
 // -*- 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 {
+
+namespace graphics { class Params; }
 
-#include "buffer.h"
-#include "lyxlex.h"
+class LyXLex;
 
-namespace grfx {
-       class Params;
-}
 
-/// 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 {         // for latex and/or lyx
-           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;
-       /// Do we rotate?
-       bool rotate;
-       /// Origin point of rotation
-       string rotateOrigin;
-       /// Rotation angle.
-       float rotateAngle;
-       /// clip image
-       bool clip;
-       /// 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)
+       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;
        /// 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.
+       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
-       string special;
-       /// How to display the image inside lyx
-       DisplayType display;
-       /// Typ of the LyXView, same as for latex
-       sizeType lyxsize_type;
-       /// the size for the view inside lyx
-       LyXLength lyxwidth;
-       ///
-       LyXLength lyxheight;
-       /// Keep the ratio between lyxheight and lyxwidth when resizing.
-       bool keepLyXAspectRatio;
-       /// Typ of rescaling the Screen inside lyx
-       int lyxscale;
+       std::string special;
+
        ///
        InsetGraphicsParams();
        ///
@@ -94,14 +71,14 @@ struct InsetGraphicsParams
        ///
        InsetGraphicsParams & operator=(InsetGraphicsParams const &);
        /// Save the parameters in the LyX format stream.
-       void Write(std::ostream & os) const;
+       void Write(std::ostream & os, std::string const & bufpath) const;
        /// If the token belongs to our parameters, read it.
-       bool Read(LyXLex & lex, string const & token);
+       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.
-       grfx::Params as_grfxParams(string const & filepath) const;
+       graphics::Params as_grfxParams() const;
 
 private:
        /// Initialize the object to a default status.
@@ -115,4 +92,6 @@ bool operator==(InsetGraphicsParams const &, InsetGraphicsParams const &);
 ///
 bool operator!=(InsetGraphicsParams const &, InsetGraphicsParams const &);
 
+} // namespace lyx
+
 #endif