ArrowRenderer.h

Go to the documentation of this file.
00001 #ifndef ARROWRENDERER_H_
00002 #define ARROWRENDERER_H_
00003 
00004 #include <QColor>
00005 #include <QBrush>
00006 #include <QPainter>
00007 #include "ARender.h"
00008 
00013 class ArrowRenderer : public ARender {
00014         public:
00015                 ArrowRenderer(const Data& aData) : ARender(aData),
00016                                                    mArrowDistance(0.4), 
00017                                                    mArrowSize(0.4),
00018                                                    mScaleMax(0),
00019                                                    mScaleMin(0),
00020                                                    mScaleArrowIndex(0),
00021                                                    mScaleArrows(false),
00022                                                    mArrowBrush(Qt::black) {}
00023 
00024                 virtual void render(QPixmap* pixmap);
00025 
00031                 void setArrowDistance(float dist) { mArrowDistance = dist; }
00036                 void setArrowSize(float size) { mArrowSize = size; }
00037 
00042                 void setScaleArrowIndex(int newIndex){
00043                         mScaleArrowIndex = newIndex;
00044                         std::pair<float, float> range = mData.getDataRange(newIndex);
00045                         mScaleMin = range.first;
00046                         mScaleMax = range.second;       
00047                 }
00048                 
00049                 void setScaleArrows(bool scaleArrows){mScaleArrows = scaleArrows;}
00050                 
00057                 void setScaleMax(float max){mScaleMax = max;}
00064                 void setScaleMin(float min){mScaleMin = min;}
00065                 
00070                 void setArrowBrush(QBrush brush) { mArrowBrush = brush; }
00071 
00075                 static void drawArrow(QPainter& painter, const QBrush& brush, float arrowSize);
00076         private:
00077                 void drawArrow(QPainter& painter, float x, float y) const;
00078 
00079                 float mArrowDistance;
00080                 float mArrowSize;
00081 
00082                 float mScaleMax;
00083                 float mScaleMin;
00084 
00085                 int mScaleArrowIndex;
00086                 bool mScaleArrows;
00087                 
00088                 QBrush mArrowBrush;
00089 };
00090 
00091 #endif

Generated on Mon Jan 23 19:44:27 2006 for Visualization by  doxygen 1.4.6