Changeset 40218 in webkit
- Timestamp:
- Jan 24, 2009 2:39:16 PM (15 years ago)
- Location:
- trunk/WebKit/qt
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKit/qt/Api/qwebframe.cpp
r39965 r40218 146 146 } 147 147 148 void QWebFramePrivate::renderPrivate(QPainter *painter, const QRegion &clip, bool contents) 149 { 150 if (!frame->view() || !frame->contentRenderer()) 151 return; 152 153 QVector<QRect> vector = clip.rects(); 154 if (vector.isEmpty()) 155 return; 156 157 WebCore::FrameView* view = frame->view(); 158 view->layoutIfNeededRecursive(); 159 160 GraphicsContext context(painter); 161 162 if (!contents) 163 view->paint(&context, vector.first()); 164 else 165 view->paintContents(&context, vector.first()); 166 167 for (int i = 1; i < vector.size(); ++i) { 168 const QRect& clipRect = vector.at(i); 169 painter->save(); 170 painter->setClipRect(clipRect, Qt::IntersectClip); 171 if (!contents) 172 view->paint(&context, clipRect); 173 else 174 view->paintContents(&context, clipRect); 175 painter->restore(); 176 } 177 } 178 148 179 /*! 149 180 \class QWebFrame … … 745 776 void QWebFrame::render(QPainter *painter, const QRegion &clip) 746 777 { 747 if (!d->frame->view() || !d->frame->contentRenderer()) 748 return; 749 750 d->frame->view()->layoutIfNeededRecursive(); 751 752 GraphicsContext ctx(painter); 753 QVector<QRect> vector = clip.rects(); 754 WebCore::FrameView* view = d->frame->view(); 755 for (int i = 0; i < vector.size(); ++i) { 756 if (i > 0) { 757 painter->save(); 758 painter->setClipRect(vector.at(i), Qt::IntersectClip); 759 } 760 761 view->paint(&ctx, vector.at(i)); 762 763 if (i > 0) 764 painter->restore(); 765 } 778 d->renderPrivate(painter, clip); 766 779 } 767 780 … … 771 784 void QWebFrame::render(QPainter *painter) 772 785 { 773 if (!d->frame->view() || !d->frame->contentRenderer()) 774 return; 775 776 d->frame->view()->layoutIfNeededRecursive(); 777 778 GraphicsContext ctx(painter); 779 WebCore::FrameView* view = d->frame->view(); 780 view->paint(&ctx, view->frameRect()); 786 d->renderPrivate(painter, QRegion(view->frameRect())); 787 } 788 789 /*! 790 \since 4.6 791 Render the frame's \a contents into \a painter while clipping to \a contents. 792 */ 793 void QWebFrame::renderContents(QPainter *painter, const QRegion &contents) 794 { 795 d->renderPrivate(painter, contents, true); 781 796 } 782 797 -
trunk/WebKit/qt/Api/qwebframe.h
r39680 r40218 160 160 void render(QPainter *painter, const QRegion &clip); 161 161 void render(QPainter *painter); 162 void renderContents(QPainter *painter, const QRegion &contents); 162 163 163 164 void setTextSizeMultiplier(qreal factor); -
trunk/WebKit/qt/Api/qwebframe_p.h
r39680 r40218 82 82 static QWebFrame* kit(WebCore::Frame*); 83 83 84 void renderPrivate(QPainter *painter, const QRegion &clip, bool contents = false); 85 84 86 QWebFrame *q; 85 87 WebCore::FrameLoaderClientQt *frameLoaderClient; -
trunk/WebKit/qt/ChangeLog
r40158 r40218 1 2009-01-24 Adam Treat <adam.treat@torchmobile.com> 2 3 Reviewed by Nikolas Zimmermann. 4 5 Add QWebFrame::renderContents() method which allows arbitary rendering 6 of any content region within the QWebFrame. It also does not draw any 7 scrollbars. 8 9 * Api/qwebframe.cpp: 10 (QWebFrame::renderContents): 11 * Api/qwebframe.h: 12 1 13 2009-01-23 Ariya Hidayat <ariya.hidayat@trolltech.com> 2 14
Note: See TracChangeset
for help on using the changeset viewer.