X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_parboxinset.h;h=6800cadf2150361013facfcfda7e5366bc68afbe;hb=cd03e2b7db8379a91f3d31eac2c5bc25b159c541;hp=bcf0dc606e38f9dab668a8b9d933ae0344adf57e;hpb=a794a4594906064b3b72f11c6d08b3953510d14a;p=lyx.git diff --git a/src/mathed/math_parboxinset.h b/src/mathed/math_parboxinset.h index bcf0dc606e..6800cadf21 100644 --- a/src/mathed/math_parboxinset.h +++ b/src/mathed/math_parboxinset.h @@ -1,27 +1,36 @@ +// -*- C++ -*- +/** + * \file math_parboxinset.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. + * + * \author André Pönitz + * + * Full author contact details are available in file CREDITS. + */ + #ifndef MATH_PARBOXINSET_H #define MATH_PARBOXINSET_H -#include "math_nestinset.h" -class MathParboxInset : public MathNestInset { +#include "math_textinset.h" + +// implements support for \parbox + +class MathParboxInset : public MathTextInset { public: /// MathParboxInset(); /// MathParboxInset * asParboxInset() { return this; } /// - MathInset * clone() const; + virtual std::auto_ptr clone() const; /// mode_type currentMode() const { return TEXT_MODE; } - /// get cursor position - void getPos(idx_type idx, pos_type pos, int & x, int & y) const; /// - void metrics(MathMetricsInfo & mi) const; + void metrics(MetricsInfo & mi, Dimension & dim) const; /// - void draw(MathPainterInfo &, int x, int y) const; - /// draw selection background - void drawSelection(MathPainterInfo & pi, - idx_type idx1, pos_type pos1, idx_type idx2, pos_type pos2) const; + void draw(PainterInfo &, int x, int y) const; /// void infoize(std::ostream & os) const; /// @@ -30,21 +39,13 @@ public: void setWidth(string const & width); /// void setPosition(string const & pos); - /// moves cursor up or down - bool idxUpDown(idx_type &, pos_type & pos, bool up, int targetx) const; private: - /// number of rows on screen - int screenrows() const; - /// row corresponding to given position - int pos2row(pos_type pos) const; /// width on screen int lyx_width_; /// width for TeX string tex_width_; - /// htb + /// one of htb char position_; - /// cached metrics - mutable std::vector rows_; }; #endif