X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FinsetgraphicsParams.h;h=8b2a62842401af1d53257c5e14a5e0a67ad43282;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=605ddd43f36cb407131df8c8a1be9373e07f82a7;hpb=45a03f4f67bb00f8142e465c615f348f0622eb32;p=lyx.git diff --git a/src/insets/insetgraphicsParams.h b/src/insets/insetgraphicsParams.h index 605ddd43f3..8b2a628424 100644 --- a/src/insets/insetgraphicsParams.h +++ b/src/insets/insetgraphicsParams.h @@ -1,128 +1,97 @@ // -*- C++ -*- -/* This file is part of - * ================================================= - * - * LyX, The Document Processor - * Copyright 1995 Matthias Ettrich. - * Copyright 1995-2000 The LyX Team. +/** + * \file insetgraphicsParams.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. * - * This file Copyright 2000 Baruch Even - * ================================================= */ + * \author Baruch Even + * \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" -#include "buffer.h" -#include "lyxlex.h" +namespace lyx { -using std::ostream; +namespace graphics { class Params; } -/// This struct holds all the parameters needed by insetGraphics. -struct InsetGraphicsParams -{ - /// Image filename. - string filename; +class LyXLex; - /// 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; +/// This class holds all the parameters needed by insetGraphics. +class InsetGraphicsParams +{ +public: + /// Image filename. + 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; + /// Keep the ratio between height and width when resizing. + bool keepAspectRatio; + /// draft mode + bool draft; + /// what to do with zipped files + bool noUnzip; - /// Is the figure inlined? (not in a paragraph of its own). - bool inlineFigure; + /// 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. - 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 - }; + std::string subcaptionText; + /// any userdefined special command + std::string special; - - /// 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 & 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. 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 &); + +} // namespace lyx -#endif +#endif