VR-Forces 4.0.4 Class Documentation
include/symbolDrawer/ttsDrawer.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2001 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: ttsDrawer.h,v $ $Revision: 1.28 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtTTSDrawer_H_
00013 #define DtTTSDrawer_H_
00014 
00016 #include "symbolDrawer/symbolDrawerDefines.h"
00017 #include "symbolDrawer/baseSymbolDrawer.h"
00018 
00020 #include <QtCore/QCache>
00021 #include <QtCore/QSize>
00022 
00023 #include <QtGui/QPixmap>
00024 #include <QtGui/QPainter>
00025 #include <QtGui/QBrush>
00026 #include <QtGui/QFont>
00027 #include <QtGui/QFontMetrics>
00028 
00029 class QString;
00030 class DtSymbol;
00031 class DtTTSSymbol;
00032 class DtCenterPoint;
00033 
00038 
00041 class DT_DLL_symbolDrawer DtTTSDrawer : public DtBaseSymbolDrawer
00042 {
00043 public:
00044    DtTTSDrawer();
00045    DtTTSDrawer(const QString & family, int pointSize = 24 );
00046    virtual ~DtTTSDrawer();
00047 
00048    virtual bool         draw( QPainter& paint,
00049                               const DtSymbol * const symbol ) const;
00050 
00053    virtual QSize        calcBBox( const DtSymbol * const symbol ) const;
00054 
00055    virtual void         setFont( const QString & family, unsigned pointSize );
00056    virtual void         setFont( const QFont & font );
00057    const QFont &        font() const;
00058 
00060    virtual bool         compareFamily( const QString & desiredFamily,
00061                               const QFont& font ) const;
00062 
00065    virtual QPoint calcOrigin(const DtTTSSymbol* s, bool calcBitmapOrigin = false) const;
00066 
00069    virtual void         paintFont(QPainter& painter, 
00070                                  int left, int base, 
00071                                  const DtTTSSymbol & symbol, const QColor& ) const;
00072 
00073    virtual void         paintFont(QPainter& painter, QRect& rect, const DtTTSSymbol& t,
00074                                  const QColor&, int flags = 0) const;
00075 
00077    virtual void setCenter(bool b);
00078 
00079    static DtSymbolDrawer* create();
00080 
00081 protected:
00083    virtual void         setAppearance( const DtTTSSymbol & s ) const;
00084 
00085    virtual bool         drawSymbolAsBitmap(QPainter& painter, const QPoint& origin, const DtTTSSymbol& t) const;
00086 
00087    virtual bool         drawFont(QPainter& painter, const QPoint& origin, const DtTTSSymbol& t) const;
00088    virtual QString            calcKey( const DtTTSSymbol & symbol ) const;
00089 
00091 
00092    virtual QHash<QString, QPixmap>::const_iterator insertPix( const DtTTSSymbol & symbol,
00093                                           const QPixmap * pix ) const;
00094    virtual const QPixmap *    lookupPix( const DtTTSSymbol & symbol ) const;
00095    virtual const QPixmap*     createPix(const DtTTSSymbol *pSymbol) const;
00097 
00098    virtual void createFontKey();
00099 
00100 private:
00102    DtTTSDrawer(const DtTTSDrawer& orig);
00103    DtTTSDrawer& operator=(const DtTTSDrawer& orig);
00105 
00106 protected:
00109    mutable QFont                 myFont;
00110    mutable QFont                 myDefaultFont;
00111    mutable QFontMetrics          myFontMetrics;
00112    bool myCenter;
00113    
00114 protected:
00117    mutable QHash<QString, QPixmap>     myCache; 
00118    QString                             myFontKey;
00119 };
00120 
00121 #endif
00122 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)