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

Side by Side Diff: xfa/fxfa/app/xfa_ffwidget.cpp

Issue 2031873003: Get rid of NULLs in xfa/ (Closed) Base URL: https://pdfium.googlesource.com/pdfium@nullptr_fpdfsdk
Patch Set: 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
« no previous file with comments | « xfa/fxfa/app/xfa_fftextedit.cpp ('k') | xfa/fxfa/app/xfa_ffwidgetacc.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "xfa/fxfa/include/xfa_ffwidget.h" 7 #include "xfa/fxfa/include/xfa_ffwidget.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 GetRectWithoutRotate(rtBorder); 114 GetRectWithoutRotate(rtBorder);
115 CXFA_Margin margin = border.GetMargin(); 115 CXFA_Margin margin = border.GetMargin();
116 if (margin) { 116 if (margin) {
117 XFA_RectWidthoutMargin(rtBorder, margin); 117 XFA_RectWidthoutMargin(rtBorder, margin);
118 } 118 }
119 rtBorder.Normalize(); 119 rtBorder.Normalize();
120 DrawBorder(pGS, border, rtBorder, pMatrix); 120 DrawBorder(pGS, border, rtBorder, pMatrix);
121 } 121 }
122 } 122 }
123 FX_BOOL CXFA_FFWidget::IsLoaded() { 123 FX_BOOL CXFA_FFWidget::IsLoaded() {
124 return m_pPageView != NULL; 124 return !!m_pPageView;
125 } 125 }
126 FX_BOOL CXFA_FFWidget::LoadWidget() { 126 FX_BOOL CXFA_FFWidget::LoadWidget() {
127 PerformLayout(); 127 PerformLayout();
128 return TRUE; 128 return TRUE;
129 } 129 }
130 void CXFA_FFWidget::UnloadWidget() {} 130 void CXFA_FFWidget::UnloadWidget() {}
131 FX_BOOL CXFA_FFWidget::PerformLayout() { 131 FX_BOOL CXFA_FFWidget::PerformLayout() {
132 ReCacheWidgetRect(); 132 ReCacheWidgetRect();
133 return TRUE; 133 return TRUE;
134 } 134 }
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 GetRectWithoutRotate(rtLayout); 340 GetRectWithoutRotate(rtLayout);
341 return rtLayout.width < 0.1f && rtLayout.height < 0.1f; 341 return rtLayout.width < 0.1f && rtLayout.height < 0.1f;
342 } 342 }
343 CXFA_FFWidget* CXFA_FFWidget::GetParent() { 343 CXFA_FFWidget* CXFA_FFWidget::GetParent() {
344 CXFA_Node* pParentNode = 344 CXFA_Node* pParentNode =
345 m_pDataAcc->GetNode()->GetNodeItem(XFA_NODEITEM_Parent); 345 m_pDataAcc->GetNode()->GetNodeItem(XFA_NODEITEM_Parent);
346 if (pParentNode) { 346 if (pParentNode) {
347 CXFA_WidgetAcc* pParentWidgetAcc = 347 CXFA_WidgetAcc* pParentWidgetAcc =
348 (CXFA_WidgetAcc*)pParentNode->GetWidgetData(); 348 (CXFA_WidgetAcc*)pParentNode->GetWidgetData();
349 if (pParentWidgetAcc) { 349 if (pParentWidgetAcc) {
350 return pParentWidgetAcc->GetNextWidget(NULL); 350 return pParentWidgetAcc->GetNextWidget(nullptr);
351 } 351 }
352 } 352 }
353 return NULL; 353 return nullptr;
354 } 354 }
355 FX_BOOL CXFA_FFWidget::IsAncestorOf(CXFA_FFWidget* pWidget) { 355 FX_BOOL CXFA_FFWidget::IsAncestorOf(CXFA_FFWidget* pWidget) {
356 if (!pWidget) { 356 if (!pWidget) {
357 return FALSE; 357 return FALSE;
358 } 358 }
359 CXFA_Node* pNode = m_pDataAcc->GetNode(); 359 CXFA_Node* pNode = m_pDataAcc->GetNode();
360 CXFA_Node* pChildNode = pWidget->GetDataAcc()->GetNode(); 360 CXFA_Node* pChildNode = pWidget->GetDataAcc()->GetNode();
361 while (pChildNode) { 361 while (pChildNode) {
362 if (pChildNode == pNode) { 362 if (pChildNode == pNode) {
363 return TRUE; 363 return TRUE;
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 FX_BOOL StartDIBSource(); 516 FX_BOOL StartDIBSource();
517 void CompositeDIBitmap(CFX_DIBitmap* pDIBitmap, 517 void CompositeDIBitmap(CFX_DIBitmap* pDIBitmap,
518 int left, 518 int left,
519 int top, 519 int top,
520 FX_ARGB mask_argb, 520 FX_ARGB mask_argb,
521 int bitmap_alpha, 521 int bitmap_alpha,
522 int blend_mode, 522 int blend_mode,
523 int Transparency); 523 int Transparency);
524 }; 524 };
525 CXFA_ImageRenderer::CXFA_ImageRenderer() { 525 CXFA_ImageRenderer::CXFA_ImageRenderer() {
526 m_pDevice = NULL; 526 m_pDevice = nullptr;
527 m_Status = 0; 527 m_Status = 0;
528 m_pDIBSource = NULL; 528 m_pDIBSource = nullptr;
529 m_pCloneConvert = NULL; 529 m_pCloneConvert = nullptr;
530 m_BitmapAlpha = 255; 530 m_BitmapAlpha = 255;
531 m_FillArgb = 0; 531 m_FillArgb = 0;
532 m_Flags = 0; 532 m_Flags = 0;
533 m_DeviceHandle = NULL; 533 m_DeviceHandle = nullptr;
534 m_BlendType = FXDIB_BLEND_NORMAL; 534 m_BlendType = FXDIB_BLEND_NORMAL;
535 m_Result = TRUE; 535 m_Result = TRUE;
536 m_bPrint = FALSE; 536 m_bPrint = FALSE;
537 } 537 }
538 538
539 CXFA_ImageRenderer::~CXFA_ImageRenderer() { 539 CXFA_ImageRenderer::~CXFA_ImageRenderer() {
540 delete m_pCloneConvert; 540 delete m_pCloneConvert;
541 if (m_DeviceHandle) 541 if (m_DeviceHandle)
542 m_pDevice->CancelDIBits(m_DeviceHandle); 542 m_pDevice->CancelDIBits(m_DeviceHandle);
543 } 543 }
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 return FALSE; 673 return FALSE;
674 } 674 }
675 675
676 void CXFA_ImageRenderer::CompositeDIBitmap(CFX_DIBitmap* pDIBitmap, 676 void CXFA_ImageRenderer::CompositeDIBitmap(CFX_DIBitmap* pDIBitmap,
677 int left, 677 int left,
678 int top, 678 int top,
679 FX_ARGB mask_argb, 679 FX_ARGB mask_argb,
680 int bitmap_alpha, 680 int bitmap_alpha,
681 int blend_mode, 681 int blend_mode,
682 int Transparency) { 682 int Transparency) {
683 if (pDIBitmap == NULL) { 683 if (!pDIBitmap)
684 return; 684 return;
685 } 685
686 bool bIsolated = !!(Transparency & PDFTRANS_ISOLATED); 686 bool bIsolated = !!(Transparency & PDFTRANS_ISOLATED);
687 bool bGroup = !!(Transparency & PDFTRANS_GROUP); 687 bool bGroup = !!(Transparency & PDFTRANS_GROUP);
688 if (blend_mode == FXDIB_BLEND_NORMAL) { 688 if (blend_mode == FXDIB_BLEND_NORMAL) {
689 if (!pDIBitmap->IsAlphaMask()) { 689 if (!pDIBitmap->IsAlphaMask()) {
690 if (bitmap_alpha < 255) { 690 if (bitmap_alpha < 255) {
691 pDIBitmap->MultiplyAlpha(bitmap_alpha); 691 pDIBitmap->MultiplyAlpha(bitmap_alpha);
692 } 692 }
693 if (m_pDevice->SetDIBits(pDIBitmap, left, top)) { 693 if (m_pDevice->SetDIBits(pDIBitmap, left, top)) {
694 return; 694 return;
695 } 695 }
(...skipping 16 matching lines...) Expand all
712 if (bGetBackGround) { 712 if (bGetBackGround) {
713 if (bIsolated || !bGroup) { 713 if (bIsolated || !bGroup) {
714 if (pDIBitmap->IsAlphaMask()) { 714 if (pDIBitmap->IsAlphaMask()) {
715 return; 715 return;
716 } 716 }
717 m_pDevice->SetDIBitsWithBlend(pDIBitmap, left, top, blend_mode); 717 m_pDevice->SetDIBitsWithBlend(pDIBitmap, left, top, blend_mode);
718 } else { 718 } else {
719 FX_RECT rect(left, top, left + pDIBitmap->GetWidth(), 719 FX_RECT rect(left, top, left + pDIBitmap->GetWidth(),
720 top + pDIBitmap->GetHeight()); 720 top + pDIBitmap->GetHeight());
721 rect.Intersect(m_pDevice->GetClipBox()); 721 rect.Intersect(m_pDevice->GetClipBox());
722 CFX_DIBitmap* pClone = NULL; 722 CFX_DIBitmap* pClone = nullptr;
723 FX_BOOL bClone = FALSE; 723 FX_BOOL bClone = FALSE;
724 if (m_pDevice->GetBackDrop() && m_pDevice->GetBitmap()) { 724 if (m_pDevice->GetBackDrop() && m_pDevice->GetBitmap()) {
725 bClone = TRUE; 725 bClone = TRUE;
726 pClone = m_pDevice->GetBackDrop()->Clone(&rect); 726 pClone = m_pDevice->GetBackDrop()->Clone(&rect);
727 CFX_DIBitmap* pForeBitmap = m_pDevice->GetBitmap(); 727 CFX_DIBitmap* pForeBitmap = m_pDevice->GetBitmap();
728 pClone->CompositeBitmap(0, 0, pClone->GetWidth(), pClone->GetHeight(), 728 pClone->CompositeBitmap(0, 0, pClone->GetWidth(), pClone->GetHeight(),
729 pForeBitmap, rect.left, rect.top); 729 pForeBitmap, rect.left, rect.top);
730 left = left >= 0 ? 0 : left; 730 left = left >= 0 ? 0 : left;
731 top = top >= 0 ? 0 : top; 731 top = top >= 0 ? 0 : top;
732 if (!pDIBitmap->IsAlphaMask()) 732 if (!pDIBitmap->IsAlphaMask())
(...skipping 22 matching lines...) Expand all
755 if (pDIBitmap->HasAlpha() && 755 if (pDIBitmap->HasAlpha() &&
756 !(m_pDevice->GetRenderCaps() & FXRC_ALPHA_IMAGE)) { 756 !(m_pDevice->GetRenderCaps() & FXRC_ALPHA_IMAGE)) {
757 CFX_DIBitmap* pCloneConvert = pDIBitmap->CloneConvert(FXDIB_Rgb); 757 CFX_DIBitmap* pCloneConvert = pDIBitmap->CloneConvert(FXDIB_Rgb);
758 if (!pCloneConvert) { 758 if (!pCloneConvert) {
759 return; 759 return;
760 } 760 }
761 CXFA_ImageRenderer imageRender; 761 CXFA_ImageRenderer imageRender;
762 FX_BOOL bRet = imageRender.Start(m_pDevice, pCloneConvert, m_FillArgb, 762 FX_BOOL bRet = imageRender.Start(m_pDevice, pCloneConvert, m_FillArgb,
763 m_BitmapAlpha, &m_ImageMatrix, m_Flags); 763 m_BitmapAlpha, &m_ImageMatrix, m_Flags);
764 while (bRet) { 764 while (bRet) {
765 bRet = imageRender.Continue(NULL); 765 bRet = imageRender.Continue(nullptr);
766 } 766 }
767 delete pCloneConvert; 767 delete pCloneConvert;
768 return; 768 return;
769 } 769 }
770 } 770 }
771 void XFA_DrawImage(CFX_Graphics* pGS, 771 void XFA_DrawImage(CFX_Graphics* pGS,
772 const CFX_RectF& rtImage, 772 const CFX_RectF& rtImage,
773 CFX_Matrix* pMatrix, 773 CFX_Matrix* pMatrix,
774 CFX_DIBitmap* pDIBitmap, 774 CFX_DIBitmap* pDIBitmap,
775 int32_t iAspect, 775 int32_t iAspect,
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
829 CFX_PathData path; 829 CFX_PathData path;
830 path.AppendRect(rtImage.left, rtImage.bottom(), rtImage.right(), rtImage.top); 830 path.AppendRect(rtImage.left, rtImage.bottom(), rtImage.right(), rtImage.top);
831 pRenderDevice->SetClip_PathFill(&path, pMatrix, FXFILL_WINDING); 831 pRenderDevice->SetClip_PathFill(&path, pMatrix, FXFILL_WINDING);
832 CFX_Matrix mtImage(1, 0, 0, -1, 0, 1); 832 CFX_Matrix mtImage(1, 0, 0, -1, 0, 1);
833 mtImage.Concat(rtFit.width, 0, 0, rtFit.height, rtFit.left, rtFit.top); 833 mtImage.Concat(rtFit.width, 0, 0, rtFit.height, rtFit.left, rtFit.top);
834 mtImage.Concat(*pMatrix); 834 mtImage.Concat(*pMatrix);
835 CXFA_ImageRenderer imageRender; 835 CXFA_ImageRenderer imageRender;
836 FX_BOOL bRet = imageRender.Start(pRenderDevice, pDIBitmap, 0, 255, &mtImage, 836 FX_BOOL bRet = imageRender.Start(pRenderDevice, pDIBitmap, 0, 255, &mtImage,
837 FXDIB_INTERPOL); 837 FXDIB_INTERPOL);
838 while (bRet) { 838 while (bRet) {
839 bRet = imageRender.Continue(NULL); 839 bRet = imageRender.Continue(nullptr);
840 } 840 }
841 pRenderDevice->RestoreState(false); 841 pRenderDevice->RestoreState(false);
842 } 842 }
843 843
844 static const uint8_t g_inv_base64[128] = { 844 static const uint8_t g_inv_base64[128] = {
845 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 845 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
846 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 846 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
847 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 255, 847 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 255,
848 255, 255, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 255, 255, 848 255, 255, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 255, 255,
849 255, 255, 255, 255, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 849 255, 255, 255, 255, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
(...skipping 14 matching lines...) Expand all
864 if ((pStr[i] & 128) == 0) { 864 if ((pStr[i] & 128) == 0) {
865 if (g_inv_base64[pStr[i]] != 0xFF || pStr[i] == '=') { 865 if (g_inv_base64[pStr[i]] != 0xFF || pStr[i] == '=') {
866 pCP[j++] = pStr[i]; 866 pCP[j++] = pStr[i];
867 } 867 }
868 } 868 }
869 } 869 }
870 pCP[j] = '\0'; 870 pCP[j] = '\0';
871 return pCP; 871 return pCP;
872 } 872 }
873 static int32_t XFA_Base64Decode(const FX_CHAR* pStr, uint8_t* pOutBuffer) { 873 static int32_t XFA_Base64Decode(const FX_CHAR* pStr, uint8_t* pOutBuffer) {
874 if (pStr == NULL) { 874 if (!pStr)
875 return 0; 875 return 0;
876 } 876
877 uint8_t* pBuffer = 877 uint8_t* pBuffer =
878 XFA_RemoveBase64Whitespace((uint8_t*)pStr, FXSYS_strlen((FX_CHAR*)pStr)); 878 XFA_RemoveBase64Whitespace((uint8_t*)pStr, FXSYS_strlen((FX_CHAR*)pStr));
879 if (pBuffer == NULL) { 879 if (!pBuffer)
880 return 0; 880 return 0;
881 } 881
882 int32_t iLen = FXSYS_strlen((FX_CHAR*)pBuffer); 882 int32_t iLen = FXSYS_strlen((FX_CHAR*)pBuffer);
883 int32_t i = 0, j = 0; 883 int32_t i = 0, j = 0;
884 uint32_t dwLimb = 0; 884 uint32_t dwLimb = 0;
885 for (; i + 3 < iLen; i += 4) { 885 for (; i + 3 < iLen; i += 4) {
886 if (pBuffer[i] == '=' || pBuffer[i + 1] == '=' || pBuffer[i + 2] == '=' || 886 if (pBuffer[i] == '=' || pBuffer[i + 1] == '=' || pBuffer[i + 2] == '=' ||
887 pBuffer[i + 3] == '=') { 887 pBuffer[i + 3] == '=') {
888 if (pBuffer[i] == '=' || pBuffer[i + 1] == '=') { 888 if (pBuffer[i] == '=' || pBuffer[i + 1] == '=') {
889 break; 889 break;
890 } 890 }
891 if (pBuffer[i + 2] == '=') { 891 if (pBuffer[i + 2] == '=') {
(...skipping 21 matching lines...) Expand all
913 } 913 }
914 } 914 }
915 FX_Free(pBuffer); 915 FX_Free(pBuffer);
916 return j; 916 return j;
917 } 917 }
918 918
919 static const FX_CHAR g_base64_chars[] = 919 static const FX_CHAR g_base64_chars[] =
920 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; 920 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
921 921
922 FX_CHAR* XFA_Base64Encode(const uint8_t* buf, int32_t buf_len) { 922 FX_CHAR* XFA_Base64Encode(const uint8_t* buf, int32_t buf_len) {
923 FX_CHAR* out = NULL; 923 FX_CHAR* out = nullptr;
924 int i, j; 924 int i, j;
925 uint32_t limb; 925 uint32_t limb;
926 out = FX_Alloc(FX_CHAR, ((buf_len * 8 + 5) / 6) + 5); 926 out = FX_Alloc(FX_CHAR, ((buf_len * 8 + 5) / 6) + 5);
927 for (i = 0, j = 0, limb = 0; i + 2 < buf_len; i += 3, j += 4) { 927 for (i = 0, j = 0, limb = 0; i + 2 < buf_len; i += 3, j += 4) {
928 limb = ((uint32_t)buf[i] << 16) | ((uint32_t)buf[i + 1] << 8) | 928 limb = ((uint32_t)buf[i] << 16) | ((uint32_t)buf[i + 1] << 8) |
929 ((uint32_t)buf[i + 2]); 929 ((uint32_t)buf[i + 2]);
930 out[j] = g_base64_chars[(limb >> 18) & 63]; 930 out[j] = g_base64_chars[(limb >> 18) & 63];
931 out[j + 1] = g_base64_chars[(limb >> 12) & 63]; 931 out[j + 1] = g_base64_chars[(limb >> 12) & 63];
932 out[j + 2] = g_base64_chars[(limb >> 6) & 63]; 932 out[j + 2] = g_base64_chars[(limb >> 6) & 63];
933 out[j + 3] = g_base64_chars[(limb)&63]; 933 out[j + 3] = g_base64_chars[(limb)&63];
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
978 CFX_DIBitmap* XFA_LoadImageData(CXFA_FFDoc* pDoc, 978 CFX_DIBitmap* XFA_LoadImageData(CXFA_FFDoc* pDoc,
979 CXFA_Image* pImage, 979 CXFA_Image* pImage,
980 FX_BOOL& bNameImage, 980 FX_BOOL& bNameImage,
981 int32_t& iImageXDpi, 981 int32_t& iImageXDpi,
982 int32_t& iImageYDpi) { 982 int32_t& iImageYDpi) {
983 CFX_WideString wsHref; 983 CFX_WideString wsHref;
984 pImage->GetHref(wsHref); 984 pImage->GetHref(wsHref);
985 CFX_WideString wsImage; 985 CFX_WideString wsImage;
986 pImage->GetContent(wsImage); 986 pImage->GetContent(wsImage);
987 if (wsHref.IsEmpty() && wsImage.IsEmpty()) { 987 if (wsHref.IsEmpty() && wsImage.IsEmpty()) {
988 return NULL; 988 return nullptr;
989 } 989 }
990 CFX_WideString wsContentType; 990 CFX_WideString wsContentType;
991 pImage->GetContentType(wsContentType); 991 pImage->GetContentType(wsContentType);
992 FXCODEC_IMAGE_TYPE type = XFA_GetImageType(wsContentType); 992 FXCODEC_IMAGE_TYPE type = XFA_GetImageType(wsContentType);
993 CFX_ByteString bsContent; 993 CFX_ByteString bsContent;
994 uint8_t* pImageBuffer = NULL; 994 uint8_t* pImageBuffer = nullptr;
995 IFX_FileRead* pImageFileRead = NULL; 995 IFX_FileRead* pImageFileRead = nullptr;
996 if (wsImage.GetLength() > 0) { 996 if (wsImage.GetLength() > 0) {
997 XFA_ATTRIBUTEENUM iEncoding = 997 XFA_ATTRIBUTEENUM iEncoding =
998 (XFA_ATTRIBUTEENUM)pImage->GetTransferEncoding(); 998 (XFA_ATTRIBUTEENUM)pImage->GetTransferEncoding();
999 if (iEncoding == XFA_ATTRIBUTEENUM_Base64) { 999 if (iEncoding == XFA_ATTRIBUTEENUM_Base64) {
1000 CFX_ByteString bsData = wsImage.UTF8Encode(); 1000 CFX_ByteString bsData = wsImage.UTF8Encode();
1001 int32_t iLength = bsData.GetLength(); 1001 int32_t iLength = bsData.GetLength();
1002 pImageBuffer = FX_Alloc(uint8_t, iLength); 1002 pImageBuffer = FX_Alloc(uint8_t, iLength);
1003 int32_t iRead = XFA_Base64Decode(bsData.c_str(), pImageBuffer); 1003 int32_t iRead = XFA_Base64Decode(bsData.c_str(), pImageBuffer);
1004 if (iRead > 0) { 1004 if (iRead > 0) {
1005 pImageFileRead = FX_CreateMemoryStream(pImageBuffer, iRead); 1005 pImageFileRead = FX_CreateMemoryStream(pImageBuffer, iRead);
(...skipping 11 matching lines...) Expand all
1017 pDoc->GetPDFNamedImage(wsURL.AsStringC(), iImageXDpi, iImageYDpi); 1017 pDoc->GetPDFNamedImage(wsURL.AsStringC(), iImageXDpi, iImageYDpi);
1018 if (pBitmap) { 1018 if (pBitmap) {
1019 bNameImage = TRUE; 1019 bNameImage = TRUE;
1020 return pBitmap; 1020 return pBitmap;
1021 } 1021 }
1022 } 1022 }
1023 pImageFileRead = pDoc->GetDocProvider()->OpenLinkedFile(pDoc, wsURL); 1023 pImageFileRead = pDoc->GetDocProvider()->OpenLinkedFile(pDoc, wsURL);
1024 } 1024 }
1025 if (!pImageFileRead) { 1025 if (!pImageFileRead) {
1026 FX_Free(pImageBuffer); 1026 FX_Free(pImageBuffer);
1027 return NULL; 1027 return nullptr;
1028 } 1028 }
1029 bNameImage = FALSE; 1029 bNameImage = FALSE;
1030 CFX_DIBitmap* pBitmap = 1030 CFX_DIBitmap* pBitmap =
1031 XFA_LoadImageFromBuffer(pImageFileRead, type, iImageXDpi, iImageYDpi); 1031 XFA_LoadImageFromBuffer(pImageFileRead, type, iImageXDpi, iImageYDpi);
1032 FX_Free(pImageBuffer); 1032 FX_Free(pImageBuffer);
1033 pImageFileRead->Release(); 1033 pImageFileRead->Release();
1034 return pBitmap; 1034 return pBitmap;
1035 } 1035 }
1036 static FXDIB_Format XFA_GetDIBFormat(FXCODEC_IMAGE_TYPE type, 1036 static FXDIB_Format XFA_GetDIBFormat(FXCODEC_IMAGE_TYPE type,
1037 int32_t iComponents, 1037 int32_t iComponents,
(...skipping 14 matching lines...) Expand all
1052 break; 1052 break;
1053 } 1053 }
1054 return dibFormat; 1054 return dibFormat;
1055 } 1055 }
1056 CFX_DIBitmap* XFA_LoadImageFromBuffer(IFX_FileRead* pImageFileRead, 1056 CFX_DIBitmap* XFA_LoadImageFromBuffer(IFX_FileRead* pImageFileRead,
1057 FXCODEC_IMAGE_TYPE type, 1057 FXCODEC_IMAGE_TYPE type,
1058 int32_t& iImageXDpi, 1058 int32_t& iImageXDpi,
1059 int32_t& iImageYDpi) { 1059 int32_t& iImageYDpi) {
1060 CFX_GEModule* pGeModule = CFX_GEModule::Get(); 1060 CFX_GEModule* pGeModule = CFX_GEModule::Get();
1061 if (!pGeModule) { 1061 if (!pGeModule) {
1062 return NULL; 1062 return nullptr;
1063 } 1063 }
1064 CCodec_ModuleMgr* pCodecMgr = pGeModule->GetCodecModule(); 1064 CCodec_ModuleMgr* pCodecMgr = pGeModule->GetCodecModule();
1065 if (!pCodecMgr) { 1065 if (!pCodecMgr) {
1066 return NULL; 1066 return nullptr;
1067 } 1067 }
1068 CFX_DIBAttribute dibAttr; 1068 CFX_DIBAttribute dibAttr;
1069 CFX_DIBitmap* pBitmap = NULL; 1069 CFX_DIBitmap* pBitmap = nullptr;
1070 CCodec_ProgressiveDecoder* pProgressiveDecoder = 1070 CCodec_ProgressiveDecoder* pProgressiveDecoder =
1071 pCodecMgr->CreateProgressiveDecoder(); 1071 pCodecMgr->CreateProgressiveDecoder();
1072 pProgressiveDecoder->LoadImageInfo(pImageFileRead, type, &dibAttr); 1072 pProgressiveDecoder->LoadImageInfo(pImageFileRead, type, &dibAttr);
1073 switch (dibAttr.m_wDPIUnit) { 1073 switch (dibAttr.m_wDPIUnit) {
1074 case FXCODEC_RESUNIT_CENTIMETER: 1074 case FXCODEC_RESUNIT_CENTIMETER:
1075 dibAttr.m_nXDPI = (int32_t)(dibAttr.m_nXDPI * 2.54f); 1075 dibAttr.m_nXDPI = (int32_t)(dibAttr.m_nXDPI * 2.54f);
1076 dibAttr.m_nYDPI = (int32_t)(dibAttr.m_nYDPI * 2.54f); 1076 dibAttr.m_nYDPI = (int32_t)(dibAttr.m_nYDPI * 2.54f);
1077 break; 1077 break;
1078 case FXCODEC_RESUNIT_METER: 1078 case FXCODEC_RESUNIT_METER:
1079 dibAttr.m_nXDPI = (int32_t)(dibAttr.m_nXDPI / (FX_FLOAT)100 * 2.54f); 1079 dibAttr.m_nXDPI = (int32_t)(dibAttr.m_nXDPI / (FX_FLOAT)100 * 2.54f);
(...skipping 897 matching lines...) Expand 10 before | Expand all | Expand 10 after
1977 iType != XFA_ELEMENT_Rectangle) { 1977 iType != XFA_ELEMENT_Rectangle) {
1978 return; 1978 return;
1979 } 1979 }
1980 CXFA_StrokeArray strokes; 1980 CXFA_StrokeArray strokes;
1981 if (!(dwFlags & XFA_DRAWBOX_ForceRound) && iType != XFA_ELEMENT_Arc) { 1981 if (!(dwFlags & XFA_DRAWBOX_ForceRound) && iType != XFA_ELEMENT_Arc) {
1982 box.GetStrokes(strokes); 1982 box.GetStrokes(strokes);
1983 } 1983 }
1984 XFA_BOX_Fill(box, strokes, pGS, rtWidget, pMatrix, dwFlags); 1984 XFA_BOX_Fill(box, strokes, pGS, rtWidget, pMatrix, dwFlags);
1985 XFA_BOX_Stroke(box, strokes, pGS, rtWidget, pMatrix, dwFlags); 1985 XFA_BOX_Stroke(box, strokes, pGS, rtWidget, pMatrix, dwFlags);
1986 } 1986 }
OLDNEW
« no previous file with comments | « xfa/fxfa/app/xfa_fftextedit.cpp ('k') | xfa/fxfa/app/xfa_ffwidgetacc.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698