kchart

KDChartBarPainter.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 __KDCHARTBARPAINTER_H__
00030 #define __KDCHARTBARPAINTER_H__
00031 
00032 #include "KDChartAxesPainter.h"
00033 #include <KDChartTable.h>
00034 
00035 #include <qnamespace.h>
00036 
00037 class KDChartParams;
00038 
00039 class KDChartBarPainter : public KDChartAxesPainter, public Qt
00040 {
00041     friend class KDChartPainter;
00042     protected:
00043     KDChartBarPainter( KDChartParams* params );
00044     virtual ~KDChartBarPainter();
00045 
00046     /*
00047        virtual void paintData( QPainter* painter,
00048        KDChartTableDataBase* data,
00049        bool paint2nd,
00050        KDChartDataRegionList* regions );
00051        */
00052     virtual bool isNormalMode() const;
00053     virtual int clipShiftUp( bool normalMode, double areaWidthP1000 ) const;
00054     virtual void specificPaintData( QPainter* painter,
00055                                     const QRect& ourClipRect,
00056                                     KDChartTableDataBase* data,
00057                                     KDChartDataRegionList* regions,
00058                                     const KDChartAxisParams* axisPara,
00059                                     bool bNormalMode,
00060                                     uint chart,
00061                                     double logWidth,
00062                                     double areaWidthP1000,
00063                                     double logHeight,
00064                                     double axisYOffset,
00065                                     double minColumnValue,
00066                                     double maxColumnValue,
00067                                     double columnValueDistance,
00068                                     uint chartDatasetStart,
00069                                     uint chartDatasetEnd,
00070                                     uint datasetStart,
00071                                     uint datasetEnd );
00072     virtual void calculateXFront1_2( bool bNormalMode, bool bIsVeryFirstBar, bool bIsFirstDataset, bool _bThreeDBars,
00073                                      double xpos, double valueBlockGap, double datasetGap, double frontBarWidth,
00074                                      int& frontX1, int& frontX2, int& previousFrontX2 );
00075     private:
00076     void initMyPainter( QPainter* painter );
00077     void shiftMyPainter( double dx, double dy );
00078     void shiftMyPainterBack();
00079     QPainter* _myPainter;
00080     double _painterDX;
00081     double _painterDY;
00082     bool _bThreeDBars;
00083   double _areaP1000;
00084 };
00085 
00086 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys