Changeset 561 for trunk/src/svg/qsvggraphics_p.h
- Timestamp:
- Feb 11, 2010, 11:19:06 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
-
Property svn:mergeinfo
set to (toggle deleted branches)
/branches/vendor/nokia/qt/4.6.1 merged eligible /branches/vendor/nokia/qt/current merged eligible /branches/vendor/trolltech/qt/current 3-149
-
Property svn:mergeinfo
set to (toggle deleted branches)
-
trunk/src/svg/qsvggraphics_p.h
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtSvg module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** … … 146 146 private: 147 147 QPainterPath m_path; 148 QRectF m_cachedBounds;148 mutable QRectF m_cachedBounds; 149 149 }; 150 150 … … 182 182 int m_rx, m_ry; 183 183 }; 184 185 class QSvgTspan; 184 186 185 187 class QSvgText : public QSvgNode … … 198 200 virtual void draw(QPainter *p, QSvgExtraStates &states); 199 201 virtual Type type() const; 200 void insertText(const QString &text, WhitespaceMode mode); 201 void insertFormat(const QTextCharFormat &format); 202 void insertLineBreak(); 203 void popFormat(); 204 void setTextAlignment(const Qt::Alignment &alignment); 205 const QTextCharFormat &topFormat() const; 206 qreal scale() const; 207 void setScale(qreal scale); 202 203 void addTspan(QSvgTspan *tspan) {m_tspans.append(tspan);} 204 void addText(const QString &text); 205 void addLineBreak() {m_tspans.append(LINEBREAK);} 206 void setWhitespaceMode(WhitespaceMode mode) {m_mode = mode;} 207 208 208 //virtual QRectF bounds() const; 209 209 private: 210 static QSvgTspan * const LINEBREAK; 211 210 212 QPointF m_coord; 211 213 212 QVector<QString> m_paragraphs; 213 QStack<QTextCharFormat> m_formats; 214 Qt::Alignment m_textAlignment; 215 QVector<QList<QTextLayout::FormatRange> > m_formatRanges; 216 qreal m_scale; 217 bool m_appendSpace; 214 // 'm_tspans' is also used to store characters outside tspans and line breaks. 215 // If a 'm_tspan' item is null, it indicates a line break. 216 QVector<QSvgTspan *> m_tspans; 217 218 218 Type m_type; 219 219 QSizeF m_size; 220 WhitespaceMode m_mode; 221 }; 222 223 class QSvgTspan : public QSvgNode 224 { 225 public: 226 // tspans are also used to store normal text, so the 'isProperTspan' is used to separate text from tspan. 227 QSvgTspan(QSvgNode *parent, bool isProperTspan = true) 228 : QSvgNode(parent), m_mode(QSvgText::Default), m_isTspan(isProperTspan) 229 { 230 } 231 ~QSvgTspan() { }; 232 virtual Type type() const {return TSPAN;} 233 virtual void draw(QPainter *, QSvgExtraStates &) {Q_ASSERT(!"Tspans should be drawn through QSvgText::draw().");} 234 void addText(const QString &text) {m_text += text;} 235 const QString &text() const {return m_text;} 236 bool isTspan() const {return m_isTspan;} 237 void setWhitespaceMode(QSvgText::WhitespaceMode mode) {m_mode = mode;} 238 QSvgText::WhitespaceMode whitespaceMode() const {return m_mode;} 239 private: 240 QString m_text; 241 QSvgText::WhitespaceMode m_mode; 242 bool m_isTspan; 220 243 }; 221 244
Note:
See TracChangeset
for help on using the changeset viewer.