kchart

KDChartPolarPainter.h

00001 /* -*- Mode: C++ -*-
00002    KDChart - a multi-platform charting engine
00003    */
00004 
00005 /****************************************************************************
00006  ** Copyright (C) 2001-2003 Klarälvdalens Datakonsult AB.  All rights reserved.
00007  **
00008  ** This file is part of the KDChart library.
00009  **
00010  ** This file may be distributed and/or modified under the terms of the
00011  ** GNU General Public License version 2 as published by the Free Software
00012  ** Foundation and appearing in the file LICENSE.GPL included in the
00013  ** packaging of this file.
00014  **
00015  ** Licensees holding valid commercial KDChart licenses may use this file in
00016  ** accordance with the KDChart Commercial License Agreement provided with
00017  ** the Software.
00018  **
00019  ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00020  ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00021  **
00022  ** See http://www.klaralvdalens-datakonsult.se/?page=products for
00023  **   information about KDChart Commercial License Agreements.
00024  **
00025  ** Contact info@klaralvdalens-datakonsult.se if any conditions of this
00026  ** licensing are not clear to you.
00027  **
00028  **********************************************************************/
00029 #ifndef __KDCHARTPOLARPAINTER_H__
00030 #define __KDCHARTPOLARPAINTER_H__
00031 
00032 #include "KDChartPainter.h"
00033 #include <KDChartTable.h>
00034 #include <KDChartParams.h>
00035 
00036 class KDChartPolarPainter : public KDChartPainter
00037 {
00038     friend class KDChartPainter;
00039 
00040     protected:
00041     KDChartPolarPainter( KDChartParams* params );
00042     virtual ~KDChartPolarPainter();
00043 
00044     virtual void paintData( QPainter* painter, 
00045             KDChartTableDataBase* data,
00046             bool paint2nd,
00047             KDChartDataRegionList* regions = 0 );
00048 /*    void drawMarker( QPainter* painter,
00049             KDChartParams::PolarMarkerStyle style,
00050             const QColor& color, const QPoint& p,
00051             uint dataset, uint value, uint chart,
00052             double minSizeP1000,
00053             QRegion & region );*/
00054     virtual QString fallbackLegendText( uint dataset ) const;
00055     virtual uint numLegendFallbackTexts( KDChartTableDataBase* data ) const;
00056 
00057     private:
00058     QPoint polarToXY( int radius, int angle );
00059     void paintAxisLabels( QPainter* painter,
00060             QStringList& labelTexts,
00061             double radiusDelta,
00062             const QRect& position,
00063             const QPoint& center,
00064             double radiusPPU,
00065             double& currentRadiusPPU,
00066             const KDChartAxisParams & paraCircular,
00067             double minSizeP1000 );
00068     void paintCircularAxisLabel( QPainter* painter,
00069             bool rotate,
00070             int txtAngle,
00071             QPoint center,
00072             double currentRadiusPPU,
00073             const QString& txt,
00074             int align,
00075             int step );
00076 };
00077 
00078 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys