Changeset 561 for trunk/src/gui/painting/qregion_mac.cpp
- 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/gui/painting/qregion_mac.cpp
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 QtGui 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 ** … … 156 156 return rgnHandle; 157 157 } 158 159 /*! 160 \internal 161 Create's a RegionHandle, it's the caller's responsibility to release. 162 Returns 0 if the QRegion overflows. 163 */ 164 RgnHandle QRegion::toQDRgnForUpdate_sys() const 165 { 166 RgnHandle rgnHandle = qt_mac_get_rgn(); 167 if(d->qt_rgn && d->qt_rgn->numRects) { 168 RgnHandle tmp_rgn = qt_mac_get_rgn(); 169 int n = d->qt_rgn->numRects; 170 const QRect *qt_r = (n == 1) ? &d->qt_rgn->extents : d->qt_rgn->rects.constData(); 171 while (n--) { 172 173 // detect overflow. Tested for use with HIViewSetNeedsDisplayInRegion 174 // in QWidgetPrivate::update_sys(). 175 enum { HIViewSetNeedsDisplayInRegionOverflow = 10000 }; // empirically determined conservative value 176 if (qt_r->right() > HIViewSetNeedsDisplayInRegionOverflow || qt_r->bottom() > HIViewSetNeedsDisplayInRegionOverflow) { 177 qt_mac_dispose_rgn(tmp_rgn); 178 qt_mac_dispose_rgn(rgnHandle); 179 return 0; 180 } 181 182 SetRectRgn(tmp_rgn, 183 qMax(SHRT_MIN, qt_r->x()), 184 qMax(SHRT_MIN, qt_r->y()), 185 qMin(SHRT_MAX, qt_r->right() + 1), 186 qMin(SHRT_MAX, qt_r->bottom() + 1)); 187 UnionRgn(rgnHandle, tmp_rgn, rgnHandle); 188 ++qt_r; 189 } 190 qt_mac_dispose_rgn(tmp_rgn); 191 } 192 return rgnHandle; 193 } 194 158 195 #endif 159 196
Note:
See TracChangeset
for help on using the changeset viewer.