mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-24 18:43:37 +00:00
103 lines
2.5 KiB
C++
103 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 "Length.h"
|
|
|
|
#include "support/FileName.h"
|
|
|
|
#include <string>
|
|
|
|
namespace lyx {
|
|
|
|
namespace graphics { class Params; }
|
|
|
|
class Lexer;
|
|
class Buffer;
|
|
|
|
|
|
/// 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;
|
|
/// If to display the image inside LyX
|
|
bool 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;
|
|
/// any userdefined special command
|
|
std::string special;
|
|
|
|
///
|
|
InsetGraphicsParams();
|
|
///
|
|
InsetGraphicsParams(InsetGraphicsParams const &);
|
|
///
|
|
void operator=(InsetGraphicsParams const &);
|
|
/// Save the parameters in the LyX format stream.
|
|
/// Buffer is needed to figure out if a figure is embedded.
|
|
void Write(std::ostream & os, Buffer const & buf) 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;
|
|
|
|
// FIXME UNICODE. Write functions need to use odostream instead of ostream firstly.
|
|
/// Identification of the graphics template. No template equals empty string.
|
|
std::string groupId;
|
|
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
|