diff options
author | Tom Sepez <tsepez@chromium.org> | 2017-03-28 09:31:32 -0700 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-03-28 16:42:55 +0000 |
commit | f0799fe84df4d86f25d342b03525f3016d674f86 (patch) | |
tree | d6839802a68b7b6ad6fb166179ede779c3560c75 /xfa/fxfa/cxfa_ffdoc.h | |
parent | 31b08d4cdaa17d7a03f35e087096a77036af98ec (diff) | |
download | pdfium-f0799fe84df4d86f25d342b03525f3016d674f86.tar.xz |
Revert "Revert "Refcount all CFX_DIBSources (and subclasses) all the time.""
This reverts commit 31b08d4cdaa17d7a03f35e087096a77036af98ec.
Re-landing the patch after fixing skia build issue.
Change-Id: Ie7039890088b803a6ec5ce365d70f57277459b48
Reviewed-on: https://pdfium-review.googlesource.com/3245
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fxfa/cxfa_ffdoc.h')
-rw-r--r-- | xfa/fxfa/cxfa_ffdoc.h | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/xfa/fxfa/cxfa_ffdoc.h b/xfa/fxfa/cxfa_ffdoc.h index 1d46387a5e..80dafba029 100644 --- a/xfa/fxfa/cxfa_ffdoc.h +++ b/xfa/fxfa/cxfa_ffdoc.h @@ -20,11 +20,30 @@ class CXFA_FFNotify; class CXFA_FFDocView; struct FX_IMAGEDIB_AND_DPI { - CFX_DIBSource* pDibSource; + FX_IMAGEDIB_AND_DPI(); + FX_IMAGEDIB_AND_DPI(const FX_IMAGEDIB_AND_DPI& that); + FX_IMAGEDIB_AND_DPI(const CFX_RetainPtr<CFX_DIBSource>& pDib, + int32_t xDpi, + int32_t yDpi); + ~FX_IMAGEDIB_AND_DPI(); + + CFX_RetainPtr<CFX_DIBSource> pDibSource; int32_t iImageXDpi; int32_t iImageYDpi; }; +inline FX_IMAGEDIB_AND_DPI::FX_IMAGEDIB_AND_DPI() = default; +inline FX_IMAGEDIB_AND_DPI::FX_IMAGEDIB_AND_DPI( + const FX_IMAGEDIB_AND_DPI& that) = default; + +inline FX_IMAGEDIB_AND_DPI::FX_IMAGEDIB_AND_DPI( + const CFX_RetainPtr<CFX_DIBSource>& pDib, + int32_t xDpi, + int32_t yDpi) + : pDibSource(pDib), iImageXDpi(xDpi), iImageYDpi(yDpi) {} + +inline FX_IMAGEDIB_AND_DPI::~FX_IMAGEDIB_AND_DPI() = default; + class CXFA_FFDoc { public: CXFA_FFDoc(CXFA_FFApp* pApp, IXFA_DocEnvironment* pDocEnvironment); @@ -48,9 +67,9 @@ class CXFA_FFDoc { CXFA_FFDocView* GetDocView(CXFA_LayoutProcessor* pLayout); CXFA_FFDocView* GetDocView(); CPDF_Document* GetPDFDoc(); - CFX_DIBitmap* GetPDFNamedImage(const CFX_WideStringC& wsName, - int32_t& iImageXDpi, - int32_t& iImageYDpi); + CFX_RetainPtr<CFX_DIBitmap> GetPDFNamedImage(const CFX_WideStringC& wsName, + int32_t& iImageXDpi, + int32_t& iImageYDpi); bool SavePackage(XFA_HashCode code, const CFX_RetainPtr<IFX_SeekableWriteStream>& pFile, |