| Index: xfa/fxfa/app/xfa_textlayout.h
|
| diff --git a/xfa/fxfa/app/xfa_textlayout.h b/xfa/fxfa/app/xfa_textlayout.h
|
| index c34f181746e59e09b55635d35d583f9bc42dc667..0b3ec94604f60aa6c66a453c64392ea0242b7968 100644
|
| --- a/xfa/fxfa/app/xfa_textlayout.h
|
| +++ b/xfa/fxfa/app/xfa_textlayout.h
|
| @@ -87,7 +87,7 @@ class CXFA_TextParser {
|
| IFDE_CSSComputedStyle* CreateRootStyle(CXFA_TextProvider* pTextProvider);
|
| IFDE_CSSComputedStyle* ComputeStyle(CFDE_XMLNode* pXMLNode,
|
| IFDE_CSSComputedStyle* pParentStyle);
|
| - FX_BOOL IsParsed() const { return m_pAllocator != NULL; }
|
| + FX_BOOL IsParsed() const { return !!m_pAllocator; }
|
|
|
| int32_t GetVAlign(CXFA_TextProvider* pTextProvider) const;
|
| FX_FLOAT GetTabInterval(IFDE_CSSComputedStyle* pStyle) const;
|
| @@ -134,7 +134,7 @@ class CXFA_TextParser {
|
| void ParseTagInfo(CFDE_XMLNode* pXMLNode, CXFA_CSSTagProvider& tagProvider);
|
| IFDE_CSSStyleSheet* LoadDefaultSheetStyle();
|
| IFDE_CSSComputedStyle* CreateStyle(IFDE_CSSComputedStyle* pParentStyle);
|
| - IFX_MemoryAllocator* m_pAllocator;
|
| + std::unique_ptr<IFX_MemoryAllocator> m_pAllocator;
|
| std::unique_ptr<CFDE_CSSStyleSelector> m_pSelector;
|
| IFDE_CSSStyleSheet* m_pUASheet;
|
| CFX_MapPtrTemplate<CFDE_XMLNode*, CXFA_TextParseContext*>
|
| @@ -174,25 +174,24 @@ class CXFA_LoaderContext {
|
| class CXFA_LinkUserData : public IFX_Unknown, public CFX_Target {
|
| public:
|
| CXFA_LinkUserData(IFX_MemoryAllocator* pAllocator, FX_WCHAR* pszText)
|
| - : m_pAllocator(pAllocator), m_dwRefCount(1) {
|
| - m_pszURLContent = pszText;
|
| - }
|
| - ~CXFA_LinkUserData() {}
|
| - virtual uint32_t Release() {
|
| + : m_pAllocator(pAllocator), m_dwRefCount(1), m_wsURLContent(pszText) {}
|
| +
|
| + ~CXFA_LinkUserData() override {}
|
| +
|
| + uint32_t AddRef() override { return ++m_dwRefCount; }
|
| + uint32_t Release() override {
|
| uint32_t dwRefCount = --m_dwRefCount;
|
| - if (dwRefCount <= 0) {
|
| + if (dwRefCount <= 0)
|
| FXTARGET_DeleteWith(CXFA_LinkUserData, m_pAllocator, this);
|
| - }
|
| return dwRefCount;
|
| }
|
| - virtual uint32_t AddRef() { return ++m_dwRefCount; }
|
|
|
| - const FX_WCHAR* GetLinkURL() { return m_pszURLContent.c_str(); }
|
| + const FX_WCHAR* GetLinkURL() { return m_wsURLContent.c_str(); }
|
|
|
| protected:
|
| IFX_MemoryAllocator* m_pAllocator;
|
| uint32_t m_dwRefCount;
|
| - CFX_WideString m_pszURLContent;
|
| + CFX_WideString m_wsURLContent;
|
| };
|
|
|
| class CXFA_TextUserData : public IFX_Unknown, public CFX_Target {
|
| @@ -218,20 +217,20 @@ class CXFA_TextUserData : public IFX_Unknown, public CFX_Target {
|
| if (m_pStyle)
|
| m_pStyle->AddRef();
|
| }
|
| - ~CXFA_TextUserData() {
|
| + ~CXFA_TextUserData() override {
|
| if (m_pStyle)
|
| m_pStyle->Release();
|
| if (m_pLinkData)
|
| m_pLinkData->Release();
|
| }
|
| - virtual uint32_t Release() {
|
| +
|
| + uint32_t AddRef() override { return ++m_dwRefCount; }
|
| + uint32_t Release() override {
|
| uint32_t dwRefCount = --m_dwRefCount;
|
| - if (dwRefCount == 0) {
|
| + if (dwRefCount == 0)
|
| FXTARGET_DeleteWith(CXFA_TextUserData, m_pAllocator, this);
|
| - }
|
| return dwRefCount;
|
| }
|
| - virtual uint32_t AddRef() { return ++m_dwRefCount; }
|
|
|
| IFDE_CSSComputedStyle* m_pStyle;
|
| CXFA_LinkUserData* m_pLinkData;
|
| @@ -244,7 +243,7 @@ class CXFA_TextUserData : public IFX_Unknown, public CFX_Target {
|
| class XFA_TextPiece : public CFX_Target {
|
| public:
|
| XFA_TextPiece() : pszText(nullptr), pFont(nullptr), pLinkData(nullptr) {}
|
| - ~XFA_TextPiece() {
|
| + ~XFA_TextPiece() override {
|
| if (pLinkData)
|
| pLinkData->Release();
|
| }
|
| @@ -322,8 +321,9 @@ class CXFA_TextTabstopsContext {
|
|
|
| class CXFA_TextLayout {
|
| public:
|
| - CXFA_TextLayout(CXFA_TextProvider* pTextProvider);
|
| - virtual ~CXFA_TextLayout();
|
| + explicit CXFA_TextLayout(CXFA_TextProvider* pTextProvider);
|
| + ~CXFA_TextLayout();
|
| +
|
| int32_t GetText(CFX_WideString& wsText);
|
| FX_FLOAT GetLayoutHeight();
|
| FX_FLOAT StartLayout(FX_FLOAT fWidth = -1);
|
| @@ -409,14 +409,14 @@ class CXFA_TextLayout {
|
| CXFA_TextProvider* m_pTextProvider;
|
| CXFA_Node* m_pTextDataNode;
|
| FX_BOOL m_bRichText;
|
| - IFX_MemoryAllocator* m_pAllocator;
|
| - CFX_RTFBreak* m_pBreak;
|
| - CXFA_LoaderContext* m_pLoader;
|
| + std::unique_ptr<IFX_MemoryAllocator> m_pAllocator;
|
| + std::unique_ptr<CFX_RTFBreak> m_pBreak;
|
| + std::unique_ptr<CXFA_LoaderContext> m_pLoader;
|
| int32_t m_iLines;
|
| FX_FLOAT m_fMaxWidth;
|
| CXFA_TextParser m_textParser;
|
| CXFA_PieceLineArray m_pieceLines;
|
| - CXFA_TextTabstopsContext* m_pTabstopContext;
|
| + std::unique_ptr<CXFA_TextTabstopsContext> m_pTabstopContext;
|
| FX_BOOL m_bBlockContinue;
|
| };
|
|
|
|
|