2001-02-13 13:28:32 +00:00
|
|
|
// -*- C++ -*-
|
2001-07-27 10:08:04 +00:00
|
|
|
#ifndef MATH_SYMBOLINSET_H
|
|
|
|
#define MATH_SYMBOLINSET_H
|
2001-02-13 13:28:32 +00:00
|
|
|
|
2001-08-03 17:55:10 +00:00
|
|
|
#include "math_diminset.h"
|
2001-02-13 13:28:32 +00:00
|
|
|
|
2001-07-26 14:37:09 +00:00
|
|
|
struct latexkeys;
|
|
|
|
|
2001-08-06 17:20:26 +00:00
|
|
|
// "normal" symbols that don't take limits and don't grow in displayed
|
|
|
|
// formulae
|
|
|
|
|
2001-08-03 17:55:10 +00:00
|
|
|
class MathSymbolInset : public MathDimInset {
|
2001-02-13 13:28:32 +00:00
|
|
|
public:
|
|
|
|
///
|
2001-07-27 10:08:04 +00:00
|
|
|
explicit MathSymbolInset(latexkeys const *);
|
2001-02-13 13:28:32 +00:00
|
|
|
///
|
2001-06-28 10:25:20 +00:00
|
|
|
MathInset * clone() const;
|
2001-02-13 13:28:32 +00:00
|
|
|
///
|
2001-07-26 06:56:43 +00:00
|
|
|
void write(std::ostream &, bool fragile) const;
|
2001-02-13 13:28:32 +00:00
|
|
|
///
|
2001-07-26 06:56:43 +00:00
|
|
|
void writeNormal(std::ostream &) const;
|
2001-04-25 15:43:57 +00:00
|
|
|
///
|
2001-08-06 17:20:26 +00:00
|
|
|
void metrics(MathStyles st) const;
|
2001-06-27 14:10:35 +00:00
|
|
|
///
|
2001-08-06 17:20:26 +00:00
|
|
|
void draw(Painter &, int x, int y) const;
|
2001-08-03 17:55:10 +00:00
|
|
|
|
2001-06-27 14:10:35 +00:00
|
|
|
private:
|
2001-02-13 13:28:32 +00:00
|
|
|
///
|
2001-07-26 14:37:09 +00:00
|
|
|
latexkeys const * sym_;
|
2001-08-06 17:20:26 +00:00
|
|
|
/// cache for the symbol's onscreen string representation
|
|
|
|
mutable string ssym_;
|
2001-02-13 13:28:32 +00:00
|
|
|
};
|
|
|
|
#endif
|