qwt_vectorfield_symbol.h
/******************************************************************************
* Qwt Widget Library
* Copyright (C) 1997 Josef Wilgen
* Copyright (C) 2002 Uwe Rathmann
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the Qwt License, Version 1.0
*****************************************************************************/
#ifndef QWT_VECTOR_FIELD_SYMBOL_H
#define QWT_VECTOR_FIELD_SYMBOL_H
#include "qwt_global.h"
class QPainter;
class QPainterPath;
class QWT_EXPORT QwtVectorFieldSymbol
{
public:
QwtVectorFieldSymbol();
virtual ~QwtVectorFieldSymbol();
virtual void setLength( qreal length ) = 0;
virtual qreal length() const = 0;
virtual void paint( QPainter* ) const = 0;
private:
Q_DISABLE_COPY(QwtVectorFieldSymbol)
};
class QWT_EXPORT QwtVectorFieldArrow : public QwtVectorFieldSymbol
{
public:
QwtVectorFieldArrow( qreal headWidth = 6.0, qreal tailWidth = 1.0 );
virtual ~QwtVectorFieldArrow() QWT_OVERRIDE;
virtual void setLength( qreal length ) QWT_OVERRIDE;
virtual qreal length() const QWT_OVERRIDE;
virtual void paint( QPainter* ) const QWT_OVERRIDE;
private:
class PrivateData;
PrivateData* m_data;
};
class QWT_EXPORT QwtVectorFieldThinArrow : public QwtVectorFieldSymbol
{
public:
QwtVectorFieldThinArrow( qreal headWidth = 6.0 );
virtual ~QwtVectorFieldThinArrow() QWT_OVERRIDE;
virtual void setLength( qreal length ) QWT_OVERRIDE;
virtual qreal length() const QWT_OVERRIDE;
virtual void paint( QPainter* ) const QWT_OVERRIDE;
private:
class PrivateData;
PrivateData* m_data;
};
#endif
QwtVectorFieldArrow
Definition: qwt_vectorfield_symbol.h:62
QwtVectorFieldSymbol
Definition: qwt_vectorfield_symbol.h:33
QwtVectorFieldSymbol::length
virtual qreal length() const =0
QwtVectorFieldSymbol::paint
virtual void paint(QPainter *) const =0
Draw the symbol/arrow.
QwtVectorFieldSymbol::setLength
virtual void setLength(qreal length)=0
QwtVectorFieldThinArrow
Definition: qwt_vectorfield_symbol.h:82