• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

fb_ColumnBreaker.h

Go to the documentation of this file.
00001 /* AbiWord
00002  * Copyright (C) 1998 AbiSource, Inc.
00003  *
00004  * This program is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU General Public License
00006  * as published by the Free Software Foundation; either version 2
00007  * of the License, or (at your option) any later version.
00008  *
00009  * This program is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU General Public License
00015  * along with this program; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
00017  * 02110-1301 USA.
00018  */
00019 
00020 
00021 
00022 #ifndef COLUMNBREAKER_H
00023 #define COLUMNBREAKER_H
00024 
00025 #include "ut_types.h"
00026 
00027 
00028 class fp_Container;
00029 class fl_DocSectionLayout;
00030 class fp_Page;
00031 class fl_BlockLayout;
00032 
00033 class ABI_EXPORT fb_ColumnBreaker
00034 {
00035 public:
00036     fb_ColumnBreaker(fl_DocSectionLayout * pDSL);
00037     virtual ~fb_ColumnBreaker(void) {}
00038     UT_sint32 breakSection(void);
00039     void   setStartPage(fp_Page * pPage);
00040     fp_Page * getStartPage(void) { return m_pStartPage;}
00041     fp_Page * needsRebreak(void);
00042 private:
00043     fp_Page *               _getLastValidPage(void);
00044     UT_sint32               _breakSection(fp_Page * pStartPage);
00045     bool                    _checkVBreakableContainer(fp_Container * pContainer, UT_sint32 iAvail);
00046 
00047     fp_Container * _getNext(fp_Container * pCon);
00048     bool           _displayAnnotations(void);
00049     fp_Page *             m_pStartPage;
00050     bool                  m_bStartFromStart;
00051     bool                  m_bReBreak;
00052     fl_DocSectionLayout * m_pDocSec;
00053     fl_BlockLayout *      m_pCurrentBlock;
00054 };
00055 
00056 #endif /* COLUMNBREAKER_H */

Generated on Sun Feb 14 2021 for AbiWord by  doxygen 1.7.1