mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-11 13:46:43 +00:00
bcfdd54d46
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3484 a592a061-630c-0410-9148-cb99ea01b6c8
106 lines
2.6 KiB
C++
106 lines
2.6 KiB
C++
// -*- C++ -*-
|
|
/* This file is part of
|
|
* =================================================
|
|
*
|
|
* LyX, The Document Processor
|
|
* Copyright 1995 Matthias Ettrich.
|
|
* Copyright 1995-2002 The LyX Team.
|
|
*
|
|
* \author Baruch Even
|
|
* \author Herbert Voss <voss@lyx.org>
|
|
* ================================================= */
|
|
|
|
#ifndef INSETGRAPHICSPARAMS_H
|
|
#define INSETGRAPHICSPARAMS_H
|
|
|
|
#ifdef __GNUG__
|
|
#pragma interface
|
|
#endif
|
|
|
|
#include "LString.h"
|
|
|
|
#include "buffer.h"
|
|
#include "lyxlex.h"
|
|
|
|
using std::ostream;
|
|
|
|
/// This struct holds all the parameters needed by insetGraphics.
|
|
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.
|
|
};
|
|
///
|
|
enum sizeType {
|
|
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;
|
|
/// The bounding box with "xLB yLB yRT yRT ", divided by a space!
|
|
string bb;
|
|
/// clip image
|
|
bool clip;
|
|
/// draft mode
|
|
bool draft;
|
|
/// How to display the image
|
|
DisplayType display;
|
|
/// any userdefined special command
|
|
string special;
|
|
/// three possible values for rescaling
|
|
LyXLength width;
|
|
///
|
|
LyXLength height;
|
|
///
|
|
int scale;
|
|
/// Type of rescaling
|
|
sizeType size_type;
|
|
/// Keep the ratio between height and width when resizing.
|
|
bool keepAspectRatio;
|
|
/// the size for the view inside lyx
|
|
LyXLength lyxwidth;
|
|
///
|
|
LyXLength lyxheight;
|
|
/// Typ of rescaling the Screen
|
|
int lyxscale;
|
|
/// Typ of the LyXView, same as for latex
|
|
sizeType lyxsize_type;
|
|
/// Origin point of rotation
|
|
string rotateOrigin;
|
|
/// Rotation angle.
|
|
float 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;
|
|
/// 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);
|
|
};
|
|
|
|
///
|
|
bool operator==(InsetGraphicsParams const &, InsetGraphicsParams const &);
|
|
///
|
|
bool operator!=(InsetGraphicsParams const &, InsetGraphicsParams const &);
|
|
|
|
#endif
|