/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include #include #include #include #include #include "presetooxhandleadjustmentrelations.hxx" namespace { typedef std::unordered_map HandleAdjRelHashMap; struct HandleAdjRel { // Shape name without leading "ooxml-", underscore, zero based handle index // e.g. The third handle in shape of type "ooxml-circularArrow" will be // identified by key "circularArrow_2" OUString sShape_Handle; // 4 tokens with separator "|" // first: RefX or RefR, na if not exists // second: adj, or adj1 or adj2, etc. as in preset, na if not exists // third: RefY or RefAngle, na if not exists // forth: adj, or adj1 or adj2, etc. as in preset, na if not exists // e.g. The third handle in shape has in the preset // the tag . // The resulting value in the map here is "RefR|adj5|na|na" OUString sAdjReferences; }; // The array initializer has been extracted from // oox/source/drawingml/customshapes/presetShapeDefinitions.xml // by using an XSLT file. That file is attached to tdf#126512. constexpr HandleAdjRel aHandleAdjRelArray[] = { { u"accentBorderCallout1_0"_ustr, u"RefX|adj2|RefY|adj1"_ustr }, { u"accentBorderCallout1_1"_ustr, u"RefX|adj4|RefY|adj3"_ustr }, { u"accentBorderCallout2_0"_ustr, u"RefX|adj2|RefY|adj1"_ustr }, { u"accentBorderCallout2_1"_ustr, u"RefX|adj4|RefY|adj3"_ustr }, { u"accentBorderCallout2_2"_ustr, u"RefX|adj6|RefY|adj5"_ustr }, { u"accentBorderCallout3_0"_ustr, u"RefX|adj2|RefY|adj1"_ustr }, { u"accentBorderCallout3_1"_ustr, u"RefX|adj4|RefY|adj3"_ustr }, { u"accentBorderCallout3_2"_ustr, u"RefX|adj6|RefY|adj5"_ustr }, { u"accentBorderCallout3_3"_ustr, u"RefX|adj8|RefY|adj7"_ustr }, { u"accentCallout1_0"_ustr, u"RefX|adj2|RefY|adj1"_ustr }, { u"accentCallout1_1"_ustr, u"RefX|adj4|RefY|adj3"_ustr }, { u"accentCallout2_0"_ustr, u"RefX|adj2|RefY|adj1"_ustr }, { u"accentCallout2_1"_ustr, u"RefX|adj4|RefY|adj3"_ustr }, { u"accentCallout2_2"_ustr, u"RefX|adj6|RefY|adj5"_ustr }, { u"accentCallout3_0"_ustr, u"RefX|adj2|RefY|adj1"_ustr }, { u"accentCallout3_1"_ustr, u"RefX|adj4|RefY|adj3"_ustr }, { u"accentCallout3_2"_ustr, u"RefX|adj6|RefY|adj5"_ustr }, { u"accentCallout3_3"_ustr, u"RefX|adj8|RefY|adj7"_ustr }, { u"arc_0"_ustr, u"na|na|RefAngle|adj1"_ustr }, { u"arc_1"_ustr, u"na|na|RefAngle|adj2"_ustr }, { u"bentArrow_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"bentArrow_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"bentArrow_2"_ustr, u"RefX|adj3|na|na"_ustr }, { u"bentArrow_3"_ustr, u"RefX|adj4|na|na"_ustr }, { u"bentConnector3_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"bentConnector4_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"bentConnector4_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"bentConnector5_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"bentConnector5_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"bentConnector5_2"_ustr, u"RefX|adj3|na|na"_ustr }, { u"bentUpArrow_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"bentUpArrow_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"bentUpArrow_2"_ustr, u"na|na|RefY|adj3"_ustr }, { u"bevel_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"blockArc_0"_ustr, u"na|na|RefAngle|adj1"_ustr }, { u"blockArc_1"_ustr, u"RefR|adj3|RefAngle|adj2"_ustr }, { u"borderCallout1_0"_ustr, u"RefX|adj2|RefY|adj1"_ustr }, { u"borderCallout1_1"_ustr, u"RefX|adj4|RefY|adj3"_ustr }, { u"borderCallout2_0"_ustr, u"RefX|adj2|RefY|adj1"_ustr }, { u"borderCallout2_1"_ustr, u"RefX|adj4|RefY|adj3"_ustr }, { u"borderCallout2_2"_ustr, u"RefX|adj6|RefY|adj5"_ustr }, { u"borderCallout3_0"_ustr, u"RefX|adj2|RefY|adj1"_ustr }, { u"borderCallout3_1"_ustr, u"RefX|adj4|RefY|adj3"_ustr }, { u"borderCallout3_2"_ustr, u"RefX|adj6|RefY|adj5"_ustr }, { u"borderCallout3_3"_ustr, u"RefX|adj8|RefY|adj7"_ustr }, { u"bracePair_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"bracketPair_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"callout1_0"_ustr, u"RefX|adj2|RefY|adj1"_ustr }, { u"callout1_1"_ustr, u"RefX|adj4|RefY|adj3"_ustr }, { u"callout2_0"_ustr, u"RefX|adj2|RefY|adj1"_ustr }, { u"callout2_1"_ustr, u"RefX|adj4|RefY|adj3"_ustr }, { u"callout2_2"_ustr, u"RefX|adj6|RefY|adj5"_ustr }, { u"callout3_0"_ustr, u"RefX|adj2|RefY|adj1"_ustr }, { u"callout3_1"_ustr, u"RefX|adj4|RefY|adj3"_ustr }, { u"callout3_2"_ustr, u"RefX|adj6|RefY|adj5"_ustr }, { u"callout3_3"_ustr, u"RefX|adj8|RefY|adj7"_ustr }, { u"can_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"chevron_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"chord_0"_ustr, u"na|na|RefAngle|adj1"_ustr }, { u"chord_1"_ustr, u"na|na|RefAngle|adj2"_ustr }, { u"circularArrow_0"_ustr, u"na|na|RefAngle|adj2"_ustr }, { u"circularArrow_1"_ustr, u"na|na|RefAngle|adj4"_ustr }, { u"circularArrow_2"_ustr, u"RefR|adj1|RefAngle|adj3"_ustr }, { u"circularArrow_3"_ustr, u"RefR|adj5|na|na"_ustr }, { u"cloudCallout_0"_ustr, u"RefX|adj1|RefY|adj2"_ustr }, { u"corner_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"corner_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"cube_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"curvedConnector3_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"curvedConnector4_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"curvedConnector4_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"curvedConnector5_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"curvedConnector5_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"curvedConnector5_2"_ustr, u"RefX|adj3|na|na"_ustr }, { u"curvedDownArrow_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"curvedDownArrow_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"curvedDownArrow_2"_ustr, u"na|na|RefY|adj3"_ustr }, { u"curvedLeftArrow_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"curvedLeftArrow_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"curvedLeftArrow_2"_ustr, u"RefX|adj3|na|na"_ustr }, { u"curvedRightArrow_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"curvedRightArrow_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"curvedRightArrow_2"_ustr, u"RefX|adj3|na|na"_ustr }, { u"curvedUpArrow_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"curvedUpArrow_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"curvedUpArrow_2"_ustr, u"na|na|RefY|adj3"_ustr }, { u"diagStripe_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"donut_0"_ustr, u"RefR|adj|na|na"_ustr }, { u"doubleWave_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"doubleWave_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"downArrow_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"downArrow_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"downArrowCallout_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"downArrowCallout_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"downArrowCallout_2"_ustr, u"na|na|RefY|adj3"_ustr }, { u"downArrowCallout_3"_ustr, u"na|na|RefY|adj4"_ustr }, { u"ellipseRibbon_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"ellipseRibbon_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"ellipseRibbon_2"_ustr, u"na|na|RefY|adj3"_ustr }, { u"ellipseRibbon2_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"ellipseRibbon2_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"ellipseRibbon2_2"_ustr, u"na|na|RefY|adj3"_ustr }, { u"foldedCorner_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"frame_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"gear6_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"gear6_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"gear9_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"gear9_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"halfFrame_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"halfFrame_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"hexagon_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"homePlate_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"horizontalScroll_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"leftArrow_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"leftArrow_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"leftArrowCallout_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"leftArrowCallout_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"leftArrowCallout_2"_ustr, u"RefX|adj3|na|na"_ustr }, { u"leftArrowCallout_3"_ustr, u"RefX|adj4|na|na"_ustr }, { u"leftBrace_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"leftBrace_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"leftBracket_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"leftCircularArrow_0"_ustr, u"na|na|RefAngle|adj2"_ustr }, { u"leftCircularArrow_1"_ustr, u"na|na|RefAngle|adj4"_ustr }, { u"leftCircularArrow_2"_ustr, u"RefR|adj1|RefAngle|adj3"_ustr }, { u"leftCircularArrow_3"_ustr, u"RefR|adj5|na|na"_ustr }, { u"leftRightArrow_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"leftRightArrow_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"leftRightArrowCallout_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"leftRightArrowCallout_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"leftRightArrowCallout_2"_ustr, u"RefX|adj3|na|na"_ustr }, { u"leftRightArrowCallout_3"_ustr, u"RefX|adj4|na|na"_ustr }, { u"leftRightCircularArrow_0"_ustr, u"na|na|RefAngle|adj2"_ustr }, { u"leftRightCircularArrow_1"_ustr, u"na|na|RefAngle|adj4"_ustr }, { u"leftRightCircularArrow_2"_ustr, u"RefR|adj1|RefAngle|adj3"_ustr }, { u"leftRightCircularArrow_3"_ustr, u"RefR|adj5|na|na"_ustr }, { u"leftRightRibbon_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"leftRightRibbon_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"leftRightRibbon_2"_ustr, u"na|na|RefY|adj3"_ustr }, { u"leftRightUpArrow_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"leftRightUpArrow_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"leftRightUpArrow_2"_ustr, u"na|na|RefY|adj3"_ustr }, { u"leftUpArrow_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"leftUpArrow_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"leftUpArrow_2"_ustr, u"na|na|RefY|adj3"_ustr }, { u"mathDivide_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"mathDivide_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"mathDivide_2"_ustr, u"RefX|adj3|na|na"_ustr }, { u"mathEqual_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"mathEqual_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"mathMinus_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"mathMultiply_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"mathNotEqual_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"mathNotEqual_1"_ustr, u"na|na|RefAngle|adj2"_ustr }, { u"mathNotEqual_2"_ustr, u"na|na|RefY|adj3"_ustr }, { u"mathPlus_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"moon_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"nonIsoscelesTrapezoid_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"nonIsoscelesTrapezoid_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"noSmoking_0"_ustr, u"RefR|adj|na|na"_ustr }, { u"notchedRightArrow_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"notchedRightArrow_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"octagon_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"parallelogram_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"pie_0"_ustr, u"na|na|RefAngle|adj1"_ustr }, { u"pie_1"_ustr, u"na|na|RefAngle|adj2"_ustr }, { u"plaque_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"plus_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"quadArrow_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"quadArrow_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"quadArrow_2"_ustr, u"na|na|RefY|adj3"_ustr }, { u"quadArrowCallout_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"quadArrowCallout_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"quadArrowCallout_2"_ustr, u"na|na|RefY|adj3"_ustr }, { u"quadArrowCallout_3"_ustr, u"na|na|RefY|adj4"_ustr }, { u"ribbon_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"ribbon_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"ribbon2_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"ribbon2_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"rightArrow_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"rightArrow_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"rightArrowCallout_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"rightArrowCallout_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"rightArrowCallout_2"_ustr, u"RefX|adj3|na|na"_ustr }, { u"rightArrowCallout_3"_ustr, u"RefX|adj4|na|na"_ustr }, { u"rightBrace_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"rightBrace_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"rightBracket_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"round1Rect_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"round2DiagRect_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"round2DiagRect_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"round2SameRect_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"round2SameRect_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"roundRect_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"smileyFace_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"snip1Rect_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"snip2DiagRect_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"snip2DiagRect_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"snip2SameRect_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"snip2SameRect_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"snipRoundRect_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"snipRoundRect_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"star10_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"star12_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"star16_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"star24_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"star32_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"star4_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"star5_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"star6_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"star7_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"star8_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"stripedRightArrow_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"stripedRightArrow_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"sun_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"swooshArrow_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"swooshArrow_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"teardrop_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"trapezoid_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"triangle_0"_ustr, u"RefX|adj|na|na"_ustr }, { u"upArrowCallout_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"upArrowCallout_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"upArrowCallout_2"_ustr, u"na|na|RefY|adj3"_ustr }, { u"upArrowCallout_3"_ustr, u"na|na|RefY|adj4"_ustr }, { u"upDownArrow_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"upDownArrow_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"upArrow_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"upArrow_1"_ustr, u"na|na|RefY|adj2"_ustr }, { u"upDownArrowCallout_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"upDownArrowCallout_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"upDownArrowCallout_2"_ustr, u"na|na|RefY|adj3"_ustr }, { u"upDownArrowCallout_3"_ustr, u"na|na|RefY|adj4"_ustr }, { u"uturnArrow_0"_ustr, u"RefX|adj1|na|na"_ustr }, { u"uturnArrow_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"uturnArrow_2"_ustr, u"na|na|RefY|adj3"_ustr }, { u"uturnArrow_3"_ustr, u"RefX|adj4|na|na"_ustr }, { u"uturnArrow_4"_ustr, u"na|na|RefY|adj5"_ustr }, { u"verticalScroll_0"_ustr, u"na|na|RefY|adj"_ustr }, { u"wave_0"_ustr, u"na|na|RefY|adj1"_ustr }, { u"wave_1"_ustr, u"RefX|adj2|na|na"_ustr }, { u"wedgeEllipseCallout_0"_ustr, u"RefX|adj1|RefY|adj2"_ustr }, { u"wedgeRectCallout_0"_ustr, u"RefX|adj1|RefY|adj2"_ustr }, { u"wedgeRoundRectCallout_0"_ustr, u"RefX|adj1|RefY|adj2"_ustr } }; } static sal_Int32 lcl_getAdjIndexFromToken(const sal_Int32 nTokenPos, std::u16string_view rMapValue) { std::u16string_view sAdjRef = o3tl::getToken(rMapValue, nTokenPos, '|'); std::u16string_view sNumber; // number part from "adj1", "adj2" etc. if (o3tl::starts_with(sAdjRef, u"adj", &sNumber)) { if (sNumber.empty() || sNumber == u"1") return 0; else return o3tl::toInt32(sNumber) - 1; } else return -1; } void PresetOOXHandleAdj::GetOOXHandleAdjRelation( std::u16string_view sFullOOXShapeName, const sal_Int32 nHandleIndex, OUString& rFirstRefType, sal_Int32& rFirstAdjValueIndex, OUString& rSecondRefType, sal_Int32& rSecondAdjValueIndex) { static const HandleAdjRelHashMap s_HashMap = []() { HandleAdjRelHashMap aH; aH.reserve(std::size(aHandleAdjRelArray)); for (const auto& item : aHandleAdjRelArray) aH.emplace(item.sShape_Handle, item.sAdjReferences); return aH; }(); std::u16string_view sKey; OUString sValue; rFirstRefType = "na"; rFirstAdjValueIndex = -1; rSecondRefType = "na"; rSecondAdjValueIndex = -1; if (o3tl::starts_with(sFullOOXShapeName, u"ooxml-", &sKey)) { HandleAdjRelHashMap::const_iterator aHashIter( s_HashMap.find(OUString::Concat(sKey) + "_" + OUString::number(nHandleIndex))); if (aHashIter != s_HashMap.end()) sValue = (*aHashIter).second; else return; } else return; rFirstRefType = sValue.getToken(0, '|'); rFirstAdjValueIndex = lcl_getAdjIndexFromToken(1, sValue); rSecondRefType = sValue.getToken(2, '|'); rSecondAdjValueIndex = lcl_getAdjIndexFromToken(3, sValue); return; } /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */