esstixfontstyle.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef ESSTIXFONTSTYLE_H
00021 #define ESSTIXFONTSTYLE_H
00022
00023 #include "fontstyle.h"
00024
00025 KFORMULA_NAMESPACE_BEGIN
00026
00027
00028 class EsstixAlphaTable : public AlphaTable {
00029 public:
00030
00031 EsstixAlphaTable();
00032
00033 virtual AlphaTableEntry entry( short pos, CharFamily family, CharStyle style ) const;
00034
00035 private:
00036
00037 QFont script_font;
00038 QFont fraktur_font;
00039 QFont double_struck_font;
00040 };
00041
00042
00043 class EsstixFontStyle : public FontStyle {
00044 public:
00045
00047 virtual bool init( ContextStyle* context );
00048
00050 virtual const AlphaTable* alphaTable() const;
00051
00052 virtual Artwork* createArtwork( SymbolType type = EmptyBracket ) const;
00053
00054 static QStringList missingFonts();
00055
00056 private:
00057
00058 EsstixAlphaTable m_alphaTable;
00059 };
00060
00061
00062 class EsstixArtwork : public Artwork {
00063 public:
00064 EsstixArtwork( SymbolType t );
00065
00066 virtual void calcSizes( const ContextStyle& style,
00067 ContextStyle::TextStyle tstyle,
00068 luPt parentSize );
00069
00070 virtual void draw( QPainter& painter, const LuPixelRect& r,
00071 const ContextStyle& style,
00072 ContextStyle::TextStyle tstyle,
00073 luPt parentSize, const LuPixelPoint& origin );
00074
00075 virtual bool isNormalChar() const;
00076
00077 private:
00078
00079 bool calcEsstixDelimiterSize( const ContextStyle& context, char c, luPt fontSize, luPt parentSize );
00080 void drawEsstixDelimiter( QPainter& painter, const ContextStyle& style, luPixel x, luPixel y, luPt height );
00081
00082 char esstixChar;
00083 char fontSizeFactor;
00084 };
00085
00086 KFORMULA_NAMESPACE_END
00087
00088 #endif
This file is part of the documentation for lib Library Version 1.4.2.