27#include "contextstyle.h"
28#include "kformuladefs.h"
29#include "symboltable.h"
32KFORMULA_NAMESPACE_BEGIN
55 Artwork* createArtwork(SymbolType type = EmptyBracket)
const;
57 static TQStringList missingFonts(
bool install =
true );
59 static bool m_installed;
61 static void testFont( TQStringList& missing,
const TQString& fontName );
65 static TQStringList missingFontsInternal();
66 static void installFonts();
72const TQChar spaceChar = 0x0020;
73const TQChar leftParenthesisChar = 0x0028;
74const TQChar rightParenthesisChar = 0x0029;
75const TQChar leftSquareBracketChar = 0x005B;
76const TQChar rightSquareBracketChar = 0x005D;
77const TQChar leftCurlyBracketChar = 0x007B;
78const TQChar verticalLineChar = 0x007C;
79const TQChar rightCurlyBracketChar = 0x007D;
80const TQChar leftAngleBracketChar = 0x2329;
81const TQChar rightAngleBracketChar = 0x232A;
82const TQChar slashChar = 0x002F;
83const TQChar backSlashChar = 0x005C;
84const TQChar integralChar = 0x222B;
85const TQChar summationChar = 0x2211;
86const TQChar productChar = 0x220F;
87const TQChar applyFunctionChar = 0x2061;
88const TQChar invisibleTimes = 0x2062;
89const TQChar invisibleComma = 0x2063;
91extern const TQChar leftRoundBracket[];
92extern const TQChar leftSquareBracket[];
93extern const TQChar leftCurlyBracket[];
95extern const TQChar leftLineBracket[];
96extern const TQChar rightLineBracket[];
98extern const TQChar rightRoundBracket[];
99extern const TQChar rightSquareBracket[];
100extern const TQChar rightCurlyBracket[];
108 Artwork(SymbolType type = EmptyBracket);
109 virtual ~Artwork() {}
119 virtual void draw( TQPainter& painter,
const LuPixelRect& r,
122 StyleAttributes& style,
123 luPt parentSize,
const LuPixelPoint& origin );
124 virtual void draw( TQPainter& painter,
const LuPixelRect& r,
127 StyleAttributes& style,
128 const LuPixelPoint& parentOrigin );
130 luPixel getWidth()
const {
return size.width(); }
131 luPixel getHeight()
const {
return size.height(); }
133 void setWidth( luPixel width ) { size.setWidth(width); }
134 void setHeight( luPixel height ) { size.setHeight(height); }
136 luPixel getBaseline()
const {
return baseline; }
137 void setBaseline( luPixel line ) { baseline = line; }
139 luPixel getX()
const {
return point.x(); }
140 luPixel getY()
const {
return point.y(); }
142 void setX( luPixel x ) { point.setX( x ); }
143 void setY( luPixel y ) { point.setY( y ); }
145 SymbolType getType()
const {
return type; }
146 void setType(SymbolType t) { type = t; }
148 virtual bool isNormalChar()
const {
return getBaseline() != -1 && ( cmChar == -1 ); }
150 virtual double slant()
const {
return 0; }
154 void calcCharSize(
const ContextStyle& style, luPt height, TQChar ch );
155 void drawCharacter( TQPainter& painter,
const ContextStyle& style,
156 luPixel x, luPixel y, luPt height, TQChar ch );
158 void calcCharSize(
const ContextStyle& style, TQFont f, luPt height, TQChar c );
159 void drawCharacter( TQPainter& painter,
const ContextStyle& style,
161 luPixel x, luPixel y, luPt height, uchar c );
163 void calcRoundBracket(
const ContextStyle& style,
const TQChar chars[], luPt height, luPt charHeight );
164 void calcCurlyBracket(
const ContextStyle& style,
const TQChar chars[], luPt height, luPt charHeight );
166 void drawBigRoundBracket( TQPainter& p,
const ContextStyle& style,
const TQChar chars[], luPixel x, luPixel y, luPt charHeight );
167 void drawBigCurlyBracket( TQPainter& p,
const ContextStyle& style,
const TQChar chars[], luPixel x, luPixel y, luPt charHeight );
181 bool calcCMDelimiterSize(
const ContextStyle& context, uchar c,
182 luPt fontSize, luPt parentSize );
183 void calcLargest(
const ContextStyle& context, uchar c, luPt fontSize );
184 void drawCMDelimiter( TQPainter& painter,
const ContextStyle& style,
185 luPixel x, luPixel y, luPt height );
191KFORMULA_NAMESPACE_END
Contains all the style information for the formela.
TextStyle
Textstyles like in TeX.
Base class for all supported font styles.
const SymbolTable * symbolTable() const
the table for ordinary symbols (those that have a unicode value)
bool init(ContextStyle *context, bool install=true)
lazy init support.