robertphillips 2016-03-10 06:56:21 -08:00 committed by Commit bot
parent 150835e779
commit f1d746c188
2 changed files with 20 additions and 20 deletions

View File

@ -41,27 +41,27 @@ void SkDrawCommandGeometryWidget::paintEvent(QPaintEvent* event) {
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
SkImageInfo info;
size_t rowBytes;
if (const void* pixels = fSurface->peekPixels(&info, &rowBytes)) {
SkASSERT(info.width() > 0);
SkASSERT(info.height() > 0);
SkPixmap pixmap;
if (fSurface->peekPixels(&pixmap)) {
SkASSERT(pixmap.width() > 0);
SkASSERT(pixmap.height() > 0);
QRectF resultRect;
if (this->width() < this->height()) {
float ratio = this->width() / info.width();
resultRect = QRectF(0, 0, this->width(), ratio * info.height());
float ratio = this->width() / pixmap.width();
resultRect = QRectF(0, 0, this->width(), ratio * pixmap.height());
} else {
float ratio = this->height() / info.height();
resultRect = QRectF(0, 0, ratio * info.width(), this->height());
float ratio = this->height() / pixmap.height();
resultRect = QRectF(0, 0, ratio * pixmap.width(), this->height());
}
resultRect.moveCenter(this->contentsRect().center());
QImage image(reinterpret_cast<const uchar*>(pixels),
info.width(),
info.height(),
rowBytes,
QImage image(reinterpret_cast<const uchar*>(pixmap.addr()),
pixmap.width(),
pixmap.height(),
pixmap.rowBytes(),
QImage::Format_ARGB32_Premultiplied);
painter.drawImage(resultRect, image);
}

View File

@ -48,13 +48,13 @@ void SkRasterWidget::paintEvent(QPaintEvent* event) {
Q_EMIT drawComplete();
}
SkImageInfo info;
size_t rowBytes;
if (const void* pixels = fSurface->peekPixels(&info, &rowBytes)) {
QImage image(reinterpret_cast<const uchar*>(pixels),
info.width(),
info.height(),
rowBytes,
SkPixmap pixmap;
if (fSurface->peekPixels(&pixmap)) {
QImage image(reinterpret_cast<const uchar*>(pixmap.addr()),
pixmap.width(),
pixmap.height(),
pixmap.rowBytes(),
QImage::Format_ARGB32_Premultiplied);
#if SK_R32_SHIFT == 0
painter.drawImage(this->contentsRect(), image.rgbSwapped());