Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Side by Side Diff: core/fxge/dib/fx_dib_main.cpp

Issue 2032613003: Get rid of NULLs in core/ (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: s/NULL/nullptr/ Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "core/fxge/include/fx_dib.h" 7 #include "core/fxge/include/fx_dib.h"
8 8
9 #include <limits.h> 9 #include <limits.h>
10 10
(...skipping 30 matching lines...) Expand all
41 uint32_t ArgbEncode(int a, FX_COLORREF rgb) { 41 uint32_t ArgbEncode(int a, FX_COLORREF rgb) {
42 return FXARGB_MAKE(a, FXSYS_GetRValue(rgb), FXSYS_GetGValue(rgb), 42 return FXARGB_MAKE(a, FXSYS_GetRValue(rgb), FXSYS_GetGValue(rgb),
43 FXSYS_GetBValue(rgb)); 43 FXSYS_GetBValue(rgb));
44 } 44 }
45 45
46 CFX_DIBSource::CFX_DIBSource() { 46 CFX_DIBSource::CFX_DIBSource() {
47 m_bpp = 0; 47 m_bpp = 0;
48 m_AlphaFlag = 0; 48 m_AlphaFlag = 0;
49 m_Width = m_Height = 0; 49 m_Width = m_Height = 0;
50 m_Pitch = 0; 50 m_Pitch = 0;
51 m_pPalette = NULL; 51 m_pPalette = nullptr;
52 m_pAlphaMask = NULL; 52 m_pAlphaMask = nullptr;
53 } 53 }
54 54
55 CFX_DIBSource::~CFX_DIBSource() { 55 CFX_DIBSource::~CFX_DIBSource() {
56 FX_Free(m_pPalette); 56 FX_Free(m_pPalette);
57 delete m_pAlphaMask; 57 delete m_pAlphaMask;
58 } 58 }
59 59
60 uint8_t* CFX_DIBSource::GetBuffer() const { 60 uint8_t* CFX_DIBSource::GetBuffer() const {
61 return NULL; 61 return nullptr;
62 } 62 }
63 63
64 FX_BOOL CFX_DIBSource::SkipToScanline(int line, IFX_Pause* pPause) const { 64 FX_BOOL CFX_DIBSource::SkipToScanline(int line, IFX_Pause* pPause) const {
65 return FALSE; 65 return FALSE;
66 } 66 }
67 67
68 CFX_DIBitmap::CFX_DIBitmap() { 68 CFX_DIBitmap::CFX_DIBitmap() {
69 m_bExtBuf = FALSE; 69 m_bExtBuf = FALSE;
70 m_pBuffer = NULL; 70 m_pBuffer = nullptr;
71 m_pPalette = NULL; 71 m_pPalette = nullptr;
72 } 72 }
73 73
74 #define _MAX_OOM_LIMIT_ 12000000 74 #define _MAX_OOM_LIMIT_ 12000000
75 FX_BOOL CFX_DIBitmap::Create(int width, 75 FX_BOOL CFX_DIBitmap::Create(int width,
76 int height, 76 int height,
77 FXDIB_Format format, 77 FXDIB_Format format,
78 uint8_t* pBuffer, 78 uint8_t* pBuffer,
79 int pitch) { 79 int pitch) {
80 m_pBuffer = NULL; 80 m_pBuffer = nullptr;
81 m_bpp = (uint8_t)format; 81 m_bpp = (uint8_t)format;
82 m_AlphaFlag = (uint8_t)(format >> 8); 82 m_AlphaFlag = (uint8_t)(format >> 8);
83 m_Width = m_Height = m_Pitch = 0; 83 m_Width = m_Height = m_Pitch = 0;
84 if (width <= 0 || height <= 0 || pitch < 0) { 84 if (width <= 0 || height <= 0 || pitch < 0) {
85 return FALSE; 85 return FALSE;
86 } 86 }
87 if ((INT_MAX - 31) / width < (format & 0xff)) { 87 if ((INT_MAX - 31) / width < (format & 0xff)) {
88 return FALSE; 88 return FALSE;
89 } 89 }
90 if (!pitch) { 90 if (!pitch) {
(...skipping 19 matching lines...) Expand all
110 } 110 }
111 m_Width = width; 111 m_Width = width;
112 m_Height = height; 112 m_Height = height;
113 m_Pitch = pitch; 113 m_Pitch = pitch;
114 if (HasAlpha() && format != FXDIB_Argb) { 114 if (HasAlpha() && format != FXDIB_Argb) {
115 FX_BOOL ret = TRUE; 115 FX_BOOL ret = TRUE;
116 ret = BuildAlphaMask(); 116 ret = BuildAlphaMask();
117 if (!ret) { 117 if (!ret) {
118 if (!m_bExtBuf) { 118 if (!m_bExtBuf) {
119 FX_Free(m_pBuffer); 119 FX_Free(m_pBuffer);
120 m_pBuffer = NULL; 120 m_pBuffer = nullptr;
121 m_Width = m_Height = m_Pitch = 0; 121 m_Width = m_Height = m_Pitch = 0;
122 return FALSE; 122 return FALSE;
123 } 123 }
124 } 124 }
125 } 125 }
126 return TRUE; 126 return TRUE;
127 } 127 }
128 128
129 FX_BOOL CFX_DIBitmap::Copy(const CFX_DIBSource* pSrc) { 129 FX_BOOL CFX_DIBitmap::Copy(const CFX_DIBSource* pSrc) {
130 if (m_pBuffer) { 130 if (m_pBuffer) {
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 m_Width = pSrcBitmap->m_Width; 174 m_Width = pSrcBitmap->m_Width;
175 m_Height = pSrcBitmap->m_Height; 175 m_Height = pSrcBitmap->m_Height;
176 m_Pitch = pSrcBitmap->m_Pitch; 176 m_Pitch = pSrcBitmap->m_Pitch;
177 } 177 }
178 178
179 CFX_DIBitmap* CFX_DIBSource::Clone(const FX_RECT* pClip) const { 179 CFX_DIBitmap* CFX_DIBSource::Clone(const FX_RECT* pClip) const {
180 FX_RECT rect(0, 0, m_Width, m_Height); 180 FX_RECT rect(0, 0, m_Width, m_Height);
181 if (pClip) { 181 if (pClip) {
182 rect.Intersect(*pClip); 182 rect.Intersect(*pClip);
183 if (rect.IsEmpty()) { 183 if (rect.IsEmpty()) {
184 return NULL; 184 return nullptr;
185 } 185 }
186 } 186 }
187 CFX_DIBitmap* pNewBitmap = new CFX_DIBitmap; 187 CFX_DIBitmap* pNewBitmap = new CFX_DIBitmap;
188 if (!pNewBitmap->Create(rect.Width(), rect.Height(), GetFormat())) { 188 if (!pNewBitmap->Create(rect.Width(), rect.Height(), GetFormat())) {
189 delete pNewBitmap; 189 delete pNewBitmap;
190 return NULL; 190 return nullptr;
191 } 191 }
192 pNewBitmap->CopyPalette(m_pPalette); 192 pNewBitmap->CopyPalette(m_pPalette);
193 pNewBitmap->CopyAlphaMask(m_pAlphaMask, pClip); 193 pNewBitmap->CopyAlphaMask(m_pAlphaMask, pClip);
194 if (GetBPP() == 1 && rect.left % 8 != 0) { 194 if (GetBPP() == 1 && rect.left % 8 != 0) {
195 int left_shift = rect.left % 32; 195 int left_shift = rect.left % 32;
196 int right_shift = 32 - left_shift; 196 int right_shift = 32 - left_shift;
197 int dword_count = pNewBitmap->m_Pitch / 4; 197 int dword_count = pNewBitmap->m_Pitch / 4;
198 for (int row = rect.top; row < rect.bottom; row++) { 198 for (int row = rect.top; row < rect.bottom; row++) {
199 uint32_t* src_scan = (uint32_t*)GetScanline(row) + rect.left / 32; 199 uint32_t* src_scan = (uint32_t*)GetScanline(row) + rect.left / 32;
200 uint32_t* dest_scan = (uint32_t*)pNewBitmap->GetScanline(row - rect.top); 200 uint32_t* dest_scan = (uint32_t*)pNewBitmap->GetScanline(row - rect.top);
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 } 242 }
243 } 243 }
244 } 244 }
245 FX_BOOL CFX_DIBSource::BuildAlphaMask() { 245 FX_BOOL CFX_DIBSource::BuildAlphaMask() {
246 if (m_pAlphaMask) { 246 if (m_pAlphaMask) {
247 return TRUE; 247 return TRUE;
248 } 248 }
249 m_pAlphaMask = new CFX_DIBitmap; 249 m_pAlphaMask = new CFX_DIBitmap;
250 if (!m_pAlphaMask->Create(m_Width, m_Height, FXDIB_8bppMask)) { 250 if (!m_pAlphaMask->Create(m_Width, m_Height, FXDIB_8bppMask)) {
251 delete m_pAlphaMask; 251 delete m_pAlphaMask;
252 m_pAlphaMask = NULL; 252 m_pAlphaMask = nullptr;
253 return FALSE; 253 return FALSE;
254 } 254 }
255 FXSYS_memset(m_pAlphaMask->GetBuffer(), 0xff, 255 FXSYS_memset(m_pAlphaMask->GetBuffer(), 0xff,
256 m_pAlphaMask->GetHeight() * m_pAlphaMask->GetPitch()); 256 m_pAlphaMask->GetHeight() * m_pAlphaMask->GetPitch());
257 return TRUE; 257 return TRUE;
258 } 258 }
259 uint32_t CFX_DIBSource::GetPaletteEntry(int index) const { 259 uint32_t CFX_DIBSource::GetPaletteEntry(int index) const {
260 ASSERT((GetBPP() == 1 || GetBPP() == 8) && !IsAlphaMask()); 260 ASSERT((GetBPP() == 1 || GetBPP() == 8) && !IsAlphaMask());
261 if (m_pPalette) { 261 if (m_pPalette) {
262 return m_pPalette[index]; 262 return m_pPalette[index];
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 int width, 398 int width,
399 int height, 399 int height,
400 const CFX_DIBSource* pSrcBitmap, 400 const CFX_DIBSource* pSrcBitmap,
401 int src_left, 401 int src_left,
402 int src_top, 402 int src_top,
403 void* pIccTransform) { 403 void* pIccTransform) {
404 if (!m_pBuffer) { 404 if (!m_pBuffer) {
405 return FALSE; 405 return FALSE;
406 } 406 }
407 GetOverlapRect(dest_left, dest_top, width, height, pSrcBitmap->GetWidth(), 407 GetOverlapRect(dest_left, dest_top, width, height, pSrcBitmap->GetWidth(),
408 pSrcBitmap->GetHeight(), src_left, src_top, NULL); 408 pSrcBitmap->GetHeight(), src_left, src_top, nullptr);
409 if (width == 0 || height == 0) { 409 if (width == 0 || height == 0) {
410 return TRUE; 410 return TRUE;
411 } 411 }
412 FXDIB_Format dest_format = GetFormat(); 412 FXDIB_Format dest_format = GetFormat();
413 FXDIB_Format src_format = pSrcBitmap->GetFormat(); 413 FXDIB_Format src_format = pSrcBitmap->GetFormat();
414 if (dest_format == src_format && !pIccTransform) { 414 if (dest_format == src_format && !pIccTransform) {
415 if (GetBPP() == 1) { 415 if (GetBPP() == 1) {
416 for (int row = 0; row < height; row++) { 416 for (int row = 0; row < height; row++) {
417 uint8_t* dest_scan = m_pBuffer + (dest_top + row) * m_Pitch; 417 uint8_t* dest_scan = m_pBuffer + (dest_top + row) * m_Pitch;
418 const uint8_t* src_scan = pSrcBitmap->GetScanline(src_top + row); 418 const uint8_t* src_scan = pSrcBitmap->GetScanline(src_top + row);
(...skipping 20 matching lines...) Expand all
439 } 439 }
440 } else { 440 } else {
441 if (m_pPalette) { 441 if (m_pPalette) {
442 return FALSE; 442 return FALSE;
443 } 443 }
444 if (m_bpp == 8) { 444 if (m_bpp == 8) {
445 dest_format = FXDIB_8bppMask; 445 dest_format = FXDIB_8bppMask;
446 } 446 }
447 uint8_t* dest_buf = 447 uint8_t* dest_buf =
448 m_pBuffer + dest_top * m_Pitch + dest_left * GetBPP() / 8; 448 m_pBuffer + dest_top * m_Pitch + dest_left * GetBPP() / 8;
449 uint32_t* d_plt = NULL; 449 uint32_t* d_plt = nullptr;
450 if (!ConvertBuffer(dest_format, dest_buf, m_Pitch, width, height, 450 if (!ConvertBuffer(dest_format, dest_buf, m_Pitch, width, height,
451 pSrcBitmap, src_left, src_top, d_plt, pIccTransform)) { 451 pSrcBitmap, src_left, src_top, d_plt, pIccTransform)) {
452 return FALSE; 452 return FALSE;
453 } 453 }
454 } 454 }
455 return TRUE; 455 return TRUE;
456 } 456 }
457 FX_BOOL CFX_DIBitmap::TransferMask(int dest_left, 457 FX_BOOL CFX_DIBitmap::TransferMask(int dest_left,
458 int dest_top, 458 int dest_top,
459 int width, 459 int width,
460 int height, 460 int height,
461 const CFX_DIBSource* pMask, 461 const CFX_DIBSource* pMask,
462 uint32_t color, 462 uint32_t color,
463 int src_left, 463 int src_left,
464 int src_top, 464 int src_top,
465 int alpha_flag, 465 int alpha_flag,
466 void* pIccTransform) { 466 void* pIccTransform) {
467 if (!m_pBuffer) { 467 if (!m_pBuffer) {
468 return FALSE; 468 return FALSE;
469 } 469 }
470 ASSERT(HasAlpha() && (m_bpp >= 24)); 470 ASSERT(HasAlpha() && (m_bpp >= 24));
471 ASSERT(pMask->IsAlphaMask()); 471 ASSERT(pMask->IsAlphaMask());
472 if (!HasAlpha() || !pMask->IsAlphaMask() || m_bpp < 24) { 472 if (!HasAlpha() || !pMask->IsAlphaMask() || m_bpp < 24) {
473 return FALSE; 473 return FALSE;
474 } 474 }
475 GetOverlapRect(dest_left, dest_top, width, height, pMask->GetWidth(), 475 GetOverlapRect(dest_left, dest_top, width, height, pMask->GetWidth(),
476 pMask->GetHeight(), src_left, src_top, NULL); 476 pMask->GetHeight(), src_left, src_top, nullptr);
477 if (width == 0 || height == 0) { 477 if (width == 0 || height == 0) {
478 return TRUE; 478 return TRUE;
479 } 479 }
480 int src_bpp = pMask->GetBPP(); 480 int src_bpp = pMask->GetBPP();
481 int alpha; 481 int alpha;
482 uint32_t dst_color; 482 uint32_t dst_color;
483 if (alpha_flag >> 8) { 483 if (alpha_flag >> 8) {
484 alpha = alpha_flag & 0xff; 484 alpha = alpha_flag & 0xff;
485 dst_color = FXCMYK_TODIB(color); 485 dst_color = FXCMYK_TODIB(color);
486 } else { 486 } else {
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 *dest_alpha_pos++ = (alpha * (*src_scan++) / 255); 559 *dest_alpha_pos++ = (alpha * (*src_scan++) / 255);
560 } 560 }
561 } 561 }
562 } 562 }
563 } 563 }
564 return TRUE; 564 return TRUE;
565 } 565 }
566 void CFX_DIBSource::CopyPalette(const uint32_t* pSrc, uint32_t size) { 566 void CFX_DIBSource::CopyPalette(const uint32_t* pSrc, uint32_t size) {
567 if (!pSrc || GetBPP() > 8) { 567 if (!pSrc || GetBPP() > 8) {
568 FX_Free(m_pPalette); 568 FX_Free(m_pPalette);
569 m_pPalette = NULL; 569 m_pPalette = nullptr;
570 } else { 570 } else {
571 uint32_t pal_size = 1 << GetBPP(); 571 uint32_t pal_size = 1 << GetBPP();
572 if (!m_pPalette) { 572 if (!m_pPalette) {
573 m_pPalette = FX_Alloc(uint32_t, pal_size); 573 m_pPalette = FX_Alloc(uint32_t, pal_size);
574 } 574 }
575 if (pal_size > size) { 575 if (pal_size > size) {
576 pal_size = size; 576 pal_size = size;
577 } 577 }
578 FXSYS_memcpy(m_pPalette, pSrc, pal_size * sizeof(uint32_t)); 578 FXSYS_memcpy(m_pPalette, pSrc, pal_size * sizeof(uint32_t));
579 } 579 }
(...skipping 16 matching lines...) Expand all
596 pal[i] = (i * 0x10101) | (alpha << 24); 596 pal[i] = (i * 0x10101) | (alpha << 24);
597 } 597 }
598 } 598 }
599 } 599 }
600 CFX_DIBitmap* CFX_DIBSource::GetAlphaMask(const FX_RECT* pClip) const { 600 CFX_DIBitmap* CFX_DIBSource::GetAlphaMask(const FX_RECT* pClip) const {
601 ASSERT(GetFormat() == FXDIB_Argb); 601 ASSERT(GetFormat() == FXDIB_Argb);
602 FX_RECT rect(0, 0, m_Width, m_Height); 602 FX_RECT rect(0, 0, m_Width, m_Height);
603 if (pClip) { 603 if (pClip) {
604 rect.Intersect(*pClip); 604 rect.Intersect(*pClip);
605 if (rect.IsEmpty()) { 605 if (rect.IsEmpty()) {
606 return NULL; 606 return nullptr;
607 } 607 }
608 } 608 }
609 CFX_DIBitmap* pMask = new CFX_DIBitmap; 609 CFX_DIBitmap* pMask = new CFX_DIBitmap;
610 if (!pMask->Create(rect.Width(), rect.Height(), FXDIB_8bppMask)) { 610 if (!pMask->Create(rect.Width(), rect.Height(), FXDIB_8bppMask)) {
611 delete pMask; 611 delete pMask;
612 return NULL; 612 return nullptr;
613 } 613 }
614 for (int row = rect.top; row < rect.bottom; row++) { 614 for (int row = rect.top; row < rect.bottom; row++) {
615 const uint8_t* src_scan = GetScanline(row) + rect.left * 4 + 3; 615 const uint8_t* src_scan = GetScanline(row) + rect.left * 4 + 3;
616 uint8_t* dest_scan = (uint8_t*)pMask->GetScanline(row - rect.top); 616 uint8_t* dest_scan = (uint8_t*)pMask->GetScanline(row - rect.top);
617 for (int col = rect.left; col < rect.right; col++) { 617 for (int col = rect.left; col < rect.right; col++) {
618 *dest_scan++ = *src_scan; 618 *dest_scan++ = *src_scan;
619 src_scan += 4; 619 src_scan += 4;
620 } 620 }
621 } 621 }
622 return pMask; 622 return pMask;
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 pAlphaMask = pAlphaMask->StretchTo(m_Width, m_Height); 748 pAlphaMask = pAlphaMask->StretchTo(m_Width, m_Height);
749 if (!pAlphaMask) { 749 if (!pAlphaMask) {
750 if (pSrcClone != pSrcBitmap) { 750 if (pSrcClone != pSrcBitmap) {
751 delete pSrcClone; 751 delete pSrcClone;
752 } 752 }
753 return FALSE; 753 return FALSE;
754 } 754 }
755 } 755 }
756 } 756 }
757 if (pSrcClone != pSrcBitmap) { 757 if (pSrcClone != pSrcBitmap) {
758 pSrcClone->m_pAlphaMask = NULL; 758 pSrcClone->m_pAlphaMask = nullptr;
759 delete pSrcClone; 759 delete pSrcClone;
760 } 760 }
761 pSrcClone = pAlphaMask; 761 pSrcClone = pAlphaMask;
762 srcOffset = 0; 762 srcOffset = 0;
763 } else if (pSrcClone->GetWidth() != m_Width || 763 } else if (pSrcClone->GetWidth() != m_Width ||
764 pSrcClone->GetHeight() != m_Height) { 764 pSrcClone->GetHeight() != m_Height) {
765 CFX_DIBitmap* pSrcMatched = pSrcClone->StretchTo(m_Width, m_Height); 765 CFX_DIBitmap* pSrcMatched = pSrcClone->StretchTo(m_Width, m_Height);
766 if (pSrcClone != pSrcBitmap) { 766 if (pSrcClone != pSrcBitmap) {
767 delete pSrcClone; 767 delete pSrcClone;
768 } 768 }
(...skipping 600 matching lines...) Expand 10 before | Expand all | Expand 10 after
1369 } 1369 }
1370 } 1370 }
1371 } 1371 }
1372 return TRUE; 1372 return TRUE;
1373 } 1373 }
1374 1374
1375 CFX_DIBitmap* CFX_DIBSource::FlipImage(FX_BOOL bXFlip, FX_BOOL bYFlip) const { 1375 CFX_DIBitmap* CFX_DIBSource::FlipImage(FX_BOOL bXFlip, FX_BOOL bYFlip) const {
1376 CFX_DIBitmap* pFlipped = new CFX_DIBitmap; 1376 CFX_DIBitmap* pFlipped = new CFX_DIBitmap;
1377 if (!pFlipped->Create(m_Width, m_Height, GetFormat())) { 1377 if (!pFlipped->Create(m_Width, m_Height, GetFormat())) {
1378 delete pFlipped; 1378 delete pFlipped;
1379 return NULL; 1379 return nullptr;
1380 } 1380 }
1381 pFlipped->CopyPalette(m_pPalette); 1381 pFlipped->CopyPalette(m_pPalette);
1382 uint8_t* pDestBuffer = pFlipped->GetBuffer(); 1382 uint8_t* pDestBuffer = pFlipped->GetBuffer();
1383 int Bpp = m_bpp / 8; 1383 int Bpp = m_bpp / 8;
1384 for (int row = 0; row < m_Height; row++) { 1384 for (int row = 0; row < m_Height; row++) {
1385 const uint8_t* src_scan = GetScanline(row); 1385 const uint8_t* src_scan = GetScanline(row);
1386 uint8_t* dest_scan = 1386 uint8_t* dest_scan =
1387 pDestBuffer + m_Pitch * (bYFlip ? (m_Height - row - 1) : row); 1387 pDestBuffer + m_Pitch * (bYFlip ? (m_Height - row - 1) : row);
1388 if (!bXFlip) { 1388 if (!bXFlip) {
1389 FXSYS_memcpy(dest_scan, src_scan, m_Pitch); 1389 FXSYS_memcpy(dest_scan, src_scan, m_Pitch);
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1437 for (int col = 0; col < m_Width; col++) { 1437 for (int col = 0; col < m_Width; col++) {
1438 *dest_scan = *src_scan; 1438 *dest_scan = *src_scan;
1439 dest_scan--; 1439 dest_scan--;
1440 src_scan++; 1440 src_scan++;
1441 } 1441 }
1442 } 1442 }
1443 } 1443 }
1444 return pFlipped; 1444 return pFlipped;
1445 } 1445 }
1446 CFX_DIBExtractor::CFX_DIBExtractor(const CFX_DIBSource* pSrc) { 1446 CFX_DIBExtractor::CFX_DIBExtractor(const CFX_DIBSource* pSrc) {
1447 m_pBitmap = NULL; 1447 m_pBitmap = nullptr;
1448 if (pSrc->GetBuffer()) { 1448 if (pSrc->GetBuffer()) {
1449 m_pBitmap = new CFX_DIBitmap; 1449 m_pBitmap = new CFX_DIBitmap;
1450 if (!m_pBitmap->Create(pSrc->GetWidth(), pSrc->GetHeight(), 1450 if (!m_pBitmap->Create(pSrc->GetWidth(), pSrc->GetHeight(),
1451 pSrc->GetFormat(), pSrc->GetBuffer())) { 1451 pSrc->GetFormat(), pSrc->GetBuffer())) {
1452 delete m_pBitmap; 1452 delete m_pBitmap;
1453 m_pBitmap = NULL; 1453 m_pBitmap = nullptr;
1454 return; 1454 return;
1455 } 1455 }
1456 m_pBitmap->CopyPalette(pSrc->GetPalette()); 1456 m_pBitmap->CopyPalette(pSrc->GetPalette());
1457 m_pBitmap->CopyAlphaMask(pSrc->m_pAlphaMask); 1457 m_pBitmap->CopyAlphaMask(pSrc->m_pAlphaMask);
1458 } else { 1458 } else {
1459 m_pBitmap = pSrc->Clone(); 1459 m_pBitmap = pSrc->Clone();
1460 } 1460 }
1461 } 1461 }
1462 CFX_DIBExtractor::~CFX_DIBExtractor() { 1462 CFX_DIBExtractor::~CFX_DIBExtractor() {
1463 delete m_pBitmap; 1463 delete m_pBitmap;
1464 } 1464 }
1465 CFX_FilteredDIB::CFX_FilteredDIB() { 1465 CFX_FilteredDIB::CFX_FilteredDIB() {
1466 m_pScanline = NULL; 1466 m_pScanline = nullptr;
1467 m_pSrc = NULL; 1467 m_pSrc = nullptr;
1468 } 1468 }
1469 CFX_FilteredDIB::~CFX_FilteredDIB() { 1469 CFX_FilteredDIB::~CFX_FilteredDIB() {
1470 if (m_bAutoDropSrc) { 1470 if (m_bAutoDropSrc) {
1471 delete m_pSrc; 1471 delete m_pSrc;
1472 } 1472 }
1473 FX_Free(m_pScanline); 1473 FX_Free(m_pScanline);
1474 } 1474 }
1475 void CFX_FilteredDIB::LoadSrc(const CFX_DIBSource* pSrc, FX_BOOL bAutoDropSrc) { 1475 void CFX_FilteredDIB::LoadSrc(const CFX_DIBSource* pSrc, FX_BOOL bAutoDropSrc) {
1476 m_pSrc = pSrc; 1476 m_pSrc = pSrc;
1477 m_bAutoDropSrc = bAutoDropSrc; 1477 m_bAutoDropSrc = bAutoDropSrc;
(...skipping 16 matching lines...) Expand all
1494 int dest_width, 1494 int dest_width,
1495 FX_BOOL bFlipX, 1495 FX_BOOL bFlipX,
1496 int clip_left, 1496 int clip_left,
1497 int clip_width) const { 1497 int clip_width) const {
1498 m_pSrc->DownSampleScanline(line, dest_scan, dest_bpp, dest_width, bFlipX, 1498 m_pSrc->DownSampleScanline(line, dest_scan, dest_bpp, dest_width, bFlipX,
1499 clip_left, clip_width); 1499 clip_left, clip_width);
1500 TranslateDownSamples(dest_scan, dest_scan, clip_width, dest_bpp); 1500 TranslateDownSamples(dest_scan, dest_scan, clip_width, dest_bpp);
1501 } 1501 }
1502 CFX_ImageRenderer::CFX_ImageRenderer() { 1502 CFX_ImageRenderer::CFX_ImageRenderer() {
1503 m_Status = 0; 1503 m_Status = 0;
1504 m_pTransformer = NULL; 1504 m_pTransformer = nullptr;
1505 m_bRgbByteOrder = FALSE; 1505 m_bRgbByteOrder = FALSE;
1506 m_BlendType = FXDIB_BLEND_NORMAL; 1506 m_BlendType = FXDIB_BLEND_NORMAL;
1507 } 1507 }
1508 CFX_ImageRenderer::~CFX_ImageRenderer() { 1508 CFX_ImageRenderer::~CFX_ImageRenderer() {
1509 delete m_pTransformer; 1509 delete m_pTransformer;
1510 } 1510 }
1511 1511
1512 FX_BOOL CFX_ImageRenderer::Start(CFX_DIBitmap* pDevice, 1512 FX_BOOL CFX_ImageRenderer::Start(CFX_DIBitmap* pDevice,
1513 const CFX_ClipRgn* pClipRgn, 1513 const CFX_ClipRgn* pClipRgn,
1514 const CFX_DIBSource* pSource, 1514 const CFX_DIBSource* pSource,
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
1668 uint32_t* pSrcPalette) { 1668 uint32_t* pSrcPalette) {
1669 m_pBitmap.reset(new CFX_DIBitmap); 1669 m_pBitmap.reset(new CFX_DIBitmap);
1670 if (!m_pBitmap->Create(width, height, src_format)) { 1670 if (!m_pBitmap->Create(width, height, src_format)) {
1671 m_pBitmap.reset(); 1671 m_pBitmap.reset();
1672 return FALSE; 1672 return FALSE;
1673 } 1673 }
1674 if (pSrcPalette) 1674 if (pSrcPalette)
1675 m_pBitmap->CopyPalette(pSrcPalette); 1675 m_pBitmap->CopyPalette(pSrcPalette);
1676 return TRUE; 1676 return TRUE;
1677 } 1677 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698