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/graphicsview/qgraphicsview_p.h

    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**
     
    4848//
    4949// This file is not part of the Qt API.  It exists for the convenience
    50 // of qapplication_*.cpp, qwidget*.cpp and qfiledialog.cpp.  This header
    51 // file may change from version to version without notice, or even be removed.
     50// of other Qt classes.  This header file may change from version to
     51// version without notice, or even be removed.
    5252//
    5353// We mean it.
     
    5959
    6060#include <QtGui/qevent.h>
     61#include <QtCore/qcoreapplication.h>
    6162#include "qgraphicssceneevent.h"
     63#include <QtGui/qstyleoption.h>
    6264#include <private/qabstractscrollarea_p.h>
    6365
    6466QT_BEGIN_NAMESPACE
    6567
    66 class Q_GUI_EXPORT QGraphicsViewPrivate : public QAbstractScrollAreaPrivate
     68class Q_AUTOTEST_EXPORT QGraphicsViewPrivate : public QAbstractScrollAreaPrivate
    6769{
    6870    Q_DECLARE_PUBLIC(QGraphicsView)
     
    8587    qint64 verticalScroll() const;
    8688
    87     QList<QGraphicsItem *> itemsInArea(const QPainterPath &path,
    88                                        Qt::ItemSelectionMode mode = Qt::IntersectsItemShape,
    89                                        Qt::SortOrder = Qt::AscendingOrder) const;
     89    QRectF mapRectToScene(const QRect &rect) const;
     90    QRectF mapRectFromScene(const QRectF &rect) const;
    9091
    9192    QPointF mousePressItemPoint;
     
    9596    QPointF lastMouseMoveScenePoint;
    9697    QPoint lastMouseMoveScreenPoint;
     98    QPoint dirtyScrollOffset;
    9799    Qt::MouseButton mousePressButton;
    98100    QTransform matrix;
     
    160162    QRect mapToViewRect(const QGraphicsItem *item, const QRectF &rect) const;
    161163    QRegion mapToViewRegion(const QGraphicsItem *item, const QRectF &rect) const;
    162     void itemUpdated(QGraphicsItem *item, const QRectF &rect);
    163164    bool fullUpdatePending;
    164     QList<QRect> dirtyRects;
    165     QList<QRegion> dirtyRegions;
    166     int dirtyRectCount;
     165    QRegion dirtyRegion;
    167166    QRect dirtyBoundingRect;
    168     void updateLater();
    169     bool updatingLater;
    170     void _q_updateLaterSlot();
    171     void updateAll();
    172     void updateRect(const QRect &rect);
    173     void updateRegion(const QRegion &region);
     167    void processPendingUpdates();
     168    inline void updateAll()
     169    {
     170        viewport->update();
     171        fullUpdatePending = true;
     172        dirtyBoundingRect = QRect();
     173        dirtyRegion = QRegion();
     174    }
     175
     176    inline void dispatchPendingUpdateRequests()
     177    {
     178#ifndef Q_WS_MAC
     179        // QWidget::update() works slightly different on the Mac; it's not part of
     180        // our backing store so it needs special threatment.
     181        if (qt_widget_private(viewport)->paintOnScreen())
     182            QCoreApplication::sendPostedEvents(viewport, QEvent::UpdateRequest);
     183        else
     184            QCoreApplication::sendPostedEvents(viewport->window(), QEvent::UpdateRequest);
     185#else
     186        QCoreApplication::processEvents(QEventLoop::AllEvents | QEventLoop::ExcludeSocketNotifiers
     187                                        | QEventLoop::ExcludeUserInputEvents);
     188#endif
     189    }
     190
     191    bool updateRect(const QRect &rect);
     192    bool updateRegion(const QRegion &region);
    174193    bool updateSceneSlotReimplementedChecked;
    175 
    176     QList<QGraphicsItem *> findItems(const QRegion &exposedRegion, bool *allItems) const;
    177 
    178     void generateStyleOptions(const QList<QGraphicsItem *> &itemList,
    179                               QGraphicsItem **itemArray,
    180                               QStyleOptionGraphicsItem *styleOptionArray,
    181                               const QTransform &worldTransform,
    182                               bool allItems,
    183                               const QRegion &exposedRegion) const;
     194    QRegion exposedRegion;
     195
     196    QList<QGraphicsItem *> findItems(const QRegion &exposedRegion, bool *allItems,
     197                                     const QTransform &viewTransform) const;
     198
     199    QPointF mapToScene(const QPointF &point) const;
     200    QRectF mapToScene(const QRectF &rect) const;
     201    static void translateTouchEvent(QGraphicsViewPrivate *d, QTouchEvent *touchEvent);
     202    void updateInputMethodSensitivity();
    184203};
    185204
Note: See TracChangeset for help on using the changeset viewer.