X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FinsetgraphicsParams.h;h=130e530646a10d7fe611887922295b4f79752c6b;hb=4a5b7a5952ad2381fcdf4830511293e184c7c5a1;hp=027b385ae4121ad176a34a5e7786a55d20bab11c;hpb=f4bad86bdaf333294ad1309b20e3df113fc70c3a;p=lyx.git diff --git a/src/insets/insetgraphicsParams.h b/src/insets/insetgraphicsParams.h index 027b385ae4..130e530646 100644 --- a/src/insets/insetgraphicsParams.h +++ b/src/insets/insetgraphicsParams.h @@ -4,9 +4,10 @@ * * 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 * ================================================= */ #ifndef INSETGRAPHICSPARAMS_H @@ -14,113 +15,93 @@ #ifdef __GNUG__ #pragma interface -#endif +#endif -#include #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 - }; - - /// How to display the image - DisplayType display; - - /// Is the figure inlined? (not in a paragraph of its own). - bool inlineFigure; - - /// 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 +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. }; - - /// 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; - - // Origin point of rotation - Origin rotateOrigin; - // Rotation angle. - int rotateAngle; - - InsetGraphicsParams(); - - InsetGraphicsParams(InsetGraphicsParams const &); - InsetGraphicsParams const & operator=(InsetGraphicsParams const &); - - /// Save the parameters in the LyX format stream. - void Write(Buffer const * buf, 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; + /// + 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; + /// 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; + /// 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(InsetGraphicsParams const &); + /// + InsetGraphicsParams & operator=(InsetGraphicsParams const &); + /// Save the parameters in the LyX format stream. + void Write(Buffer const * buf, std::ostream & os) const; + /// If the token belongs to our parameters, read it. + bool Read(Buffer const * buf, 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); + /// 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 &); +/// +bool operator==(InsetGraphicsParams const &, InsetGraphicsParams const &); +/// +bool operator!=(InsetGraphicsParams const &, InsetGraphicsParams const &); -#endif +#endif