- ///
- void swap(MathAtom &);
-
- /// draw the object, sets xo_ and yo_ cached values
- virtual void draw(Painter &, int x, int y) const;
- /// reproduce itself
- void metrics(MathStyles st) const;
- ///
- int ascent() const;
- ///
- int descent() const;
- ///
- int width() const;
- ///
- int height() const;
-
- ///
- int xo() const;
- ///
- int yo() const;
- ///
- void xo(int tx) const;
- ///
- void yo(int ty) const;
- ///
-
- ///
- void getXY(int & x, int & y) const;
- ///
- bool covers(int x, int y) const;
-
- ///
- void dump() const;
- ///
- void validate(LaTeXFeatures & features) const;
- ///
- void handleFont(MathTextCodes) {}
-
- /// make sure superscript is available
- MathScriptInset * ensure(bool up);
- /// delete subscript array if empty
- void removeEmptyScripts();
- /// delete nucleus
- void removeNucleus();
- /// delete superscript
- void removeUp();
- /// delete subscript
- void removeDown();
- /// can we add a super- or subscript?
- virtual bool allows(bool up) const { return script_[up] == 0; }
- /// can we add a super- or subscript?
- virtual bool allowsLimits() const { return true; }
- /// set limits
- void limits(int lim) { limits_ = lim; }
- ///
- int limits() const { return limits_; }
- ///
- bool hasLimits() const;
- /// true if we have an "inner" position
- bool hasInner() const;
- /// returns superscript
- MathScriptInset * up() const;
- /// returns subscript
- MathScriptInset * down() const;
- /// returns superscript
- MathScriptInset * & up();
- /// returns subscript
- MathScriptInset * & down();
- ///
+ /// change inset under the hood
+ void operator=(MathInset * p);
+ /// change inset under the hood
+ void reset(MathInset * p);
+ /// access to the inset (checked with gprof)