![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: multiLineDrawer.h,v $ $Revision: 1.13 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtMultiLineDrawer_H_ 00013 #define DtMultiLineDrawer_H_ 00014 00016 #include "symbolDrawer/lineDrawer.h" 00017 #include "symbology/lineSymbol.h" 00018 00019 class DtSymbol; 00020 class DtCenterPoint; 00021 00023 #include <QtCore/QCache> 00024 #include <QtGui/QPixmap> 00025 00029 00030 #include "symbolDrawer/symbolDrawerDefines.h" 00031 00032 class DT_DLL_symbolDrawer DtMultiLineDrawer : public DtLineDrawer 00033 { 00034 public: 00035 DtMultiLineDrawer(); 00036 virtual ~DtMultiLineDrawer(); 00037 00042 virtual bool draw( QPainter& paint, 00043 const DtSymbol * const symbol ) const; 00044 00047 virtual QSize calcBBox( const DtSymbol * const symbol ) const; 00048 00049 static DtSymbolDrawer* create(); 00050 00051 protected: 00052 virtual void drawThickArrow(QPainterPath& path, QPainter & paint, 00053 const DtLineSymbol * const arrowSymbol, 00054 bool axisTwist = false) const; 00055 virtual void drawDoubleThickArrow(QPainterPath& path, QPainter & paint, 00056 const DtLineSymbol * const arrowSymbol ) const; 00057 virtual void drawFeintArrow( QPainterPath& path, QPainter & paint, 00058 const DtLineSymbol * const arrowSymbol ) const; 00059 00060 virtual QPolygon getThickArrowPoints( 00061 const DtLineSymbol * const arrowSymbol, int& numCount) const; 00062 00063 private: 00065 DtMultiLineDrawer(const DtMultiLineDrawer& orig); 00066 DtMultiLineDrawer& operator=(const DtMultiLineDrawer& orig); 00068 00069 }; 00070 00071 #endif