lyx_mirror/src/mathed/InsetMathSymbol.h
Abdelrazak Younes 5ddc612b73 Splitup Font in saner bits:
* Font::FontBits -> FontInfo
* Font::FONT_XXX -> all enums transfered to FontEnums.h and renamed to FontXxx

I've replaced Font uses with FontInfo were the language() member was not needed, basically all draw() and metrics methods. There's one problematic cases with InsetQuotes which I solved by taking the Buffer main language.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21240 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-28 18:51:54 +00:00

87 lines
1.8 KiB
C++

// -*- C++ -*-
/**
* \file InsetMathSymbol.h
* 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.
*/
#ifndef MATH_SYMBOLINSET_H
#define MATH_SYMBOLINSET_H
#include "InsetMath.h"
namespace lyx {
class latexkeys;
/** "normal" symbols that don't take limits and don't grow in displayed
* formulae.
*/
class InsetMathSymbol : public InsetMath {
public:
///
explicit InsetMathSymbol(latexkeys const * l);
///
explicit InsetMathSymbol(char const * name);
///
explicit InsetMathSymbol(docstring const & name);
///
void metrics(MetricsInfo & mi, Dimension & dim) const;
///
void draw(PainterInfo &, int x, int y) const;
///
int kerning() const { return kerning_; }
///
bool isRelOp() const;
///
bool isOrdAlpha() const;
/// do we take scripts?
bool isScriptable() const;
/// do we take \limits or \nolimits?
bool takesLimits() const;
/// identifies SymbolInset as such
InsetMathSymbol const * asSymbolInset() const { return this; }
/// the LaTeX name of the symbol (without the backslash)
docstring name() const;
/// request "external features"
void validate(LaTeXFeatures & features) const;
///
void normalize(NormalStream &) const;
///
void maple(MapleStream &) const;
///
void maxima(MaximaStream &) const;
///
void mathematica(MathematicaStream &) const;
///
void mathmlize(MathStream &) const;
///
void octave(OctaveStream &) const;
///
void write(WriteStream & os) const;
///
void infoize2(odocstream & os) const;
private:
virtual Inset * clone() const;
///
latexkeys const * sym_;
///
mutable int h_;
/// cached superscript kerning
mutable int kerning_;
///
mutable bool scriptable_;
};
} // namespace lyx
#endif