diff options
Diffstat (limited to 'WebCore/platform/graphics/qt/ImageQt.cpp')
-rw-r--r-- | WebCore/platform/graphics/qt/ImageQt.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/WebCore/platform/graphics/qt/ImageQt.cpp b/WebCore/platform/graphics/qt/ImageQt.cpp index af94f55..dd97873 100644 --- a/WebCore/platform/graphics/qt/ImageQt.cpp +++ b/WebCore/platform/graphics/qt/ImageQt.cpp @@ -64,6 +64,8 @@ static QPixmap loadResourcePixmap(const char *name) pixmap = QWebSettings::webGraphic(QWebSettings::TextAreaSizeGripCornerGraphic); else if (qstrcmp(name, "deleteButton") == 0) pixmap = QWebSettings::webGraphic(QWebSettings::DeleteButtonGraphic); + else if (!qstrcmp(name, "inputSpeech")) + pixmap = QWebSettings::webGraphic(QWebSettings::InputSpeechButtonGraphic); return pixmap; } @@ -164,6 +166,9 @@ void BitmapImage::invalidatePlatformData() void BitmapImage::draw(GraphicsContext* ctxt, const FloatRect& dst, const FloatRect& src, ColorSpace styleColorSpace, CompositeOperator op) { + FloatRect normalizedDst = dst.normalized(); + FloatRect normalizedSrc = src.normalized(); + startAnimation(); QPixmap* image = nativeImageForCurrentFrame(); @@ -171,7 +176,7 @@ void BitmapImage::draw(GraphicsContext* ctxt, const FloatRect& dst, return; if (mayFillWithSolidColor()) { - fillWithSolidColor(ctxt, dst, solidColor(), styleColorSpace, op); + fillWithSolidColor(ctxt, normalizedDst, solidColor(), styleColorSpace, op); return; } @@ -191,22 +196,22 @@ void BitmapImage::draw(GraphicsContext* ctxt, const FloatRect& dst, float shadowBlur; Color shadowColor; if (ctxt->getShadow(shadowSize, shadowBlur, shadowColor)) { - FloatRect shadowImageRect(dst); + FloatRect shadowImageRect(normalizedDst); shadowImageRect.move(shadowSize.width(), shadowSize.height()); - QImage shadowImage(QSize(static_cast<int>(src.width()), static_cast<int>(src.height())), QImage::Format_ARGB32_Premultiplied); + QImage shadowImage(QSize(static_cast<int>(normalizedSrc.width()), static_cast<int>(normalizedSrc.height())), QImage::Format_ARGB32_Premultiplied); QPainter p(&shadowImage); p.setCompositionMode(QPainter::CompositionMode_Source); p.fillRect(shadowImage.rect(), shadowColor); p.setCompositionMode(QPainter::CompositionMode_DestinationIn); - p.drawPixmap(dst, *image, src); + p.drawPixmap(normalizedDst, *image, normalizedSrc); p.end(); - painter->drawImage(shadowImageRect, shadowImage, src); + painter->drawImage(shadowImageRect, shadowImage, normalizedSrc); } // Test using example site at // http://www.meyerweb.com/eric/css/edge/complexspiral/demo.html - painter->drawPixmap(dst, *image, src); + painter->drawPixmap(normalizedDst, *image, normalizedSrc); painter->setCompositionMode(lastCompositionMode); |