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
00046 virtual bool init( ContextStyle* context );
00047
00049 virtual const AlphaTable* alphaTable() const;
00050
00051 virtual Artwork* createArtwork( SymbolType type = EmptyBracket ) const;
00052
00053 private:
00054
00055 EsstixAlphaTable m_alphaTable;
00056 };
00057
00058
00059 class EsstixArtwork : public Artwork {
00060 public:
00061 EsstixArtwork( SymbolType t );
00062
00063 virtual void calcSizes( const ContextStyle& style,
00064 ContextStyle::TextStyle tstyle,
00065 luPt parentSize );
00066
00067 virtual void draw( QPainter& painter, const LuPixelRect& r,
00068 const ContextStyle& style,
00069 ContextStyle::TextStyle tstyle,
00070 luPt parentSize, const LuPixelPoint& origin );
00071
00072 virtual bool isNormalChar() const;
00073
00074 private:
00075
00076 bool calcEsstixDelimiterSize( const ContextStyle& context, char c, luPt fontSize, luPt parentSize );
00077 void drawEsstixDelimiter( QPainter& painter, const ContextStyle& style, luPixel x, luPixel y, luPt height );
00078
00079 char esstixChar;
00080 char fontSizeFactor;
00081 };
00082
00083 KFORMULA_NAMESPACE_END
00084
00085 #endif
This file is part of the documentation for lib Library Version 1.3.5.