diff options
author | Hal Canary <halcanary@google.com> | 2018-06-14 09:52:49 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-06-14 18:04:17 +0000 |
commit | 33f920e3f1cb8f21d3bb43a470a1dad2dc6a99bc (patch) | |
tree | de327b4a299e0523c8c38c8494fad9943e5fef1b /include | |
parent | ca6a2454b8ebc191783cff1f47198d6c0ce8c2a8 (diff) |
SkImageInfo: make use of SkISize
Change-Id: Id3c427cae2988dcc2dfcf4dc713921142469e3f6
Reviewed-on: https://skia-review.googlesource.com/134840
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkImageInfo.h | 37 |
1 files changed, 15 insertions, 22 deletions
diff --git a/include/core/SkImageInfo.h b/include/core/SkImageInfo.h index 351dd4bc5b..45275b698a 100644 --- a/include/core/SkImageInfo.h +++ b/include/core/SkImageInfo.h @@ -198,8 +198,7 @@ public: */ SkImageInfo() : fColorSpace(nullptr) - , fWidth(0) - , fHeight(0) + , fDimensions{0, 0} , fColorType(kUnknown_SkColorType) , fAlphaType(kUnknown_SkAlphaType) {} @@ -344,13 +343,13 @@ public: @return pixel width */ - int width() const { return fWidth; } + int width() const { return fDimensions.width(); } /** Returns pixel row count. @return pixel height */ - int height() const { return fHeight; } + int height() const { return fDimensions.height(); } /** Returns SkColorType, one of: kUnknown_SkColorType, kAlpha_8_SkColorType, kRGB_565_SkColorType, @@ -392,7 +391,7 @@ public: @return true if either dimension is zero or smaller */ - bool isEmpty() const { return fWidth <= 0 || fHeight <= 0; } + bool isEmpty() const { return fDimensions.isEmpty(); } /** Returns true if SkAlphaType is set to hint that all pixels are opaque; their alpha value is implicitly or explicitly 1.0. If true, and all pixels are @@ -411,13 +410,13 @@ public: @return integral size of width() and height() */ - SkISize dimensions() const { return SkISize::Make(fWidth, fHeight); } + SkISize dimensions() const { return fDimensions; } /** Returns SkIRect { 0, 0, width(), height() }. @return integral rectangle from origin to width() and height() */ - SkIRect bounds() const { return SkIRect::MakeWH(fWidth, fHeight); } + SkIRect bounds() const { return SkIRect::MakeSize(fDimensions); } /** Returns true if associated SkColorSpace is not nullptr, and SkColorSpace gamma is approximately the same as sRGB. @@ -452,7 +451,7 @@ public: @return created SkImageInfo */ SkImageInfo makeAlphaType(SkAlphaType newAlphaType) const { - return Make(fWidth, fHeight, fColorType, newAlphaType, fColorSpace); + return Make(this->width(), this->height(), fColorType, newAlphaType, fColorSpace); } /** Creates SkImageInfo with same SkAlphaType, SkColorSpace, width, and height, @@ -466,7 +465,7 @@ public: @return created SkImageInfo */ SkImageInfo makeColorType(SkColorType newColorType) const { - return Make(fWidth, fHeight, newColorType, fAlphaType, fColorSpace); + return Make(this->width(), this->height(), newColorType, fAlphaType, fColorSpace); } /** Creates SkImageInfo with same SkAlphaType, SkColorType, width, and height, @@ -476,7 +475,7 @@ public: @return created SkImageInfo */ SkImageInfo makeColorSpace(sk_sp<SkColorSpace> cs) const { - return Make(fWidth, fHeight, fColorType, fAlphaType, std::move(cs)); + return Make(this->width(), this->height(), fColorType, fAlphaType, std::move(cs)); } /** Returns number of bytes per pixel required by SkColorType. @@ -499,9 +498,7 @@ public: @return width() times bytesPerPixel() as unsigned 64-bit integer */ - uint64_t minRowBytes64() const { - return sk_64_mul(fWidth, this->bytesPerPixel()); - } + uint64_t minRowBytes64() const { return sk_64_mul(this->width(), this->bytesPerPixel()); } /** Returns minimum bytes per row, computed from pixel width() and SkColorType, which specifies bytesPerPixel(). SkBitmap maximum value for row bytes must fit @@ -536,7 +533,7 @@ public: @return true if SkImageInfo equals other */ bool operator==(const SkImageInfo& other) const { - return fWidth == other.fWidth && fHeight == other.fHeight && + return fDimensions == other.fDimensions && fColorType == other.fColorType && fAlphaType == other.fAlphaType && SkColorSpace::Equals(fColorSpace.get(), other.fColorSpace.get()); } @@ -590,8 +587,7 @@ public: @return true if rowBytes is large enough to contain pixel row */ bool validRowBytes(size_t rowBytes) const { - uint64_t minRB = sk_64_mul(fWidth, this->bytesPerPixel()); - return rowBytes >= minRB; + return rowBytes >= this->minRowBytes64(); } /** Creates an empty SkImageInfo with kUnknown_SkColorType, kUnknown_SkAlphaType, @@ -599,8 +595,7 @@ public: */ void reset() { fColorSpace = nullptr; - fWidth = 0; - fHeight = 0; + fDimensions = {0, 0}; fColorType = kUnknown_SkColorType; fAlphaType = kUnknown_SkAlphaType; } @@ -612,15 +607,13 @@ public: private: sk_sp<SkColorSpace> fColorSpace; - int fWidth; - int fHeight; + SkISize fDimensions; SkColorType fColorType; SkAlphaType fAlphaType; SkImageInfo(int width, int height, SkColorType ct, SkAlphaType at, sk_sp<SkColorSpace> cs) : fColorSpace(std::move(cs)) - , fWidth(width) - , fHeight(height) + , fDimensions{width, height} , fColorType(ct) , fAlphaType(at) {} |