X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FMathSupport.h;h=3e5f67d5cff38942fe5163db1951a5eeb0b2ba60;hb=5fdc577badb1cb133d6a0dc7d831bb1f82576adb;hp=ead1e095aad2cf34a4c24a44049c211d3a24a383;hpb=caf732d4c449fc7be3fc88dfbb86b0713d7b7f26;p=lyx.git diff --git a/src/mathed/MathSupport.h b/src/mathed/MathSupport.h index ead1e095aa..3e5f67d5cf 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,19 +13,33 @@ #ifndef MATH_SUPPORT_H #define MATH_SUPPORT_H +#include "MathParser_flags.h" #include "support/strfwd.h" -#include namespace lyx { +class MetricsBase; +class MetricsInfo; class PainterInfo; class FontInfo; class Dimension; class MathData; class MathAtom; class InsetMath; +class latexkeys; +class LaTeXFeatures; +int mathed_font_em(FontInfo const &); + +int mathed_mu(FontInfo const & font, double mu); + +int mathed_thinmuskip(FontInfo const & font); + +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); @@ -39,14 +53,26 @@ void mathed_string_dim(FontInfo const & font, int mathed_string_width(FontInfo const &, docstring const & s); +void mathedSymbolDim(MetricsBase & mb, Dimension & dim, latexkeys const * sym); + +void mathedSymbolDraw(PainterInfo & pi, int x, int y, latexkeys const * sym); + +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, docstring const & cmd); +void augmentFont(FontInfo & f, std::string const & cmd); + +bool isFontName(std::string const & name); + +bool isMathFont(std::string const & name); -bool isFontName(docstring const & name); +bool isTextFont(std::string const & name); + +bool isAlphaSymbol(MathAtom const & at); // converts single cell to string docstring asString(MathData const & ar); @@ -54,7 +80,12 @@ docstring asString(MathData const & ar); docstring asString(InsetMath const &); docstring asString(MathAtom const &); // converts string to single cell -void asArray(docstring const & str, MathData & 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