diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-07-04 22:38:03 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-07-04 22:38:03 +0000 |
commit | dadc34655c3ab961b0b0b94a10eaaba710f0b5e8 (patch) | |
tree | 99e72842fe687baea16376a147619b6048d7e441 /libkdchart/KDDrawText.h | |
download | kmymoney-dadc34655c3ab961b0b0b94a10eaaba710f0b5e8.tar.gz kmymoney-dadc34655c3ab961b0b0b94a10eaaba710f0b5e8.zip |
Added kmymoney
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kmymoney@1239792 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'libkdchart/KDDrawText.h')
-rw-r--r-- | libkdchart/KDDrawText.h | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/libkdchart/KDDrawText.h b/libkdchart/KDDrawText.h new file mode 100644 index 0000000..64337e5 --- /dev/null +++ b/libkdchart/KDDrawText.h @@ -0,0 +1,102 @@ +/* -*- Mode: C++ -*- + KDChart - a multi-platform charting engine + */ + +/**************************************************************************** + ** Copyright (C) 2001-2003 Klarälvdalens Datakonsult AB. All rights reserved. + ** + ** This file is part of the KDChart library. + ** + ** This file may be distributed and/or modified under the terms of the + ** GNU General Public License version 2 as published by the Free Software + ** Foundation and appearing in the file LICENSE.GPL included in the + ** packaging of this file. + ** + ** Licensees holding valid commercial KDChart licenses may use this file in + ** accordance with the KDChart Commercial License Agreement provided with + ** the Software. + ** + ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE + ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + ** + ** See http://www.klaralvdalens-datakonsult.se/?page=products for + ** information about KDChart Commercial License Agreements. + ** + ** Contact info@klaralvdalens-datakonsult.se if any conditions of this + ** licensing are not clear to you. + ** + **********************************************************************/ +#ifndef __KDDRAWTEXT_H__ +#define __KDDRAWTEXT_H__ + +#include <qpainter.h> +#ifdef linux +#include <values.h> +#endif +#include "KDChartGlobal.h" + + +struct KDDrawTextRegionAndTrueRect +{ + QRegion region; + QPoint pos; + int x,y,width,height; +}; + + +class KDDrawText +{ + public: + static void drawRotatedText( QPainter* painter, + float degrees, + QPoint anchor, + const QString& text, + const QFont* font = 0, + int align = Qt::AlignLeft | Qt::AlignTop, + // useful for debugging of your layout: + bool showAnchor = false, + const QFontMetrics* fontMet = 0, + bool noFirstrotate = false, + bool noBackrotate = false, + KDDrawTextRegionAndTrueRect* infos = 0, + bool optimizeOutputForScreen = false ); + + static KDDrawTextRegionAndTrueRect measureRotatedText( + QPainter* painter, + float degrees, + QPoint anchor, + const QString& text, + const QFont* font, + int align, + const QFontMetrics* fontMet, + bool noFirstrotate, + bool noBackrotate, + int addPercentOfHeightToRegion ); + + private: + static void drawRotatedTxt( QPainter* painter, + bool optimizeOutputForScreen, + float degrees, + QPoint anchor, + const QString& text, + const QFont* font = 0, + int align = Qt::AlignLeft | Qt::AlignTop, + // usefull for debugging of your layout: + bool showAnchor = false, + // speed-up parameters + // used internally by drawCircleText() + // to avoid duplicate calculation + int txtWidth = INT_MAX, + int txtHeight = INT_MAX, + const QFontMetrics* fontMet = 0, + // additional speed-up parameters used by KDChart + bool calculateOnly = false, + bool doNotCalculate= false, + bool noFirstrotate = false, + bool noBackrotate = false, + KDDrawTextRegionAndTrueRect* infos = 0, + int addPercentOfHeightToRegion = 0 ); + +}; + +#endif |