1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 #ifndef _TXTCACHE_HXX 28 #define _TXTCACHE_HXX 29 30 #include <sal/types.h> 31 #include <tools/mempool.hxx> 32 #include "swcache.hxx" 33 34 class SwParaPortion; 35 class SwTxtFrm; 36 37 class SwTxtLine : public SwCacheObj 38 { 39 SwParaPortion *pLine; 40 41 public: 42 DECL_FIXEDMEMPOOL_NEWDEL(SwTxtLine) 43 44 SwTxtLine( SwTxtFrm *pFrm, SwParaPortion *pNew = 0 ); 45 virtual ~SwTxtLine(); 46 47 inline SwParaPortion *GetPara() { return pLine; } 48 inline const SwParaPortion *GetPara() const { return pLine; } 49 50 inline void SetPara( SwParaPortion *pNew ) { pLine = pNew; } 51 }; 52 53 54 class SwTxtLineAccess : public SwCacheAccess 55 { 56 57 protected: 58 virtual SwCacheObj *NewObj(); 59 60 public: 61 SwTxtLineAccess( const SwTxtFrm *pOwner ); 62 63 SwParaPortion *GetPara(); 64 65 inline SwTxtLine &GetTxtLine(); 66 67 virtual sal_Bool IsAvailable() const; 68 }; 69 70 71 inline SwTxtLine &SwTxtLineAccess::GetTxtLine() 72 { 73 return *((SwTxtLine*)Get()); 74 } 75 76 #endif 77