summaryrefslogtreecommitdiff
path: root/xfa/fxfa/cxfa_ffdoc.h
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2017-03-28 09:31:32 -0700
committerChromium commit bot <commit-bot@chromium.org>2017-03-28 16:42:55 +0000
commitf0799fe84df4d86f25d342b03525f3016d674f86 (patch)
treed6839802a68b7b6ad6fb166179ede779c3560c75 /xfa/fxfa/cxfa_ffdoc.h
parent31b08d4cdaa17d7a03f35e087096a77036af98ec (diff)
downloadpdfium-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.h27
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,