lyx_mirror/src/insets/InsetGraphicsParams.h
Jürgen Spitzmüller bcf64dd11c Fix bug 1749. CAUTION: lyx2lyx not fully working yet (see FIXMEs).
* development/FORMAT: 
	- document file format change

* src/Buffer.cpp: bump format to 275.

* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_5.py:
	- conversion and reversion of scaleBeforeRotation param (doesn't work yet!)

* src/insets/InsetGraphicsParams.{cpp,h}: 
	- new param scaleBeforeRotation
* src/insets/InsetGraphics.cpp:
	- swap order of scale and rotate (if scaleBeforeRotation is false)

* src/frontends/qt4/QGraphics.C:
* src/frontends/qt4/QGraphicsDialog.{cpp,h}:
* src/frontends/qt4/ui/GraphicsUi.ui:
	- add checkbox to toggle scaleBeforeRotation.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18885 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-25 13:49:51 +00:00

100 lines
2.5 KiB
C++

// -*- C++ -*-
/**
* \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 Voß
*
* Full author contact details are available in file CREDITS.
*/
#ifndef INSETGRAPHICSPARAMS_H
#define INSETGRAPHICSPARAMS_H
#include "graphics/GraphicsTypes.h"
#include "Length.h"
#include "support/FileName.h"
namespace lyx {
namespace graphics { class Params; }
class Lexer;
/// 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)
Length width;
///
Length height;
/// Keep the ratio between height and width when resizing.
bool keepAspectRatio;
/// draft mode
bool draft;
/// what to do with zipped files
bool noUnzip;
/// scale image before rotating
bool scaleBeforeRotation;
/// 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
std::string special;
///
InsetGraphicsParams();
///
InsetGraphicsParams(InsetGraphicsParams const &);
///
InsetGraphicsParams & operator=(InsetGraphicsParams const &);
/// Save the parameters in the LyX format stream.
void Write(std::ostream & os, std::string const & bufpath) const;
/// If the token belongs to our parameters, read it.
bool Read(Lexer & 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