]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_support.h
Fix to bug 2362: Deleting superscript also deletes subscript.
[lyx.git] / src / mathed / math_support.h
index ba2d711c80a5649ca2dbbebc3b2860562b53f714..c21d9421e90ab44d1d1d0b9f76d2ad4d885d63fe 100644 (file)
@@ -1,64 +1,54 @@
 // -*- C++ -*-
+/**
+ * \file math_support.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Alejandro Aguilar Sierra
+ * \author André Pönitz
+ *
+ * Full author contact details are available in file CREDITS.
+ */
 
 #ifndef MATH_SUPPORT_H
 #define MATH_SUPPORT_H
 
-#include "math_defs.h"
-#include "LString.h"
+#include <string>
 
-class Painter;
-class latexkeys;
-class MathMetricsInfo;
+class PainterInfo;
+class LyXFont;
+class Dimension;
+class MathArray;
+class MathAtom;
 class MathInset;
 
-extern char const * latex_mathspace[];
 
-int mathed_char_height(MathTextCodes type, MathMetricsInfo const & size,
-       unsigned char c, int & asc, int & des);
-void mathed_char_dim(MathTextCodes type, MathMetricsInfo const & size,
-       unsigned char c, int & asc, int & des, int & wid);
-int mathed_char_width(MathTextCodes type, MathMetricsInfo const & size,
-       unsigned char c);
-int mathed_char_ascent(MathTextCodes type, MathMetricsInfo const & size,
-       unsigned char c);
-int mathed_char_descent(MathTextCodes type, MathMetricsInfo const & size,
-       unsigned char c);
+void mathed_char_dim(LyXFont const &, unsigned char c, Dimension & dim);
+int mathed_char_width(LyXFont const &, unsigned char c);
+int mathed_char_ascent(LyXFont const &, unsigned char c);
+int mathed_char_descent(LyXFont const &, unsigned char c);
 
-void mathed_draw_deco(Painter & pain, int x, int y, int w, int h,
-       string const & name);
+void mathed_draw_deco(PainterInfo & pi, int x, int y, int w, int h,
+       std::string const & name);
 
-void mathed_draw_framebox(Painter & pain, int x, int y, MathInset const *);
+void mathed_string_dim(LyXFont const & font, std::string const & s, Dimension & dim);
+int mathed_string_width(LyXFont const &, std::string const & s);
 
-void mathed_string_dim(MathTextCodes type, MathMetricsInfo const & size,
-       string const & s, int & asc, int & des, int & wid);
-int mathed_string_height(MathTextCodes type, MathMetricsInfo const & size,
-       string const & s, int & asc, int & des);
+void drawStrRed(PainterInfo & pi, int x, int y, std::string const & s);
+void drawStrBlack(PainterInfo & pi, int x, int y, std::string const & s);
 
-int mathed_string_width(MathTextCodes type, MathMetricsInfo const & size,
-       string const & s);
-int mathed_string_ascent(MathTextCodes type, MathMetricsInfo const & size,
-       string const & s);
-int mathed_string_descent(MathTextCodes type, MathMetricsInfo const & size,
-       string const & s);
+void math_font_max_dim(LyXFont const &, int & asc, int & desc);
 
-void drawStr(Painter & pain, MathTextCodes type, MathMetricsInfo const & siz,
-       int x, int y, string const & s);
-void drawChar(Painter & pain, MathTextCodes type, MathMetricsInfo const & siz,
-       int x, int y, char c);
+void augmentFont(LyXFont & f, std::string const & cmd);
 
-void math_font_max_dim(MathTextCodes code, MathMetricsInfo const & siz,
-       int & asc, int & desc);
+bool isFontName(std::string const & name);
 
-bool math_font_available(MathTextCodes code);
-
-// decrease math size for super- and subscripts
-void smallerStyleScript(MathMetricsInfo &);
-
-// decrease math size for fractions
-void smallerStyleFrac(MathMetricsInfo & st);
-
-char const * math_font_name(MathTextCodes type);
-
-string convertDelimToLatexName(string const & name);
+// converts single cell to string
+std::string asString(MathArray const & ar);
+// converts single inset to string
+std::string asString(MathInset const &);
+std::string asString(MathAtom const &);
+// converts string to single cell
+void asArray(std::string const & str, MathArray & ar);
 
 #endif