LCOV - code coverage report
Current view: top level - writerfilter/source/doctok - DffImpl.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 2 313 0.6 %
Date: 2012-08-25 Functions: 2 18 11.1 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 2 1009 0.2 %

           Branch data     Line data    Source code
       1                 :            : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2                 :            : /*
       3                 :            :  * This file is part of the LibreOffice project.
       4                 :            :  *
       5                 :            :  * This Source Code Form is subject to the terms of the Mozilla Public
       6                 :            :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7                 :            :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8                 :            :  *
       9                 :            :  * This file incorporates work covered by the following license notice:
      10                 :            :  *
      11                 :            :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12                 :            :  *   contributor license agreements. See the NOTICE file distributed
      13                 :            :  *   with this work for additional information regarding copyright
      14                 :            :  *   ownership. The ASF licenses this file to you under the Apache
      15                 :            :  *   License, Version 2.0 (the "License"); you may not use this file
      16                 :            :  *   except in compliance with the License. You may obtain a copy of
      17                 :            :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18                 :            :  */
      19                 :            : 
      20                 :            : #include "doctok/resources.hxx"
      21                 :            : #include "WW8DocumentImpl.hxx"
      22                 :            : 
      23                 :            : namespace writerfilter {
      24                 :            : namespace doctok
      25                 :            : {
      26                 :            : 
      27                 :          0 : class ShapeTypeToString
      28                 :            : {
      29                 :            :     typedef boost::shared_ptr<ShapeTypeToString> Pointer_t;
      30                 :            : 
      31                 :            :     static Pointer_t pInstance;
      32                 :            : 
      33                 :            :     typedef map<sal_uInt32, string> Map_t;
      34                 :            :     Map_t mMap;
      35                 :            : 
      36                 :            : protected:
      37                 :            :     ShapeTypeToString();
      38                 :            : 
      39                 :            : public:
      40                 :          0 :     static Pointer_t Instance()
      41                 :            :     {
      42         [ #  # ]:          0 :         if (pInstance == NULL)
      43 [ #  # ][ #  # ]:          0 :             pInstance = Pointer_t(new ShapeTypeToString());
      44                 :            : 
      45                 :          0 :         return pInstance;
      46                 :            :     }
      47                 :            : 
      48                 :          0 :     string operator()(sal_uInt32 nShapeType)
      49                 :            :     {
      50                 :          0 :         return mMap[nShapeType];
      51                 :            :     }
      52                 :            : };
      53                 :            : 
      54                 :         20 : ShapeTypeToString::Pointer_t ShapeTypeToString::pInstance;
      55                 :            : 
      56                 :          0 : ShapeTypeToString::ShapeTypeToString()
      57                 :            : {
      58 [ #  # ][ #  # ]:          0 :     mMap[0]="NotPrimitive";
      59 [ #  # ][ #  # ]:          0 :     mMap[1]="Rectangle";
      60 [ #  # ][ #  # ]:          0 :     mMap[2]="RoundRectangle";
      61 [ #  # ][ #  # ]:          0 :     mMap[3]="Ellipse";
      62 [ #  # ][ #  # ]:          0 :     mMap[4]="Diamond";
      63 [ #  # ][ #  # ]:          0 :     mMap[5]="IsocelesTriangle";
      64 [ #  # ][ #  # ]:          0 :     mMap[6]="RightTriangle";
      65 [ #  # ][ #  # ]:          0 :     mMap[7]="Parallelogram";
      66 [ #  # ][ #  # ]:          0 :     mMap[8]="Trapezoid";
      67 [ #  # ][ #  # ]:          0 :     mMap[9]="Hexagon";
      68 [ #  # ][ #  # ]:          0 :     mMap[10]="Octagon";
      69 [ #  # ][ #  # ]:          0 :     mMap[11]="Plus";
      70 [ #  # ][ #  # ]:          0 :     mMap[12]="Star";
      71 [ #  # ][ #  # ]:          0 :     mMap[13]="Arrow";
      72 [ #  # ][ #  # ]:          0 :     mMap[14]="ThickArrow";
      73 [ #  # ][ #  # ]:          0 :     mMap[15]="HomePlate";
      74 [ #  # ][ #  # ]:          0 :     mMap[16]="Cube";
      75 [ #  # ][ #  # ]:          0 :     mMap[17]="Balloon";
      76 [ #  # ][ #  # ]:          0 :     mMap[18]="Seal";
      77 [ #  # ][ #  # ]:          0 :     mMap[19]="Arc";
      78 [ #  # ][ #  # ]:          0 :     mMap[20]="Line";
      79 [ #  # ][ #  # ]:          0 :     mMap[21]="Plaque";
      80 [ #  # ][ #  # ]:          0 :     mMap[22]="Can";
      81 [ #  # ][ #  # ]:          0 :     mMap[23]="Donut";
      82 [ #  # ][ #  # ]:          0 :     mMap[24]="TextSimple";
      83 [ #  # ][ #  # ]:          0 :     mMap[25]="TextOctagon";
      84 [ #  # ][ #  # ]:          0 :     mMap[26]="TextHexagon";
      85 [ #  # ][ #  # ]:          0 :     mMap[27]="TextCurve";
      86 [ #  # ][ #  # ]:          0 :     mMap[28]="TextWave";
      87 [ #  # ][ #  # ]:          0 :     mMap[29]="TextRing";
      88 [ #  # ][ #  # ]:          0 :     mMap[30]="TextOnCurve";
      89 [ #  # ][ #  # ]:          0 :     mMap[31]="TextOnRing";
      90 [ #  # ][ #  # ]:          0 :     mMap[32]="StraightConnector1";
      91 [ #  # ][ #  # ]:          0 :     mMap[33]="BentConnector2";
      92 [ #  # ][ #  # ]:          0 :     mMap[34]="BentConnector3";
      93 [ #  # ][ #  # ]:          0 :     mMap[35]="BentConnector4";
      94 [ #  # ][ #  # ]:          0 :     mMap[36]="BentConnector5";
      95 [ #  # ][ #  # ]:          0 :     mMap[37]="CurvedConnector2";
      96 [ #  # ][ #  # ]:          0 :     mMap[38]="CurvedConnector3";
      97 [ #  # ][ #  # ]:          0 :     mMap[39]="CurvedConnector4";
      98 [ #  # ][ #  # ]:          0 :     mMap[40]="CurvedConnector5";
      99 [ #  # ][ #  # ]:          0 :     mMap[41]="Callout1";
     100 [ #  # ][ #  # ]:          0 :     mMap[42]="Callout2";
     101 [ #  # ][ #  # ]:          0 :     mMap[43]="Callout3";
     102 [ #  # ][ #  # ]:          0 :     mMap[44]="AccentCallout1";
     103 [ #  # ][ #  # ]:          0 :     mMap[45]="AccentCallout2";
     104 [ #  # ][ #  # ]:          0 :     mMap[46]="AccentCallout3";
     105 [ #  # ][ #  # ]:          0 :     mMap[47]="BorderCallout1";
     106 [ #  # ][ #  # ]:          0 :     mMap[48]="BorderCallout2";
     107 [ #  # ][ #  # ]:          0 :     mMap[49]="BorderCallout3";
     108 [ #  # ][ #  # ]:          0 :     mMap[50]="AccentBorderCallout1";
     109 [ #  # ][ #  # ]:          0 :     mMap[51]="AccentBorderCallout2";
     110 [ #  # ][ #  # ]:          0 :     mMap[52]="AccentBorderCallout3";
     111 [ #  # ][ #  # ]:          0 :     mMap[53]="Ribbon";
     112 [ #  # ][ #  # ]:          0 :     mMap[54]="Ribbon2";
     113 [ #  # ][ #  # ]:          0 :     mMap[55]="Chevron";
     114 [ #  # ][ #  # ]:          0 :     mMap[56]="Pentagon";
     115 [ #  # ][ #  # ]:          0 :     mMap[57]="NoSmoking";
     116 [ #  # ][ #  # ]:          0 :     mMap[58]="Seal8";
     117 [ #  # ][ #  # ]:          0 :     mMap[59]="Seal16";
     118 [ #  # ][ #  # ]:          0 :     mMap[60]="Seal32";
     119 [ #  # ][ #  # ]:          0 :     mMap[61]="WedgeRectCallout";
     120 [ #  # ][ #  # ]:          0 :     mMap[62]="WedgeRRectCallout";
     121 [ #  # ][ #  # ]:          0 :     mMap[63]="WedgeEllipseCallout";
     122 [ #  # ][ #  # ]:          0 :     mMap[64]="Wave";
     123 [ #  # ][ #  # ]:          0 :     mMap[65]="FoldedCorner";
     124 [ #  # ][ #  # ]:          0 :     mMap[66]="LeftArrow";
     125 [ #  # ][ #  # ]:          0 :     mMap[67]="DownArrow";
     126 [ #  # ][ #  # ]:          0 :     mMap[68]="UpArrow";
     127 [ #  # ][ #  # ]:          0 :     mMap[69]="LeftRightArrow";
     128 [ #  # ][ #  # ]:          0 :     mMap[70]="UpDownArrow";
     129 [ #  # ][ #  # ]:          0 :     mMap[71]="IrregularSeal1";
     130 [ #  # ][ #  # ]:          0 :     mMap[72]="IrregularSeal2";
     131 [ #  # ][ #  # ]:          0 :     mMap[73]="LightningBolt";
     132 [ #  # ][ #  # ]:          0 :     mMap[74]="Heart";
     133 [ #  # ][ #  # ]:          0 :     mMap[75]="PictureFrame";
     134 [ #  # ][ #  # ]:          0 :     mMap[76]="QuadArrow";
     135 [ #  # ][ #  # ]:          0 :     mMap[77]="LeftArrowCallout";
     136 [ #  # ][ #  # ]:          0 :     mMap[78]="RightArrowCallout";
     137 [ #  # ][ #  # ]:          0 :     mMap[79]="UpArrowCallout";
     138 [ #  # ][ #  # ]:          0 :     mMap[80]="DownArrowCallout";
     139 [ #  # ][ #  # ]:          0 :     mMap[81]="LeftRightArrowCallout";
     140 [ #  # ][ #  # ]:          0 :     mMap[82]="UpDownArrowCallout";
     141 [ #  # ][ #  # ]:          0 :     mMap[83]="QuadArrowCallout";
     142 [ #  # ][ #  # ]:          0 :     mMap[84]="Bevel";
     143 [ #  # ][ #  # ]:          0 :     mMap[85]="LeftBracket";
     144 [ #  # ][ #  # ]:          0 :     mMap[86]="RightBracket";
     145 [ #  # ][ #  # ]:          0 :     mMap[87]="LeftBrace";
     146 [ #  # ][ #  # ]:          0 :     mMap[88]="RightBrace";
     147 [ #  # ][ #  # ]:          0 :     mMap[89]="LeftUpArrow";
     148 [ #  # ][ #  # ]:          0 :     mMap[90]="BentUpArrow";
     149 [ #  # ][ #  # ]:          0 :     mMap[91]="BentArrow";
     150 [ #  # ][ #  # ]:          0 :     mMap[92]="Seal24";
     151 [ #  # ][ #  # ]:          0 :     mMap[93]="StripedRightArrow";
     152 [ #  # ][ #  # ]:          0 :     mMap[94]="NotchedRightArrow";
     153 [ #  # ][ #  # ]:          0 :     mMap[95]="BlockArc";
     154 [ #  # ][ #  # ]:          0 :     mMap[96]="SmileyFace";
     155 [ #  # ][ #  # ]:          0 :     mMap[97]="VerticalScroll";
     156 [ #  # ][ #  # ]:          0 :     mMap[98]="HorizontalScroll";
     157 [ #  # ][ #  # ]:          0 :     mMap[99]="CircularArrow";
     158 [ #  # ][ #  # ]:          0 :     mMap[100]="NotchedCircularArrow";
     159 [ #  # ][ #  # ]:          0 :     mMap[101]="UturnArrow";
     160 [ #  # ][ #  # ]:          0 :     mMap[102]="CurvedRightArrow";
     161 [ #  # ][ #  # ]:          0 :     mMap[103]="CurvedLeftArrow";
     162 [ #  # ][ #  # ]:          0 :     mMap[104]="CurvedUpArrow";
     163 [ #  # ][ #  # ]:          0 :     mMap[105]="CurvedDownArrow";
     164 [ #  # ][ #  # ]:          0 :     mMap[106]="CloudCallout";
     165 [ #  # ][ #  # ]:          0 :     mMap[107]="EllipseRibbon";
     166 [ #  # ][ #  # ]:          0 :     mMap[108]="EllipseRibbon2";
     167 [ #  # ][ #  # ]:          0 :     mMap[109]="FlowChartProcess";
     168 [ #  # ][ #  # ]:          0 :     mMap[110]="FlowChartDecision";
     169 [ #  # ][ #  # ]:          0 :     mMap[111]="FlowChartInputOutput";
     170 [ #  # ][ #  # ]:          0 :     mMap[112]="FlowChartPredefinedProcess";
     171 [ #  # ][ #  # ]:          0 :     mMap[113]="FlowChartInternalStorage";
     172 [ #  # ][ #  # ]:          0 :     mMap[114]="FlowChartDocument";
     173 [ #  # ][ #  # ]:          0 :     mMap[115]="FlowChartMultidocument";
     174 [ #  # ][ #  # ]:          0 :     mMap[116]="FlowChartTerminator";
     175 [ #  # ][ #  # ]:          0 :     mMap[117]="FlowChartPreparation";
     176 [ #  # ][ #  # ]:          0 :     mMap[118]="FlowChartManualInput";
     177 [ #  # ][ #  # ]:          0 :     mMap[119]="FlowChartManualOperation";
     178 [ #  # ][ #  # ]:          0 :     mMap[120]="FlowChartConnector";
     179 [ #  # ][ #  # ]:          0 :     mMap[121]="FlowChartPunchedCard";
     180 [ #  # ][ #  # ]:          0 :     mMap[122]="FlowChartPunchedTape";
     181 [ #  # ][ #  # ]:          0 :     mMap[123]="FlowChartSummingJunction";
     182 [ #  # ][ #  # ]:          0 :     mMap[124]="FlowChartOr";
     183 [ #  # ][ #  # ]:          0 :     mMap[125]="FlowChartCollate";
     184 [ #  # ][ #  # ]:          0 :     mMap[126]="FlowChartSort";
     185 [ #  # ][ #  # ]:          0 :     mMap[127]="FlowChartExtract";
     186 [ #  # ][ #  # ]:          0 :     mMap[128]="FlowChartMerge";
     187 [ #  # ][ #  # ]:          0 :     mMap[129]="FlowChartOfflineStorage";
     188 [ #  # ][ #  # ]:          0 :     mMap[130]="FlowChartOnlineStorage";
     189 [ #  # ][ #  # ]:          0 :     mMap[131]="FlowChartMagneticTape";
     190 [ #  # ][ #  # ]:          0 :     mMap[132]="FlowChartMagneticDisk";
     191 [ #  # ][ #  # ]:          0 :     mMap[133]="FlowChartMagneticDrum";
     192 [ #  # ][ #  # ]:          0 :     mMap[134]="FlowChartDisplay";
     193 [ #  # ][ #  # ]:          0 :     mMap[135]="FlowChartDelay";
     194 [ #  # ][ #  # ]:          0 :     mMap[136]="TextPlainText";
     195 [ #  # ][ #  # ]:          0 :     mMap[137]="TextStop";
     196 [ #  # ][ #  # ]:          0 :     mMap[138]="TextTriangle";
     197 [ #  # ][ #  # ]:          0 :     mMap[139]="TextTriangleInverted";
     198 [ #  # ][ #  # ]:          0 :     mMap[140]="TextChevron";
     199 [ #  # ][ #  # ]:          0 :     mMap[141]="TextChevronInverted";
     200 [ #  # ][ #  # ]:          0 :     mMap[142]="TextRingInside";
     201 [ #  # ][ #  # ]:          0 :     mMap[143]="TextRingOutside";
     202 [ #  # ][ #  # ]:          0 :     mMap[144]="TextArchUpCurve";
     203 [ #  # ][ #  # ]:          0 :     mMap[145]="TextArchDownCurve";
     204 [ #  # ][ #  # ]:          0 :     mMap[146]="TextCircleCurve";
     205 [ #  # ][ #  # ]:          0 :     mMap[147]="TextButtonCurve";
     206 [ #  # ][ #  # ]:          0 :     mMap[148]="TextArchUpPour";
     207 [ #  # ][ #  # ]:          0 :     mMap[149]="TextArchDownPour";
     208 [ #  # ][ #  # ]:          0 :     mMap[150]="TextCirclePour";
     209 [ #  # ][ #  # ]:          0 :     mMap[151]="TextButtonPour";
     210 [ #  # ][ #  # ]:          0 :     mMap[152]="TextCurveUp";
     211 [ #  # ][ #  # ]:          0 :     mMap[153]="TextCurveDown";
     212 [ #  # ][ #  # ]:          0 :     mMap[154]="TextCascadeUp";
     213 [ #  # ][ #  # ]:          0 :     mMap[155]="TextCascadeDown";
     214 [ #  # ][ #  # ]:          0 :     mMap[156]="TextWave1";
     215 [ #  # ][ #  # ]:          0 :     mMap[157]="TextWave2";
     216 [ #  # ][ #  # ]:          0 :     mMap[158]="TextWave3";
     217 [ #  # ][ #  # ]:          0 :     mMap[159]="TextWave4";
     218 [ #  # ][ #  # ]:          0 :     mMap[160]="TextInflate";
     219 [ #  # ][ #  # ]:          0 :     mMap[161]="TextDeflate";
     220 [ #  # ][ #  # ]:          0 :     mMap[162]="TextInflateBottom";
     221 [ #  # ][ #  # ]:          0 :     mMap[163]="TextDeflateBottom";
     222 [ #  # ][ #  # ]:          0 :     mMap[164]="TextInflateTop";
     223 [ #  # ][ #  # ]:          0 :     mMap[165]="TextDeflateTop";
     224 [ #  # ][ #  # ]:          0 :     mMap[166]="TextDeflateInflate";
     225 [ #  # ][ #  # ]:          0 :     mMap[167]="TextDeflateInflateDeflate";
     226 [ #  # ][ #  # ]:          0 :     mMap[168]="TextFadeRight";
     227 [ #  # ][ #  # ]:          0 :     mMap[169]="TextFadeLeft";
     228 [ #  # ][ #  # ]:          0 :     mMap[170]="TextFadeUp";
     229 [ #  # ][ #  # ]:          0 :     mMap[171]="TextFadeDown";
     230 [ #  # ][ #  # ]:          0 :     mMap[172]="TextSlantUp";
     231 [ #  # ][ #  # ]:          0 :     mMap[173]="TextSlantDown";
     232 [ #  # ][ #  # ]:          0 :     mMap[174]="TextCanUp";
     233 [ #  # ][ #  # ]:          0 :     mMap[175]="TextCanDown";
     234 [ #  # ][ #  # ]:          0 :     mMap[176]="FlowChartAlternateProcess";
     235 [ #  # ][ #  # ]:          0 :     mMap[177]="FlowChartOffpageConnector";
     236 [ #  # ][ #  # ]:          0 :     mMap[178]="Callout90";
     237 [ #  # ][ #  # ]:          0 :     mMap[179]="AccentCallout90";
     238 [ #  # ][ #  # ]:          0 :     mMap[180]="BorderCallout90";
     239 [ #  # ][ #  # ]:          0 :     mMap[181]="AccentBorderCallout90";
     240 [ #  # ][ #  # ]:          0 :     mMap[182]="LeftRightUpArrow";
     241 [ #  # ][ #  # ]:          0 :     mMap[183]="Sun";
     242 [ #  # ][ #  # ]:          0 :     mMap[184]="Moon";
     243 [ #  # ][ #  # ]:          0 :     mMap[185]="BracketPair";
     244 [ #  # ][ #  # ]:          0 :     mMap[186]="BracePair";
     245 [ #  # ][ #  # ]:          0 :     mMap[187]="Seal4";
     246 [ #  # ][ #  # ]:          0 :     mMap[188]="DoubleWave";
     247 [ #  # ][ #  # ]:          0 :     mMap[189]="ActionButtonBlank";
     248 [ #  # ][ #  # ]:          0 :     mMap[190]="ActionButtonHome";
     249 [ #  # ][ #  # ]:          0 :     mMap[191]="ActionButtonHelp";
     250 [ #  # ][ #  # ]:          0 :     mMap[192]="ActionButtonInformation";
     251 [ #  # ][ #  # ]:          0 :     mMap[193]="ActionButtonForwardNext";
     252 [ #  # ][ #  # ]:          0 :     mMap[194]="ActionButtonBackPrevious";
     253 [ #  # ][ #  # ]:          0 :     mMap[195]="ActionButtonEnd";
     254 [ #  # ][ #  # ]:          0 :     mMap[196]="ActionButtonBeginning";
     255 [ #  # ][ #  # ]:          0 :     mMap[197]="ActionButtonReturn";
     256 [ #  # ][ #  # ]:          0 :     mMap[198]="ActionButtonDocument";
     257 [ #  # ][ #  # ]:          0 :     mMap[199]="ActionButtonSound";
     258 [ #  # ][ #  # ]:          0 :     mMap[200]="ActionButtonMovie";
     259 [ #  # ][ #  # ]:          0 :     mMap[201]="HostControl";
     260 [ #  # ][ #  # ]:          0 :     mMap[202]="TextBox";
     261                 :          0 : }
     262                 :            : 
     263                 :            : // DffOPT
     264                 :            : 
     265                 :          0 : sal_uInt32 DffOPT::get_property_count()
     266                 :            : {
     267                 :          0 :     return getInstance();
     268                 :            : }
     269                 :            : 
     270                 :            : writerfilter::Reference<Properties>::Pointer_t
     271                 :          0 : DffOPT::get_property(sal_uInt32 nPos)
     272                 :            : {
     273         [ #  # ]:          0 :     WW8FOPTE * pTmp = new WW8FOPTE(this, 0x8 + nPos * WW8FOPTE::getSize());
     274                 :          0 :     pTmp->setIndex(nPos);
     275                 :            : 
     276                 :          0 :     return writerfilter::Reference<Properties>::Pointer_t(pTmp);
     277                 :            : }
     278                 :            : 
     279                 :          0 : sal_uInt32 DffOPT::get_extraoffset(sal_uInt32 pos)
     280                 :            : {
     281                 :            :     sal_uInt32 nResult;
     282                 :          0 :     sal_uInt32 nCount = get_property_count();
     283                 :            : 
     284         [ #  # ]:          0 :     if (pos < nCount)
     285                 :            :     {
     286                 :          0 :         nResult = 0x8 + nCount * WW8FOPTE::getSize();
     287                 :            : 
     288         [ #  # ]:          0 :         for (sal_uInt32 n = 0; n < pos; ++n)
     289                 :            :         {
     290         [ #  # ]:          0 :             WW8FOPTE aFOPTE(this, 0x8 + n * WW8FOPTE::getSize());
     291                 :            : 
     292 [ #  # ][ #  # ]:          0 :             if (aFOPTE.get_fComplex())
     293                 :            :             {
     294         [ #  # ]:          0 :                 sal_uInt32 nValue = aFOPTE.get_op();
     295                 :          0 :                 nResult += nValue;
     296                 :            :             }
     297         [ #  # ]:          0 :         }
     298                 :            :     }
     299                 :            :     else
     300                 :          0 :         nResult = getCount();
     301                 :            : 
     302                 :          0 :     return nResult;
     303                 :            : }
     304                 :            : 
     305                 :            : //DffDGG
     306                 :            : 
     307                 :          0 : sal_uInt32 DffDGG::get_fidcl_count()
     308                 :            : {
     309                 :          0 :     return (getCount() - 0x18) / WW8FIDCL::getSize();
     310                 :            : }
     311                 :            : 
     312                 :            : writerfilter::Reference<Properties>::Pointer_t
     313                 :          0 : DffDGG::get_fidcl(sal_uInt32 pos)
     314                 :            : {
     315                 :            :     return writerfilter::Reference<Properties>::Pointer_t
     316         [ #  # ]:          0 :         (new WW8FIDCL(this, 0x18 + pos * WW8FIDCL::getSize()));
     317                 :            : }
     318                 :            : 
     319                 :            : 
     320                 :            : // DffBSE
     321                 :            : 
     322                 :          0 : OUString DffBSE::get_blipname()
     323                 :            : {
     324                 :          0 :     OUString sResult;
     325         [ #  # ]:          0 :     WW8FBSE aFBSE(this, 0x8);
     326                 :            : 
     327 [ #  # ][ #  # ]:          0 :     if (aFBSE.get_cbName() > 0)
     328 [ #  # ][ #  # ]:          0 :         sResult = getString(0x24, aFBSE.get_cbName());
     329                 :            : 
     330         [ #  # ]:          0 :     return sResult;
     331                 :            : }
     332                 :            : 
     333                 :            : writerfilter::Reference<Properties>::Pointer_t
     334                 :          0 : DffBSE::get_blip()
     335                 :            : {
     336         [ #  # ]:          0 :     writerfilter::Reference<Properties>::Pointer_t pResult;
     337                 :            : 
     338         [ #  # ]:          0 :     WW8FBSE aFBSE(this, 8);
     339         [ #  # ]:          0 :     sal_uInt32 nOffset = 8 + WW8FBSE::getSize() + aFBSE.get_cbName();
     340                 :            : 
     341 [ #  # ][ #  # ]:          0 :     if (nOffset + 8 < getCount())
     342                 :            :     {
     343         [ #  # ]:          0 :         WW8StructBase aTmp(this, nOffset, 0x8);
     344                 :            : 
     345         [ #  # ]:          0 :         sal_uInt32 nCount = getCount() - 8;
     346                 :            : 
     347 [ #  # ][ #  # ]:          0 :         if (aTmp.getU32(0x4) - 8 < nCount)
     348         [ #  # ]:          0 :             nCount = aTmp.getU32(0x4) - 8;
     349                 :            : 
     350         [ #  # ]:          0 :         if (nCount)
     351                 :            :         {
     352         [ #  # ]:          0 :             DffRecord * pRecord = createDffRecord(this, nOffset);
     353                 :            : 
     354 [ #  # ][ #  # ]:          0 :             pResult = writerfilter::Reference<Properties>::Pointer_t(pRecord);
                 [ #  # ]
     355         [ #  # ]:          0 :         }
     356                 :            :     }
     357                 :            :     else
     358                 :            :     {
     359         [ #  # ]:          0 :         nOffset = sal::static_int_cast<sal_Int32>(aFBSE.get_foDelay());
     360 [ #  # ][ #  # ]:          0 :         if (! (nOffset & 1 << 31) && nOffset > 0 && getDocument() != NULL)
         [ #  # ][ #  # ]
                 [ #  # ]
     361                 :            :         {
     362 [ #  # ][ #  # ]:          0 :             WW8StructBase aStructBase(*getDocument()->getDocStream(),
                 [ #  # ]
     363         [ #  # ]:          0 :                                       nOffset, 0x8);
     364                 :            : 
     365                 :            :             DffRecord * pRecord =
     366 [ #  # ][ #  # ]:          0 :                 createDffRecord(*getDocument()->getDocStream(),
                 [ #  # ]
     367   [ #  #  #  # ]:          0 :                                 aFBSE.get_foDelay());
     368                 :            : 
     369 [ #  # ][ #  # ]:          0 :             pResult = writerfilter::Reference<Properties>::Pointer_t(pRecord);
         [ #  # ][ #  # ]
     370                 :            :         }
     371                 :            :     }
     372                 :            : 
     373         [ #  # ]:          0 :     return pResult;
     374                 :            : }
     375                 :            : 
     376                 :            : // WW8FOPTE
     377                 :          0 : void WW8FOPTE::resolveNoAuto(Properties & rHandler)
     378                 :            : {
     379                 :          0 :     sal_uInt16 nId = get_pid() + 1;
     380                 :          0 :     sal_uInt32 nOp = get_op();
     381                 :          0 :     sal_uInt32 nMask = 2;
     382                 :            : 
     383         [ #  # ]:          0 :     while (isBooleanDffOpt(nId))
     384                 :            :     {
     385 [ #  # ][ #  # ]:          0 :         WW8Value::Pointer_t pVal = createValue(getDffOptName(nId));
                 [ #  # ]
     386         [ #  # ]:          0 :         rHandler.attribute(NS_rtf::LN_shpname, *pVal);
     387                 :            : 
     388 [ #  # ][ #  # ]:          0 :         pVal = createValue((nOp & nMask) != 0);
     389         [ #  # ]:          0 :         rHandler.attribute(NS_rtf::LN_shpvalue, *pVal);
     390                 :            : 
     391                 :          0 :         --nId;
     392                 :          0 :         nMask = nMask << 1;
     393         [ #  # ]:          0 :     }
     394                 :          0 : }
     395                 :            : 
     396                 :            : // DffFSP
     397                 :            : 
     398                 :          0 : OUString DffFSP::get_shptypename()
     399                 :            : {
     400 [ #  # ][ #  # ]:          0 :     string aName = (*ShapeTypeToString::Instance())(get_shptype());
         [ #  # ][ #  # ]
     401                 :            : 
     402                 :          0 :     return OUString::createFromAscii(aName.c_str());
     403                 :            : }
     404                 :            : 
     405                 :            : // DffSpContainer
     406                 :            : 
     407                 :            : writerfilter::Reference<Properties>::Pointer_t
     408                 :          0 : DffSpContainer::get_blip()
     409                 :            : {
     410                 :          0 :     writerfilter::Reference<Properties>::Pointer_t pResult;
     411                 :            : 
     412 [ #  # ][ #  # ]:          0 :     if (getShapeType() == 75)
     413                 :            :     {
     414         [ #  # ]:          0 :         sal_uInt32 nBid = getShapeBid();
     415                 :            : 
     416 [ #  # ][ #  # ]:          0 :         if (getDocument() != NULL && nBid > 0)
         [ #  # ][ #  # ]
     417 [ #  # ][ #  # ]:          0 :             pResult = getDocument()->getBlip(nBid);
         [ #  # ][ #  # ]
     418                 :            :     }
     419                 :            : 
     420                 :          0 :     return pResult;
     421                 :            : }
     422                 :            : 
     423                 :            : writerfilter::Reference<Stream>::Pointer_t
     424                 :          0 : DffSpContainer::get_shptxt()
     425                 :            : {
     426                 :          0 :     writerfilter::Reference<Stream>::Pointer_t pResult;
     427                 :            : 
     428 [ #  # ][ #  # ]:          0 :     if (getShapeType() == 202)
     429                 :            :     {
     430         [ #  # ]:          0 :         sal_uInt32 nShpId = getShapeId();
     431                 :            : 
     432 [ #  # ][ #  # ]:          0 :         if (getDocument() != NULL)
     433 [ #  # ][ #  # ]:          0 :             pResult = getDocument()->getTextboxText(nShpId);
         [ #  # ][ #  # ]
     434                 :            :     }
     435                 :            : 
     436                 :          0 :     return pResult;
     437                 :            : }
     438                 :            : 
     439                 :            : // DffUDefProp
     440                 :            : 
     441                 :          0 : void DffUDefProp::resolveNoAuto(Properties & rHandler)
     442                 :            : {
     443                 :          0 :     sal_uInt32 nOffset = 0x8;
     444                 :          0 :     sal_uInt32 nCount = getCount();
     445                 :            : 
     446         [ #  # ]:          0 :     while (nOffset + 6 <= nCount)
     447                 :            :     {
     448                 :          0 :         sal_uInt16 nPid = getU16(nOffset);
     449                 :          0 :         sal_uInt32 nValue = getU32(nOffset + 2);
     450                 :            : 
     451                 :          0 :         sal_uInt32 nAttrid = 0;
     452   [ #  #  #  #  :          0 :         switch (nPid)
                #  #  # ]
     453                 :            :         {
     454                 :          0 :         case 0x38f: nAttrid = NS_rtf::LN_XAlign; break;
     455                 :          0 :         case 0x390: nAttrid = NS_rtf::LN_XRelTo; break;
     456                 :          0 :         case 0x391: nAttrid = NS_rtf::LN_YAlign; break;
     457                 :          0 :         case 0x392: nAttrid = NS_rtf::LN_YRelTo; break;
     458                 :          0 :         case 0x3bf: nAttrid = NS_rtf::LN_LayoutInTableCell; break;
     459                 :          0 :         case 0x53f: nAttrid = NS_rtf::LN_Inline; break;
     460                 :            :         default:
     461                 :          0 :             break;
     462                 :            :         }
     463                 :            : 
     464         [ #  # ]:          0 :         if (nAttrid != 0)
     465                 :            :         {
     466 [ #  # ][ #  # ]:          0 :             WW8Value::Pointer_t pVal = createValue(nValue);
     467 [ #  # ][ #  # ]:          0 :             rHandler.attribute(nAttrid, *pVal);
     468                 :            :         }
     469                 :            : 
     470                 :          0 :         nOffset += 6;
     471                 :            :     }
     472                 :          0 : }
     473                 :            : 
     474 [ +  - ][ +  - ]:         60 : }}
     475                 :            : 
     476                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10