]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetgraphicsParams.h
move inset related stuff from src/graphics to src/inset/
[lyx.git] / src / insets / insetgraphicsParams.h
index c774df827f3b12321fd93984b9ef24afd8b02b5d..aa7dd27869ba2107ca8e17fb363d441d77b09636 100644 (file)
@@ -1,12 +1,13 @@
 // -*- C++ -*-
 /* This file is part of
  * =================================================
- * 
+ *
  *          LyX, The Document Processor
  *          Copyright 1995 Matthias Ettrich.
- *          Copyright 1995-2001 The LyX Team.
+ *          Copyright 1995-2002 The LyX Team.
  *
- *          This file Copyright 2000 Baruch Even
+ * \author Baruch Even
+ * \author Herbert Voss <voss@lyx.org>
  * ================================================= */
 
 #ifndef INSETGRAPHICSPARAMS_H
 
 #ifdef __GNUG__
 #pragma interface
-#endif 
+#endif
 
 #include "LString.h"
 
 #include "buffer.h"
 #include "lyxlex.h"
 
-using std::ostream;
+#include "graphics/GraphicsParams.h"
+
 
 /// This struct holds all the parameters needed by insetGraphics.
 struct InsetGraphicsParams
 {
-       /// Image filename.
-       string filename;
-
        /// How do we display the image?
        enum DisplayType {
-           /// In full color range (if it's not in color we show it as it is)
-           COLOR,
-           /// In Grayscale (256 shades of gray).
-           GRAYSCALE,
-           /// In black and white.
-           MONOCHROME,
-           /// Don't display it on screen, only keep a frame in place.
-           NONE
+           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.
        };
-
-       /// How to display the image
-       DisplayType display;
-
-       /// Is the figure inlined? (not in a paragraph of its own).
-       bool inlineFigure;
-
+       ///
+       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;
-
-       /// This is the different origins that the graphicx package support.
-       enum Origin {
-           DEFAULT,
-           LEFTTOP,
-           LEFTCENTER,
-           LEFTBASELINE,
-           LEFTBOTTOM,
-           CENTERTOP,
-           CENTER,
-           CENTERBASELINE,
-           CENTERBOTTOM,
-           RIGHTTOP,
-           RIGHTCENTER,
-           RIGHTBASELINE,
-           RIGHTBOTTOM,
-           REFERENCE_POINT = LEFTBASELINE
-       };
-
-       /** The resize of the image, is it the default size, in cm, inch or
-           percentage of the page/column width/height */
-       enum Resize {
-           DEFAULT_SIZE,
-           CM,
-           INCH,
-           PERCENT_PAGE,
-           PERCENT_COLUMN
-       };
-
-
-       /// Keep the ratio between height and width when resizing.
-       bool keepAspectRatio;
-
-       /// What width resize to do?
-       Resize widthResize;
-       /// Value of width resize
-       float widthSize;
-       /// What height resize to do?
-       Resize heightResize;
-       /// Value of height resize
-       float heightSize;
-
+       /// Do we rotate?
+       bool rotate;
        /// Origin point of rotation
-       Origin rotateOrigin;
+       string rotateOrigin;
        /// Rotation angle.
-       int rotateAngle;
+       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)
+       LyXLength width;
+       ///
+       LyXLength height;
+       ///
+       int scale;
+       /// Keep the ratio between height and width when resizing.
+       bool keepAspectRatio;
+       /// 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;
+       /// Typ of rescaling the Screen inside lyx
+       int lyxscale;
        ///
        InsetGraphicsParams();
        ///
        InsetGraphicsParams(InsetGraphicsParams const &);
        ///
        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) 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, string const & token);
+       /// convert 
+       grfx::GParams asGParams(string const & filepath) 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);
 };
@@ -127,4 +109,4 @@ bool operator==(InsetGraphicsParams const &, InsetGraphicsParams const &);
 ///
 bool operator!=(InsetGraphicsParams const &, InsetGraphicsParams const &);
 
-#endif 
+#endif