~ubuntu-branches/ubuntu/saucy/libwpd/saucy

« back to all changes in this revision

Viewing changes to src/lib/WP1ContentListener.cpp

  • Committer: Package Import Robot
  • Author(s): Rene Engelhard
  • Date: 2011-11-29 23:31:13 UTC
  • mfrom: (1.2.5)
  • Revision ID: package-import@ubuntu.com-20111129233113-xdtwca9h0y6wdxst
Tags: 0.9.4-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
1
2
/* libwpd
2
3
 * Copyright (C) 2003 William Lachance (wrlach@gmail.com)
3
4
 * Copyright (C) 2003-2004 Marc Maurer (uwog@uwog.net)
54
55
        m_ps->m_fontSize = 12.0;
55
56
}
56
57
 
57
 
WP1ContentListener::~WP1ContentListener() 
 
58
WP1ContentListener::~WP1ContentListener()
58
59
{
59
60
        delete m_parseState;
60
61
}
68
69
 
69
70
                if (!m_ps->m_isSpanOpened)
70
71
                        _openSpan();
71
 
                for (;m_parseState->m_numDeferredTabs > 0; m_parseState->m_numDeferredTabs--)
 
72
                for (; m_parseState->m_numDeferredTabs > 0; m_parseState->m_numDeferredTabs--)
72
73
                {
73
74
                        m_documentInterface->insertTab();
74
75
                }
82
83
        {
83
84
                if (!m_ps->m_isSpanOpened)
84
85
                        _openSpan();
85
 
                for (;m_parseState->m_numDeferredTabs > 0; m_parseState->m_numDeferredTabs--)
 
86
                for (; m_parseState->m_numDeferredTabs > 0; m_parseState->m_numDeferredTabs--)
86
87
                {
87
88
                        m_documentInterface->insertTab();
88
89
                }
117
118
        {
118
119
                if (!m_ps->m_isParagraphOpened && !m_ps->m_isListElementOpened)
119
120
                        _openSpan();
120
 
                for (;m_parseState->m_numDeferredTabs > 0; m_parseState->m_numDeferredTabs--)
 
121
                for (; m_parseState->m_numDeferredTabs > 0; m_parseState->m_numDeferredTabs--)
121
122
                {
122
123
                        m_documentInterface->insertTab();
123
124
                }
216
217
        if (!isUndoOn())
217
218
        {
218
219
                _closeSpan();
219
 
                
 
220
 
220
221
                m_ps->m_fontSize=double(pointSize);
221
222
        }
222
223
}
226
227
        if (!isUndoOn())
227
228
        {
228
229
                _closeSpan();
229
 
                
 
230
 
230
231
                switch (id)
231
232
                {
232
233
                case 0x0002:
391
392
                        double leftMarginInch = (double)((double)leftMargin/72.0);
392
393
                        m_ps->m_leftMarginByPageMarginChange = leftMarginInch - m_ps->m_pageMarginLeft;
393
394
                        m_ps->m_paragraphMarginLeft = m_ps->m_leftMarginByPageMarginChange
394
 
                                                + m_ps->m_leftMarginByParagraphMarginChange
395
 
                                                + m_ps->m_leftMarginByTabs;
 
395
                                                      + m_ps->m_leftMarginByParagraphMarginChange
 
396
                                                      + m_ps->m_leftMarginByTabs;
396
397
 
397
398
                }
398
399
                if (rightMargin)
400
401
                        double rightMarginInch = (double)((double)rightMargin/72.0);
401
402
                        m_ps->m_rightMarginByPageMarginChange = rightMarginInch - m_ps->m_pageMarginRight;
402
403
                        m_ps->m_paragraphMarginRight = m_ps->m_rightMarginByPageMarginChange
403
 
                                                + m_ps->m_rightMarginByParagraphMarginChange
404
 
                                                + m_ps->m_rightMarginByTabs;
 
404
                                                       + m_ps->m_rightMarginByParagraphMarginChange
 
405
                                                       + m_ps->m_rightMarginByTabs;
405
406
                }
406
407
                m_ps->m_listReferencePosition = m_ps->m_paragraphMarginLeft + m_ps->m_paragraphTextIndent;
407
408
        }
418
419
                        m_parseState->m_numDeferredTabs = 0;
419
420
                        m_ps->m_leftMarginByTabs += (double)((double)leftMarginOffset / 72.0);
420
421
                        m_ps->m_paragraphMarginLeft = m_ps->m_leftMarginByPageMarginChange
421
 
                                                + m_ps->m_leftMarginByParagraphMarginChange
422
 
                                                + m_ps->m_leftMarginByTabs;
 
422
                                                      + m_ps->m_leftMarginByParagraphMarginChange
 
423
                                                      + m_ps->m_leftMarginByTabs;
423
424
                }
424
425
                m_ps->m_listReferencePosition = m_ps->m_paragraphMarginLeft + m_ps->m_paragraphTextIndent;
425
426
        }
437
438
                        m_ps->m_leftMarginByTabs += (double)((double)leftRightMarginOffset / 72.0);
438
439
                        m_ps->m_rightMarginByTabs += (double)((double)leftRightMarginOffset / 72.0);
439
440
                        m_ps->m_paragraphMarginLeft = m_ps->m_leftMarginByPageMarginChange
440
 
                                                + m_ps->m_leftMarginByParagraphMarginChange
441
 
                                                + m_ps->m_leftMarginByTabs;
 
441
                                                      + m_ps->m_leftMarginByParagraphMarginChange
 
442
                                                      + m_ps->m_leftMarginByTabs;
442
443
                        m_ps->m_paragraphMarginRight = m_ps->m_rightMarginByPageMarginChange
443
 
                                                + m_ps->m_rightMarginByParagraphMarginChange
444
 
                                                + m_ps->m_rightMarginByTabs;
 
444
                                                       + m_ps->m_rightMarginByParagraphMarginChange
 
445
                                                       + m_ps->m_rightMarginByTabs;
445
446
                }
446
447
                m_ps->m_listReferencePosition = m_ps->m_paragraphMarginLeft + m_ps->m_paragraphTextIndent;
447
448
        }
457
458
                        {
458
459
                                m_ps->m_textIndentByTabs -= (double)((double)release / 72.0);
459
460
                                m_ps->m_paragraphTextIndent = m_ps->m_textIndentByParagraphIndentChange
460
 
                                        + m_ps->m_textIndentByTabs;
 
461
                                                              + m_ps->m_textIndentByTabs;
461
462
                        }
462
463
                        else
463
464
                                m_parseState->m_numDeferredTabs--;
491
492
void WP1ContentListener::headerFooterGroup(uint8_t /* headerFooterDefinition */, WP1SubDocument *subDocument)
492
493
{
493
494
        if (subDocument)
494
 
                m_subDocuments.push_back(subDocument);                  
495
 
}       
 
495
                m_subDocuments.push_back(subDocument);
 
496
}
496
497
 
497
498
void WP1ContentListener::setTabs(const std::vector<WPXTabStop> &tabStops)
498
499
{
543
544
                propList.insert("svg:height", (double)((double)height/72.0));
544
545
                propList.insert("text:anchor-type", "as-char");
545
546
                m_documentInterface->openFrame(propList);
546
 
                
 
547
 
547
548
                propList.clear();
548
549
                propList.insert("libwpd:mimetype", "image/pict");
549
550
                m_documentInterface->insertBinaryObject(propList, binaryData);
550
 
                
 
551
 
551
552
                m_documentInterface->closeFrame();
552
553
        }
553
554
}
554
555
 
555
 
void WP1ContentListener::_handleSubDocument(const WPXSubDocument *subDocument, WPXSubDocumentType /* subDocumentType */, 
556
 
                                                WPXTableList /* tableList */, int /* nextTableIndice */)
 
556
void WP1ContentListener::_handleSubDocument(const WPXSubDocument *subDocument, WPXSubDocumentType /* subDocumentType */,
 
557
        WPXTableList /* tableList */, int /* nextTableIndice */)
557
558
{
558
559
        // save our old parsing state on our "stack"
559
560
        WP1ContentParsingState *oldParseState = m_parseState;
593
594
        _insertText(m_parseState->m_textBuffer);
594
595
        m_parseState->m_textBuffer.clear();
595
596
}
 
597
/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */