2001-02-13 13:28:32 +00:00
|
|
|
// -*- C++ -*-
|
|
|
|
#ifndef MATH_BIGOPINSET_H
|
|
|
|
#define MATH_BIGOPINSET_H
|
|
|
|
|
2001-07-12 07:18:29 +00:00
|
|
|
#include "math_updowninset.h"
|
2001-02-13 13:28:32 +00:00
|
|
|
|
|
|
|
/// big operators
|
2001-07-12 07:18:29 +00:00
|
|
|
class MathBigopInset : public MathUpDownInset {
|
2001-02-13 13:28:32 +00:00
|
|
|
public:
|
|
|
|
///
|
2001-06-25 00:06:33 +00:00
|
|
|
MathBigopInset(string const &, int);
|
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-06-25 00:06:33 +00:00
|
|
|
void Write(std::ostream &, bool fragile) const;
|
2001-02-13 13:28:32 +00:00
|
|
|
///
|
2001-06-25 00:06:33 +00:00
|
|
|
void WriteNormal(std::ostream &) const;
|
2001-04-25 15:43:57 +00:00
|
|
|
///
|
2001-07-12 07:18:29 +00:00
|
|
|
void Metrics(MathStyles st, int asc = 0, int des = 0);
|
2001-02-13 13:28:32 +00:00
|
|
|
///
|
2001-07-12 07:18:29 +00:00
|
|
|
void draw(Painter &, int, int);
|
2001-06-27 14:10:35 +00:00
|
|
|
///
|
|
|
|
void limits(int);
|
2001-02-13 13:28:32 +00:00
|
|
|
///
|
2001-07-12 07:18:29 +00:00
|
|
|
int limits() const;
|
|
|
|
/// Identifies BigopInsets
|
|
|
|
bool isBigopInset() const { return true; }
|
2001-06-27 14:10:35 +00:00
|
|
|
private:
|
2001-07-12 07:18:29 +00:00
|
|
|
///
|
|
|
|
bool hasLimits() const;
|
2001-02-13 13:28:32 +00:00
|
|
|
///
|
2001-02-28 11:56:36 +00:00
|
|
|
int sym_;
|
2001-07-12 07:18:29 +00:00
|
|
|
///
|
|
|
|
string ssym_;
|
|
|
|
///
|
|
|
|
short code_;
|
|
|
|
/// 1: \limits, -1: \nolimits, 0: use default
|
|
|
|
int limits_;
|
|
|
|
/// x offset for drawing the superscript
|
|
|
|
int dx0_;
|
|
|
|
/// x offset for drawing the subscript
|
|
|
|
int dx1_;
|
|
|
|
/// x offset for drawing the inner symbol
|
|
|
|
int dxx_;
|
2001-02-13 13:28:32 +00:00
|
|
|
};
|
|
|
|
#endif
|