00001 // vim:set ts=4 sw=4 noet cin: 00002 #ifndef BACKGROUNDRENDERER_H_ 00003 #define BACKGROUNDRENDERER_H_ 00004 00005 #include <QColor> 00006 #include <QBrush> 00007 #include <QPainter> 00008 #include "ARender.h" 00009 00010 class TransferFunc; 00011 00018 class BackgroundRenderer : public ARender { 00019 public: 00020 BackgroundRenderer(const Data& aData); 00021 00022 virtual void render(QPixmap* pixmap); 00023 00027 void setDataIndex(int newIndex); 00031 int dataIndex(){return mDataIndex;} 00032 00036 void addTransferFunction(TransferFunc* aFunc); 00037 00041 void removeTransferFunction(TransferFunc* aFunc); 00042 00048 void transferFunctionsChanged(); 00049 00050 protected: 00051 00059 QColor applyTransferFunctions(float aDataValue) const; 00060 00061 std::vector<TransferFunc*> mFunctions; 00062 00063 unsigned int mDataIndex; 00064 }; 00065 00066 #endif