]> git.lyx.org Git - features.git/commitdiff
forgotten files
authorAndré Pönitz <poenitz@gmx.net>
Tue, 5 Feb 2002 13:27:34 +0000 (13:27 +0000)
committerAndré Pönitz <poenitz@gmx.net>
Tue, 5 Feb 2002 13:27:34 +0000 (13:27 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3485 a592a061-630c-0410-9148-cb99ea01b6c8

src/mathed/math_xarrowinset.C [new file with mode: 0644]
src/mathed/math_xarrowinset.h [new file with mode: 0644]
src/mathed/math_xymatrixinset.C [new file with mode: 0644]
src/mathed/math_xymatrixinset.h [new file with mode: 0644]

diff --git a/src/mathed/math_xarrowinset.C b/src/mathed/math_xarrowinset.C
new file mode 100644 (file)
index 0000000..217d95a
--- /dev/null
@@ -0,0 +1,52 @@
+#include <config.h>
+
+#ifdef __GNUG__
+#pragma implementation
+#endif
+
+#include "math_xarrowinset.h"
+#include "math_support.h"
+#include "math_parser.h"
+#include "math_mathmlstream.h"
+#include "math_streamstr.h"
+
+
+MathXArrowInset::MathXArrowInset(string const & name)
+       : MathNestInset(1), name_(name)
+{}
+
+
+MathInset * MathXArrowInset::clone() const
+{   
+       return new MathXArrowInset(*this);
+}
+
+
+void MathXArrowInset::metrics(MathMetricsInfo const & st) const
+{
+       MathMetricsInfo mi = st;
+       smallerStyleScript(mi);
+       xcell(0).metrics(mi);
+       width_   = xcell(0).width() + 10;
+       ascent_  = xcell(0).height() + 10;
+       descent_ = 0;
+}
+
+
+void MathXArrowInset::draw(Painter & pain, int x, int y) const
+{ 
+       xcell(0).draw(pain, x + 5, y - 10);
+       mathed_draw_deco(pain, x + 1, y - 7, width_ - 2, 5, name_);
+}
+
+
+void MathXArrowInset::write(WriteStream & os) const
+{
+       os << '\\' << name_ << '{' << cell(0) << '}';
+}
+
+
+void MathXArrowInset::normalize(NormalStream & os) const
+{
+       os << "[xarrow " << name_ << ' ' <<  cell(0) << ']';
+}
diff --git a/src/mathed/math_xarrowinset.h b/src/mathed/math_xarrowinset.h
new file mode 100644 (file)
index 0000000..d086145
--- /dev/null
@@ -0,0 +1,37 @@
+// -*- C++ -*-
+#ifndef MATH_XARROWINSET_H
+#define MATH_XARROWINSET_H
+
+#include "math_nestinset.h"
+#include "LString.h"
+
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+/** Wide arrows like \xrightarrow
+    \author André Pönitz
+ */
+
+class MathXArrowInset : public MathNestInset {
+public:
+       ///
+       explicit MathXArrowInset(string const & name);
+       ///
+       MathInset * clone() const;
+       ///
+       void draw(Painter &, int x, int y) const;
+       ///
+       void write(WriteStream & os) const;
+       ///
+       void metrics(MathMetricsInfo const & st) const;
+       ///
+       void normalize(NormalStream & os) const;
+
+private:
+       ///
+       bool upper() const;
+       ///
+       string const name_;
+};
+#endif
diff --git a/src/mathed/math_xymatrixinset.C b/src/mathed/math_xymatrixinset.C
new file mode 100644 (file)
index 0000000..9606bfc
--- /dev/null
@@ -0,0 +1,53 @@
+#include <config.h>
+
+#ifdef __GNUG__
+#pragma implementation
+#endif
+
+#include "math_xymatrixinset.h"
+#include "math_mathmlstream.h"
+#include "math_streamstr.h"
+
+
+MathXYMatrixInset::MathXYMatrixInset()
+       : MathGridInset(1, 1)
+{}
+
+
+MathInset * MathXYMatrixInset::clone() const
+{
+       return new MathXYMatrixInset(*this);
+}
+
+
+void MathXYMatrixInset::metrics(MathMetricsInfo const & st) const
+{
+       MathMetricsInfo mi = st;
+       if (mi.style == LM_ST_DISPLAY)
+               mi.style = LM_ST_TEXT;
+       MathGridInset::metrics(mi);
+}
+
+
+void MathXYMatrixInset::write(WriteStream & os) const
+{
+       os << "\\xymatrix{";
+       MathGridInset::write(os);
+       os << "}\n";
+}
+
+
+void MathXYMatrixInset::normalize(NormalStream & os) const
+{
+       os << "[xymatrix ";
+       MathGridInset::normalize(os);
+       os << "]";
+}
+
+
+void MathXYMatrixInset::maplize(MapleStream & os) const
+{
+       os << "xymatrix(";
+       MathGridInset::maplize(os);
+       os << ")";
+}
diff --git a/src/mathed/math_xymatrixinset.h b/src/mathed/math_xymatrixinset.h
new file mode 100644 (file)
index 0000000..bfebb04
--- /dev/null
@@ -0,0 +1,31 @@
+// -*- C++ -*-
+#ifndef MATH_XYMATRIX_H
+#define MATH_XYMATRIX_H
+
+#include "math_gridinset.h"
+
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+
+class MathXYMatrixInset : public MathGridInset {
+public: 
+       ///
+       MathXYMatrixInset();
+       ///
+       MathInset * clone() const;
+       ///
+       void metrics(MathMetricsInfo const & st) const;
+       ///
+       MathXYMatrixInset * asXYMatrixInset() { return this; }
+
+       ///
+       void write(WriteStream & os) const;
+       ///
+       void normalize(NormalStream &) const;
+       ///
+       void maplize(MapleStream &) const;
+};
+
+#endif