X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_amsarrayinset.C;h=6fdca3e708c506c3b696f7143b19f6df61e091b0;hb=edbef46cd7865dab72ab6b503d62e2492479d297;hp=1e4245e5269ad3812c1e0c34764c1dfaafd8e956;hpb=9b2be91bed98ee68bf507a122af66237cdedc4ec;p=lyx.git diff --git a/src/mathed/math_amsarrayinset.C b/src/mathed/math_amsarrayinset.C index 1e4245e526..6fdca3e708 100644 --- a/src/mathed/math_amsarrayinset.C +++ b/src/mathed/math_amsarrayinset.C @@ -1,15 +1,23 @@ -#include +/** + * \file math_amsarrayinset.C + * 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. + */ -#ifdef __GNUG__ -#pragma implementation -#endif +#include #include "math_amsarrayinset.h" +#include "math_data.h" #include "math_mathmlstream.h" -#include "math_support.h" #include "math_streamstr.h" #include "math_support.h" -#include "Lsstream.h" + +using std::string; +using std::auto_ptr; MathAMSArrayInset::MathAMSArrayInset(string const & name, int m, int n) @@ -22,9 +30,9 @@ MathAMSArrayInset::MathAMSArrayInset(string const & name) {} -MathInset * MathAMSArrayInset::clone() const +auto_ptr MathAMSArrayInset::clone() const { - return new MathAMSArrayInset(*this); + return auto_ptr(new MathAMSArrayInset(*this)); } @@ -32,6 +40,8 @@ char const * MathAMSArrayInset::name_left() const { if (name_ == "bmatrix") return "["; + if (name_ == "Bmatrix") + return "{"; if (name_ == "vmatrix") return "|"; if (name_ == "Vmatrix") @@ -46,6 +56,8 @@ char const * MathAMSArrayInset::name_right() const { if (name_ == "bmatrix") return "]"; + if (name_ == "Bmatrix") + return "}"; if (name_ == "vmatrix") return "|"; if (name_ == "Vmatrix") @@ -56,37 +68,38 @@ char const * MathAMSArrayInset::name_right() const } -void MathAMSArrayInset::metrics(MathMetricsInfo & mi) const +void MathAMSArrayInset::metrics(MetricsInfo & mi, Dimension & dim) const { - MathMetricsInfo m = mi; + MetricsInfo m = mi; if (m.base.style == LM_ST_DISPLAY) m.base.style = LM_ST_TEXT; - MathGridInset::metrics(m); - dim_.w += 12; + MathGridInset::metrics(m, dim); + dim.wid += 12; + dim_ = dim; } -void MathAMSArrayInset::draw(MathPainterInfo & pi, int x, int y) const +void MathAMSArrayInset::draw(PainterInfo & pi, int x, int y) const { MathGridInset::draw(pi, x + 6, y); - int const yy = y - ascent(); - mathed_draw_deco(pi, x + 1, yy, 5, height(), name_left()); - mathed_draw_deco(pi, x + width() - 6, yy, 5, height(), name_right()); + int const yy = y - dim_.ascent(); + mathed_draw_deco(pi, x + 1, yy, 5, dim_.height(), name_left()); + mathed_draw_deco(pi, x + dim_.width() - 6, yy, 5, dim_.height(), name_right()); + setPosCache(pi, x, y); } void MathAMSArrayInset::write(WriteStream & os) const { - os << "\\begin{" << name_ << "}"; + os << "\\begin{" << name_ << '}'; MathGridInset::write(os); - os << "\\end{" << name_ << "}"; + os << "\\end{" << name_ << '}'; } void MathAMSArrayInset::normalize(NormalStream & os) const { - os << "[" << name_ << " "; + os << '[' << name_ << ' '; MathGridInset::normalize(os); - os << "]"; + os << ']'; } -