[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
darin
darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:42:34 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 52a7b3648e94732a83ae60967f13e06e53c8f6f6
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Sep 23 17:21:58 2002 +0000
More refinement of the AppKit hackery.
* khtml/rendering/render_replaced.cpp:
(RenderWidget::printObject): Pass in the painter and rect.
* kwq/qt/qwidget.h: Take a painter and rect parameter.
* kwq/KWQWidget.mm: (QWidget::paint): Use painter; not working yet to use rect.
* kwq/KWQFileButton.h: Change paint to take painter and rect.
* kwq/KWQFileButton.mm: (KWQFileButton::paint): Use painter.
* kwq/qt/qpainter.h: Added paintingDisabled() function.
* kwq/KWQPainter.mm: (QPainter::paintingDisabled): Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 6a12e28..4127c3a 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,19 @@
+2002-09-23 Darin Adler <darin at apple.com>
+
+ More refinement of the AppKit hackery.
+
+ * khtml/rendering/render_replaced.cpp:
+ (RenderWidget::printObject): Pass in the painter and rect.
+
+ * kwq/qt/qwidget.h: Take a painter and rect parameter.
+ * kwq/KWQWidget.mm: (QWidget::paint): Use painter; not working yet to use rect.
+
+ * kwq/KWQFileButton.h: Change paint to take painter and rect.
+ * kwq/KWQFileButton.mm: (KWQFileButton::paint): Use painter.
+
+ * kwq/qt/qpainter.h: Added paintingDisabled() function.
+ * kwq/KWQPainter.mm: (QPainter::paintingDisabled): Added.
+
2002-09-22 Darin Adler <darin at apple.com>
Change code that moves NSViews out of the way to run inside drawRect
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 6a12e28..4127c3a 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,19 @@
+2002-09-23 Darin Adler <darin at apple.com>
+
+ More refinement of the AppKit hackery.
+
+ * khtml/rendering/render_replaced.cpp:
+ (RenderWidget::printObject): Pass in the painter and rect.
+
+ * kwq/qt/qwidget.h: Take a painter and rect parameter.
+ * kwq/KWQWidget.mm: (QWidget::paint): Use painter; not working yet to use rect.
+
+ * kwq/KWQFileButton.h: Change paint to take painter and rect.
+ * kwq/KWQFileButton.mm: (KWQFileButton::paint): Use painter.
+
+ * kwq/qt/qpainter.h: Added paintingDisabled() function.
+ * kwq/KWQPainter.mm: (QPainter::paintingDisabled): Added.
+
2002-09-22 Darin Adler <darin at apple.com>
Change code that moves NSViews out of the way to run inside drawRect
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 6a12e28..4127c3a 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,19 @@
+2002-09-23 Darin Adler <darin at apple.com>
+
+ More refinement of the AppKit hackery.
+
+ * khtml/rendering/render_replaced.cpp:
+ (RenderWidget::printObject): Pass in the painter and rect.
+
+ * kwq/qt/qwidget.h: Take a painter and rect parameter.
+ * kwq/KWQWidget.mm: (QWidget::paint): Use painter; not working yet to use rect.
+
+ * kwq/KWQFileButton.h: Change paint to take painter and rect.
+ * kwq/KWQFileButton.mm: (KWQFileButton::paint): Use painter.
+
+ * kwq/qt/qpainter.h: Added paintingDisabled() function.
+ * kwq/KWQPainter.mm: (QPainter::paintingDisabled): Added.
+
2002-09-22 Darin Adler <darin at apple.com>
Change code that moves NSViews out of the way to run inside drawRect
diff --git a/WebCore/khtml/rendering/render_replaced.cpp b/WebCore/khtml/rendering/render_replaced.cpp
index 9310c88..e801754 100644
--- a/WebCore/khtml/rendering/render_replaced.cpp
+++ b/WebCore/khtml/rendering/render_replaced.cpp
@@ -219,7 +219,11 @@ void RenderWidget::setStyle(RenderStyle *_style)
setSpecialObjects(false);
}
+#if APPLE_CHANGES
+void RenderWidget::printObject(QPainter *p, int x, int y, int width, int height, int _tx, int _ty)
+#else
void RenderWidget::printObject(QPainter* /*p*/, int, int, int, int, int _tx, int _ty)
+#endif
{
if (!m_widget || !m_view)
return;
@@ -268,10 +272,10 @@ void RenderWidget::printObject(QPainter* /*p*/, int, int, int, int, int _tx, int
m_view->addChild(m_widget, xPos, yPos );
m_widget->show();
-#ifdef APPLE_CHANGES
+#if APPLE_CHANGES
// Tell the widget to paint now. This is the only time the widget is allowed
// to paint itself. That way it will composite properly with z-indexed layers.
- m_widget->paint();
+ m_widget->paint(p, QRect(x, y, width, height));
#endif
}
diff --git a/WebCore/kwq/KWQFileButton.h b/WebCore/kwq/KWQFileButton.h
index 2273d07..1a9a867 100644
--- a/WebCore/kwq/KWQFileButton.h
+++ b/WebCore/kwq/KWQFileButton.h
@@ -51,7 +51,7 @@ public:
private:
virtual void clicked();
- virtual void paint();
+ virtual void paint(QPainter *, const QRect &);
KWQSignal _textChanged;
QString _filename;
diff --git a/WebCore/kwq/KWQFileButton.mm b/WebCore/kwq/KWQFileButton.mm
index d3fbcde..7c028e5 100644
--- a/WebCore/kwq/KWQFileButton.mm
+++ b/WebCore/kwq/KWQFileButton.mm
@@ -124,9 +124,13 @@ int KWQFileButton::baselinePosition() const
return QPushButton::baselinePosition();
}
-void KWQFileButton::paint()
+void KWQFileButton::paint(QPainter *p, const QRect &r)
{
- QPushButton::paint();
+ if (p->paintingDisabled()) {
+ return;
+ }
+
+ QPushButton::paint(p, r);
QString text = _filename;
if (text.isEmpty()) {
@@ -149,15 +153,14 @@ void KWQFileButton::paint()
// FIXME: Use same font as button, don't hardcode Lucida Grande.
// FIXME: Ellipsize the text to fit in the box.
- QPainter painter;
QFont font;
font.setFamily(FONT_FAMILY);
font.setPixelSize([NSFont smallSystemFontSize]);
- painter.save(); // wouldn't be needed in real Qt, but we need it
- painter.addClip(frameGeometry());
- painter.setFont(font);
- painter.drawText(left, y() + baselinePosition(), 0, 0, 0, text);
- painter.restore(); // wouldn't be needed in real Qt, but we need it
+ p->save();
+ p->addClip(frameGeometry());
+ p->setFont(font);
+ p->drawText(left, y() + baselinePosition(), 0, 0, 0, text);
+ p->restore();
}
@implementation KWQFileButtonAdapter
diff --git a/WebCore/kwq/KWQPainter.h b/WebCore/kwq/KWQPainter.h
index 84096d4..4b407d0 100644
--- a/WebCore/kwq/KWQPainter.h
+++ b/WebCore/kwq/KWQPainter.h
@@ -95,7 +95,8 @@ public:
void drawUnderlineForText(int x, int y, const QChar *, int length);
static QColor selectedTextBackgroundColor();
- void setPaintingDisabled(bool f);
+ bool paintingDisabled() const;
+ void setPaintingDisabled(bool);
private:
// no copying or assignment
diff --git a/WebCore/kwq/KWQPainter.mm b/WebCore/kwq/KWQPainter.mm
index b39608d..d4cdd78 100644
--- a/WebCore/kwq/KWQPainter.mm
+++ b/WebCore/kwq/KWQPainter.mm
@@ -432,3 +432,8 @@ void QPainter::setPaintingDisabled(bool f)
{
data->state.paintingDisabled = f;
}
+
+bool QPainter::paintingDisabled() const
+{
+ return data->state.paintingDisabled;
+}
diff --git a/WebCore/kwq/KWQWidget.h b/WebCore/kwq/KWQWidget.h
index 927b49e..71e62c5 100644
--- a/WebCore/kwq/KWQWidget.h
+++ b/WebCore/kwq/KWQWidget.h
@@ -87,7 +87,7 @@ public:
void move(int, int);
void move(const QPoint &);
- virtual void paint();
+ virtual void paint(QPainter *, const QRect &);
virtual QRect frameGeometry() const;
virtual void setFrameGeometry(const QRect &);
diff --git a/WebCore/kwq/KWQWidget.mm b/WebCore/kwq/KWQWidget.mm
index f4c157c..4dc84b5 100644
--- a/WebCore/kwq/KWQWidget.mm
+++ b/WebCore/kwq/KWQWidget.mm
@@ -157,8 +157,7 @@ QRect QWidget::frameGeometry() const
if ([view conformsToProtocol:@protocol(WebCoreFrameView)]) {
view = [view superview];
}
- NSRect vFrame = [view frame];
- return QRect((int)vFrame.origin.x, (int)vFrame.origin.y, (int)vFrame.size.width, (int)vFrame.size.height);
+ return QRect([view frame]);
}
int QWidget::baselinePosition() const
@@ -379,8 +378,9 @@ void QWidget::disableFlushDrawing()
void QWidget::enableFlushDrawing()
{
- [[getView() window] enableFlushWindow];
- [[getView() window] flushWindowIfNeeded];
+ NSWindow *window = [getView() window];
+ [window enableFlushWindow];
+ [window flushWindowIfNeeded];
}
void QWidget::setDrawingAlpha(float alpha)
@@ -388,8 +388,15 @@ void QWidget::setDrawingAlpha(float alpha)
CGContextSetAlpha((CGContextRef)[[NSGraphicsContext currentContext] graphicsPort], alpha);
}
-void QWidget::paint()
+void QWidget::paint(QPainter *p, const QRect &r)
{
- // FIXME: Should pass in a rectangle and display less.
- [getView() displayRectIgnoringOpacity:[getView() bounds]];
+ if (p->paintingDisabled()) {
+ return;
+ }
+ NSView *view = getView();
+#if 0
+ NSRect rect = NSIntersectionRect([view convertRect:r fromView:[view superview]], [view bounds]);
+ NSLog(@"%@, rect is %@, bounds rect is %@", view, NSStringFromRect(rect), NSStringFromRect([view bounds]));
+#endif
+ [view displayRectIgnoringOpacity:[view bounds]];
}
diff --git a/WebCore/kwq/qt/qpainter.h b/WebCore/kwq/qt/qpainter.h
index 84096d4..4b407d0 100644
--- a/WebCore/kwq/qt/qpainter.h
+++ b/WebCore/kwq/qt/qpainter.h
@@ -95,7 +95,8 @@ public:
void drawUnderlineForText(int x, int y, const QChar *, int length);
static QColor selectedTextBackgroundColor();
- void setPaintingDisabled(bool f);
+ bool paintingDisabled() const;
+ void setPaintingDisabled(bool);
private:
// no copying or assignment
diff --git a/WebCore/kwq/qt/qwidget.h b/WebCore/kwq/qt/qwidget.h
index 927b49e..71e62c5 100644
--- a/WebCore/kwq/qt/qwidget.h
+++ b/WebCore/kwq/qt/qwidget.h
@@ -87,7 +87,7 @@ public:
void move(int, int);
void move(const QPoint &);
- virtual void paint();
+ virtual void paint(QPainter *, const QRect &);
virtual QRect frameGeometry() const;
virtual void setFrameGeometry(const QRect &);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list