LibreOffice Module lotuswordpro (master) 1
lwpfoundry.cxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*************************************************************************
3 *
4 * The Contents of this file are made available subject to the terms of
5 * either of the following licenses
6 *
7 * - GNU Lesser General Public License Version 2.1
8 * - Sun Industry Standards Source License Version 1.1
9 *
10 * Sun Microsystems Inc., October, 2000
11 *
12 * GNU Lesser General Public License Version 2.1
13 * =============================================
14 * Copyright 2000 by Sun Microsystems, Inc.
15 * 901 San Antonio Road, Palo Alto, CA 94303, USA
16 *
17 * This library is free software; you can redistribute it and/or
18 * modify it under the terms of the GNU Lesser General Public
19 * License version 2.1, as published by the Free Software Foundation.
20 *
21 * This library is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24 * Lesser General Public License for more details.
25 *
26 * You should have received a copy of the GNU Lesser General Public
27 * License along with this library; if not, write to the Free Software
28 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
29 * MA 02111-1307 USA
30 *
31 *
32 * Sun Industry Standards Source License Version 1.1
33 * =================================================
34 * The contents of this file are subject to the Sun Industry Standards
35 * Source License Version 1.1 (the "License"); You may not use this file
36 * except in compliance with the License. You may obtain a copy of the
37 * License at http://www.openoffice.org/license.html.
38 *
39 * Software provided under this License is provided on an "AS IS" basis,
40 * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
41 * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
42 * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
43 * See the License for the specific provisions governing your rights and
44 * obligations concerning the Software.
45 *
46 * The Initial Developer of the Original Code is: IBM Corporation
47 *
48 * Copyright: 2008 by IBM Corporation
49 *
50 * All Rights Reserved.
51 *
52 * Contributor(s): _______________________________________
53 *
54 *
55 ************************************************************************/
56/*************************************************************************
57 * @file
58 * For LWP filter architecture prototype
59 ************************************************************************/
60
61#include <lwpfoundry.hxx>
62#include <lwpfilehdr.hxx>
63#include "lwpdoc.hxx"
64#include "lwpmarker.hxx"
65#include "lwpholder.hxx"
66#include "lwpbulletstylemgr.hxx"
67#include "lwpcontent.hxx"
68#include "lwpvpointer.hxx"
69#include "lwpsection.hxx"
70#include "lwpcharacterstyle.hxx"
71#include <lwpglobalmgr.hxx>
72#include <lwpobjtags.hxx>
74
75#include <osl/diagnose.h>
76
78 : m_pDoc(pDoc)
79 , m_bRegisteredAll(false)
80{
81 Read(pStrm);
83 m_xBulletStyleMgr->SetFoundry(this);
84}
85
87{
88}
89
91{
92 if (!m_pDoc->IsChildDoc())
93 {
95 }
96 m_ObjMgr.Read(pStrm);
97
100
101 m_NumMgr.Read(pStrm);
102 m_BulMgr.Read(pStrm);
103
104 m_SectionList.Read(pStrm);
105 m_Layout.ReadIndexed(pStrm);
106
107 ReadStyles(pStrm);
108
113
117
120
121 m_ContentMgr.Read(pStrm);
122 m_FontMgr.Read(pStrm);
123
125 {
126 m_xPieceMgr.reset(new LwpPieceManager);
127 m_xPieceMgr->Read(pStrm);
128 }
129
130 if( LwpFileHeader::m_nFileRevision >= 0x000B)
131 {
133 }
134 if( LwpFileHeader::m_nFileRevision >= 0x000F)
135 {
138 }
139 pStrm->SkipExtra();
140
141 m_xStyleMgr.reset(new LwpStyleManager);
142 m_xStyleMgr->SetFoundry(this);
143}
144
146{
152
158
163
164}
165
167{
169 {
170 OSL_FAIL("recursive LwpFoundry::RegisterAllLayouts!");
171 return;
172 }
173
174 m_bRegisteredAll = true;
175
176 //Register CellStyle
178 if( pStyle.is() )
179 {
180 pStyle->SetFoundry(this);
181 pStyle->DoRegisterStyle();
182 }
183
184 //register content page layout list: Layout
185 pStyle = m_Layout.obj();
186 if( pStyle.is() )
187 {
188 pStyle->SetFoundry(this);
189 pStyle->DoRegisterStyle();
190 }
191
192 //Register page style layout list: PageStyle, such as "Default Page"
193 pStyle = m_PageStyle.obj();
194 if( pStyle.is() )
195 {
196 pStyle->SetFoundry(this);
197 pStyle->DoRegisterStyle();
198 }
199
200 //Register FrameStyle
201 pStyle = m_FrameStyle.obj();
202 if( pStyle.is() )
203 {
204 pStyle->SetFoundry(this);
205 pStyle->DoRegisterStyle();
206 }
207
208}
209
211{
212 LwpDLVListHeadHolder* pHeadHolder= dynamic_cast
214
215 if (!pHeadHolder)
216 return nullptr;
217
218 LwpObjectID* pObjID = &pHeadHolder->GetHeadID();
219 LwpBookMark* pBookMark = dynamic_cast<LwpBookMark*>(pObjID->obj().get());
220
221 while (pBookMark)
222 {
223 if (pBookMark->IsRightMarker(objMarker))
224 return pBookMark;
225 pObjID = &pBookMark->GetNext();
226 pBookMark = dynamic_cast<LwpBookMark*>(pObjID->obj().get());
227 }
228 return nullptr;
229}
230
236{
237 return GetContentManager().EnumContents(pContent);
238}
239
245{
246 return static_cast<LwpSection*>(m_SectionList.Enumerate(pSection));
247}
248
254{
255 LwpVersionedPointer * pPointer = dynamic_cast<LwpVersionedPointer *>(m_DefaultTextStyle.obj().get());
256 if (!pPointer)
257 return nullptr;
258
259 return &pPointer->GetPointer();
260}
261
267{
268 LwpDLVListHeadHolder* pParaStyleHolder = dynamic_cast<LwpDLVListHeadHolder*>(GetTextStyleHead().obj().get());
269 if(pParaStyleHolder)
270 {
271 LwpTextStyle* pParaStyle = dynamic_cast<LwpTextStyle*> (pParaStyleHolder->GetHeadID().obj().get());
272 while(pParaStyle)
273 {
274 OUString strName = pParaStyle->GetName().str();
275 if(strName == name)
276 return &pParaStyle->GetObjectID();
277 pParaStyle = dynamic_cast<LwpTextStyle*>(pParaStyle->GetNext().obj().get());
278 }
279 }
280
281 return nullptr;
282}
283
288OUString LwpFoundry::FindActualStyleName(const OUString& name)
289{
291 if(pID)
292 {
293 IXFStyle* pStyle = GetStyleManager()->GetStyle(*pID);
294 if(pStyle)
295 {
296 return pStyle->GetStyleName();
297 }
298 }
299
300 return name;
301}
302
304{
305 // TODO: skip the data for prototype
306 Skip(pStrm);
307}
308
310{
311 pStrm->QuickReaduInt32();
312 sal_uInt16 Count = pStrm->QuickReaduInt16();
313
314 while(Count--)
315 {
316 sal_uInt32 tag = pStrm->QuickReaduInt32();
317 switch(tag)
318 {
319 case TAG_USER_VERSION:
320 // TODO: skip the CUserVersionControl
321 pStrm->SeekRel(pStrm->QuickReaduInt16());
322 break;
323
324 default:
325 pStrm->SeekRel(pStrm->QuickReaduInt16());
326 pStrm->SkipExtra();
327 break;
328 }
329 }
330 pStrm->SkipExtra();
331}
332
334{
335
336 LwpObjectID dummy;
337 dummy.Read(pStrm);
338 // TODO: judge if we need to set the cDelta by the dummy id
339
340 m_Division.ReadIndexed(pStrm);
341 pStrm->SkipExtra();
342}
343
345{
347 pStrm->SkipExtra();
348}
349
351{
352 m_Head.ReadIndexed(pStrm);
353 pStrm->SkipExtra();
354}
355
357{
359
360 // TODO: to judge the file revision
361
362 m_EnumHead.ReadIndexed(pStrm);
363 m_EnumTail.ReadIndexed(pStrm);
364
366
367 if( LwpFileHeader::m_nFileRevision >= 0x000B)
368 {
369 m_GrapHead.ReadIndexed(pStrm);
370 m_GrapTail.ReadIndexed(pStrm);
371 m_OleHead.ReadIndexed(pStrm);
372 m_OleTail.ReadIndexed(pStrm);
373 }
374
375 pStrm->SkipExtra();
376}
377
383{
384 if(pContent)
385 return pContent->GetNextEnumerated();
386 LwpVersionedPointer* pPointer = dynamic_cast<LwpVersionedPointer*>(m_EnumHead.obj().get());
387 return pPointer ? dynamic_cast<LwpContent*>(pPointer->GetPointer().obj().get()) : nullptr;
388}
389
391{
397
403
409
415
416 if(pStrm->CheckExtra())
417 {
421 pStrm->SkipExtra();
422 }
423}
424
426{
427 m_Head.ReadIndexed(pStrm);
428}
429
435{
436 // If Last has a next, return it.
437 if(pLast && !pLast->GetNext().IsNull())
438 return dynamic_cast<LwpOrderedObject*>(pLast->GetNext().obj().get());
439
440 LwpListList* pList = nullptr;
441 if(pLast)
442 {
443 // We're at the end of Last's list (not list's list).
444 // Start with the next active list
445 pList = dynamic_cast<LwpListList*>(pLast->GetListList().obj().get());
446 pList= GetNextActiveListList(pList);
447 }
448 else
449 {
450 // Start with the first active ListList
451 pList = GetNextActiveListList(nullptr);
452 }
453
454 if(pList)
455 {
456 return dynamic_cast<LwpOrderedObject*>(pList->GetHead().obj().get());
457 }
458
459 return nullptr;
460}
461
467{
468 LwpListList* pList = nullptr;
469 if(pLast)
470 pList = dynamic_cast<LwpListList*>(pLast->GetNext().obj().get());
471 else
472 {
473 LwpDLVListHeadHolder* pHeadHolder= dynamic_cast<LwpDLVListHeadHolder*>(m_Head.obj().get());
474 if(pHeadHolder)
475 {
476 pList = dynamic_cast<LwpListList*>(pHeadHolder->GetHeadID().obj().get());
477 }
478 }
479
480 while(pList)
481 {
482 LwpContent* pContent = dynamic_cast<LwpContent*>(pList->GetObject().obj().get());
483 if (pContent && pContent->HasNonEmbeddedLayouts() && !pContent->IsStyleContent())
484 return pList;
485 pList = dynamic_cast<LwpListList*>(pList->GetNext().obj().get());
486 }
487 return nullptr;
488}
489
491 : m_pFoundry(nullptr)
492{
493}
494
496{
497 m_StyleList.clear();
498}
499
500/*
501VO_PARASTYLE/VO_CHARACTERSTYLE call this method to add its created style to XFStyleManager
5021. Add the style to XFStyleManager, and return the <office:styles> style name
5032. Add it to LwpParaStyleMap.
504Prerequisite: pStyle has been created and all properties has been set to it.
505Return the XFStyle* added by XFStyleManager
506*/
507void LwpStyleManager::AddStyle(LwpObjectID styleObjID, std::unique_ptr<IXFStyle> pNewStyle)
508{
509 assert(pNewStyle);
510 //pStyle may change if same style is found in XFStyleManager
512 auto pStyle = pXFStyleManager->AddStyle(std::move(pNewStyle)).m_pStyle;
513 m_StyleList.emplace(styleObjID, pStyle);
514}
515
516/*
517Called by VO_PARA or other objects to get style name based on the Style object ID
5181) Get style from LwpParaStyleMap based on the LwpObjectID of VO_PARASTYLE.
519Prerequisite: VO_PARASTYLE/VO_CHARACTERSTYLE should call AddStyle first.
520Return empty string if no style found.
521*/
523{
524 LwpStyleMap::const_iterator it = m_StyleList.find(styleObjID);
525 if (it != m_StyleList.end()) {
526 return((*it).second);
527 }
528 return nullptr;
529}
530
531/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
@descr Interface for all style object.
Definition: ixfstyle.hxx:71
virtual OUString GetStyleName()=0
@descr: return the style name.
const OUString & str() const
bool IsRightMarker(LwpObjectID objMarker)
Definition: lwpmarker.cxx:337
LwpObjectID m_Head
Definition: lwpfoundry.hxx:110
void Read(LwpObjectStream *pStrm)
Definition: lwpfoundry.cxx:350
LwpObjectID m_OleHead
Definition: lwpfoundry.hxx:129
LwpObjectID m_ContentList
Definition: lwpfoundry.hxx:122
LwpObjectID m_OleTail
Definition: lwpfoundry.hxx:130
LwpContent * EnumContents(LwpContent *pContent)
@descr: Get next content
Definition: lwpfoundry.cxx:382
LwpObjectID m_OleObjCount
Definition: lwpfoundry.hxx:125
LwpObjectID m_EnumTail
Definition: lwpfoundry.hxx:124
LwpObjectID m_GrapTail
Definition: lwpfoundry.hxx:128
LwpObjectID m_EnumHead
Definition: lwpfoundry.hxx:123
void Read(LwpObjectStream *pStrm)
Definition: lwpfoundry.cxx:356
LwpObjectID m_GrapHead
Definition: lwpfoundry.hxx:127
Base class of all Lwp content objects.
Definition: lwpcontent.hxx:74
bool IsStyleContent()
Definition: lwpcontent.cxx:143
LwpContent * GetNextEnumerated()
Definition: lwpcontent.hxx:137
bool HasNonEmbeddedLayouts()
Definition: lwpcontent.cxx:129
LwpAtomHolder & GetName()
Definition: lwpdlvlist.hxx:108
VO_HEADHOLDER, LwpDLVListHeadHolder, contains an id to the head of LwpDLVList.
Definition: lwpholder.hxx:71
LwpObjectID & GetHeadID()
Definition: lwpholder.hxx:75
LwpObjectID & GetNext()
Definition: lwpdlvlist.hxx:75
Document object, represent document and division.
Definition: lwpdoc.hxx:76
bool IsChildDoc() const
Definition: lwpdoc.hxx:176
static sal_uInt16 m_nFileRevision
Definition: lwpfilehdr.hxx:77
void Read(LwpObjectStream *pStrm)
Definition: lwpfont.cxx:428
OUString FindActualStyleName(const OUString &name)
@descr: Get style name registered according the original style name
Definition: lwpfoundry.cxx:288
LwpObjectID m_MarkerHead
Definition: lwpfoundry.hxx:203
LwpObjectID m_FrameStyle
Definition: lwpfoundry.hxx:214
LwpFoundry(LwpObjectStream *pStrm, LwpDocument *pDoc)
Definition: lwpfoundry.cxx:77
LwpObjectID m_EnumLayoutHead
Definition: lwpfoundry.hxx:229
LwpObjectID & GetTextStyleHead()
Definition: lwpfoundry.hxx:251
LwpObjectID m_DftCellStyle
Definition: lwpfoundry.hxx:220
LwpObjectID m_DftFrameStyle
Definition: lwpfoundry.hxx:217
LwpObjectID m_DftFooterStyle
Definition: lwpfoundry.hxx:244
LwpContent * EnumContents(LwpContent *pContent)
@descr: Get next content
Definition: lwpfoundry.cxx:235
LwpObjectID m_EnumLayoutTail
Definition: lwpfoundry.hxx:230
LwpObjectID * GetDefaultTextStyle()
@descr: Get default text style id
Definition: lwpfoundry.cxx:253
sal_uInt32 m_nLastClickHere
Definition: lwpfoundry.hxx:233
std::unique_ptr< LwpBulletStyleMgr > m_xBulletStyleMgr
Definition: lwpfoundry.hxx:260
LwpObjectID m_DftLeftColumnStyle
Definition: lwpfoundry.hxx:222
LwpDocument * m_pDoc
Definition: lwpfoundry.hxx:199
LwpObjectID m_DftTableStyle
Definition: lwpfoundry.hxx:219
LwpBookMark * GetBookMark(LwpObjectID objMarker)
Definition: lwpfoundry.cxx:210
LwpObjectID m_TableStyle
Definition: lwpfoundry.hxx:215
LwpObjectID m_Layout
Definition: lwpfoundry.hxx:209
LwpObjectID m_DftColumnStyle
Definition: lwpfoundry.hxx:221
LwpObjectID m_DefaultTextStyle
Definition: lwpfoundry.hxx:211
LwpObjectID m_NamedObjects
Definition: lwpfoundry.hxx:232
LwpObjectID m_DftHeaderStyle
Definition: lwpfoundry.hxx:242
LwpObjectID m_DdeLinkHead
Definition: lwpfoundry.hxx:226
LwpObjectID m_FootnoteMgr
Definition: lwpfoundry.hxx:204
LwpContentManager & GetContentManager()
Definition: lwpfoundry.hxx:248
LwpOrderedObjectManager m_SectionList
Definition: lwpfoundry.hxx:207
LwpObjectID m_TextStyle
Definition: lwpfoundry.hxx:210
void ReadStyles(LwpObjectStream *pStrm)
Definition: lwpfoundry.cxx:145
bool m_bRegisteredAll
Definition: lwpfoundry.hxx:200
LwpContentManager m_ContentMgr
Definition: lwpfoundry.hxx:237
LwpObjectID m_DftDropCapStyle
Definition: lwpfoundry.hxx:241
LwpObjectID m_DefaultClickStyle
Definition: lwpfoundry.hxx:212
LwpObjectID m_DftRighColumnStyle
Definition: lwpfoundry.hxx:223
LwpObjectID m_NamedOutlineSeqHead
Definition: lwpfoundry.hxx:228
LwpObjectID m_CellStyle
Definition: lwpfoundry.hxx:216
LwpSection * EnumSections(LwpSection *pSection)
@descr: Get next section
Definition: lwpfoundry.cxx:244
LwpFontManager m_FontMgr
Definition: lwpfoundry.hxx:238
LwpObjectID m_BookMarkHead
Definition: lwpfoundry.hxx:225
void Read(LwpObjectStream *pStrm)
Definition: lwpfoundry.cxx:90
LwpObjectID m_DftPageStyle
Definition: lwpfoundry.hxx:218
LwpObjectID m_PageStyle
Definition: lwpfoundry.hxx:213
LwpObjectManager m_ObjMgr
Definition: lwpfoundry.hxx:202
void RegisterAllLayouts()
Definition: lwpfoundry.cxx:166
std::unique_ptr< LwpStyleManager > m_xStyleMgr
Definition: lwpfoundry.hxx:258
LwpObjectID m_DirtBagHead
Definition: lwpfoundry.hxx:227
LwpObjectID m_SmartTextMgr
Definition: lwpfoundry.hxx:235
LwpStyleManager * GetStyleManager()
Definition: lwpfoundry.hxx:262
LwpObjectID * FindParaStyleByName(std::u16string_view name)
@descr: Get paragraph style object id according to its style name
Definition: lwpfoundry.cxx:266
LwpBulletManager m_BulMgr
Definition: lwpfoundry.hxx:206
LwpNumberManager m_NumMgr
Definition: lwpfoundry.hxx:205
std::unique_ptr< LwpPieceManager > m_xPieceMgr
Definition: lwpfoundry.hxx:239
XFStyleManager * GetXFStyleManager()
static LwpGlobalMgr * GetInstance(LwpSvStream *pSvStream=nullptr)
VO_LISTLIST object in .lwp file.
Definition: lwpholder.hxx:122
LwpObjectID & GetHead()
Definition: lwpholder.hxx:126
LwpObjectID m_TableRange
Definition: lwpfoundry.hxx:99
void Read(LwpObjectStream *pStrm)
Definition: lwpfoundry.cxx:344
LwpObjectID & GetObject()
Definition: lwpholder.hxx:108
object id class
Definition: lwpobjid.hxx:79
void Read(LwpSvStream *pStrm)
@descr Read object id with format: low(4bytes)+high(2bytes) from stream for LWP7 record
Definition: lwpobjid.cxx:77
void ReadIndexed(LwpSvStream *pStrm)
@descr Read object id with indexed format from stream if index>0, lowid is get from time table per th...
Definition: lwpobjid.cxx:96
rtl::Reference< LwpObject > obj(VO_TYPE tag=VO_INVALID) const
@descr get object from object factory per the object id
Definition: lwpobjid.cxx:183
bool IsNull() const
Definition: lwpobjid.hxx:110
LwpObjectID m_Division
Definition: lwpfoundry.hxx:89
void Read(LwpObjectStream *pStrm)
Definition: lwpfoundry.cxx:333
stream class for LwpObject body data provide stream like interface to read object data
Definition: lwpobjstrm.hxx:77
sal_uInt16 QuickReaduInt16(bool *pFailure=nullptr)
@descr Quick read sal_uInt32
Definition: lwpobjstrm.cxx:200
sal_uInt16 CheckExtra()
@descr check if extra bytes
Definition: lwpobjstrm.cxx:267
void SkipExtra()
@descr skip extra bytes
Definition: lwpobjstrm.cxx:258
void SeekRel(sal_uInt16 pos)
@descr SeekRel pos in object stream/buffer
Definition: lwpobjstrm.cxx:160
sal_uInt32 QuickReaduInt32(bool *pFailure=nullptr)
@descr Quick read sal_uInt32
Definition: lwpobjstrm.cxx:189
LwpObjectID & GetObjectID()
Definition: lwpobj.hxx:138
LwpListList * GetNextActiveListList(LwpListList *pLast)
@descr: Get next listlist object, copy from lwp source code
Definition: lwpfoundry.cxx:466
void Read(LwpObjectStream *pStrm)
Definition: lwpfoundry.cxx:425
LwpOrderedObject * Enumerate(LwpOrderedObject *pLast)
@descr: Get next orderedobject, copy from lwp source code
Definition: lwpfoundry.cxx:434
LwpObjectID & GetListList()
Definition: lwpsection.hxx:76
LwpObjectID m_IndentPieceList
Definition: lwpfoundry.hxx:157
LwpObjectID m_ExternalBorderStuffPieceList
Definition: lwpfoundry.hxx:167
LwpObjectID m_NumericsPieceList
Definition: lwpfoundry.hxx:154
LwpObjectID m_MarginsPieceList
Definition: lwpfoundry.hxx:147
LwpObjectID m_ShadowPieceList
Definition: lwpfoundry.hxx:153
LwpObjectID m_GutterStuffPieceList
Definition: lwpfoundry.hxx:150
LwpObjectID m_ParaBackgroundPieceList
Definition: lwpfoundry.hxx:166
LwpObjectID m_AlignmentPieceList
Definition: lwpfoundry.hxx:156
LwpObjectID m_ScalePieceList
Definition: lwpfoundry.hxx:146
LwpObjectID m_BackgroundStuffPieceList
Definition: lwpfoundry.hxx:151
LwpObjectID m_NumberingPieceList
Definition: lwpfoundry.hxx:161
LwpObjectID m_BreaksPieceList
Definition: lwpfoundry.hxx:160
LwpObjectID m_AmikakePieceList
Definition: lwpfoundry.hxx:164
LwpObjectID m_SpacingPieceList
Definition: lwpfoundry.hxx:159
LwpObjectID m_TabPieceList
Definition: lwpfoundry.hxx:162
LwpObjectID m_ColumnsPieceList
Definition: lwpfoundry.hxx:148
LwpObjectID m_BorderStuffPieceList
Definition: lwpfoundry.hxx:149
LwpObjectID m_CharacterBorderPieceList
Definition: lwpfoundry.hxx:163
LwpObjectID m_ParaBorderPieceList
Definition: lwpfoundry.hxx:158
LwpObjectID m_JoinStuffPieceList
Definition: lwpfoundry.hxx:152
LwpObjectID m_RelativityPieceList
Definition: lwpfoundry.hxx:155
void Read(LwpObjectStream *pStrm)
Definition: lwpfoundry.cxx:390
LwpObjectID m_GeometryPieceList
Definition: lwpfoundry.hxx:145
LwpObjectID m_ExternalJoinStuffPieceList
Definition: lwpfoundry.hxx:168
IXFStyle * GetStyle(const LwpObjectID &styleObjID)
Definition: lwpfoundry.cxx:522
void AddStyle(LwpObjectID styleObjID, std::unique_ptr< IXFStyle > pStyle)
Definition: lwpfoundry.cxx:507
LwpStyleMap m_StyleList
Definition: lwpfoundry.hxx:296
static void Read(LwpObjectStream *pStrm)
Definition: lwpfoundry.cxx:303
static void Skip(LwpObjectStream *pStrm)
Definition: lwpfoundry.cxx:309
LwpObjectID & GetPointer()
Definition: lwpvpointer.hxx:74
Style manager for the filter.
IXFStyleRet AddStyle(std::unique_ptr< IXFStyle > pStyle)
const char * name
#define TAG_USER_VERSION
Definition: lwpobjtags.hxx:191
IXFStyle * m_pStyle
Definition: xfstylecont.hxx:71
Count