summaryrefslogtreecommitdiff
path: root/core/fxge/dib/fx_dib_composite.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxge/dib/fx_dib_composite.cpp')
-rw-r--r--core/fxge/dib/fx_dib_composite.cpp42
1 files changed, 21 insertions, 21 deletions
diff --git a/core/fxge/dib/fx_dib_composite.cpp b/core/fxge/dib/fx_dib_composite.cpp
index 435a1ad9b6..fb00cb855b 100644
--- a/core/fxge/dib/fx_dib_composite.cpp
+++ b/core/fxge/dib/fx_dib_composite.cpp
@@ -3914,17 +3914,18 @@ void CFX_ScanlineCompositor::CompositeBitMaskLine(uint8_t* dest_scan,
}
}
-bool CFX_DIBitmap::CompositeBitmap(int dest_left,
- int dest_top,
- int width,
- int height,
- const CFX_DIBSource* pSrcBitmap,
- int src_left,
- int src_top,
- int blend_type,
- const CFX_ClipRgn* pClipRgn,
- bool bRgbByteOrder,
- void* pIccTransform) {
+bool CFX_DIBitmap::CompositeBitmap(
+ int dest_left,
+ int dest_top,
+ int width,
+ int height,
+ const CFX_RetainPtr<CFX_DIBSource>& pSrcBitmap,
+ int src_left,
+ int src_top,
+ int blend_type,
+ const CFX_ClipRgn* pClipRgn,
+ bool bRgbByteOrder,
+ void* pIccTransform) {
if (!m_pBuffer) {
return false;
}
@@ -3938,11 +3939,11 @@ bool CFX_DIBitmap::CompositeBitmap(int dest_left,
if (width == 0 || height == 0) {
return true;
}
- const CFX_DIBitmap* pClipMask = nullptr;
+ CFX_RetainPtr<CFX_DIBitmap> pClipMask;
FX_RECT clip_box;
if (pClipRgn && pClipRgn->GetType() != CFX_ClipRgn::RectI) {
ASSERT(pClipRgn->GetType() == CFX_ClipRgn::MaskF);
- pClipMask = pClipRgn->GetMask().GetObject();
+ pClipMask = pClipRgn->GetMask();
clip_box = pClipRgn->GetBox();
}
CFX_ScanlineCompositor compositor;
@@ -3954,7 +3955,7 @@ bool CFX_DIBitmap::CompositeBitmap(int dest_left,
int dest_Bpp = m_bpp / 8;
int src_Bpp = pSrcBitmap->GetBPP() / 8;
bool bRgb = src_Bpp > 1 && !pSrcBitmap->IsCmykImage();
- CFX_DIBitmap* pSrcAlphaMask = pSrcBitmap->m_pAlphaMask;
+ CFX_RetainPtr<CFX_DIBitmap> pSrcAlphaMask = pSrcBitmap->m_pAlphaMask;
for (int row = 0; row < height; row++) {
uint8_t* dest_scan =
m_pBuffer + (dest_top + row) * m_Pitch + dest_left * dest_Bpp;
@@ -3990,7 +3991,7 @@ bool CFX_DIBitmap::CompositeMask(int dest_left,
int dest_top,
int width,
int height,
- const CFX_DIBSource* pMask,
+ const CFX_RetainPtr<CFX_DIBSource>& pMask,
uint32_t color,
int src_left,
int src_top,
@@ -4017,11 +4018,11 @@ bool CFX_DIBitmap::CompositeMask(int dest_left,
if (src_alpha == 0) {
return true;
}
- const CFX_DIBitmap* pClipMask = nullptr;
+ CFX_RetainPtr<CFX_DIBitmap> pClipMask;
FX_RECT clip_box;
if (pClipRgn && pClipRgn->GetType() != CFX_ClipRgn::RectI) {
ASSERT(pClipRgn->GetType() == CFX_ClipRgn::MaskF);
- pClipMask = pClipRgn->GetMask().GetObject();
+ pClipMask = pClipRgn->GetMask();
clip_box = pClipRgn->GetBox();
}
int src_bpp = pMask->GetBPP();
@@ -4282,7 +4283,7 @@ CFX_BitmapComposer::~CFX_BitmapComposer() {
FX_Free(m_pAddClipScan);
}
-void CFX_BitmapComposer::Compose(CFX_DIBitmap* pDest,
+void CFX_BitmapComposer::Compose(const CFX_RetainPtr<CFX_DIBitmap>& pDest,
const CFX_ClipRgn* pClipRgn,
int bitmap_alpha,
uint32_t mask_color,
@@ -4303,9 +4304,8 @@ void CFX_BitmapComposer::Compose(CFX_DIBitmap* pDest,
m_BitmapAlpha = bitmap_alpha;
m_MaskColor = mask_color;
m_pClipMask = nullptr;
- if (pClipRgn && pClipRgn->GetType() != CFX_ClipRgn::RectI) {
- m_pClipMask = pClipRgn->GetMask().GetObject();
- }
+ if (pClipRgn && pClipRgn->GetType() != CFX_ClipRgn::RectI)
+ m_pClipMask = pClipRgn->GetMask();
m_bVertical = bVertical;
m_bFlipX = bFlipX;
m_bFlipY = bFlipY;