![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: circleDrawer.h,v $ $Revision: 1.17 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtCircleDrawer_H_ 00013 #define DtCircleDrawer_H_ 00014 00016 #include "symbolDrawer/baseSymbolDrawer.h" 00017 00018 #include "symbology/circleSymbol.h" 00019 00020 class DtSymbol; 00021 class DtCenterPoint; 00022 class QPainterPath; 00023 00025 #include <QtCore/QCache> 00026 #include <QtGui/QPixmap> 00027 00029 #include "symbolDrawer/symbolDrawerDefines.h" 00030 00031 class DT_DLL_symbolDrawer DtCircleDrawer : public DtBaseSymbolDrawer 00032 { 00033 public: 00034 DtCircleDrawer(); 00035 virtual ~DtCircleDrawer(); 00036 00037 virtual bool draw( QPainter& paint, 00038 const DtSymbol * const symbol ) const; 00039 00042 virtual QSize calcBBox( const DtSymbol * const symbol ) const; 00043 00045 virtual void setPenThickness(int thickness); 00046 00048 virtual void setCircleStyle(DtCircleSymbol::DtCircleStyle style); 00049 virtual void clearCircleStyle(); 00050 virtual void clearBrushStyle(); 00051 virtual DtCircleSymbol::DtCircleStyle circleStyle(); 00052 virtual Qt::BrushStyle brushStyle(); 00053 virtual void setBrushStyle(Qt::BrushStyle style); 00054 00055 static DtSymbolDrawer* create(); 00056 00057 protected: 00059 virtual void drawX(QPoint& center, QPainter& paint, const DtCircleSymbol* circleSymbol, 00060 int radius, int yRadius) const; 00061 virtual void drawCrossHair(QPainter& paint, const QPoint& center, const DtCircleSymbol* circleSymbol, 00062 int radius, int yRadius) const; 00063 00065 virtual bool drawCircle(QPainter &paint, const DtCircleSymbol* const circle, QPoint pnt, double radius, 00066 DtCircleSymbol::DtCircleStyle style, Qt::BrushStyle brushStyle, QColor &color, int penThickness, 00067 double yRadius = 0, double rotationDegrees = 0) const; 00068 00069 private: 00071 DtCircleDrawer(const DtCircleDrawer& orig); 00072 DtCircleDrawer& operator=(const DtCircleDrawer& orig); 00074 00075 protected: 00076 DtCircleSymbol::DtCircleStyle myCircleStyle; 00077 Qt::BrushStyle myBrushStyle; 00078 int myPenThickness; 00079 bool myOverrideCircleStyle; 00080 bool myOverrideBrushStyle; 00081 }; 00082 00083 #endif