2 /* This file is part of
3 * =================================================
5 * LyX, The Document Processor
6 * Copyright 1995 Matthias Ettrich.
7 * Copyright 1995-2002 The LyX Team.
10 * \author Herbert Voss <voss@lyx.org>
11 * ================================================= */
13 #ifndef INSETGRAPHICSPARAMS_H
14 #define INSETGRAPHICSPARAMS_H
27 /// This struct holds all the parameters needed by insetGraphics.
28 struct InsetGraphicsParams
30 /// How do we display the image?
32 COLOR, // full color range
33 GRAYSCALE, // 256 shades of gray
34 MONOCHROME, // In black and white.
35 NONE // only keep a frame in place.
38 DEFAULT_SIZE, // like none
39 WH, // width/height values
40 SCALE // percentage value
44 /// Do we have a subcaption?
46 /// The text of the subcaption.
47 string subcaptionText;
48 /// The bounding box with "xLB yLB yRT yRT ", divided by a space!
54 /// How to display the image
56 /// any userdefined special command
58 /// three possible values for rescaling
66 /// Keep the ratio between height and width when resizing.
68 /// the size for the view inside lyx
72 /// Origin point of rotation
77 InsetGraphicsParams();
79 InsetGraphicsParams(InsetGraphicsParams const &);
81 InsetGraphicsParams & operator=(InsetGraphicsParams const &);
82 /// Save the parameters in the LyX format stream.
83 void Write(Buffer const * buf, ostream & os) const;
84 /// If the token belongs to our parameters, read it.
85 bool Read(Buffer const * buf, LyXLex & lex, string const & token);
86 /// Test the struct to make sure that all the options have legal values.
87 void testInvariant() const;
90 /// Initialize the object to a default status.
92 /// Copy the other objects content to us, used in copy c-tor and assignment
93 void copy(InsetGraphicsParams const & params);
97 bool operator==(InsetGraphicsParams const &, InsetGraphicsParams const &);
99 bool operator!=(InsetGraphicsParams const &, InsetGraphicsParams const &);