diff options
author | Lei Zhang <thestig@chromium.org> | 2018-10-26 22:52:48 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-10-26 22:52:48 +0000 |
commit | 5883300439287ab46559231ce8aed11e92bbc97c (patch) | |
tree | 2c3499da9df5a2c4e2fb9d13f99bde13b7bebb42 /core/fxge/dib/cfx_dibitmap.cpp | |
parent | 9590dee526c514d87dc1f47569d1136ffcf539ad (diff) | |
download | pdfium-5883300439287ab46559231ce8aed11e92bbc97c.tar.xz |
Replace int flags with struct FXDIB_ResampleOptions.
Using bit values in an int may not be reliable, since different parts of
the code can interpret the bits differently. e.g. FXDIB_DOWNSAMPLE and
RENDER_FORCE_DOWNSAMPLE are defined in different places, but can be used
interchangeably because they just happen to have the same value. It
works but is rather fragile.
Instead, use a struct of bools to explicitly define what different bits
mean. Remove FXDIB_DOWNSAMPLE and friends.
Change-Id: I9cf0c8f94d1ed27edf8dba22b0ab0ee67f2722cc
Reviewed-on: https://pdfium-review.googlesource.com/c/44650
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fxge/dib/cfx_dibitmap.cpp')
-rw-r--r-- | core/fxge/dib/cfx_dibitmap.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/core/fxge/dib/cfx_dibitmap.cpp b/core/fxge/dib/cfx_dibitmap.cpp index dcf5fdc7ab..011270494c 100644 --- a/core/fxge/dib/cfx_dibitmap.cpp +++ b/core/fxge/dib/cfx_dibitmap.cpp @@ -329,7 +329,8 @@ bool CFX_DIBitmap::LoadChannelFromAlpha( if (pSrcClone->GetWidth() != m_Width || pSrcClone->GetHeight() != m_Height) { if (pAlphaMask) { - pAlphaMask = pAlphaMask->StretchTo(m_Width, m_Height, 0, nullptr); + pAlphaMask = pAlphaMask->StretchTo(m_Width, m_Height, + FXDIB_ResampleOptions(), nullptr); if (!pAlphaMask) return false; } @@ -338,8 +339,8 @@ bool CFX_DIBitmap::LoadChannelFromAlpha( srcOffset = 0; } else if (pSrcClone->GetWidth() != m_Width || pSrcClone->GetHeight() != m_Height) { - RetainPtr<CFX_DIBitmap> pSrcMatched = - pSrcClone->StretchTo(m_Width, m_Height, 0, nullptr); + RetainPtr<CFX_DIBitmap> pSrcMatched = pSrcClone->StretchTo( + m_Width, m_Height, FXDIB_ResampleOptions(), nullptr); if (!pSrcMatched) return false; @@ -437,7 +438,8 @@ bool CFX_DIBitmap::MultiplyAlpha(const RetainPtr<CFX_DIBBase>& pSrcBitmap) { RetainPtr<CFX_DIBitmap> pSrcClone = pSrcBitmap.As<CFX_DIBitmap>(); if (pSrcBitmap->GetWidth() != m_Width || pSrcBitmap->GetHeight() != m_Height) { - pSrcClone = pSrcBitmap->StretchTo(m_Width, m_Height, 0, nullptr); + pSrcClone = pSrcBitmap->StretchTo(m_Width, m_Height, + FXDIB_ResampleOptions(), nullptr); if (!pSrcClone) return false; } |