Add SkIRect bounds()
convenience method to SkImageInfo and SkBitmap.
Review URL: https://codereview.chromium.org/646213003
This commit is contained in:
parent
87ab518627
commit
f622a6c8fd
@ -105,15 +105,14 @@ protected:
|
||||
textureMatrices.back().preRotate(45.f, texture->width() / 2.f, texture->height() / 2.f);
|
||||
|
||||
const SkIRect texelDomains[] = {
|
||||
SkIRect::MakeWH(fBmp.width(), fBmp.height()),
|
||||
fBmp.bounds(),
|
||||
SkIRect::MakeXYWH(fBmp.width() / 4,
|
||||
fBmp.height() / 4,
|
||||
fBmp.width() / 2,
|
||||
fBmp.height() / 2),
|
||||
};
|
||||
|
||||
SkRect renderRect = SkRect::MakeWH(SkIntToScalar(fBmp.width()),
|
||||
SkIntToScalar(fBmp.height()));
|
||||
SkRect renderRect = SkRect::Make(fBmp.bounds());
|
||||
renderRect.outset(kDrawPad, kDrawPad);
|
||||
|
||||
SkScalar y = kDrawPad + kTestPad;
|
||||
|
@ -220,6 +220,9 @@ public:
|
||||
void getBounds(SkRect* bounds) const;
|
||||
void getBounds(SkIRect* bounds) const;
|
||||
|
||||
SkIRect bounds() const { return fInfo.bounds(); }
|
||||
SkISize dimensions() const { return fInfo.dimensions(); }
|
||||
|
||||
bool setInfo(const SkImageInfo&, size_t rowBytes = 0);
|
||||
|
||||
/**
|
||||
|
@ -9,10 +9,11 @@
|
||||
#define SkImageInfo_DEFINED
|
||||
|
||||
#include "SkMath.h"
|
||||
#include "SkRect.h"
|
||||
#include "SkSize.h"
|
||||
|
||||
class SkWriteBuffer;
|
||||
class SkReadBuffer;
|
||||
class SkWriteBuffer;
|
||||
|
||||
/**
|
||||
* Describes how to interpret the alpha compoent of a pixel.
|
||||
@ -207,6 +208,7 @@ public:
|
||||
return SkAlphaTypeIsOpaque(fAlphaType);
|
||||
}
|
||||
|
||||
SkIRect bounds() const { return SkIRect::MakeWH(fWidth, fHeight); }
|
||||
SkISize dimensions() const { return SkISize::Make(fWidth, fHeight); }
|
||||
|
||||
/**
|
||||
|
@ -1260,7 +1260,7 @@ void SkCanvas::drawSprite(const SkBitmap& bitmap, int x, int y,
|
||||
SkIPoint offset = SkIPoint::Make(0, 0);
|
||||
SkMatrix matrix = *iter.fMatrix;
|
||||
matrix.postTranslate(SkIntToScalar(-pos.x()), SkIntToScalar(-pos.y()));
|
||||
SkIRect clipBounds = SkIRect::MakeWH(bitmap.width(), bitmap.height());
|
||||
const SkIRect clipBounds = bitmap.bounds();
|
||||
SkAutoTUnref<SkImageFilter::Cache> cache(iter.fDevice->getImageFilterCache());
|
||||
SkImageFilter::Context ctx(matrix, clipBounds, cache.get());
|
||||
if (filter->filterImage(&proxy, bitmap, ctx, &dst, &offset)) {
|
||||
|
@ -45,9 +45,8 @@ bool SkCachingPixelRef::onNewLockPixels(LockRec* rec) {
|
||||
}
|
||||
|
||||
const SkImageInfo& info = this->info();
|
||||
if (!SkBitmapCache::Find(this->getGenerationID(),
|
||||
SkIRect::MakeWH(info.width(), info.height()),
|
||||
&fLockedBitmap)) {
|
||||
if (!SkBitmapCache::Find(
|
||||
this->getGenerationID(), info.bounds(), &fLockedBitmap)) {
|
||||
// Cache has been purged, must re-decode.
|
||||
if (!fLockedBitmap.tryAllocPixels(info, fRowBytes)) {
|
||||
fErrorInDecoding = true;
|
||||
@ -58,9 +57,8 @@ bool SkCachingPixelRef::onNewLockPixels(LockRec* rec) {
|
||||
return false;
|
||||
}
|
||||
fLockedBitmap.setImmutable();
|
||||
SkBitmapCache::Add(this->getGenerationID(),
|
||||
SkIRect::MakeWH(info.width(), info.height()),
|
||||
fLockedBitmap);
|
||||
SkBitmapCache::Add(
|
||||
this->getGenerationID(), info.bounds(), fLockedBitmap);
|
||||
}
|
||||
|
||||
// Now bitmap should contain a concrete PixelRef of the decoded image.
|
||||
|
@ -745,7 +745,7 @@ SkPDFDevice::SkPDFDevice(const SkISize& pageSize, const SkISize& contentSize,
|
||||
fInitialTransform.preConcat(initialTransform);
|
||||
fLegacyBitmap.setInfo(info);
|
||||
|
||||
SkIRect existingClip = SkIRect::MakeWH(info.width(), info.height());
|
||||
SkIRect existingClip = info.bounds();
|
||||
fExistingClipRegion.setRect(existingClip);
|
||||
this->init();
|
||||
}
|
||||
@ -2181,7 +2181,7 @@ void SkPDFDevice::internalDrawBitmap(const SkMatrix& origMatrix,
|
||||
scaled.setScale(SK_Scalar1, -SK_Scalar1);
|
||||
scaled.postTranslate(0, SK_Scalar1);
|
||||
// Scale the image up from 1x1 to WxH.
|
||||
SkIRect subset = SkIRect::MakeWH(bitmap->width(), bitmap->height());
|
||||
SkIRect subset = bitmap->bounds();
|
||||
scaled.postScale(SkIntToScalar(subset.width()),
|
||||
SkIntToScalar(subset.height()));
|
||||
scaled.postConcat(matrix);
|
||||
|
@ -56,7 +56,7 @@ void runShaderTest(skiatest::Reporter* reporter, SkSurface* sourceSurface, SkSur
|
||||
destinationCanvas->clear(SK_ColorTRANSPARENT);
|
||||
destinationCanvas->drawPaint(paint);
|
||||
|
||||
SkIRect rect = SkIRect::MakeWH(info.width(), info.height());
|
||||
SkIRect rect = info.bounds();
|
||||
|
||||
SkBitmap bmOrig;
|
||||
sourceSurface->getCanvas()->readPixels(rect, &bmOrig);
|
||||
|
@ -195,7 +195,7 @@ static bool check_write(skiatest::Reporter* reporter, SkCanvas* canvas, const Sk
|
||||
// At some point this will be unsupported, as we won't allow accessBitmap() to magically call
|
||||
// readPixels for the client.
|
||||
SkBitmap secretDevBitmap;
|
||||
canvas->readPixels(SkIRect::MakeWH(canvasInfo.width(), canvasInfo.height()), &secretDevBitmap);
|
||||
canvas->readPixels(canvasInfo.bounds(), &secretDevBitmap);
|
||||
|
||||
SkAutoLockPixels alp(secretDevBitmap);
|
||||
canvasRowBytes = secretDevBitmap.rowBytes();
|
||||
|
Loading…
Reference in New Issue
Block a user