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