1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 // MARKER(update_precomp.py): autogen include statement, do not remove 25 #include "precompiled_sw.hxx" 26 27 28 #include <viewsh.hxx> 29 #include "swfntcch.hxx" 30 #include "fmtcol.hxx" 31 #include "swfont.hxx" 32 33 // aus atrstck.cxx 34 extern const sal_uInt8 StackPos[]; 35 36 // globale Variablen, werden in SwFntCch.Hxx bekanntgegeben 37 // Der FontCache wird in TxtInit.Cxx _TXTINIT erzeugt und in _TXTEXIT geloescht 38 SwFontCache *pSwFontCache = NULL; 39 40 /************************************************************************* 41 |* 42 |* SwFontObj::SwFontObj(), ~SwFontObj() 43 |* 44 |* Ersterstellung AMA 25. Jun. 95 45 |* Letzte Aenderung AMA 25. Jun. 95 46 |* 47 |*************************************************************************/ 48 49 SwFontObj::SwFontObj( const void *pOwn, ViewShell *pSh ) : 50 SwCacheObj( (void*)pOwn ), 51 aSwFont( &((SwTxtFmtColl *)pOwn)->GetAttrSet(), pSh ? pSh->getIDocumentSettingAccess() : 0 ) 52 { 53 aSwFont.GoMagic( pSh, aSwFont.GetActual() ); 54 const SwAttrSet& rAttrSet = ((SwTxtFmtColl *)pOwn)->GetAttrSet(); 55 for (sal_uInt16 i = RES_CHRATR_BEGIN; i < RES_CHRATR_END; i++) 56 pDefaultArray[ StackPos[ i ] ] = &rAttrSet.Get( i, sal_True ); 57 } 58 59 SwFontObj::~SwFontObj() 60 { 61 } 62 63 /************************************************************************* 64 |* 65 |* SwFontAccess::SwFontAccess() 66 |* 67 |* Ersterstellung AMA 25. Jun. 95 68 |* Letzte Aenderung AMA 25. Jun. 95 69 |* 70 |*************************************************************************/ 71 72 SwFontAccess::SwFontAccess( const void *pOwn, ViewShell *pSh ) : 73 SwCacheAccess( *pSwFontCache, pOwn, 74 ((SwTxtFmtColl*)pOwn)->IsInSwFntCache() ), 75 pShell( pSh ) 76 { 77 } 78 79 SwFontObj *SwFontAccess::Get( ) 80 { 81 return (SwFontObj *) SwCacheAccess::Get( ); 82 } 83 84 SwCacheObj *SwFontAccess::NewObj( ) 85 { 86 ((SwTxtFmtColl*)pOwner)->SetInSwFntCache( sal_True ); 87 return new SwFontObj( pOwner, pShell ); 88 } 89 90 91