summaryrefslogtreecommitdiff
path: root/sw/source/core/txtnode/swfntcch.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/core/txtnode/swfntcch.cxx')
-rw-r--r--sw/source/core/txtnode/swfntcch.cxx94
1 files changed, 94 insertions, 0 deletions
diff --git a/sw/source/core/txtnode/swfntcch.cxx b/sw/source/core/txtnode/swfntcch.cxx
new file mode 100644
index 000000000000..202e6d48f763
--- /dev/null
+++ b/sw/source/core/txtnode/swfntcch.cxx
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_sw.hxx"
+
+
+#include <viewsh.hxx>
+#include "swfntcch.hxx"
+#include "fmtcol.hxx"
+#include "swfont.hxx"
+
+// aus atrstck.cxx
+extern const BYTE StackPos[];
+
+// globale Variablen, werden in SwFntCch.Hxx bekanntgegeben
+// Der FontCache wird in TxtInit.Cxx _TXTINIT erzeugt und in _TXTEXIT geloescht
+SwFontCache *pSwFontCache = NULL;
+
+/*************************************************************************
+|*
+|* SwFontObj::SwFontObj(), ~SwFontObj()
+|*
+|* Ersterstellung AMA 25. Jun. 95
+|* Letzte Aenderung AMA 25. Jun. 95
+|*
+|*************************************************************************/
+
+SwFontObj::SwFontObj( const void *pOwn, ViewShell *pSh ) :
+ SwCacheObj( (void*)pOwn ),
+ aSwFont( &((SwTxtFmtColl *)pOwn)->GetAttrSet(), pSh ? pSh->getIDocumentSettingAccess() : 0 )
+{
+ aSwFont.GoMagic( pSh, aSwFont.GetActual() );
+ const SwAttrSet& rAttrSet = ((SwTxtFmtColl *)pOwn)->GetAttrSet();
+ for (USHORT i = RES_CHRATR_BEGIN; i < RES_CHRATR_END; i++)
+ pDefaultArray[ StackPos[ i ] ] = &rAttrSet.Get( i, TRUE );
+}
+
+SwFontObj::~SwFontObj()
+{
+}
+
+/*************************************************************************
+|*
+|* SwFontAccess::SwFontAccess()
+|*
+|* Ersterstellung AMA 25. Jun. 95
+|* Letzte Aenderung AMA 25. Jun. 95
+|*
+|*************************************************************************/
+
+SwFontAccess::SwFontAccess( const void *pOwn, ViewShell *pSh ) :
+ SwCacheAccess( *pSwFontCache, pOwn,
+ ((SwTxtFmtColl*)pOwn)->IsInSwFntCache() ),
+ pShell( pSh )
+{
+}
+
+SwFontObj *SwFontAccess::Get( )
+{
+ return (SwFontObj *) SwCacheAccess::Get( );
+}
+
+SwCacheObj *SwFontAccess::NewObj( )
+{
+ ((SwTxtFmtColl*)pOwner)->SetInSwFntCache( TRUE );
+ return new SwFontObj( pOwner, pShell );
+}
+
+