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

Side by Side Diff: xfa/fxfa/parser/xfa_layout_pagemgr_new.cpp

Issue 1846993002: Remove IXFA_* interfaces. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 8 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
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/parser/xfa_layout_pagemgr_new.h" 7 #include "xfa/fxfa/parser/xfa_layout_pagemgr_new.h"
8 8
9 #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h" 9 #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h"
10 #include "xfa/fxfa/parser/xfa_docdata.h" 10 #include "xfa/fxfa/parser/xfa_docdata.h"
11 #include "xfa/fxfa/parser/xfa_doclayout.h" 11 #include "xfa/fxfa/parser/xfa_doclayout.h"
12 #include "xfa/fxfa/parser/xfa_document.h" 12 #include "xfa/fxfa/parser/xfa_document.h"
13 #include "xfa/fxfa/parser/xfa_document_datamerger_imp.h" 13 #include "xfa/fxfa/parser/xfa_document_datamerger_imp.h"
14 #include "xfa/fxfa/parser/xfa_document_layout_imp.h" 14 #include "xfa/fxfa/parser/xfa_document_layout_imp.h"
15 #include "xfa/fxfa/parser/xfa_layout_appadapter.h" 15 #include "xfa/fxfa/parser/xfa_layout_appadapter.h"
16 #include "xfa/fxfa/parser/xfa_layout_itemlayout.h" 16 #include "xfa/fxfa/parser/xfa_layout_itemlayout.h"
17 #include "xfa/fxfa/parser/xfa_localemgr.h" 17 #include "xfa/fxfa/parser/xfa_localemgr.h"
18 #include "xfa/fxfa/parser/xfa_object.h" 18 #include "xfa/fxfa/parser/xfa_object.h"
19 #include "xfa/fxfa/parser/xfa_parser.h" 19 #include "xfa/fxfa/parser/xfa_parser.h"
20 #include "xfa/fxfa/parser/xfa_script.h" 20 #include "xfa/fxfa/parser/xfa_script.h"
21 #include "xfa/fxfa/parser/xfa_utils.h" 21 #include "xfa/fxfa/parser/xfa_utils.h"
22 #include "xfa/fxfa/parser/xfa_parser_imp.h"
23 #include "xfa/fxfa/app/xfa_ffnotify.h"
24 #include "xfa/fxfa/parser/xfa_script_imp.h"
22 25
23 CXFA_LayoutPageMgr::CXFA_LayoutPageMgr(CXFA_LayoutProcessor* pLayoutProcessor) 26 CXFA_LayoutPageMgr::CXFA_LayoutPageMgr(CXFA_LayoutProcessor* pLayoutProcessor)
24 : m_pLayoutProcessor(pLayoutProcessor), 27 : m_pLayoutProcessor(pLayoutProcessor),
25 m_pTemplatePageSetRoot(nullptr), 28 m_pTemplatePageSetRoot(nullptr),
26 m_pPageSetLayoutItemRoot(nullptr), 29 m_pPageSetLayoutItemRoot(nullptr),
27 m_pPageSetCurRoot(nullptr), 30 m_pPageSetCurRoot(nullptr),
28 m_pCurrentContainerRecord(nullptr), 31 m_pCurrentContainerRecord(nullptr),
29 m_pCurPageArea(nullptr), 32 m_pCurPageArea(nullptr),
30 m_nAvailPages(0), 33 m_nAvailPages(0),
31 m_nCurPageCount(0), 34 m_nCurPageCount(0),
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 iCount++; 78 iCount++;
76 if (pPageArea->GetFirstChildByClass(XFA_ELEMENT_ContentArea)) { 79 if (pPageArea->GetFirstChildByClass(XFA_ELEMENT_ContentArea)) {
77 return TRUE; 80 return TRUE;
78 } 81 }
79 } 82 }
80 } 83 }
81 if (iCount > 0) { 84 if (iCount > 0) {
82 return FALSE; 85 return FALSE;
83 } 86 }
84 CXFA_Document* pDocument = pTemplateNode->GetDocument(); 87 CXFA_Document* pDocument = pTemplateNode->GetDocument();
85 IXFA_ObjFactory* pObjFactory = pDocument->GetParser()->GetFactory(); 88 CXFA_Document* pObjFactory = pDocument->GetParser()->GetFactory();
86 pPageArea = m_pTemplatePageSetRoot->GetChild(0, XFA_ELEMENT_PageArea); 89 pPageArea = m_pTemplatePageSetRoot->GetChild(0, XFA_ELEMENT_PageArea);
87 if (!pPageArea) { 90 if (!pPageArea) {
88 pPageArea = pObjFactory->CreateNode(m_pTemplatePageSetRoot->GetPacketID(), 91 pPageArea = pObjFactory->CreateNode(m_pTemplatePageSetRoot->GetPacketID(),
89 XFA_ELEMENT_PageArea); 92 XFA_ELEMENT_PageArea);
90 if (!pPageArea) { 93 if (!pPageArea) {
91 return FALSE; 94 return FALSE;
92 } 95 }
93 m_pTemplatePageSetRoot->InsertChild(pPageArea, NULL); 96 m_pTemplatePageSetRoot->InsertChild(pPageArea, NULL);
94 pPageArea->SetFlag(XFA_NODEFLAG_Initialized); 97 pPageArea->SetFlag(XFA_NODEFLAG_Initialized);
95 } 98 }
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 } 402 }
400 void CXFA_LayoutPageMgr::AddPageAreaLayoutItem(CXFA_ContainerRecord* pNewRecord, 403 void CXFA_LayoutPageMgr::AddPageAreaLayoutItem(CXFA_ContainerRecord* pNewRecord,
401 CXFA_Node* pNewPageArea) { 404 CXFA_Node* pNewPageArea) {
402 CXFA_ContainerLayoutItem* pNewPageAreaLayoutItem = NULL; 405 CXFA_ContainerLayoutItem* pNewPageAreaLayoutItem = NULL;
403 if (m_PageArray.GetSize() > m_nAvailPages) { 406 if (m_PageArray.GetSize() > m_nAvailPages) {
404 CXFA_ContainerLayoutItem* pContainerItem = m_PageArray[m_nAvailPages]; 407 CXFA_ContainerLayoutItem* pContainerItem = m_PageArray[m_nAvailPages];
405 pContainerItem->m_pFormNode = pNewPageArea; 408 pContainerItem->m_pFormNode = pNewPageArea;
406 m_nAvailPages++; 409 m_nAvailPages++;
407 pNewPageAreaLayoutItem = pContainerItem; 410 pNewPageAreaLayoutItem = pContainerItem;
408 } else { 411 } else {
409 IXFA_Notify* pNotify = 412 CXFA_FFNotify* pNotify =
410 pNewPageArea->GetDocument()->GetParser()->GetNotify(); 413 pNewPageArea->GetDocument()->GetParser()->GetNotify();
411 CXFA_ContainerLayoutItem* pContainerItem = 414 CXFA_ContainerLayoutItem* pContainerItem =
412 (CXFA_ContainerLayoutItem*)pNotify->OnCreateLayoutItem(pNewPageArea); 415 (CXFA_ContainerLayoutItem*)pNotify->OnCreateLayoutItem(pNewPageArea);
413 m_PageArray.Add(pContainerItem); 416 m_PageArray.Add(pContainerItem);
414 m_nAvailPages++; 417 m_nAvailPages++;
415 pNotify->OnPageEvent(pContainerItem, XFA_PAGEEVENT_PageAdded, 418 pNotify->OnPageEvent(pContainerItem, XFA_PAGEEVENT_PageAdded,
416 (void*)(uintptr_t)m_nAvailPages); 419 (void*)(uintptr_t)m_nAvailPages);
417 pNewPageAreaLayoutItem = pContainerItem; 420 pNewPageAreaLayoutItem = pContainerItem;
418 } 421 }
419 pNewRecord->pCurPageSet->AddChild(pNewPageAreaLayoutItem); 422 pNewRecord->pCurPageSet->AddChild(pNewPageAreaLayoutItem);
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
592 AddPageAreaLayoutItem(pRecord, pNode); 595 AddPageAreaLayoutItem(pRecord, pNode);
593 } 596 }
594 } break; 597 } break;
595 } 598 }
596 } 599 }
597 } 600 }
598 } 601 }
599 int32_t CXFA_LayoutPageMgr::GetPageCount() const { 602 int32_t CXFA_LayoutPageMgr::GetPageCount() const {
600 return m_PageArray.GetSize(); 603 return m_PageArray.GetSize();
601 } 604 }
602 IXFA_LayoutPage* CXFA_LayoutPageMgr::GetPage(int32_t index) const { 605 CXFA_ContainerLayoutItem* CXFA_LayoutPageMgr::GetPage(int32_t index) const {
603 if (index < 0 || index >= m_PageArray.GetSize()) 606 if (index < 0 || index >= m_PageArray.GetSize())
604 return nullptr; 607 return nullptr;
605 return m_PageArray[index]; 608 return m_PageArray[index];
606 } 609 }
607 int32_t CXFA_LayoutPageMgr::GetPageIndex(const IXFA_LayoutPage* pPage) const { 610 int32_t CXFA_LayoutPageMgr::GetPageIndex(
611 const CXFA_ContainerLayoutItem* pPage) const {
608 // FIXME: Find() method should take const. 612 // FIXME: Find() method should take const.
609 return m_PageArray.Find(static_cast<CXFA_ContainerLayoutItem*>( 613 return m_PageArray.Find(static_cast<CXFA_ContainerLayoutItem*>(
Tom Sepez 2016/03/31 17:01:57 one of these casts can go.
dsinclair 2016/03/31 19:52:27 Done.
610 const_cast<IXFA_LayoutPage*>(pPage))); 614 const_cast<CXFA_ContainerLayoutItem*>(pPage)));
611 } 615 }
612 FX_BOOL CXFA_LayoutPageMgr::RunBreak(XFA_ELEMENT eBreakType, 616 FX_BOOL CXFA_LayoutPageMgr::RunBreak(XFA_ELEMENT eBreakType,
613 XFA_ATTRIBUTEENUM eTargetType, 617 XFA_ATTRIBUTEENUM eTargetType,
614 CXFA_Node* pTarget, 618 CXFA_Node* pTarget,
615 FX_BOOL bStartNew) { 619 FX_BOOL bStartNew) {
616 FX_BOOL bRet = FALSE; 620 FX_BOOL bRet = FALSE;
617 switch (eTargetType) { 621 switch (eTargetType) {
618 case XFA_ATTRIBUTEENUM_ContentArea: 622 case XFA_ATTRIBUTEENUM_ContentArea:
619 if (pTarget && pTarget->GetClassID() != XFA_ELEMENT_ContentArea) { 623 if (pTarget && pTarget->GetClassID() != XFA_ELEMENT_ContentArea) {
620 pTarget = NULL; 624 pTarget = NULL;
(...skipping 867 matching lines...) Expand 10 before | Expand all | Expand 10 after
1488 m_nCurPageCount = 0; 1492 m_nCurPageCount = 0;
1489 m_bCreateOverFlowPage = FALSE; 1493 m_bCreateOverFlowPage = FALSE;
1490 m_pPageSetMap.RemoveAll(); 1494 m_pPageSetMap.RemoveAll();
1491 } 1495 }
1492 CXFA_LayoutItem* CXFA_LayoutPageMgr::FindOrCreateLayoutItem( 1496 CXFA_LayoutItem* CXFA_LayoutPageMgr::FindOrCreateLayoutItem(
1493 CXFA_Node* pFormNode) { 1497 CXFA_Node* pFormNode) {
1494 return pFormNode->GetDocument()->GetParser()->GetNotify()->OnCreateLayoutItem( 1498 return pFormNode->GetDocument()->GetParser()->GetNotify()->OnCreateLayoutItem(
1495 pFormNode); 1499 pFormNode);
1496 } 1500 }
1497 static void XFA_SyncRemoveLayoutItem(CXFA_LayoutItem* pParentLayoutItem, 1501 static void XFA_SyncRemoveLayoutItem(CXFA_LayoutItem* pParentLayoutItem,
1498 IXFA_Notify* pNotify, 1502 CXFA_FFNotify* pNotify,
1499 IXFA_DocLayout* pDocLayout) { 1503 CXFA_LayoutProcessor* pDocLayout) {
1500 CXFA_LayoutItem* pNextLayoutItem; 1504 CXFA_LayoutItem* pNextLayoutItem;
1501 CXFA_LayoutItem* pCurLayoutItem = pParentLayoutItem->m_pFirstChild; 1505 CXFA_LayoutItem* pCurLayoutItem = pParentLayoutItem->m_pFirstChild;
1502 while (pCurLayoutItem) { 1506 while (pCurLayoutItem) {
1503 pNextLayoutItem = pCurLayoutItem->m_pNextSibling; 1507 pNextLayoutItem = pCurLayoutItem->m_pNextSibling;
1504 if (pCurLayoutItem->m_pFirstChild) { 1508 if (pCurLayoutItem->m_pFirstChild) {
1505 XFA_SyncRemoveLayoutItem(pCurLayoutItem, pNotify, pDocLayout); 1509 XFA_SyncRemoveLayoutItem(pCurLayoutItem, pNotify, pDocLayout);
1506 } 1510 }
1507 pNotify->OnLayoutEvent(pDocLayout, pCurLayoutItem, 1511 pNotify->OnLayoutEvent(pDocLayout, pCurLayoutItem,
1508 XFA_LAYOUTEVENT_ItemRemoving); 1512 XFA_LAYOUTEVENT_ItemRemoving);
1509 delete pCurLayoutItem; 1513 delete pCurLayoutItem;
1510 pCurLayoutItem = pNextLayoutItem; 1514 pCurLayoutItem = pNextLayoutItem;
1511 } 1515 }
1512 } 1516 }
1513 void CXFA_LayoutPageMgr::SaveLayoutItem(CXFA_LayoutItem* pParentLayoutItem) { 1517 void CXFA_LayoutPageMgr::SaveLayoutItem(CXFA_LayoutItem* pParentLayoutItem) {
1514 CXFA_LayoutItem* pNextLayoutItem; 1518 CXFA_LayoutItem* pNextLayoutItem;
1515 CXFA_LayoutItem* pCurLayoutItem = pParentLayoutItem->m_pFirstChild; 1519 CXFA_LayoutItem* pCurLayoutItem = pParentLayoutItem->m_pFirstChild;
1516 while (pCurLayoutItem) { 1520 while (pCurLayoutItem) {
1517 pNextLayoutItem = pCurLayoutItem->m_pNextSibling; 1521 pNextLayoutItem = pCurLayoutItem->m_pNextSibling;
1518 if (pCurLayoutItem->IsContentLayoutItem()) { 1522 if (pCurLayoutItem->IsContentLayoutItem()) {
1519 uint32_t dwFlag = pCurLayoutItem->m_pFormNode->GetFlag(); 1523 uint32_t dwFlag = pCurLayoutItem->m_pFormNode->GetFlag();
1520 if (dwFlag & (XFA_NODEFLAG_HasRemoved)) { 1524 if (dwFlag & (XFA_NODEFLAG_HasRemoved)) {
1521 IXFA_Notify* pNotify = 1525 CXFA_FFNotify* pNotify =
1522 m_pTemplatePageSetRoot->GetDocument()->GetParser()->GetNotify(); 1526 m_pTemplatePageSetRoot->GetDocument()->GetParser()->GetNotify();
1523 IXFA_DocLayout* pDocLayout = 1527 CXFA_LayoutProcessor* pDocLayout =
1524 m_pTemplatePageSetRoot->GetDocument()->GetDocLayout(); 1528 m_pTemplatePageSetRoot->GetDocument()->GetDocLayout();
1525 if (pCurLayoutItem->m_pFirstChild) { 1529 if (pCurLayoutItem->m_pFirstChild) {
1526 XFA_SyncRemoveLayoutItem(pCurLayoutItem, pNotify, pDocLayout); 1530 XFA_SyncRemoveLayoutItem(pCurLayoutItem, pNotify, pDocLayout);
1527 } 1531 }
1528 pNotify->OnLayoutEvent(pDocLayout, pCurLayoutItem, 1532 pNotify->OnLayoutEvent(pDocLayout, pCurLayoutItem,
1529 XFA_LAYOUTEVENT_ItemRemoving); 1533 XFA_LAYOUTEVENT_ItemRemoving);
1530 delete pCurLayoutItem; 1534 delete pCurLayoutItem;
1531 pCurLayoutItem = pNextLayoutItem; 1535 pCurLayoutItem = pNextLayoutItem;
1532 continue; 1536 continue;
1533 } 1537 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1571 } 1575 }
1572 return NULL; 1576 return NULL;
1573 } else if (pCurNode->GetClassID() == XFA_ELEMENT_Overflow) { 1577 } else if (pCurNode->GetClassID() == XFA_ELEMENT_Overflow) {
1574 return pCurNode; 1578 return pCurNode;
1575 } 1579 }
1576 } 1580 }
1577 return NULL; 1581 return NULL;
1578 } 1582 }
1579 void CXFA_LayoutPageMgr::MergePageSetContents() { 1583 void CXFA_LayoutPageMgr::MergePageSetContents() {
1580 CXFA_Document* pDocument = m_pTemplatePageSetRoot->GetDocument(); 1584 CXFA_Document* pDocument = m_pTemplatePageSetRoot->GetDocument();
1581 IXFA_Notify* pNotify = pDocument->GetParser()->GetNotify(); 1585 CXFA_FFNotify* pNotify = pDocument->GetParser()->GetNotify();
1582 IXFA_DocLayout* pDocLayout = pDocument->GetDocLayout(); 1586 CXFA_LayoutProcessor* pDocLayout = pDocument->GetDocLayout();
1583 CXFA_ContainerLayoutItem* pRootLayout = GetRootLayoutItem(); 1587 CXFA_ContainerLayoutItem* pRootLayout = GetRootLayoutItem();
1584 { 1588 {
1585 for (int32_t iIndex = 0; iIndex < pDocument->m_pPendingPageSet.GetSize(); 1589 for (int32_t iIndex = 0; iIndex < pDocument->m_pPendingPageSet.GetSize();
1586 iIndex++) { 1590 iIndex++) {
1587 CXFA_NodeIteratorTemplate<CXFA_Node, CXFA_TraverseStrategy_XFANode> 1591 CXFA_NodeIteratorTemplate<CXFA_Node, CXFA_TraverseStrategy_XFANode>
1588 sIterator(pDocument->m_pPendingPageSet.GetAt(iIndex)); 1592 sIterator(pDocument->m_pPendingPageSet.GetAt(iIndex));
1589 for (CXFA_Node* pNode = sIterator.GetCurrent(); pNode; 1593 for (CXFA_Node* pNode = sIterator.GetCurrent(); pNode;
1590 pNode = sIterator.MoveToNext()) { 1594 pNode = sIterator.MoveToNext()) {
1591 if (pNode->IsContainerNode()) { 1595 if (pNode->IsContainerNode()) {
1592 CXFA_Node* pBindNode = pNode->GetBindData(); 1596 CXFA_Node* pBindNode = pNode->GetBindData();
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
1783 case XFA_ELEMENT_PageArea: 1787 case XFA_ELEMENT_PageArea:
1784 m_pLayoutProcessor->GetRootRootItemLayoutProcessor() 1788 m_pLayoutProcessor->GetRootRootItemLayoutProcessor()
1785 ->DoLayoutPageArea(pContainerItem); 1789 ->DoLayoutPageArea(pContainerItem);
1786 break; 1790 break;
1787 default: 1791 default:
1788 break; 1792 break;
1789 } 1793 }
1790 } 1794 }
1791 } 1795 }
1792 } 1796 }
1793 void XFA_SyncContainer(IXFA_Notify* pNotify, 1797 void XFA_SyncContainer(CXFA_FFNotify* pNotify,
1794 IXFA_DocLayout* pDocLayout, 1798 CXFA_LayoutProcessor* pDocLayout,
1795 CXFA_LayoutItem* pContainerItem, 1799 CXFA_LayoutItem* pContainerItem,
1796 uint32_t dwRelevant, 1800 uint32_t dwRelevant,
1797 FX_BOOL bVisible, 1801 FX_BOOL bVisible,
1798 int32_t nPageIndex) { 1802 int32_t nPageIndex) {
1799 FX_BOOL bVisibleItem = FALSE; 1803 FX_BOOL bVisibleItem = FALSE;
1800 uint32_t dwStatus = 0; 1804 uint32_t dwStatus = 0;
1801 uint32_t dwRelevantContainer = 0; 1805 uint32_t dwRelevantContainer = 0;
1802 if (bVisible) { 1806 if (bVisible) {
1803 XFA_ATTRIBUTEENUM eAttributeValue = 1807 XFA_ATTRIBUTEENUM eAttributeValue =
1804 pContainerItem->m_pFormNode->GetEnum(XFA_ATTRIBUTE_Presence); 1808 pContainerItem->m_pFormNode->GetEnum(XFA_ATTRIBUTE_Presence);
(...skipping 13 matching lines...) Expand all
1818 pChild = pChild->m_pNextSibling) { 1822 pChild = pChild->m_pNextSibling) {
1819 if (pChild->IsContentLayoutItem()) { 1823 if (pChild->IsContentLayoutItem()) {
1820 XFA_SyncContainer(pNotify, pDocLayout, pChild, dwRelevantContainer, 1824 XFA_SyncContainer(pNotify, pDocLayout, pChild, dwRelevantContainer,
1821 bVisibleItem, nPageIndex); 1825 bVisibleItem, nPageIndex);
1822 } 1826 }
1823 } 1827 }
1824 } 1828 }
1825 void CXFA_LayoutPageMgr::SyncLayoutData() { 1829 void CXFA_LayoutPageMgr::SyncLayoutData() {
1826 MergePageSetContents(); 1830 MergePageSetContents();
1827 LayoutPageSetContents(); 1831 LayoutPageSetContents();
1828 IXFA_Notify* pNotify = 1832 CXFA_FFNotify* pNotify =
1829 m_pTemplatePageSetRoot->GetDocument()->GetParser()->GetNotify(); 1833 m_pTemplatePageSetRoot->GetDocument()->GetParser()->GetNotify();
1830 int32_t nPageIdx = -1; 1834 int32_t nPageIdx = -1;
1831 CXFA_ContainerLayoutItem* pRootLayoutItem = GetRootLayoutItem(); 1835 CXFA_ContainerLayoutItem* pRootLayoutItem = GetRootLayoutItem();
1832 for (; pRootLayoutItem; 1836 for (; pRootLayoutItem;
1833 pRootLayoutItem = 1837 pRootLayoutItem =
1834 (CXFA_ContainerLayoutItem*)pRootLayoutItem->m_pNextSibling) { 1838 (CXFA_ContainerLayoutItem*)pRootLayoutItem->m_pNextSibling) {
1835 CXFA_NodeIteratorTemplate< 1839 CXFA_NodeIteratorTemplate<
1836 CXFA_ContainerLayoutItem, 1840 CXFA_ContainerLayoutItem,
1837 CXFA_TraverseStrategy_ContentAreaContainerLayoutItem> 1841 CXFA_TraverseStrategy_ContentAreaContainerLayoutItem>
1838 iteratorParent(pRootLayoutItem); 1842 iteratorParent(pRootLayoutItem);
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
1922 } 1926 }
1923 pRootLayoutItem = m_pPageSetLayoutItemRoot; 1927 pRootLayoutItem = m_pPageSetLayoutItemRoot;
1924 CXFA_ContainerLayoutItem* pNextLayout = NULL; 1928 CXFA_ContainerLayoutItem* pNextLayout = NULL;
1925 for (; pRootLayoutItem; pRootLayoutItem = pNextLayout) { 1929 for (; pRootLayoutItem; pRootLayoutItem = pNextLayout) {
1926 pNextLayout = (CXFA_ContainerLayoutItem*)pRootLayoutItem->m_pNextSibling; 1930 pNextLayout = (CXFA_ContainerLayoutItem*)pRootLayoutItem->m_pNextSibling;
1927 SaveLayoutItem(pRootLayoutItem); 1931 SaveLayoutItem(pRootLayoutItem);
1928 delete pRootLayoutItem; 1932 delete pRootLayoutItem;
1929 } 1933 }
1930 m_pPageSetLayoutItemRoot = NULL; 1934 m_pPageSetLayoutItemRoot = NULL;
1931 } 1935 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698