X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FMathSupport.h;h=d9301453dde5bb9c2cb5330c6430f9089e96c213;hb=bc54a55491a0b6eab5179235496773410657782f;hp=8b026fe434d4772a0f788a163214f22bf62d48f6;hpb=52bd213992aeedde743ca8d794cddfe17a6893b9;p=lyx.git diff --git a/src/mathed/MathSupport.h b/src/mathed/MathSupport.h index 8b026fe434..d9301453dd 100644 --- a/src/mathed/MathSupport.h +++ b/src/mathed/MathSupport.h @@ -5,7 +5,7 @@ * Licence details can be found in the file COPYING. * * \author Alejandro Aguilar Sierra - * \author André Pönitz + * \author André Pönitz * * Full author contact details are available in file CREDITS. */ @@ -13,40 +13,82 @@ #ifndef MATH_SUPPORT_H #define MATH_SUPPORT_H -#include "support/docstring.h" +#include "MathParser_flags.h" +#include "support/strfwd.h" +namespace lyx { + +class MetricsBase; +class MetricsInfo; class PainterInfo; -class LyXFont; +class FontInfo; class Dimension; -class MathArray; +class MathData; class MathAtom; class InsetMath; +class latexkeys; +class LaTeXFeatures; + + +int mathed_font_em(FontInfo const &); + +int mathed_font_x_height(FontInfo const & font); + +int mathed_mu(FontInfo const & font, double mu); +int mathed_thinmuskip(FontInfo const & font); -void mathed_char_dim(LyXFont const &, lyx::char_type c, Dimension & dim); -int mathed_char_width(LyXFont const &, lyx::char_type c); +int mathed_medmuskip(FontInfo const & font); + +int mathed_thickmuskip(FontInfo const & font); + +int mathed_char_width(FontInfo const &, char_type c); + +int mathed_char_kerning(FontInfo const &, char_type c); void mathed_draw_deco(PainterInfo & pi, int x, int y, int w, int h, - std::string const & name); + docstring const & name); + +void mathed_string_dim(FontInfo const & font, + docstring const & s, + Dimension & dim); -void mathed_string_dim(LyXFont const & font, lyx::docstring const & s, Dimension & dim); -int mathed_string_width(LyXFont const &, lyx::docstring const & s); +int mathed_string_width(FontInfo const &, docstring const & s); -void drawStrRed(PainterInfo & pi, int x, int y, lyx::docstring const & s); -void drawStrBlack(PainterInfo & pi, int x, int y, lyx::docstring const & s); +void mathedSymbolDim(MetricsBase & mb, Dimension & dim, latexkeys const * sym); -void math_font_max_dim(LyXFont const &, int & asc, int & desc); +void mathedSymbolDraw(PainterInfo & pi, int x, int y, latexkeys const * sym); -void augmentFont(LyXFont & f, std::string const & cmd); +void metricsStrRedBlack(MetricsInfo & mi, Dimension & dim, docstring const & s); + +void drawStrRed(PainterInfo & pi, int x, int y, docstring const & s); +void drawStrBlack(PainterInfo & pi, int x, int y, docstring const & s); + +void math_font_max_dim(FontInfo const &, int & asc, int & desc); + +void augmentFont(FontInfo & f, std::string const & cmd); bool isFontName(std::string const & name); +bool isMathFont(std::string const & name); + +bool isTextFont(std::string const & name); + +bool isAlphaSymbol(MathAtom const & at); + // converts single cell to string -std::string asString(MathArray const & ar); +docstring asString(MathData const & ar); // converts single inset to string -std::string asString(InsetMath const &); -std::string asString(MathAtom const &); +docstring asString(InsetMath const &); +docstring asString(MathAtom const &); // converts string to single cell -void asArray(lyx::docstring const & str, MathArray & ar); +void asArray(docstring const &, MathData &, Parse::flags f = Parse::NORMAL); + +// simulate axis height (font dimension sigma 22) +int axis_height(MetricsBase & mb); + +void validate_math_word(LaTeXFeatures & features, docstring const & word); + +} // namespace lyx #endif