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