Ignore:
Timestamp:
Feb 11, 2010, 11:19:06 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.1 sources.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/gui/painting/qemulationpaintengine.cpp

    r2 r561  
    22**
    33** 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)
    56**
    67** This file is part of the QtGui module of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    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.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** 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.
    3838** $QT_END_LICENSE$
    3939**
     
    100100                QBrush copy = brush;
    101101                QTransform mat = copy.transform();
    102                 QRealRect r = path.controlPointRect();
    103                 mat.translate(r.x1, r.y1);
    104                 mat.scale(r.x2 - r.x1, r.y2 - r.y1);
     102                QRectF r = path.controlPointRect();
     103                mat.translate(r.x(), r.y());
     104                mat.scale(r.width(), r.height());
    105105                copy.setTransform(mat);
    106106                real_engine->fill(path, copy);
     
    124124    }
    125125
    126 
    127126    QBrush brush = pen.brush();
     127    QPen copy = pen;
    128128    Qt::BrushStyle style = qbrush_style(brush);
    129129    if (style >= Qt::LinearGradientPattern && style <= Qt::ConicalGradientPattern) {
    130130        const QGradient *g = brush.gradient();
     131
    131132        if (g->coordinateMode() > QGradient::LogicalMode) {
    132             QPaintEngineEx::stroke(path, pen);
    133             return;
     133            if (g->coordinateMode() == QGradient::StretchToDeviceMode) {
     134                QTransform mat = brush.transform();
     135                mat.scale(real_engine->painter()->device()->width(), real_engine->painter()->device()->height());
     136                brush.setTransform(mat);
     137                copy.setBrush(brush);
     138                real_engine->stroke(path, copy);
     139                return;
     140            } else if (g->coordinateMode() == QGradient::ObjectBoundingMode) {
     141                QTransform mat = brush.transform();
     142                QRectF r = path.controlPointRect();
     143                mat.translate(r.x(), r.y());
     144                mat.scale(r.width(), r.height());
     145                brush.setTransform(mat);
     146                copy.setBrush(brush);
     147                real_engine->stroke(path, copy);
     148                return;
     149            }
    134150        }
    135151    }
Note: See TracChangeset for help on using the changeset viewer.