| OLD | NEW |
| 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 "../../../../include/fxge/fx_ge.h" | 7 #include "../../../../include/fxge/fx_ge.h" |
| 8 #include "../../dib/dib_int.h" | 8 #include "../../dib/dib_int.h" |
| 9 #include "../../ge/text_int.h" | 9 #include "../../ge/text_int.h" |
| 10 #include "../../../../include/fxcodec/fx_codec.h" | 10 #include "../../../../include/fxcodec/fx_codec.h" |
| (...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 410 ori_scan ++; | 410 ori_scan ++; |
| 411 *dest_scan = FXDIB_ALPHA_MERGE( *dest_scan, r, cover_sca
n[col]); | 411 *dest_scan = FXDIB_ALPHA_MERGE( *dest_scan, r, cover_sca
n[col]); |
| 412 dest_scan ++; | 412 dest_scan ++; |
| 413 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, g, cover_scan
[col]); | 413 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, g, cover_scan
[col]); |
| 414 dest_scan ++; | 414 dest_scan ++; |
| 415 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, b, cover_scan
[col]); | 415 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, b, cover_scan
[col]); |
| 416 dest_scan += 2; | 416 dest_scan += 2; |
| 417 } | 417 } |
| 418 } | 418 } |
| 419 return; | 419 return; |
| 420 } else if (Bpp == 3 || Bpp == 4) { | 420 } |
| 421 if (Bpp == 3 || Bpp == 4) { |
| 421 for (int col = col_start; col < col_end; col ++) { | 422 for (int col = col_start; col < col_end; col ++) { |
| 422 int src_alpha; | 423 int src_alpha; |
| 423 if (clip_scan) { | 424 if (clip_scan) { |
| 424 src_alpha = m_Alpha * clip_scan[col] / 255 ; | 425 src_alpha = m_Alpha * clip_scan[col] / 255 ; |
| 425 } else { | 426 } else { |
| 426 src_alpha = m_Alpha; | 427 src_alpha = m_Alpha; |
| 427 } | 428 } |
| 428 int r = FXDIB_ALPHA_MERGE(*ori_scan++, m_Red, src_alpha); | 429 int r = FXDIB_ALPHA_MERGE(*ori_scan++, m_Red, src_alpha); |
| 429 int g = FXDIB_ALPHA_MERGE(*ori_scan++, m_Green, src_alpha); | 430 int g = FXDIB_ALPHA_MERGE(*ori_scan++, m_Green, src_alpha); |
| 430 int b = FXDIB_ALPHA_MERGE(*ori_scan, m_Blue, src_alpha); | 431 int b = FXDIB_ALPHA_MERGE(*ori_scan, m_Blue, src_alpha); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 472 dest_scan[3] = FXDIB_ALPHA_MERGE(dest_scan[3], src_alpha, co
ver); | 473 dest_scan[3] = FXDIB_ALPHA_MERGE(dest_scan[3], src_alpha, co
ver); |
| 473 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Blue, cover); | 474 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Blue, cover); |
| 474 dest_scan ++; | 475 dest_scan ++; |
| 475 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Green, cover); | 476 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Green, cover); |
| 476 dest_scan ++; | 477 dest_scan ++; |
| 477 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Red, cover); | 478 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Red, cover); |
| 478 dest_scan += 2; | 479 dest_scan += 2; |
| 479 } | 480 } |
| 480 } | 481 } |
| 481 return; | 482 return; |
| 482 } else if (Bpp == 3 || Bpp == 4) { | 483 } |
| 484 if (Bpp == 3 || Bpp == 4) { |
| 483 for (int col = col_start; col < col_end; col ++) { | 485 for (int col = col_start; col < col_end; col ++) { |
| 484 int src_alpha; | 486 int src_alpha; |
| 485 if (clip_scan) { | 487 if (clip_scan) { |
| 486 src_alpha = m_Alpha * clip_scan[col] / 255; | 488 src_alpha = m_Alpha * clip_scan[col] / 255; |
| 487 } else { | 489 } else { |
| 488 src_alpha = m_Alpha; | 490 src_alpha = m_Alpha; |
| 489 } | 491 } |
| 490 if (m_bFullCover) { | 492 if (m_bFullCover) { |
| 491 *dest_scan++ = FXDIB_ALPHA_MERGE(*ori_scan++, m_Blue, src_al
pha); | 493 *dest_scan++ = FXDIB_ALPHA_MERGE(*ori_scan++, m_Blue, src_al
pha); |
| 492 *dest_scan++ = FXDIB_ALPHA_MERGE(*ori_scan++, m_Green, src_a
lpha); | 494 *dest_scan++ = FXDIB_ALPHA_MERGE(*ori_scan++, m_Green, src_a
lpha); |
| 493 *dest_scan = FXDIB_ALPHA_MERGE(*ori_scan, m_Red, src_alpha); | 495 *dest_scan = FXDIB_ALPHA_MERGE(*ori_scan, m_Red, src_alpha); |
| 494 dest_scan += Bpp - 2; | 496 dest_scan += Bpp - 2; |
| 495 ori_scan += Bpp - 2; | 497 ori_scan += Bpp - 2; |
| 496 continue; | 498 continue; |
| 497 } | 499 } |
| 498 int b = FXDIB_ALPHA_MERGE(*ori_scan++, m_Blue, src_alpha); | 500 int b = FXDIB_ALPHA_MERGE(*ori_scan++, m_Blue, src_alpha); |
| 499 int g = FXDIB_ALPHA_MERGE(*ori_scan++, m_Green, src_alpha); | 501 int g = FXDIB_ALPHA_MERGE(*ori_scan++, m_Green, src_alpha); |
| 500 int r = FXDIB_ALPHA_MERGE(*ori_scan, m_Red, src_alpha); | 502 int r = FXDIB_ALPHA_MERGE(*ori_scan, m_Red, src_alpha); |
| 501 ori_scan += Bpp - 2; | 503 ori_scan += Bpp - 2; |
| 502 *dest_scan = FXDIB_ALPHA_MERGE( *dest_scan, b, cover_scan[col]); | 504 *dest_scan = FXDIB_ALPHA_MERGE( *dest_scan, b, cover_scan[col]); |
| 503 dest_scan ++; | 505 dest_scan ++; |
| 504 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, g, cover_scan[col]); | 506 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, g, cover_scan[col]); |
| 505 dest_scan ++; | 507 dest_scan ++; |
| 506 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, r, cover_scan[col]); | 508 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, r, cover_scan[col]); |
| 507 dest_scan += Bpp - 2; | 509 dest_scan += Bpp - 2; |
| 508 continue; | 510 continue; |
| 509 } | 511 } |
| 510 return; | 512 return; |
| 511 } else if (Bpp == 1) { | 513 } |
| 514 if (Bpp == 1) { |
| 512 for (int col = col_start; col < col_end; col ++) { | 515 for (int col = col_start; col < col_end; col ++) { |
| 513 int src_alpha; | 516 int src_alpha; |
| 514 if (clip_scan) { | 517 if (clip_scan) { |
| 515 src_alpha = m_Alpha * clip_scan[col] / 255; | 518 src_alpha = m_Alpha * clip_scan[col] / 255; |
| 516 } else { | 519 } else { |
| 517 src_alpha = m_Alpha; | 520 src_alpha = m_Alpha; |
| 518 } | 521 } |
| 519 if (m_bFullCover) { | 522 if (m_bFullCover) { |
| 520 *dest_scan = FXDIB_ALPHA_MERGE(*ori_scan++, m_Gray, src_alph
a); | 523 *dest_scan = FXDIB_ALPHA_MERGE(*ori_scan++, m_Gray, src_alph
a); |
| 521 } else { | 524 } else { |
| (...skipping 1071 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1593 IFX_RenderDeviceDriver* pDriver = new CFX_AggDeviceDriver(pBitmap, dither_bi
ts, FALSE, pOriDevice, FALSE); | 1596 IFX_RenderDeviceDriver* pDriver = new CFX_AggDeviceDriver(pBitmap, dither_bi
ts, FALSE, pOriDevice, FALSE); |
| 1594 SetDeviceDriver(pDriver); | 1597 SetDeviceDriver(pDriver); |
| 1595 return TRUE; | 1598 return TRUE; |
| 1596 } | 1599 } |
| 1597 CFX_FxgeDevice::~CFX_FxgeDevice() | 1600 CFX_FxgeDevice::~CFX_FxgeDevice() |
| 1598 { | 1601 { |
| 1599 if (m_bOwnedBitmap) { | 1602 if (m_bOwnedBitmap) { |
| 1600 delete GetBitmap(); | 1603 delete GetBitmap(); |
| 1601 } | 1604 } |
| 1602 } | 1605 } |
| OLD | NEW |