3 figinset.h - Figure inset header - part of LyX project
4 Copyright 1996 by Ivan Schreter
13 #include "LaTeXFeatures.h"
14 #include "insets/lyxinset.h"
15 /* the rest is figure stuff */
20 class InsetFig: public Inset {
23 InsetFig(int tmpx, int tmpy, Buffer *);
27 int ascent(Painter &, LyXFont const & font) const;
29 int descent(Painter &, LyXFont const & font) const;
31 int width(Painter &, LyXFont const & font) const;
33 void draw(Painter &, LyXFont const & font,
34 int baseline, float & x) const;
36 void Write(std::ostream &) const;
38 void Read(LyXLex & lex);
40 int Latex(std::ostream &, bool fragile, bool free_space) const;
42 int Linuxdoc(std::ostream &) const;
44 int DocBook(std::ostream &) const;
45 /// Updates needed features for this inset.
46 void Validate(LaTeXFeatures & features) const;
48 /// what appears in the minibuffer when opening
49 char const * EditMessage() const;
52 void Edit(BufferView *, int, int, unsigned int);
54 EDITABLE Editable() const;
56 bool Deletable() const;
58 Inset::Code LyxCode() const;
60 Inset * Clone() const;
62 void CallbackFig(long arg);
64 void Preview(char const * p);
68 /// form for user input
70 /// width and height in pixels on screen
72 /// width and height in postscript units (1/72 inch)
74 /// width of raw figure w/o rotation
76 /// heigt of raw figure w/o rotation
78 /// x and y coordinate in ps units
83 /// changed filename -> for recompute
100 /// width and height types: 0-default, 1-cm, 2-in, 3-%of page
101 /// For width, there is also: 4-% of col
106 /// temporary w and h type
117 /// graphics command, latex version
120 /// Caption for subfigure package
137 /// restore values on the form
139 /// recompute screen params
141 /// regenerate \includegraphics{} command
142 void Regenerate() const;
143 /// regenerate \inlcudegraphics{} command in temporary buffer
144 void TempRegenerate();
145 /// get sizes from .eps file
154 /// reference count for this bitmap
158 /// width of raw figure w/o rotation
160 /// heigt of raw figure w/o rotation
162 /// width and height on screen
164 /// pointer to file name
166 /// type; 0-none, 1-B/W, 2-Grayscale, 3-Color
168 /// reading request is pending on this figure
170 /// could not read it, because it's broken
172 /// when gs was killed, this says that image is ok
174 /// gs pid for reading
181 /// figure data (image)
183 /// inset of this figure