// -*- C++ -*-
/* This file is part of
* =================================================
- *
+ *
* LyX, The Document Processor
* Copyright 1995 Matthias Ettrich.
- * Copyright 1995-2000 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;
-
/// 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);
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);
};
///
bool operator!=(InsetGraphicsParams const &, InsetGraphicsParams const &);
-#endif
+#endif