00001 /**************************************************************************** 00002 ** Copyright (C) 2006 Klarälvdalens Datakonsult AB. All rights reserved. 00003 ** 00004 ** This file is part of the KD Chart library. 00005 ** 00006 ** This file may be distributed and/or modified under the terms of the 00007 ** GNU General Public License version 2 as published by the Free Software 00008 ** Foundation and appearing in the file LICENSE.GPL included in the 00009 ** packaging of this file. 00010 ** 00011 ** Licensees holding valid commercial KD Chart licenses may use this file in 00012 ** accordance with the KD Chart Commercial License Agreement provided with 00013 ** the Software. 00014 ** 00015 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00016 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00017 ** 00018 ** See http://www.kdab.net/kdchart for 00019 ** information about KDChart Commercial License Agreements. 00020 ** 00021 ** Contact info@kdab.net if any conditions of this 00022 ** licensing are not clear to you. 00023 ** 00024 **********************************************************************/ 00025 00026 00027 #ifndef PAINTCONTEXT_H 00028 #define PAINTCONTEXT_H 00029 00030 class QPainter; 00031 00032 #include <QRectF> 00033 #include "KDChartGlobal.h" 00034 00035 namespace KDChart { 00036 00037 class AbstractCoordinatePlane; 00038 00039 // This class is internal (and mostly related to AbstractDiagram) 00040 // but it's exported for examples/LineChart/SineFunctionPlotter. 00041 class KDCHART_EXPORT PaintContext 00042 { 00043 public: 00044 PaintContext(); 00045 ~PaintContext(); 00046 00047 const QRectF rectangle () const; 00048 void setRectangle( const QRectF& rect ); 00049 00050 QPainter* painter() const; 00051 void setPainter( QPainter* painter ); 00052 00053 AbstractCoordinatePlane* coordinatePlane() const; 00054 void setCoordinatePlane( AbstractCoordinatePlane* plane ); 00055 00056 private: 00057 class Private; 00058 Private * _d; 00059 Private * d_func() { return _d; } 00060 const Private * d_func() const { return _d; } 00061 }; 00062 00063 } 00064 00065 #endif /* PAINTCONTEXT_H */ 00066