summaryrefslogtreecommitdiff
path: root/svx/source/customshapes
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-01-28 20:55:39 +0100
committerMichael Stahl <mstahl@redhat.com>2012-01-28 20:55:39 +0100
commit371976860088a3c5c3df9840dcdfd632d9d6f1f5 (patch)
tree9e9f67205cd5b72f1031721273e1534a3a1e5b0f /svx/source/customshapes
parent651568afad1a585c485384ab6d7b65780fb02256 (diff)
replace obsolete "master" branch with README that points at new repoHEADmaster-deletedmaster
Diffstat (limited to 'svx/source/customshapes')
-rw-r--r--svx/source/customshapes/EnhancedCustomShape2d.cxx2177
-rw-r--r--svx/source/customshapes/EnhancedCustomShape3d.cxx746
-rw-r--r--svx/source/customshapes/EnhancedCustomShape3d.hxx80
-rw-r--r--svx/source/customshapes/EnhancedCustomShapeEngine.cxx473
-rw-r--r--svx/source/customshapes/EnhancedCustomShapeEngine.hxx127
-rw-r--r--svx/source/customshapes/EnhancedCustomShapeFontWork.cxx885
-rw-r--r--svx/source/customshapes/EnhancedCustomShapeFontWork.hxx47
-rw-r--r--svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx1214
-rw-r--r--svx/source/customshapes/EnhancedCustomShapeGeometry.cxx8276
-rw-r--r--svx/source/customshapes/EnhancedCustomShapeHandle.cxx96
-rw-r--r--svx/source/customshapes/EnhancedCustomShapeHandle.hxx72
-rw-r--r--svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx331
-rw-r--r--svx/source/customshapes/tbxcustomshapes.cxx204
13 files changed, 0 insertions, 14728 deletions
diff --git a/svx/source/customshapes/EnhancedCustomShape2d.cxx b/svx/source/customshapes/EnhancedCustomShape2d.cxx
deleted file mode 100644
index 4001f7c9ce..0000000000
--- a/svx/source/customshapes/EnhancedCustomShape2d.cxx
+++ /dev/null
@@ -1,2177 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svx.hxx"
-#include "svx/EnhancedCustomShape2d.hxx"
-#include "svx/EnhancedCustomShapeGeometry.hxx"
-#include "svx/EnhancedCustomShapeTypeNames.hxx"
-#include <svx/svdoashp.hxx>
-#include <svx/svdtrans.hxx>
-#include <svx/svdocirc.hxx>
-#include <svx/svdogrp.hxx>
-#include <svx/svdopath.hxx>
-#include <svx/svdocapt.hxx>
-#include <svx/svdpage.hxx>
-#include <svx/xflclit.hxx>
-#include <svx/sdasaitm.hxx>
-#include <svx/svdmodel.hxx>
-#include <rtl/crc.h>
-#include <rtl/math.hxx>
-#include <svx/xfillit0.hxx>
-#include <svx/xlnstit.hxx>
-#include <svx/xlnedit.hxx>
-#include <svx/xlnstwit.hxx>
-#include <svx/xlnedwit.hxx>
-#include <svx/xlnstcit.hxx>
-#include <svx/xlnedcit.hxx>
-#include <svx/xflgrit.hxx>
-#include <svx/xflhtit.hxx>
-#include <svx/xbtmpit.hxx>
-#include <svx/xgrad.hxx>
-#include <svx/xbitmap.hxx>
-#include <svx/xhatch.hxx>
-#include <com/sun/star/awt/Size.hpp>
-#include <com/sun/star/drawing/EnhancedCustomShapeParameterType.hpp>
-#include <com/sun/star/drawing/EnhancedCustomShapeSegmentCommand.hpp>
-#include <boost/shared_ptr.hpp>
-#include <basegfx/numeric/ftools.hxx>
-#include <basegfx/color/bcolortools.hxx>
-#include <basegfx/polygon/b2dpolygon.hxx>
-
-// #i76201#
-#include <basegfx/polygon/b2dpolygontools.hxx>
-#include <rtl/strbuf.hxx>
-#include <math.h>
-
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::drawing;
-using namespace ::com::sun::star::drawing::EnhancedCustomShapeSegmentCommand;
-
-void EnhancedCustomShape2d::SetEnhancedCustomShapeParameter( EnhancedCustomShapeParameter& rParameter, const sal_Int32 nValue )
-{
- sal_uInt32 nDat = (sal_uInt32)nValue;
- sal_Int32 nNewValue = nValue;
-
- // check if this is a special point
- if ( ( nDat >> 16 ) == 0x8000 )
- {
- nNewValue = (sal_uInt16)nDat;
- rParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
- }
- else
- rParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
- rParameter.Value <<= nNewValue;
-}
-
-rtl::OUString EnhancedCustomShape2d::GetEquation( const sal_uInt16 nFlags, sal_Int16 nP1, sal_Int16 nP2, sal_Int16 nP3 )
-{
- rtl::OUString aEquation;
- sal_Bool b1Special = ( nFlags & 0x2000 ) != 0;
- sal_Bool b2Special = ( nFlags & 0x4000 ) != 0;
- sal_Bool b3Special = ( nFlags & 0x8000 ) != 0;
- switch( nFlags & 0xff )
- {
- case 0 :
- case 14 :
- {
- sal_Int32 nOptimize = 0;
- if ( nP1 )
- nOptimize |= 1;
- if ( nP2 )
- nOptimize |= 2;
- if ( b1Special )
- nOptimize |= 4;
- if ( b2Special )
- nOptimize |= 8;
- switch( nOptimize )
- {
- case 0 :
- break;
- case 1 :
- case 4 :
- case 5 :
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- break;
- case 2 :
- case 8 :
- case 10:
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- break;
- default :
- {
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( (sal_Unicode)'+' );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- }
- break;
- }
- if ( b3Special || nP3 )
- {
- aEquation += rtl::OUString( (sal_Unicode)'-' );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP3, b3Special );
- }
- }
- break;
- case 1 :
- {
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- if ( b2Special || ( nP2 != 1 ) )
- {
- aEquation += rtl::OUString( (sal_Unicode)'*' );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- }
- if ( b3Special || ( ( nP3 != 1 ) && ( nP3 != 0 ) ) )
- {
- aEquation += rtl::OUString( (sal_Unicode)'/' );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP3, b3Special );
- }
- }
- break;
- case 2 :
- {
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "+" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( ")/2" ) );
- }
- break;
- case 3 :
- {
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "abs(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( ")" ) );
- }
- break;
- case 4 :
- {
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "min(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "," ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( ")" ) );
- }
- break;
- case 5 :
- {
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "max(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "," ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( ")" ) );
- }
- break;
- case 6 :
- {
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "if(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( (sal_Unicode)',' );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- aEquation += rtl::OUString( (sal_Unicode)',' );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP3, b3Special );
- aEquation += rtl::OUString( (sal_Unicode)')' );
- }
- break;
- case 7 :
- {
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "sqrt(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "+" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "+" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP3, b3Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP3, b3Special );
- aEquation += rtl::OUString( (sal_Unicode)')' );
- }
- break;
- case 8 :
- {
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "atan2(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "," ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( ")/(pi/180)" ) );
- }
- break;
- case 9 :
- {
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*sin(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*(pi/180))" ) );
- }
- break;
- case 10 :
- {
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*cos(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*(pi/180))" ) );
- }
- break;
- case 11 :
- {
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*" ) );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "cos(atan2(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP3, b3Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "," ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "))" ) );
- }
- break;
- case 12 :
- {
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*" ) );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "sin(atan2(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP3, b3Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "," ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "))" ) );
- }
- break;
- case 13 :
- {
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "sqrt(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( ")" ) );
- }
- break;
- case 15 :
- {
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP3, b3Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*sqrt(1-(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "/" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( ")" ) );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "/" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "))" ) );
- }
- break;
- case 16 :
- {
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*tan(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( ")" ) );
- }
- break;
- case 0x80 :
- {
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "sqrt(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP3, b3Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP3, b3Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "-" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( (sal_Unicode)')' );
- }
- break;
- case 0x81 :
- {
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "(cos(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP3, b3Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*(pi/180))*(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "-10800)+sin(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP3, b3Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*(pi/180))*(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "-10800))+10800" ) );
- }
- break;
- case 0x82 :
- {
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "-(sin(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP3, b3Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*(pi/180))*(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP1, b1Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "-10800)-cos(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP3, b3Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "*(pi/180))*(" ) );
- EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( aEquation, nP2, b2Special );
- aEquation += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "-10800))+10800" ) );
- }
- break;
- }
- return aEquation;
-}
-
-void EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( rtl::OUString& rParameter, const sal_Int16 nPara, const sal_Bool bIsSpecialValue )
-{
- if ( bIsSpecialValue )
- {
- if ( nPara & 0x400 )
- {
- rParameter += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "?" ) );
- rParameter += rtl::OUString::valueOf( (sal_Int32)( nPara & 0xff ) );
- rParameter += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( " " ) );
- }
- else
- {
- switch( nPara )
- {
- case DFF_Prop_adjustValue :
- case DFF_Prop_adjust2Value :
- case DFF_Prop_adjust3Value :
- case DFF_Prop_adjust4Value :
- case DFF_Prop_adjust5Value :
- case DFF_Prop_adjust6Value :
- case DFF_Prop_adjust7Value :
- case DFF_Prop_adjust8Value :
- case DFF_Prop_adjust9Value :
- case DFF_Prop_adjust10Value :
- {
- rParameter += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "$" ) );
- rParameter += rtl::OUString::valueOf( (sal_Int32)( nPara - DFF_Prop_adjustValue ) );
- rParameter += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( " " ) );
- }
- break;
- case DFF_Prop_geoLeft :
- {
- rParameter += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "left" ) );
- }
- break;
- case DFF_Prop_geoTop :
- {
- rParameter += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "top" ) );
- }
- break;
- case DFF_Prop_geoRight :
- {
- rParameter += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "right" ) );
- }
- break;
- case DFF_Prop_geoBottom :
- {
- rParameter += rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "bottom" ) );
- }
- break;
- }
- }
- }
- else
- {
- rParameter += rtl::OUString::valueOf( (sal_Int32)( nPara ) );
- }
-}
-
-void EnhancedCustomShape2d::SetEnhancedCustomShapeHandleParameter( EnhancedCustomShapeParameter& rParameter, const sal_Int32 nPara, const sal_Bool bIsSpecialValue, sal_Bool bHorz )
-{
- sal_Int32 nValue = 0;
- if ( bIsSpecialValue )
- {
- if ( ( nPara >= 0x100 ) && ( nPara <= 0x107 ) )
- {
- nValue = nPara & 0xff;
- rParameter.Type = EnhancedCustomShapeParameterType::ADJUSTMENT;
- }
- else if ( ( nPara >= 3 ) && ( nPara <= 0x82 ) )
- {
- nValue = nPara - 3;
- rParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
- }
- else if ( nPara == 0 )
- {
- nValue = 0;
- if ( bHorz )
- rParameter.Type = EnhancedCustomShapeParameterType::LEFT;
- else
- rParameter.Type = EnhancedCustomShapeParameterType::TOP;
- }
- else if ( nPara == 1 )
- {
- nValue = 0;
- if ( bHorz )
- rParameter.Type = EnhancedCustomShapeParameterType::RIGHT;
- else
- rParameter.Type = EnhancedCustomShapeParameterType::BOTTOM;
- }
- else if ( nPara == 2 ) // means to be centered, but should not be
- { // used in our implementation
- nValue = 5600;
- rParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
- }
- else
- {
- nValue = nPara;
- rParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
- }
- }
- else
- {
- nValue = nPara;
- rParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
- }
- rParameter.Value <<= nValue;
-}
-
-sal_Bool EnhancedCustomShape2d::ConvertSequenceToEnhancedCustomShape2dHandle(
- const com::sun::star::beans::PropertyValues& rHandleProperties,
- EnhancedCustomShape2d::Handle& rDestinationHandle )
-{
- sal_Bool bRetValue = sal_False;
- sal_uInt32 i, nProperties = rHandleProperties.getLength();
- if ( nProperties )
- {
- rDestinationHandle.nFlags = 0;
- for ( i = 0; i < nProperties; i++ )
- {
- const com::sun::star::beans::PropertyValue& rPropVal = rHandleProperties[ i ];
-
- const rtl::OUString sPosition ( RTL_CONSTASCII_USTRINGPARAM( "Position" ) );
- const rtl::OUString sMirroredX ( RTL_CONSTASCII_USTRINGPARAM( "MirroredX" ) );
- const rtl::OUString sMirroredY ( RTL_CONSTASCII_USTRINGPARAM( "MirroredY" ) );
- const rtl::OUString sSwitched ( RTL_CONSTASCII_USTRINGPARAM( "Switched" ) );
- const rtl::OUString sPolar ( RTL_CONSTASCII_USTRINGPARAM( "Polar" ) );
- const rtl::OUString sRefX ( RTL_CONSTASCII_USTRINGPARAM( "RefX" ) );
- const rtl::OUString sRefY ( RTL_CONSTASCII_USTRINGPARAM( "RefY" ) );
- const rtl::OUString sRefAngle ( RTL_CONSTASCII_USTRINGPARAM( "RefAngle" ) );
- const rtl::OUString sRefR ( RTL_CONSTASCII_USTRINGPARAM( "RefR" ) );
- const rtl::OUString sRadiusRangeMinimum ( RTL_CONSTASCII_USTRINGPARAM( "RadiusRangeMinimum" ) );
- const rtl::OUString sRadiusRangeMaximum ( RTL_CONSTASCII_USTRINGPARAM( "RadiusRangeMaximum" ) );
- const rtl::OUString sRangeXMinimum ( RTL_CONSTASCII_USTRINGPARAM( "RangeXMinimum" ) );
- const rtl::OUString sRangeXMaximum ( RTL_CONSTASCII_USTRINGPARAM( "RangeXMaximum" ) );
- const rtl::OUString sRangeYMinimum ( RTL_CONSTASCII_USTRINGPARAM( "RangeYMinimum" ) );
- const rtl::OUString sRangeYMaximum ( RTL_CONSTASCII_USTRINGPARAM( "RangeYMaximum" ) );
-
- if ( rPropVal.Name.equals( sPosition ) )
- {
- if ( rPropVal.Value >>= rDestinationHandle.aPosition )
- bRetValue = sal_True;
- }
- else if ( rPropVal.Name.equals( sMirroredX ) )
- {
- sal_Bool bMirroredX = sal_Bool();
- if ( rPropVal.Value >>= bMirroredX )
- {
- if ( bMirroredX )
- rDestinationHandle.nFlags |= HANDLE_FLAGS_MIRRORED_X;
- }
- }
- else if ( rPropVal.Name.equals( sMirroredY ) )
- {
- sal_Bool bMirroredY = sal_Bool();
- if ( rPropVal.Value >>= bMirroredY )
- {
- if ( bMirroredY )
- rDestinationHandle.nFlags |= HANDLE_FLAGS_MIRRORED_Y;
- }
- }
- else if ( rPropVal.Name.equals( sSwitched ) )
- {
- sal_Bool bSwitched = sal_Bool();
- if ( rPropVal.Value >>= bSwitched )
- {
- if ( bSwitched )
- rDestinationHandle.nFlags |= HANDLE_FLAGS_SWITCHED;
- }
- }
- else if ( rPropVal.Name.equals( sPolar ) )
- {
- if ( rPropVal.Value >>= rDestinationHandle.aPolar )
- rDestinationHandle.nFlags |= HANDLE_FLAGS_POLAR;
- }
-/* seems not to be used.
- else if ( rPropVal.Name.equals( sMap ) )
- {
- com::sun::star::drawing::EnhancedCustomShapeParameterPair aMap;
- if ( rPropVal.Value >>= aMap )
- {
- if ( GetValueForEnhancedCustomShapeHandleParameter( nXMap, aMap.First ) )
- rDestinationHandle.Flags |= 0x800;
- if ( GetValueForEnhancedCustomShapeHandleParameter( nYMap, aMap.Second ) )
- rDestinationHandle.Flags |= 0x1000;
- rDestinationHandle.Flags |= 0x10;
- }
- }
-*/
- else if ( rPropVal.Name.equals( sRefX ) )
- {
- if ( rPropVal.Value >>= rDestinationHandle.nRefX )
- rDestinationHandle.nFlags |= HANDLE_FLAGS_REFX;
- }
- else if ( rPropVal.Name.equals( sRefY ) )
- {
- if ( rPropVal.Value >>= rDestinationHandle.nRefY )
- rDestinationHandle.nFlags |= HANDLE_FLAGS_REFY;
- }
- else if ( rPropVal.Name.equals( sRefAngle ) )
- {
- if ( rPropVal.Value >>= rDestinationHandle.nRefAngle )
- rDestinationHandle.nFlags |= HANDLE_FLAGS_REFANGLE;
- }
- else if ( rPropVal.Name.equals( sRefR ) )
- {
- if ( rPropVal.Value >>= rDestinationHandle.nRefR )
- rDestinationHandle.nFlags |= HANDLE_FLAGS_REFR;
- }
- else if ( rPropVal.Name.equals( sRadiusRangeMinimum ) )
- {
- if ( rPropVal.Value >>= rDestinationHandle.aRadiusRangeMinimum )
- rDestinationHandle.nFlags |= HANDLE_FLAGS_RADIUS_RANGE_MINIMUM;
- }
- else if ( rPropVal.Name.equals( sRadiusRangeMaximum ) )
- {
- if ( rPropVal.Value >>= rDestinationHandle.aRadiusRangeMaximum )
- rDestinationHandle.nFlags |= HANDLE_FLAGS_RADIUS_RANGE_MAXIMUM;
- }
- else if ( rPropVal.Name.equals( sRangeXMinimum ) )
- {
- if ( rPropVal.Value >>= rDestinationHandle.aXRangeMinimum )
- rDestinationHandle.nFlags |= HANDLE_FLAGS_RANGE_X_MINIMUM;
- }
- else if ( rPropVal.Name.equals( sRangeXMaximum ) )
- {
- if ( rPropVal.Value >>= rDestinationHandle.aXRangeMaximum )
- rDestinationHandle.nFlags |= HANDLE_FLAGS_RANGE_X_MAXIMUM;
- }
- else if ( rPropVal.Name.equals( sRangeYMinimum ) )
- {
- if ( rPropVal.Value >>= rDestinationHandle.aYRangeMinimum )
- rDestinationHandle.nFlags |= HANDLE_FLAGS_RANGE_Y_MINIMUM;
- }
- else if ( rPropVal.Name.equals( sRangeYMaximum ) )
- {
- if ( rPropVal.Value >>= rDestinationHandle.aYRangeMaximum )
- rDestinationHandle.nFlags |= HANDLE_FLAGS_RANGE_Y_MAXIMUM;
- }
- }
- }
- return bRetValue;
-}
-
-const sal_Int32* EnhancedCustomShape2d::ApplyShapeAttributes( const SdrCustomShapeGeometryItem& rGeometryItem )
-{
- const sal_Int32* pDefData = NULL;
- const mso_CustomShape* pDefCustomShape = GetCustomShapeContent( eSpType );
- if ( pDefCustomShape )
- pDefData = pDefCustomShape->pDefData;
-
- //////////////////////
- // AdjustmentValues //
- //////////////////////
- const rtl::OUString sAdjustmentValues( RTL_CONSTASCII_USTRINGPARAM ( "AdjustmentValues" ) );
- const Any* pAny = ((SdrCustomShapeGeometryItem&)rGeometryItem).GetPropertyValueByName( sAdjustmentValues );
- if ( pAny )
- *pAny >>= seqAdjustmentValues;
-
- ///////////////
- // Coordsize //
- ///////////////
- const rtl::OUString sViewBox( RTL_CONSTASCII_USTRINGPARAM ( "ViewBox" ) );
- const Any* pViewBox = ((SdrCustomShapeGeometryItem&)rGeometryItem).GetPropertyValueByName( sViewBox );
- com::sun::star::awt::Rectangle aViewBox;
- if ( pViewBox && (*pViewBox >>= aViewBox ) )
- {
- nCoordLeft = aViewBox.X;
- nCoordTop = aViewBox.Y;
- nCoordWidth = labs( aViewBox.Width );
- nCoordHeight= labs( aViewBox.Height);
- }
- const rtl::OUString sPath( RTL_CONSTASCII_USTRINGPARAM ( "Path" ) );
-
- //////////////////////
- // Path/Coordinates //
- //////////////////////
- const rtl::OUString sCoordinates( RTL_CONSTASCII_USTRINGPARAM ( "Coordinates" ) );
- pAny = ((SdrCustomShapeGeometryItem&)rGeometryItem).GetPropertyValueByName( sPath, sCoordinates );
- if ( pAny )
- *pAny >>= seqCoordinates;
-
- /////////////////////
- // Path/GluePoints //
- /////////////////////
- const rtl::OUString sGluePoints( RTL_CONSTASCII_USTRINGPARAM ( "GluePoints" ) );
- pAny = ((SdrCustomShapeGeometryItem&)rGeometryItem).GetPropertyValueByName( sPath, sGluePoints );
- if ( pAny )
- *pAny >>= seqGluePoints;
-
- ///////////////////
- // Path/Segments //
- ///////////////////
- const rtl::OUString sSegments( RTL_CONSTASCII_USTRINGPARAM ( "Segments" ) );
- pAny = ((SdrCustomShapeGeometryItem&)rGeometryItem).GetPropertyValueByName( sPath, sSegments );
- if ( pAny )
- *pAny >>= seqSegments;
-
- ///////////////////
- // Path/StretchX //
- ///////////////////
- const rtl::OUString sStretchX( RTL_CONSTASCII_USTRINGPARAM ( "StretchX" ) );
- pAny = ((SdrCustomShapeGeometryItem&)rGeometryItem).GetPropertyValueByName( sPath, sStretchX );
- if ( pAny )
- {
- sal_Int32 nStretchX = 0;
- if ( *pAny >>= nStretchX )
- nXRef = nStretchX;
- }
-
- ///////////////////
- // Path/StretchY //
- ///////////////////
- const rtl::OUString sStretchY( RTL_CONSTASCII_USTRINGPARAM ( "StretchY" ) );
- pAny = ((SdrCustomShapeGeometryItem&)rGeometryItem).GetPropertyValueByName( sPath, sStretchY );
- if ( pAny )
- {
- sal_Int32 nStretchY = 0;
- if ( *pAny >>= nStretchY )
- nYRef = nStretchY;
- }
-
- /////////////////////
- // Path/TextFrames //
- /////////////////////
- const rtl::OUString sTextFrames( RTL_CONSTASCII_USTRINGPARAM ( "TextFrames" ) );
- pAny = ((SdrCustomShapeGeometryItem&)rGeometryItem).GetPropertyValueByName( sPath, sTextFrames );
- if ( pAny )
- *pAny >>= seqTextFrames;
-
- ///////////////
- // Equations //
- ///////////////
- const rtl::OUString sEquations( RTL_CONSTASCII_USTRINGPARAM( "Equations" ) );
- pAny = ((SdrCustomShapeGeometryItem&)rGeometryItem).GetPropertyValueByName( sEquations );
- if ( pAny )
- *pAny >>= seqEquations;
-
- /////////////
- // Handles //
- /////////////
- const rtl::OUString sHandles( RTL_CONSTASCII_USTRINGPARAM( "Handles" ) );
- pAny = ((SdrCustomShapeGeometryItem&)rGeometryItem).GetPropertyValueByName( sHandles );
- if ( pAny )
- *pAny >>= seqHandles;
-
- return pDefData;
-}
-
-EnhancedCustomShape2d::~EnhancedCustomShape2d()
-{
-}
-
-EnhancedCustomShape2d::EnhancedCustomShape2d( SdrObject* pAObj ) :
- SfxItemSet ( pAObj->GetMergedItemSet() ),
- pCustomShapeObj ( pAObj ),
- eSpType ( mso_sptNil ),
- nCoordLeft ( 0 ),
- nCoordTop ( 0 ),
- nCoordWidth ( 21600 ),
- nCoordHeight ( 21600 ),
- nXRef ( 0x80000000 ),
- nYRef ( 0x80000000 ),
- nFlags ( 0 ),
- nColorData ( 0 ),
- bTextFlow ( sal_False ),
- bFilled ( ((const XFillStyleItem&)pAObj->GetMergedItem( XATTR_FILLSTYLE )).GetValue() != XFILL_NONE ),
- bStroked ( ((const XLineStyleItem&)pAObj->GetMergedItem( XATTR_LINESTYLE )).GetValue() != XLINE_NONE ),
- bFlipH ( sal_False ),
- bFlipV ( sal_False )
-{
- // bTextFlow needs to be set before clearing the TextDirection Item
-
- ClearItem( SDRATTR_TEXTDIRECTION ); //SJ: vertical writing is not required, by removing this item no outliner is created
-
- // #i105323# For 2D AtoShapes, the shadow attirbute does not need to be applied to any
- // of the constucted helper SdrObjects. This would lead to problems since the shadow
- // of one helper object would fall on one helper object behind it (e.g. with the
- // eyes of the smiley shape). This is not wanted; instead a single shadow 'behind'
- // the AutoShape visualisation is wanted. This is done with primitive functionailty
- // now in SdrCustomShapePrimitive2D::create2DDecomposition, but only for 2D objects
- // (see there and in EnhancedCustomShape3d::Create3DObject to read more).
- // This exception may be removed later when AutoShapes will create primitives directly.
- // So, currently remove the ShadowAttribute from the ItemSet to not apply it to any
- // 2D helper shape.
- ClearItem(SDRATTR_SHADOW);
-
- Point aP( pCustomShapeObj->GetSnapRect().Center() );
- Size aS( pCustomShapeObj->GetLogicRect().GetSize() );
- aP.X() -= aS.Width() / 2;
- aP.Y() -= aS.Height() / 2;
- aLogicRect = Rectangle( aP, aS );
-
- const rtl::OUString sType( RTL_CONSTASCII_USTRINGPARAM ( "Type" ) );
- const rtl::OUString sMirroredX( RTL_CONSTASCII_USTRINGPARAM ( "MirroredX" ) );
- const rtl::OUString sMirroredY( RTL_CONSTASCII_USTRINGPARAM ( "MirroredY" ) );
-
- rtl::OUString sShapeType;
- SdrCustomShapeGeometryItem& rGeometryItem = (SdrCustomShapeGeometryItem&)(const SdrCustomShapeGeometryItem&)pCustomShapeObj->GetMergedItem( SDRATTR_CUSTOMSHAPE_GEOMETRY );
- Any* pAny = rGeometryItem.GetPropertyValueByName( sType );
- if ( pAny )
- *pAny >>= sShapeType;
- eSpType = EnhancedCustomShapeTypeNames::Get( sShapeType );
-
- pAny = rGeometryItem.GetPropertyValueByName( sMirroredX );
- if ( pAny )
- *pAny >>= bFlipH;
- pAny = rGeometryItem.GetPropertyValueByName( sMirroredY );
- if ( pAny )
- *pAny >>= bFlipV;
-
- if ( pCustomShapeObj->ISA( SdrObjCustomShape ) ) // should always be a SdrObjCustomShape, but you don't know
- nRotateAngle = (sal_Int32)(((SdrObjCustomShape*)pCustomShapeObj)->GetObjectRotation() * 100.0);
- else
- nRotateAngle = pCustomShapeObj->GetRotateAngle();
-
- /*const sal_Int32* pDefData =*/ ApplyShapeAttributes( rGeometryItem );
- switch( eSpType )
- {
- case mso_sptCan : nColorData = 0x20400000; break;
- case mso_sptCube : nColorData = 0x302e0000; break;
- case mso_sptActionButtonBlank : nColorData = 0x502ce400; break;
- case mso_sptActionButtonHome : nColorData = 0x702ce4ce; break;
- case mso_sptActionButtonHelp : nColorData = 0x602ce4c0; break;
- case mso_sptActionButtonInformation : nColorData = 0x702ce4c5; break;
- case mso_sptActionButtonBackPrevious : nColorData = 0x602ce4c0; break;
- case mso_sptActionButtonForwardNext : nColorData = 0x602ce4c0; break;
- case mso_sptActionButtonBeginning : nColorData = 0x602ce4c0; break;
- case mso_sptActionButtonEnd : nColorData = 0x602ce4c0; break;
- case mso_sptActionButtonReturn : nColorData = 0x602ce4c0; break;
- case mso_sptActionButtonDocument : nColorData = 0x702ce4ec; break;
- case mso_sptActionButtonSound : nColorData = 0x602ce4c0; break;
- case mso_sptActionButtonMovie : nColorData = 0x602ce4c0; break;
- case mso_sptBevel : nColorData = 0x502ce400; break;
- case mso_sptFoldedCorner : nColorData = 0x20e00000; break;
- case mso_sptSmileyFace : nColorData = 0x20e00000; break;
- case mso_sptNil :
- {
- if( sShapeType.getLength() > 4 &&
- sShapeType.matchAsciiL( RTL_CONSTASCII_STRINGPARAM( "col-" )))
- {
- nColorData = sShapeType.copy( 4 ).toInt32( 16 );
- }
- }
- break;
- case mso_sptCurvedLeftArrow :
- case mso_sptCurvedRightArrow :
- case mso_sptCurvedUpArrow :
- case mso_sptCurvedDownArrow : nColorData = 0x2d000000; break;
- case mso_sptRibbon2 : nColorData = 0x30ee0000; break;
- case mso_sptRibbon : nColorData = 0x30ee0000; break;
-
- case mso_sptEllipseRibbon2 : nColorData = 0x30ee0000; break;
- case mso_sptEllipseRibbon : nColorData = 0x30ee0000; break;
-
- case mso_sptVerticalScroll : nColorData = 0x30ee0000; break;
- case mso_sptHorizontalScroll : nColorData = 0x30ee0000; break;
- default:
- break;
- }
- fXScale = nCoordWidth == 0 ? 0.0 : (double)aLogicRect.GetWidth() / (double)nCoordWidth;
- fYScale = nCoordHeight == 0 ? 0.0 : (double)aLogicRect.GetHeight() / (double)nCoordHeight;
- if ( (sal_uInt32)nXRef != 0x80000000 && aLogicRect.GetHeight() )
- {
- fXRatio = (double)aLogicRect.GetWidth() / (double)aLogicRect.GetHeight();
- if ( fXRatio > 1 )
- fXScale /= fXRatio;
- else
- fXRatio = 1.0;
- }
- else
- fXRatio = 1.0;
- if ( (sal_uInt32)nYRef != 0x80000000 && aLogicRect.GetWidth() )
- {
- fYRatio = (double)aLogicRect.GetHeight() / (double)aLogicRect.GetWidth();
- if ( fYRatio > 1 )
- fYScale /= fYRatio;
- else
- fYRatio = 1.0;
- }
- else
- fYRatio = 1.0;
-
- sal_Int32 i, nLength = seqEquations.getLength();
-
-
- if ( nLength )
- {
- vNodesSharedPtr.resize( nLength );
- for ( i = 0; i < seqEquations.getLength(); i++ )
- {
- try
- {
- vNodesSharedPtr[ i ] = EnhancedCustomShape::FunctionParser::parseFunction( seqEquations[ i ], *this );
- }
- catch ( EnhancedCustomShape::ParseError& )
- {
- }
- }
- }
-}
-double EnhancedCustomShape2d::GetEnumFunc( const EnumFunc eFunc ) const
-{
- double fRet = 0.0;
- switch( eFunc )
- {
- case ENUM_FUNC_PI : fRet = F_PI; break;
- case ENUM_FUNC_LEFT : fRet = 0.0; break;
- case ENUM_FUNC_TOP : fRet = 0.0; break;
- case ENUM_FUNC_RIGHT : fRet = (double)nCoordWidth * fXRatio; break;
- case ENUM_FUNC_BOTTOM : fRet = (double)nCoordHeight * fYRatio; break;
- case ENUM_FUNC_XSTRETCH : fRet = nXRef; break;
- case ENUM_FUNC_YSTRETCH : fRet = nYRef; break;
- case ENUM_FUNC_HASSTROKE : fRet = bStroked ? 1.0 : 0.0; break;
- case ENUM_FUNC_HASFILL : fRet = bFilled ? 1.0 : 0.0; break;
- case ENUM_FUNC_WIDTH : fRet = nCoordWidth; break;
- case ENUM_FUNC_HEIGHT : fRet = nCoordHeight; break;
- case ENUM_FUNC_LOGWIDTH : fRet = aLogicRect.GetWidth(); break;
- case ENUM_FUNC_LOGHEIGHT : fRet = aLogicRect.GetHeight(); break;
- }
- return fRet;
-}
-double EnhancedCustomShape2d::GetAdjustValueAsDouble( const sal_Int32 nIndex ) const
-{
- double fNumber = 0.0;
- if ( nIndex < seqAdjustmentValues.getLength() )
- {
- if ( seqAdjustmentValues[ nIndex ].Value.getValueTypeClass() == TypeClass_DOUBLE )
- seqAdjustmentValues[ nIndex ].Value >>= fNumber;
- else
- {
- sal_Int32 nNumber = 0;
- seqAdjustmentValues[ nIndex ].Value >>= nNumber;
- fNumber = (double)nNumber;
- }
- }
- return fNumber;
-}
-double EnhancedCustomShape2d::GetEquationValueAsDouble( const sal_Int32 nIndex ) const
-{
- double fNumber = 0.0;
- if ( nIndex < (sal_Int32)vNodesSharedPtr.size() )
- {
- if ( vNodesSharedPtr[ nIndex ].get() )
- try
- {
- fNumber = (*vNodesSharedPtr[ nIndex ])();
- if ( !rtl::math::isFinite( fNumber ) )
- fNumber = 0.0;
- }
- catch ( ... )
- {
- /* sal_Bool bUps = sal_True; */
- }
- }
- return fNumber;
-}
-sal_Int32 EnhancedCustomShape2d::GetAdjustValueAsInteger( const sal_Int32 nIndex, const sal_Int32 nDefault ) const
-{
- sal_Int32 nNumber = nDefault;
- if ( nIndex < seqAdjustmentValues.getLength() )
- {
- if ( seqAdjustmentValues[ nIndex ].Value.getValueTypeClass() == TypeClass_DOUBLE )
- {
- double fNumber = 0;
- seqAdjustmentValues[ nIndex ].Value >>= fNumber;
- nNumber = (sal_Int32)fNumber;
- }
- else
- seqAdjustmentValues[ nIndex ].Value >>= nNumber;
- }
- return nNumber;
-}
-sal_Bool EnhancedCustomShape2d::SetAdjustValueAsDouble( const double& rValue, const sal_Int32 nIndex )
-{
- sal_Bool bRetValue = sal_False;
- if ( nIndex < seqAdjustmentValues.getLength() )
- {
- // updating our local adjustment sequence
- seqAdjustmentValues[ nIndex ].Value <<= rValue;
- seqAdjustmentValues[ nIndex ].State = com::sun::star::beans::PropertyState_DIRECT_VALUE;
- bRetValue = sal_True;
- }
- return bRetValue;
-}
-
-Point EnhancedCustomShape2d::GetPoint( const com::sun::star::drawing::EnhancedCustomShapeParameterPair& rPair,
- const sal_Bool bScale, const sal_Bool bReplaceGeoSize ) const
-{
- Point aRetValue;
- sal_Bool bExchange = ( nFlags & DFF_CUSTOMSHAPE_EXCH ) != 0; // x <-> y
- sal_uInt32 nPass = 0;
- do
- {
- sal_uInt32 nIndex = nPass;
-
- if ( bExchange )
- nIndex ^= 1;
-
- double fVal;
- const EnhancedCustomShapeParameter& rParameter = nIndex ? rPair.Second : rPair.First;
- if ( nPass ) // height
- {
- GetParameter( fVal, rParameter, sal_False, bReplaceGeoSize );
- fVal -= nCoordTop;
- if ( bScale )
- {
- fVal *= fYScale;
-
- if ( nFlags & DFF_CUSTOMSHAPE_FLIP_V )
- fVal = aLogicRect.GetHeight() - fVal;
- }
- aRetValue.Y() = (sal_Int32)fVal;
- }
- else // width
- {
- GetParameter( fVal, rParameter, bReplaceGeoSize, sal_False );
- fVal -= nCoordLeft;
- if ( bScale )
- {
- fVal *= fXScale;
-
- if ( nFlags & DFF_CUSTOMSHAPE_FLIP_H )
- fVal = aLogicRect.GetWidth() - fVal;
- }
- aRetValue.X() = (sal_Int32)fVal;
- }
- }
- while ( ++nPass < 2 );
- return aRetValue;
-}
-
-sal_Bool EnhancedCustomShape2d::GetParameter( double& rRetValue, const EnhancedCustomShapeParameter& rParameter,
- const sal_Bool bReplaceGeoWidth, const sal_Bool bReplaceGeoHeight ) const
-{
- rRetValue = 0.0;
- sal_Bool bRetValue = sal_False;
- switch ( rParameter.Type )
- {
- case EnhancedCustomShapeParameterType::ADJUSTMENT :
- {
- sal_Int32 nAdjustmentIndex = 0;
- if ( rParameter.Value >>= nAdjustmentIndex )
- {
- rRetValue = GetAdjustValueAsDouble( nAdjustmentIndex );
- bRetValue = sal_True;
- }
- }
- break;
- case EnhancedCustomShapeParameterType::EQUATION :
- {
- sal_Int32 nEquationIndex = 0;
- if ( rParameter.Value >>= nEquationIndex )
- {
- rRetValue = GetEquationValueAsDouble( nEquationIndex );
- bRetValue = sal_True;
- }
- }
- break;
- case EnhancedCustomShapeParameterType::NORMAL :
- {
- if ( rParameter.Value.getValueTypeClass() == TypeClass_DOUBLE )
- {
- double fValue(0.0);
- if ( rParameter.Value >>= fValue )
- {
- rRetValue = fValue;
- bRetValue = sal_True;
- }
- }
- else
- {
- sal_Int32 nValue = 0;
- if ( rParameter.Value >>= nValue )
- {
- rRetValue = nValue;
- bRetValue = sal_True;
- if ( bReplaceGeoWidth && ( nValue == nCoordWidth ) )
- rRetValue *= fXRatio;
- else if ( bReplaceGeoHeight && ( nValue == nCoordHeight ) )
- rRetValue *= fYRatio;
- }
- }
- }
- break;
- case EnhancedCustomShapeParameterType::LEFT :
- {
- rRetValue = 0.0;
- bRetValue = sal_True;
- }
- break;
- case EnhancedCustomShapeParameterType::TOP :
- {
- rRetValue = 0.0;
- bRetValue = sal_True;
- }
- break;
- case EnhancedCustomShapeParameterType::RIGHT :
- {
- rRetValue = nCoordWidth;
- bRetValue = sal_True;
- }
- break;
- case EnhancedCustomShapeParameterType::BOTTOM :
- {
- rRetValue = nCoordHeight;
- bRetValue = sal_True;
- }
- break;
- }
- return bRetValue;
-}
-
-// nLumDat 28-31 = number of luminance entries in nLumDat
-// nLumDat 27-24 = nLumDatEntry 0
-// nLumDat 23-20 = nLumDatEntry 1 ...
-// each 4bit entry is to be interpreted as a 10 percent signed luminance changing
-sal_Int32 EnhancedCustomShape2d::GetLuminanceChange( sal_uInt32 nIndex ) const
-{
- const sal_uInt32 nCount = nColorData >> 28;
- if ( !nCount )
- return 0;
-
- if ( nIndex >= nCount )
- nIndex = nCount - 1;
-
- const sal_Int32 nLumDat = nColorData << ( ( 1 + nIndex ) << 2 );
- return ( nLumDat >> 28 ) * 10;
-}
-
-Color EnhancedCustomShape2d::GetColorData( const Color& rFillColor, sal_uInt32 nIndex ) const
-{
- const sal_Int32 nLuminance = GetLuminanceChange(nIndex);
- if( !nLuminance )
- return rFillColor;
-
- basegfx::BColor aHSVColor=
- basegfx::tools::rgb2hsv(
- basegfx::BColor(rFillColor.GetRed()/255.0,
- rFillColor.GetGreen()/255.0,
- rFillColor.GetBlue()/255.0));
- if( nLuminance > 0 )
- {
- aHSVColor.setGreen(
- aHSVColor.getGreen() * (1.0-nLuminance/100.0));
- aHSVColor.setBlue(
- nLuminance/100.0 +
- (1.0-nLuminance/100.0)*aHSVColor.getBlue());
- }
- else if( nLuminance < 0 )
- {
- aHSVColor.setBlue(
- (1.0+nLuminance/100.0)*aHSVColor.getBlue());
- }
-
- aHSVColor = basegfx::tools::hsv2rgb(aHSVColor);
- return Color( (sal_uInt8)static_cast< sal_Int32 >( basegfx::clamp(aHSVColor.getRed(),0.0,1.0) * 255.0 + 0.5 ),
- (sal_uInt8)static_cast< sal_Int32 >( basegfx::clamp(aHSVColor.getGreen(),0.0,1.0) * 255.0 + 0.5 ),
- (sal_uInt8)static_cast< sal_Int32 >( basegfx::clamp(aHSVColor.getBlue(),0.0,1.0) * 255.0 + 0.5 ) );
-}
-
-Rectangle EnhancedCustomShape2d::GetTextRect() const
-{
- sal_Int32 nIndex, nSize = seqTextFrames.getLength();
- if ( !nSize )
- return aLogicRect;
- nIndex = 0;
- if ( bTextFlow && ( nSize > 1 ) )
- nIndex++;
- Point aTopLeft( GetPoint( seqTextFrames[ nIndex ].TopLeft, sal_True, sal_True ) );
- Point aBottomRight( GetPoint( seqTextFrames[ nIndex ].BottomRight, sal_True, sal_True ) );
- if ( bFlipH )
- {
- aTopLeft.X() = aLogicRect.GetWidth() - aTopLeft.X();
- aBottomRight.X() = aLogicRect.GetWidth() - aBottomRight.X();
- }
- if ( bFlipV )
- {
- aTopLeft.Y() = aLogicRect.GetHeight() - aTopLeft.Y();
- aBottomRight.Y() = aLogicRect.GetHeight() - aBottomRight.Y();
- }
- Rectangle aRect( aTopLeft, aBottomRight );
- aRect.Move( aLogicRect.Left(), aLogicRect.Top() );
- aRect.Justify();
- return aRect;
-}
-
-sal_uInt32 EnhancedCustomShape2d::GetHdlCount() const
-{
- return seqHandles.getLength();
-}
-
-sal_Bool EnhancedCustomShape2d::GetHandlePosition( const sal_uInt32 nIndex, Point& rReturnPosition ) const
-{
- sal_Bool bRetValue = sal_False;
- if ( nIndex < GetHdlCount() )
- {
- Handle aHandle;
- if ( ConvertSequenceToEnhancedCustomShape2dHandle( seqHandles[ nIndex ], aHandle ) )
- {
- if ( aHandle.nFlags & HANDLE_FLAGS_POLAR )
- {
- Point aReferencePoint( GetPoint( aHandle.aPolar, sal_True, sal_False ) );
-
- double fAngle;
- double fRadius;
- GetParameter( fRadius, aHandle.aPosition.First, sal_False, sal_False );
- GetParameter( fAngle, aHandle.aPosition.Second, sal_False, sal_False );
-
- double a = ( 360.0 - fAngle ) * F_PI180;
- double dx = fRadius * fXScale;
- double fX = dx * cos( a );
- double fY =-dx * sin( a );
- rReturnPosition =
- Point(
- Round( fX + aReferencePoint.X() ),
- basegfx::fTools::equalZero(fXScale) ? aReferencePoint.Y() :
- Round( ( fY * fYScale ) / fXScale + aReferencePoint.Y() ) );
- }
- else
- {
- if ( aHandle.nFlags & HANDLE_FLAGS_SWITCHED )
- {
- if ( aLogicRect.GetHeight() > aLogicRect.GetWidth() )
- {
- com::sun::star::drawing::EnhancedCustomShapeParameter aFirst = aHandle.aPosition.First;
- com::sun::star::drawing::EnhancedCustomShapeParameter aSecond = aHandle.aPosition.Second;
- aHandle.aPosition.First = aSecond;
- aHandle.aPosition.Second = aFirst;
- }
- }
- rReturnPosition = GetPoint( aHandle.aPosition, sal_True, sal_False );
- }
- const GeoStat aGeoStat( ((SdrObjCustomShape*)pCustomShapeObj)->GetGeoStat() );
- if ( aGeoStat.nShearWink )
- {
- double nTan = aGeoStat.nTan;
- if ((bFlipV&&!bFlipH )||(bFlipH&&!bFlipV))
- nTan = -nTan;
- ShearPoint( rReturnPosition, Point( aLogicRect.GetWidth() / 2, aLogicRect.GetHeight() / 2 ), nTan );
- }
- if ( nRotateAngle )
- {
- double a = nRotateAngle * F_PI18000;
- RotatePoint( rReturnPosition, Point( aLogicRect.GetWidth() / 2, aLogicRect.GetHeight() / 2 ), sin( a ), cos( a ) );
- }
- if ( bFlipH )
- rReturnPosition.X() = aLogicRect.GetWidth() - rReturnPosition.X();
- if ( bFlipV )
- rReturnPosition.Y() = aLogicRect.GetHeight() - rReturnPosition.Y();
- rReturnPosition.Move( aLogicRect.Left(), aLogicRect.Top() );
- bRetValue = sal_True;
- }
- }
- return bRetValue;
-}
-
-sal_Bool EnhancedCustomShape2d::SetHandleControllerPosition( const sal_uInt32 nIndex, const com::sun::star::awt::Point& rPosition )
-{
- sal_Bool bRetValue = sal_False;
- if ( nIndex < GetHdlCount() )
- {
- Handle aHandle;
- if ( ConvertSequenceToEnhancedCustomShape2dHandle( seqHandles[ nIndex ], aHandle ) )
- {
- Point aP( rPosition.X, rPosition.Y );
- // apply the negative object rotation to the controller position
-
- aP.Move( -aLogicRect.Left(), -aLogicRect.Top() );
- if ( bFlipH )
- aP.X() = aLogicRect.GetWidth() - aP.X();
- if ( bFlipV )
- aP.Y() = aLogicRect.GetHeight() - aP.Y();
- if ( nRotateAngle )
- {
- double a = -nRotateAngle * F_PI18000;
- RotatePoint( aP, Point( aLogicRect.GetWidth() / 2, aLogicRect.GetHeight() / 2 ), sin( a ), cos( a ) );
- }
- const GeoStat aGeoStat( ((SdrObjCustomShape*)pCustomShapeObj)->GetGeoStat() );
- if ( aGeoStat.nShearWink )
- {
- double nTan = -aGeoStat.nTan;
- if ((bFlipV&&!bFlipH )||(bFlipH&&!bFlipV))
- nTan = -nTan;
- ShearPoint( aP, Point( aLogicRect.GetWidth() / 2, aLogicRect.GetHeight() / 2 ), nTan );
- }
-
- double fPos1 = aP.X(); //( bFlipH ) ? aLogicRect.GetWidth() - aP.X() : aP.X();
- double fPos2 = aP.Y(); //( bFlipV ) ? aLogicRect.GetHeight() -aP.Y() : aP.Y();
- fPos1 /= fXScale;
- fPos2 /= fYScale;
-
- if ( aHandle.nFlags & HANDLE_FLAGS_SWITCHED )
- {
- if ( aLogicRect.GetHeight() > aLogicRect.GetWidth() )
- {
- double fX = fPos1;
- double fY = fPos2;
- fPos1 = fY;
- fPos2 = fX;
- }
- }
-
- sal_Int32 nFirstAdjustmentValue = -1, nSecondAdjustmentValue = -1;
-
- if ( aHandle.aPosition.First.Type == EnhancedCustomShapeParameterType::ADJUSTMENT )
- aHandle.aPosition.First.Value >>= nFirstAdjustmentValue;
- if ( aHandle.aPosition.Second.Type == EnhancedCustomShapeParameterType::ADJUSTMENT )
- aHandle.aPosition.Second.Value>>= nSecondAdjustmentValue;
-
- if ( aHandle.nFlags & HANDLE_FLAGS_POLAR )
- {
- double fXRef, fYRef, fAngle;
- GetParameter( fXRef, aHandle.aPolar.First, sal_False, sal_False );
- GetParameter( fYRef, aHandle.aPolar.Second, sal_False, sal_False );
- const double fDX = fPos1 - fXRef;
- fAngle = -( atan2( -fPos2 + fYRef, ( ( fDX == 0.0L ) ? 0.000000001 : fDX ) ) / F_PI180 );
- double fX = ( fPos1 - fXRef );
- double fY = ( fPos2 - fYRef );
- double fRadius = sqrt( fX * fX + fY * fY );
- if ( aHandle.nFlags & HANDLE_FLAGS_RADIUS_RANGE_MINIMUM )
- {
- double fMin;
- GetParameter( fMin, aHandle.aRadiusRangeMinimum, sal_False, sal_False );
- if ( fRadius < fMin )
- fRadius = fMin;
- }
- if ( aHandle.nFlags & HANDLE_FLAGS_RADIUS_RANGE_MAXIMUM )
- {
- double fMax;
- GetParameter( fMax, aHandle.aRadiusRangeMaximum, sal_False, sal_False );
- if ( fRadius > fMax )
- fRadius = fMax;
- }
- if ( nFirstAdjustmentValue >= 0 )
- SetAdjustValueAsDouble( fRadius, nFirstAdjustmentValue );
- if ( nSecondAdjustmentValue >= 0 )
- SetAdjustValueAsDouble( fAngle, nSecondAdjustmentValue );
- }
- else
- {
- if ( aHandle.nFlags & HANDLE_FLAGS_REFX )
- {
- nFirstAdjustmentValue = aHandle.nRefX;
- fPos1 *= 100000.0;
- fPos1 /= nCoordWidth;
- }
- if ( aHandle.nFlags & HANDLE_FLAGS_REFY )
- {
- nSecondAdjustmentValue = aHandle.nRefY;
- fPos2 *= 100000.0;
- fPos2 /= nCoordHeight;
- }
- if ( nFirstAdjustmentValue >= 0 )
- {
- if ( aHandle.nFlags & HANDLE_FLAGS_RANGE_X_MINIMUM ) // check if horizontal handle needs to be within a range
- {
- double fXMin;
- GetParameter( fXMin, aHandle.aXRangeMinimum, sal_False, sal_False );
- if ( fPos1 < fXMin )
- fPos1 = fXMin;
- }
- if ( aHandle.nFlags & HANDLE_FLAGS_RANGE_X_MAXIMUM ) // check if horizontal handle needs to be within a range
- {
- double fXMax;
- GetParameter( fXMax, aHandle.aXRangeMaximum, sal_False, sal_False );
- if ( fPos1 > fXMax )
- fPos1 = fXMax;
- }
- SetAdjustValueAsDouble( fPos1, nFirstAdjustmentValue );
- }
- if ( nSecondAdjustmentValue >= 0 )
- {
- if ( aHandle.nFlags & HANDLE_FLAGS_RANGE_Y_MINIMUM ) // check if vertical handle needs to be within a range
- {
- double fYMin;
- GetParameter( fYMin, aHandle.aYRangeMinimum, sal_False, sal_False );
- if ( fPos2 < fYMin )
- fPos2 = fYMin;
- }
- if ( aHandle.nFlags & HANDLE_FLAGS_RANGE_Y_MAXIMUM ) // check if vertical handle needs to be within a range
- {
- double fYMax;
- GetParameter( fYMax, aHandle.aYRangeMaximum, sal_False, sal_False );
- if ( fPos2 > fYMax )
- fPos2 = fYMax;
- }
- SetAdjustValueAsDouble( fPos2, nSecondAdjustmentValue );
- }
- }
- // and writing them back into the GeometryItem
- SdrCustomShapeGeometryItem aGeometryItem((SdrCustomShapeGeometryItem&)
- (const SdrCustomShapeGeometryItem&)pCustomShapeObj->GetMergedItem( SDRATTR_CUSTOMSHAPE_GEOMETRY ));
- const rtl::OUString sAdjustmentValues( RTL_CONSTASCII_USTRINGPARAM ( "AdjustmentValues" ) );
- com::sun::star::beans::PropertyValue aPropVal;
- aPropVal.Name = sAdjustmentValues;
- aPropVal.Value <<= seqAdjustmentValues;
- aGeometryItem.SetPropertyValue( aPropVal );
- pCustomShapeObj->SetMergedItem( aGeometryItem );
- bRetValue = sal_True;
- }
- }
- return bRetValue;
-}
-
-void EnhancedCustomShape2d::SwapStartAndEndArrow( SdrObject* pObj ) //#108274
-{
- XLineStartItem aLineStart;
- aLineStart.SetLineStartValue(((XLineStartItem&)pObj->GetMergedItem( XATTR_LINEEND )).GetLineStartValue());
- XLineStartWidthItem aLineStartWidth(((XLineStartWidthItem&)pObj->GetMergedItem( XATTR_LINEENDWIDTH )).GetValue());
- XLineStartCenterItem aLineStartCenter(((XLineStartCenterItem&)pObj->GetMergedItem( XATTR_LINEENDCENTER )).GetValue());
-
- XLineEndItem aLineEnd;
- aLineEnd.SetLineEndValue(((XLineEndItem&)pObj->GetMergedItem( XATTR_LINESTART )).GetLineEndValue());
- XLineEndWidthItem aLineEndWidth(((XLineEndWidthItem&)pObj->GetMergedItem( XATTR_LINESTARTWIDTH )).GetValue());
- XLineEndCenterItem aLineEndCenter(((XLineEndCenterItem&)pObj->GetMergedItem( XATTR_LINESTARTCENTER )).GetValue());
-
- pObj->SetMergedItem( aLineStart );
- pObj->SetMergedItem( aLineStartWidth );
- pObj->SetMergedItem( aLineStartCenter );
- pObj->SetMergedItem( aLineEnd );
- pObj->SetMergedItem( aLineEndWidth );
- pObj->SetMergedItem( aLineEndCenter );
-}
-
-basegfx::B2DPolygon CreateArc( const Rectangle& rRect, const Point& rStart, const Point& rEnd, const sal_Bool bClockwise )
-{
- Rectangle aRect( rRect );
- Point aStart( rStart );
- Point aEnd( rEnd );
-
- sal_Int32 bSwapStartEndAngle = 0;
-
- if ( aRect.Left() > aRect.Right() )
- bSwapStartEndAngle ^= 0x01;
- if ( aRect.Top() > aRect.Bottom() )
- bSwapStartEndAngle ^= 0x11;
- if ( bSwapStartEndAngle )
- {
- aRect.Justify();
- if ( bSwapStartEndAngle & 1 )
- {
- Point aTmp( aStart );
- aStart = aEnd;
- aEnd = aTmp;
- }
- }
-
- Polygon aTempPoly( aRect, aStart, aEnd, POLY_ARC );
- basegfx::B2DPolygon aRetval;
-
- if ( bClockwise )
- {
- for ( sal_uInt16 j = aTempPoly.GetSize(); j--; )
- {
- aRetval.append(basegfx::B2DPoint(aTempPoly[ j ].X(), aTempPoly[ j ].Y()));
- }
- }
- else
- {
- for ( sal_uInt16 j = 0; j < aTempPoly.GetSize(); j++ )
- {
- aRetval.append(basegfx::B2DPoint(aTempPoly[ j ].X(), aTempPoly[ j ].Y()));
- }
- }
-
- return aRetval;
-}
-
-void EnhancedCustomShape2d::CreateSubPath( sal_uInt16& rSrcPt, sal_uInt16& rSegmentInd, std::vector< SdrPathObj* >& rObjectList,
- const sal_Bool bLineGeometryNeededOnly,
- const sal_Bool bSortFilledObjectsToBack )
-{
- sal_Bool bNoFill = sal_False;
- sal_Bool bNoStroke = sal_False;
-
- basegfx::B2DPolyPolygon aNewB2DPolyPolygon;
- basegfx::B2DPolygon aNewB2DPolygon;
-
- sal_Int32 nCoordSize = seqCoordinates.getLength();
- sal_Int32 nSegInfoSize = seqSegments.getLength();
- if ( !nSegInfoSize )
- {
- const EnhancedCustomShapeParameterPair* pTmp = seqCoordinates.getArray();
-
- for ( sal_Int32 nPtNum(0L); nPtNum < nCoordSize; nPtNum++ )
- {
- const Point aTempPoint(GetPoint( *pTmp++, sal_True, sal_True ));
- aNewB2DPolygon.append(basegfx::B2DPoint(aTempPoint.X(), aTempPoint.Y()));
- }
-
- aNewB2DPolygon.setClosed(true);
- }
- else
- {
- for ( ;rSegmentInd < nSegInfoSize; )
- {
- sal_Int16 nCommand = seqSegments[ rSegmentInd ].Command;
- sal_Int16 nPntCount= seqSegments[ rSegmentInd++ ].Count;
-
- switch ( nCommand )
- {
- case NOFILL :
- bNoFill = sal_True;
- break;
- case NOSTROKE :
- bNoStroke = sal_True;
- break;
- case MOVETO :
- {
- if(aNewB2DPolygon.count() > 1L)
- {
- // #i76201# Add conversion to closed polygon when first and last points are equal
- basegfx::tools::checkClosed(aNewB2DPolygon);
- aNewB2DPolyPolygon.append(aNewB2DPolygon);
- }
-
- aNewB2DPolygon.clear();
-
- if ( rSrcPt < nCoordSize )
- {
- const Point aTempPoint(GetPoint( seqCoordinates[ rSrcPt++ ], sal_True, sal_True ));
- aNewB2DPolygon.append(basegfx::B2DPoint(aTempPoint.X(), aTempPoint.Y()));
- }
- }
- break;
- case ENDSUBPATH :
- break;
- case CLOSESUBPATH :
- {
- if(aNewB2DPolygon.count())
- {
- if(aNewB2DPolygon.count() > 1L)
- {
- aNewB2DPolygon.setClosed(true);
- aNewB2DPolyPolygon.append(aNewB2DPolygon);
- }
-
- aNewB2DPolygon.clear();
- }
- }
- break;
- case CURVETO :
- {
- for ( sal_uInt16 i = 0; ( i < nPntCount ) && ( ( rSrcPt + 2 ) < nCoordSize ); i++ )
- {
- const Point aControlA(GetPoint( seqCoordinates[ rSrcPt++ ], sal_True, sal_True ));
- const Point aControlB(GetPoint( seqCoordinates[ rSrcPt++ ], sal_True, sal_True ));
- const Point aEnd(GetPoint( seqCoordinates[ rSrcPt++ ], sal_True, sal_True ));
-
- DBG_ASSERT(aNewB2DPolygon.count(), "EnhancedCustomShape2d::CreateSubPath: Error in adding control point (!)");
- aNewB2DPolygon.appendBezierSegment(
- basegfx::B2DPoint(aControlA.X(), aControlA.Y()),
- basegfx::B2DPoint(aControlB.X(), aControlB.Y()),
- basegfx::B2DPoint(aEnd.X(), aEnd.Y()));
- }
- }
- break;
-
- case ANGLEELLIPSE :
- {
- if(aNewB2DPolygon.count() > 1L)
- {
- // #i76201# Add conversion to closed polygon when first and last points are equal
- basegfx::tools::checkClosed(aNewB2DPolygon);
- aNewB2DPolyPolygon.append(aNewB2DPolygon);
- }
-
- aNewB2DPolygon.clear();
- }
- case ANGLEELLIPSETO :
- {
- for ( sal_uInt16 i = 0; ( i < nPntCount ) && ( ( rSrcPt + 2 ) < nCoordSize ); i++ )
- {
- // create a circle
- Point _aCenter( GetPoint( seqCoordinates[ rSrcPt ], sal_True, sal_True ) );
- double fWidth, fHeight;
- GetParameter( fWidth, seqCoordinates[ rSrcPt + 1 ].First, sal_True, sal_False );
- GetParameter( fHeight, seqCoordinates[ rSrcPt + 1 ].Second, sal_False, sal_True );
- fWidth *= fXScale;
- fHeight*= fYScale;
- Point aP( (sal_Int32)( _aCenter.X() - fWidth ), (sal_Int32)( _aCenter.Y() - fHeight ) );
- Size aS( (sal_Int32)( fWidth * 2.0 ), (sal_Int32)( fHeight * 2.0 ) );
- Rectangle aRect( aP, aS );
- if ( aRect.GetWidth() && aRect.GetHeight() )
- {
- double fStartAngle, fEndAngle;
- GetParameter( fStartAngle, seqCoordinates[ rSrcPt + 2 ].First, sal_False, sal_False );
- GetParameter( fEndAngle , seqCoordinates[ rSrcPt + 2 ].Second, sal_False, sal_False );
-
- if ( ((sal_Int32)fStartAngle % 360) != ((sal_Int32)fEndAngle % 360) )
- {
- if ( (sal_Int32)fStartAngle & 0x7fff0000 ) // SJ: if the angle was imported from our escher import, then the
- fStartAngle /= 65536.0; // value is shifted by 16. TODO: already change the fixed float to a
- if ( (sal_Int32)fEndAngle & 0x7fff0000 ) // double in the import filter
- {
- fEndAngle /= 65536.0;
- fEndAngle = fEndAngle + fStartAngle;
- if ( fEndAngle < 0 )
- { // in the binary filter the endangle is the amount
- double fTemp = fStartAngle;
- fStartAngle = fEndAngle;
- fEndAngle = fTemp;
- }
- }
- double fCenterX = aRect.Center().X();
- double fCenterY = aRect.Center().Y();
- double fx1 = ( cos( fStartAngle * F_PI180 ) * 65536.0 * fXScale ) + fCenterX;
- double fy1 = ( -sin( fStartAngle * F_PI180 ) * 65536.0 * fYScale ) + fCenterY;
- double fx2 = ( cos( fEndAngle * F_PI180 ) * 65536.0 * fXScale ) + fCenterX;
- double fy2 = ( -sin( fEndAngle * F_PI180 ) * 65536.0 * fYScale ) + fCenterY;
- aNewB2DPolygon.append(CreateArc( aRect, Point( (sal_Int32)fx1, (sal_Int32)fy1 ), Point( (sal_Int32)fx2, (sal_Int32)fy2 ), sal_False));
- }
- else
- { /* SJ: TODO: this block should be replaced sometimes, because the current point
- is not set correct, it also does not use the correct moveto
- point if ANGLEELLIPSETO was used, but the method CreateArc
- is at the moment not able to draw full circles (if startangle is 0
- and endangle 360 nothing is painted :-( */
- sal_Int32 nXControl = (sal_Int32)((double)aRect.GetWidth() * 0.2835 );
- sal_Int32 nYControl = (sal_Int32)((double)aRect.GetHeight() * 0.2835 );
- Point aCenter( aRect.Center() );
-
- // append start point
- aNewB2DPolygon.append(basegfx::B2DPoint(aCenter.X(), aRect.Top()));
-
- // append four bezier segments
- aNewB2DPolygon.appendBezierSegment(
- basegfx::B2DPoint(aCenter.X() + nXControl, aRect.Top()),
- basegfx::B2DPoint(aRect.Right(), aCenter.Y() - nYControl),
- basegfx::B2DPoint(aRect.Right(), aCenter.Y()));
-
- aNewB2DPolygon.appendBezierSegment(
- basegfx::B2DPoint(aRect.Right(), aCenter.Y() + nYControl),
- basegfx::B2DPoint(aCenter.X() + nXControl, aRect.Bottom()),
- basegfx::B2DPoint(aCenter.X(), aRect.Bottom()));
-
- aNewB2DPolygon.appendBezierSegment(
- basegfx::B2DPoint(aCenter.X() - nXControl, aRect.Bottom()),
- basegfx::B2DPoint(aRect.Left(), aCenter.Y() + nYControl),
- basegfx::B2DPoint(aRect.Left(), aCenter.Y()));
-
- aNewB2DPolygon.appendBezierSegment(
- basegfx::B2DPoint(aRect.Left(), aCenter.Y() - nYControl),
- basegfx::B2DPoint(aCenter.X() - nXControl, aRect.Top()),
- basegfx::B2DPoint(aCenter.X(), aRect.Top()));
-
- // close, rescue last controlpoint, remove double last point
- basegfx::tools::closeWithGeometryChange(aNewB2DPolygon);
- }
- }
- rSrcPt += 3;
- }
- }
- break;
-
- case LINETO :
- {
- for ( sal_Int32 i(0L); ( i < nPntCount ) && ( rSrcPt < nCoordSize ); i++ )
- {
- const Point aTempPoint(GetPoint( seqCoordinates[ rSrcPt++ ], sal_True, sal_True ));
- aNewB2DPolygon.append(basegfx::B2DPoint(aTempPoint.X(), aTempPoint.Y()));
- }
- }
- break;
-
- case ARC :
- case CLOCKWISEARC :
- {
- if(aNewB2DPolygon.count() > 1L)
- {
- // #i76201# Add conversion to closed polygon when first and last points are equal
- basegfx::tools::checkClosed(aNewB2DPolygon);
- aNewB2DPolyPolygon.append(aNewB2DPolygon);
- }
-
- aNewB2DPolygon.clear();
- }
- case ARCTO :
- case CLOCKWISEARCTO :
- {
- sal_Bool bClockwise = ( nCommand == CLOCKWISEARC ) || ( nCommand == CLOCKWISEARCTO );
- sal_uInt32 nXor = bClockwise ? 3 : 2;
- for ( sal_uInt16 i = 0; ( i < nPntCount ) && ( ( rSrcPt + 3 ) < nCoordSize ); i++ )
- {
- Rectangle aRect( GetPoint( seqCoordinates[ rSrcPt ], sal_True, sal_True ), GetPoint( seqCoordinates[ rSrcPt + 1 ], sal_True, sal_True ) );
- if ( aRect.GetWidth() && aRect.GetHeight() )
- {
- Point aCenter( aRect.Center() );
- Point aStart( GetPoint( seqCoordinates[ (sal_uInt16)( rSrcPt + nXor ) ], sal_True, sal_True ) );
- Point aEnd( GetPoint( seqCoordinates[ (sal_uInt16)( rSrcPt + ( nXor ^ 1 ) ) ], sal_True, sal_True ) );
- double fRatio = (double)aRect.GetHeight() / (double)aRect.GetWidth();
- aStart.X() = (sal_Int32)( ( (double)( aStart.X() - aCenter.X() ) ) * fRatio ) + aCenter.X();
- aStart.Y() = (sal_Int32)( ( (double)( aStart.Y() - aCenter.Y() ) ) ) + aCenter.Y();
- aEnd.X() = (sal_Int32)( ( (double)( aEnd.X() - aCenter.X() ) ) * fRatio ) + aCenter.X();
- aEnd.Y() = (sal_Int32)( ( (double)( aEnd.Y() - aCenter.Y() ) ) ) + aCenter.Y();
- aNewB2DPolygon.append(CreateArc( aRect, aStart, aEnd, bClockwise));
- }
- rSrcPt += 4;
- }
- }
- break;
-
- case ELLIPTICALQUADRANTX :
- case ELLIPTICALQUADRANTY :
- {
- bool bFirstDirection(true);
- basegfx::B2DPoint aControlPointA;
- basegfx::B2DPoint aControlPointB;
-
- for ( sal_uInt16 i = 0; ( i < nPntCount ) && ( rSrcPt < nCoordSize ); i++ )
- {
- sal_uInt32 nModT = ( nCommand == ELLIPTICALQUADRANTX ) ? 1 : 0;
- Point aCurrent( GetPoint( seqCoordinates[ rSrcPt ], sal_True, sal_True ) );
-
- if ( rSrcPt ) // we need a previous point
- {
- Point aPrev( GetPoint( seqCoordinates[ rSrcPt - 1 ], sal_True, sal_True ) );
- sal_Int32 nX, nY;
- nX = aCurrent.X() - aPrev.X();
- nY = aCurrent.Y() - aPrev.Y();
- if ( ( nY ^ nX ) & 0x80000000 )
- {
- if ( !i )
- bFirstDirection = true;
- else if ( !bFirstDirection )
- nModT ^= 1;
- }
- else
- {
- if ( !i )
- bFirstDirection = false;
- else if ( bFirstDirection )
- nModT ^= 1;
- }
- if ( nModT ) // get the right corner
- {
- nX = aCurrent.X();
- nY = aPrev.Y();
- }
- else
- {
- nX = aPrev.X();
- nY = aCurrent.Y();
- }
- sal_Int32 nXVec = ( nX - aPrev.X() ) >> 1;
- sal_Int32 nYVec = ( nY - aPrev.Y() ) >> 1;
- Point aControl1( aPrev.X() + nXVec, aPrev.Y() + nYVec );
-
- aControlPointA = basegfx::B2DPoint(aControl1.X(), aControl1.Y());
-
- nXVec = ( nX - aCurrent.X() ) >> 1;
- nYVec = ( nY - aCurrent.Y() ) >> 1;
- Point aControl2( aCurrent.X() + nXVec, aCurrent.Y() + nYVec );
-
- aControlPointB = basegfx::B2DPoint(aControl2.X(), aControl2.Y());
-
- aNewB2DPolygon.appendBezierSegment(
- aControlPointA,
- aControlPointB,
- basegfx::B2DPoint(aCurrent.X(), aCurrent.Y()));
- }
- else
- {
- aNewB2DPolygon.append(basegfx::B2DPoint(aCurrent.X(), aCurrent.Y()));
- }
-
- rSrcPt++;
- }
- }
- break;
-
-#ifdef DBG_CUSTOMSHAPE
- case UNKNOWN :
- default :
- {
- rtl::OStringBuffer aString(RTL_CONSTASCII_STRINGPARAM(
- "CustomShapes::unknown PolyFlagValue :"));
- aString.append(static_cast<sal_Int32>(nCommand));
- OSL_FAIL(aString.getStr());
- }
- break;
-#endif
- }
- if ( nCommand == ENDSUBPATH )
- break;
- }
- }
- if ( rSegmentInd == nSegInfoSize )
- rSegmentInd++;
-
- if(aNewB2DPolygon.count() > 1L)
- {
- // #i76201# Add conversion to closed polygon when first and last points are equal
- basegfx::tools::checkClosed(aNewB2DPolygon);
- aNewB2DPolyPolygon.append(aNewB2DPolygon);
- }
-
- if(aNewB2DPolyPolygon.count())
- {
- if( !bLineGeometryNeededOnly )
- {
- // hack aNewB2DPolyPolygon to fill logic rect - this is
- // needed to produce gradient fills that look like mso
- aNewB2DPolygon.clear();
- aNewB2DPolygon.append(basegfx::B2DPoint(0,0));
- aNewB2DPolygon.setClosed(true);
- aNewB2DPolyPolygon.append(aNewB2DPolygon);
-
- aNewB2DPolygon.clear();
- aNewB2DPolygon.append(basegfx::B2DPoint(aLogicRect.GetWidth(),
- aLogicRect.GetHeight()));
- aNewB2DPolygon.setClosed(true);
- aNewB2DPolyPolygon.append(aNewB2DPolygon);
- }
-
- // #i37011#
- bool bForceCreateTwoObjects(false);
-
- if(!bSortFilledObjectsToBack && !aNewB2DPolyPolygon.isClosed() && !bNoStroke)
- {
- bForceCreateTwoObjects = true;
- }
-
- if(bLineGeometryNeededOnly)
- {
- bForceCreateTwoObjects = true;
- bNoFill = true;
- bNoStroke = false;
- }
-
- if(bForceCreateTwoObjects || bSortFilledObjectsToBack)
- {
- if(bFilled && !bNoFill)
- {
- basegfx::B2DPolyPolygon aClosedPolyPolygon(aNewB2DPolyPolygon);
- aClosedPolyPolygon.setClosed(true);
- SdrPathObj* pFill = new SdrPathObj(OBJ_POLY, aClosedPolyPolygon);
- SfxItemSet aTempSet(*this);
- aTempSet.Put(SdrShadowItem(sal_False));
- aTempSet.Put(XLineStyleItem(XLINE_NONE));
- pFill->SetMergedItemSet(aTempSet);
- rObjectList.push_back(pFill);
- }
-
- if(!bNoStroke)
- {
- // there is no reason to use OBJ_PLIN here when the polygon is actually closed,
- // the non-fill is defined by XFILL_NONE. Since SdrPathObj::ImpForceKind() needs
- // to correct the polygon (here: open it) using the type, the last edge may get lost.
- // Thus, use a type that fits the polygon
- SdrPathObj* pStroke = new SdrPathObj(
- aNewB2DPolyPolygon.isClosed() ? OBJ_POLY : OBJ_PLIN,
- aNewB2DPolyPolygon);
- SfxItemSet aTempSet(*this);
- aTempSet.Put(SdrShadowItem(sal_False));
- aTempSet.Put(XFillStyleItem(XFILL_NONE));
- pStroke->SetMergedItemSet(aTempSet);
- rObjectList.push_back(pStroke);
- }
- }
- else
- {
- SdrPathObj* pObj = 0;
- SfxItemSet aTempSet(*this);
- aTempSet.Put(SdrShadowItem(sal_False));
-
- if(bNoFill)
- {
- // see comment above about OBJ_PLIN
- pObj = new SdrPathObj(
- aNewB2DPolyPolygon.isClosed() ? OBJ_POLY : OBJ_PLIN,
- aNewB2DPolyPolygon);
- aTempSet.Put(XFillStyleItem(XFILL_NONE));
- }
- else
- {
- aNewB2DPolyPolygon.setClosed(true);
- pObj = new SdrPathObj(OBJ_POLY, aNewB2DPolyPolygon);
- }
-
- if(bNoStroke)
- {
- aTempSet.Put(XLineStyleItem(XLINE_NONE));
- }
-
- if(pObj)
- {
- pObj->SetMergedItemSet(aTempSet);
- rObjectList.push_back(pObj);
- }
- }
- }
-}
-
-void CorrectCalloutArrows( MSO_SPT eSpType, sal_uInt32 nLineObjectCount, std::vector< SdrPathObj* >& vObjectList )
-{
- sal_Bool bAccent = sal_False;
- switch( eSpType )
- {
- case mso_sptCallout1 :
- case mso_sptBorderCallout1 :
- case mso_sptCallout90 :
- case mso_sptBorderCallout90 :
- default:
- break;
-
- case mso_sptAccentCallout1 :
- case mso_sptAccentBorderCallout1 :
- case mso_sptAccentCallout90 :
- case mso_sptAccentBorderCallout90 :
- {
- sal_uInt32 i, nLine = 0;
- for ( i = 0; i < vObjectList.size(); i++ )
- {
- SdrPathObj* pObj( vObjectList[ i ] );
- if(pObj->IsLine())
- {
- nLine++;
- if ( nLine == nLineObjectCount )
- {
- pObj->ClearMergedItem( XATTR_LINESTART );
- pObj->ClearMergedItem( XATTR_LINEEND );
- }
- }
- }
- }
- break;
-
- // switch start & end
- case mso_sptAccentCallout2 :
- case mso_sptAccentBorderCallout2 :
- bAccent = sal_True;
- case mso_sptCallout2 :
- case mso_sptBorderCallout2 :
- {
- sal_uInt32 i, nLine = 0;
- for ( i = 0; i < vObjectList.size(); i++ )
- {
- SdrPathObj* pObj( vObjectList[ i ] );
- if(pObj->IsLine())
- {
- nLine++;
- if ( nLine == 1 )
- pObj->ClearMergedItem( XATTR_LINEEND );
- else if ( ( bAccent && ( nLine == nLineObjectCount - 1 ) ) || ( !bAccent && ( nLine == nLineObjectCount ) ) )
- pObj->ClearMergedItem( XATTR_LINESTART );
- else
- {
- pObj->ClearMergedItem( XATTR_LINESTART );
- pObj->ClearMergedItem( XATTR_LINEEND );
- }
- }
- }
- }
- break;
-
- case mso_sptAccentCallout3 :
- case mso_sptAccentBorderCallout3 :
- bAccent = sal_False;
- case mso_sptCallout3 :
- case mso_sptBorderCallout3 :
- {
- sal_uInt32 i, nLine = 0;
- for ( i = 0; i < vObjectList.size(); i++ )
- {
- SdrPathObj* pObj( vObjectList[ i ] );
- if(pObj->IsLine())
- {
- if ( nLine )
- {
- pObj->ClearMergedItem( XATTR_LINESTART );
- pObj->ClearMergedItem( XATTR_LINEEND );
- }
- else
- EnhancedCustomShape2d::SwapStartAndEndArrow( pObj );
-
- nLine++;
- }
- }
- }
- break;
- }
-}
-
-void EnhancedCustomShape2d::AdaptObjColor(SdrPathObj& rObj, const SfxItemSet& rCustomShapeSet,
- sal_uInt32& nColorIndex, sal_uInt32 nColorCount)
-{
- if ( !rObj.IsLine() )
- {
- const XFillStyle eFillStyle = ((const XFillStyleItem&)rObj.GetMergedItem(XATTR_FILLSTYLE)).GetValue();
- switch( eFillStyle )
- {
- default:
- case XFILL_SOLID:
- {
- Color aFillColor;
- if ( nColorCount )
- {
- aFillColor = GetColorData(
- ((XFillColorItem&)rCustomShapeSet.Get( XATTR_FILLCOLOR )).GetColorValue(),
- std::min(nColorIndex, nColorCount-1) );
- rObj.SetMergedItem( XFillColorItem( String(), aFillColor ) );
- }
- break;
- }
- case XFILL_GRADIENT:
- {
- XGradient aXGradient(((const XFillGradientItem&)rObj.GetMergedItem(XATTR_FILLGRADIENT)).GetGradientValue());
- if ( nColorCount )
- {
- aXGradient.SetStartColor(
- GetColorData(
- aXGradient.GetStartColor(),
- std::min(nColorIndex, nColorCount-1) ));
- aXGradient.SetEndColor(
- GetColorData(
- aXGradient.GetEndColor(),
- std::min(nColorIndex, nColorCount-1) ));
- }
-
- rObj.SetMergedItem( XFillGradientItem( String(), aXGradient ) );
- break;
- }
- case XFILL_HATCH:
- {
- XHatch aXHatch(((const XFillHatchItem&)rObj.GetMergedItem(XATTR_FILLHATCH)).GetHatchValue());
- if ( nColorCount )
- {
- aXHatch.SetColor(
- GetColorData(
- aXHatch.GetColor(),
- std::min(nColorIndex, nColorCount-1) ));
- }
-
- rObj.SetMergedItem( XFillHatchItem( String(), aXHatch ) );
- break;
- }
- case XFILL_BITMAP:
- {
- Bitmap aBitmap(((const XFillBitmapItem&)rObj.GetMergedItem(XATTR_FILLBITMAP)).GetBitmapValue().GetBitmap());
- if ( nColorCount )
- {
- aBitmap.Adjust(
- static_cast< short > ( GetLuminanceChange(
- std::min(nColorIndex, nColorCount-1))));
- }
-
- rObj.SetMergedItem( XFillBitmapItem( String(), aBitmap ) );
- break;
- }
- }
-
- if ( nColorIndex < nColorCount )
- nColorIndex++;
- }
-}
-
-SdrObject* EnhancedCustomShape2d::CreatePathObj( sal_Bool bLineGeometryNeededOnly )
-{
- sal_Int32 nCoordSize = seqCoordinates.getLength();
- if ( !nCoordSize )
- return NULL;
-
- sal_uInt16 nSrcPt = 0;
- sal_uInt16 nSegmentInd = 0;
-
- std::vector< SdrPathObj* > vObjectList;
- sal_Bool bSortFilledObjectsToBack = SortFilledObjectsToBackByDefault( eSpType );
-
- while( nSegmentInd <= seqSegments.getLength() )
- {
- CreateSubPath( nSrcPt, nSegmentInd, vObjectList, bLineGeometryNeededOnly, bSortFilledObjectsToBack );
- }
-
- SdrObject* pRet = NULL;
- sal_uInt32 i;
-
- if ( vObjectList.size() )
- {
- const SfxItemSet& rCustomShapeSet = pCustomShapeObj->GetMergedItemSet();
- Color aFillColor;
- sal_uInt32 nColorCount = nColorData >> 28;
- sal_uInt32 nColorIndex = 0;
-
- // #i37011# remove invisible objects
- if(vObjectList.size())
- {
- std::vector< SdrPathObj* > vTempList;
-
- for(i = 0L; i < vObjectList.size(); i++)
- {
- SdrPathObj* pObj(vObjectList[i]);
- const XLineStyle eLineStyle = ((const XLineStyleItem&)pObj->GetMergedItem(XATTR_LINESTYLE)).GetValue();
- const XFillStyle eFillStyle = ((const XFillStyleItem&)pObj->GetMergedItem(XATTR_FILLSTYLE)).GetValue();
-
- //SJ: #i40600# if bLineGeometryNeededOnly is set linystyle does not matter
- if( !bLineGeometryNeededOnly && ( XLINE_NONE == eLineStyle ) && ( XFILL_NONE == eFillStyle ) )
- delete pObj;
- else
- vTempList.push_back(pObj);
- }
-
- vObjectList = vTempList;
- }
-
- if(1L == vObjectList.size())
- {
- // a single object, correct some values
- AdaptObjColor(*vObjectList[0L],rCustomShapeSet,nColorIndex,nColorCount);
- }
- else
- {
- sal_Int32 nLineObjectCount = 0;
- sal_Int32 nAreaObjectCount = 0;
-
- // correct some values and collect content data
- for ( i = 0; i < vObjectList.size(); i++ )
- {
- SdrPathObj* pObj( vObjectList[ i ] );
-
- if(pObj->IsLine())
- {
- nLineObjectCount++;
- }
- else
- {
- nAreaObjectCount++;
- AdaptObjColor(*pObj,rCustomShapeSet,nColorIndex,nColorCount);
- }
- }
-
- // #i88870# correct line arrows for callouts
- if ( nLineObjectCount )
- CorrectCalloutArrows( eSpType, nLineObjectCount, vObjectList );
-
- // sort objects so that filled ones are in front. Necessary
- // for some strange objects
- if ( bSortFilledObjectsToBack )
- {
- std::vector< SdrPathObj* > vTempList;
-
- for ( i = 0; i < vObjectList.size(); i++ )
- {
- SdrPathObj* pObj( vObjectList[ i ] );
-
- if ( !pObj->IsLine() )
- {
- vTempList.push_back(pObj);
- }
- }
-
- for ( i = 0; i < vObjectList.size(); i++ )
- {
- SdrPathObj* pObj( vObjectList[ i ] );
-
- if ( pObj->IsLine() )
- {
- vTempList.push_back(pObj);
- }
- }
-
- vObjectList = vTempList;
- }
- }
- }
-
- // #i37011#
- if(!vObjectList.empty())
- {
- // copy remaining objects to pRet
- if(vObjectList.size() > 1L)
- {
- pRet = new SdrObjGroup;
-
- for (i = 0L; i < vObjectList.size(); i++)
- {
- SdrObject* pObj(vObjectList[i]);
- pRet->GetSubList()->NbcInsertObject(pObj);
- }
- }
- else if(1L == vObjectList.size())
- {
- pRet = vObjectList[0L];
- }
-
- if(pRet)
- {
- // move to target position
- Rectangle aCurRect(pRet->GetSnapRect());
- aCurRect.Move(aLogicRect.Left(), aLogicRect.Top());
- pRet->NbcSetSnapRect(aCurRect);
- }
- }
-
- return pRet;
-}
-
-SdrObject* EnhancedCustomShape2d::CreateObject( sal_Bool bLineGeometryNeededOnly )
-{
- SdrObject* pRet = NULL;
-
- if ( eSpType == mso_sptRectangle )
- {
- pRet = new SdrRectObj( aLogicRect );
- pRet->SetMergedItemSet( *this );
- }
- if ( !pRet )
- pRet = CreatePathObj( bLineGeometryNeededOnly );
-
- return pRet;
-}
-
-void EnhancedCustomShape2d::ApplyGluePoints( SdrObject* pObj )
-{
- if ( pObj && seqGluePoints.getLength() )
- {
- sal_uInt32 i, nCount = seqGluePoints.getLength();
- for ( i = 0; i < nCount; i++ )
- {
- SdrGluePoint aGluePoint;
-
- aGluePoint.SetPos( GetPoint( seqGluePoints[ i ], sal_True, sal_True ) );
- aGluePoint.SetPercent( sal_False );
- aGluePoint.SetAlign( SDRVERTALIGN_TOP | SDRHORZALIGN_LEFT );
- aGluePoint.SetEscDir( SDRESC_SMART );
- SdrGluePointList* pList = pObj->ForceGluePointList();
- if( pList )
- /* sal_uInt16 nId = */ pList->Insert( aGluePoint );
- }
- }
-}
-
-SdrObject* EnhancedCustomShape2d::CreateLineGeometry()
-{
- return CreateObject( sal_True );
-}
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/customshapes/EnhancedCustomShape3d.cxx b/svx/source/customshapes/EnhancedCustomShape3d.cxx
deleted file mode 100644
index 72498fe6d9..0000000000
--- a/svx/source/customshapes/EnhancedCustomShape3d.cxx
+++ /dev/null
@@ -1,746 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svx.hxx"
-#include "EnhancedCustomShape3d.hxx"
-#include <svx/svdetc.hxx>
-#include <svx/svdmodel.hxx>
-#include <tools/poly.hxx>
-#include <svx/svditer.hxx>
-#include <svx/svdobj.hxx>
-#include <svx/svdoashp.hxx>
-#include <svl/poolitem.hxx>
-#include <svl/itemset.hxx>
-#include <svx/xfillit0.hxx>
-#include <svx/xsflclit.hxx>
-#include <svx/xit.hxx>
-#include <svx/xbtmpit.hxx>
-#include <svx/xflclit.hxx>
-#include <svx/svdopath.hxx>
-#include <svx/svdogrp.hxx>
-#include <svx/svdpage.hxx>
-#include <svx/polysc3d.hxx>
-#include <svx/svddef.hxx>
-#include <svx/svx3ditems.hxx>
-#include <svx/extrud3d.hxx>
-#include <svx/xflbmtit.hxx>
-#include <vcl/svapp.hxx>
-#include <svx/xlnclit.hxx>
-#include <svx/sdasitm.hxx>
-#include <com/sun/star/awt/Point.hpp>
-#include <com/sun/star/drawing/Position3D.hpp>
-#include <com/sun/star/drawing/Direction3D.hpp>
-#include <com/sun/star/drawing/ShadeMode.hpp>
-#include <svx/sdr/properties/properties.hxx>
-#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
-#include <basegfx/polygon/b2dpolypolygontools.hxx>
-#include <basegfx/range/b2drange.hxx>
-
-#define ITEMVALUE(ItemSet,Id,Cast) ((const Cast&)(ItemSet).Get(Id)).GetValue()
-using namespace com::sun::star;
-using namespace com::sun::star::uno;
-
-const rtl::OUString sExtrusion( RTL_CONSTASCII_USTRINGPARAM ( "Extrusion" ) );
-
-void GetOrigin( SdrCustomShapeGeometryItem& rItem, double& rOriginX, double& rOriginY )
-{
- ::com::sun::star::drawing::EnhancedCustomShapeParameterPair aOriginParaPair;
- const rtl::OUString sOrigin( RTL_CONSTASCII_USTRINGPARAM ( "Origin" ) );
- Any* pAny = rItem.GetPropertyValueByName( sExtrusion, sOrigin );
- if ( ! ( pAny && ( *pAny >>= aOriginParaPair ) && ( aOriginParaPair.First.Value >>= rOriginX ) && ( aOriginParaPair.Second.Value >>= rOriginY ) ) )
- {
- rOriginX = 0.50;
- rOriginY =-0.50;
- }
-}
-
-void GetRotateAngle( SdrCustomShapeGeometryItem& rItem, double& rAngleX, double& rAngleY )
-{
- ::com::sun::star::drawing::EnhancedCustomShapeParameterPair aRotateAngleParaPair;
- const rtl::OUString sRotateAngle( RTL_CONSTASCII_USTRINGPARAM ( "RotateAngle" ) );
- Any* pAny = rItem.GetPropertyValueByName( sExtrusion, sRotateAngle );
- if ( ! ( pAny && ( *pAny >>= aRotateAngleParaPair ) && ( aRotateAngleParaPair.First.Value >>= rAngleX ) && ( aRotateAngleParaPair.Second.Value >>= rAngleY ) ) )
- {
- rAngleX = 0.0;
- rAngleY = 0.0;
- }
- rAngleX *= F_PI180;
- rAngleY *= F_PI180;
-}
-
-void GetSkew( SdrCustomShapeGeometryItem& rItem, double& rSkewAmount, double& rSkewAngle )
-{
- ::com::sun::star::drawing::EnhancedCustomShapeParameterPair aSkewParaPair;
- const rtl::OUString sSkew( RTL_CONSTASCII_USTRINGPARAM ( "Skew" ) );
- Any* pAny = rItem.GetPropertyValueByName( sExtrusion, sSkew );
- if ( ! ( pAny && ( *pAny >>= aSkewParaPair ) && ( aSkewParaPair.First.Value >>= rSkewAmount ) && ( aSkewParaPair.Second.Value >>= rSkewAngle ) ) )
- {
- rSkewAmount = 50;
- rSkewAngle = -135;
- }
- rSkewAngle *= F_PI180;
-}
-
-void GetExtrusionDepth( SdrCustomShapeGeometryItem& rItem, const double* pMap, double& rBackwardDepth, double& rForwardDepth )
-{
- ::com::sun::star::drawing::EnhancedCustomShapeParameterPair aDepthParaPair;
- double fDepth = 0, fFraction = 0;
- const rtl::OUString sDepth( RTL_CONSTASCII_USTRINGPARAM ( "Depth" ) );
- Any* pAny = rItem.GetPropertyValueByName( sExtrusion, sDepth );
- if ( pAny && ( *pAny >>= aDepthParaPair ) && ( aDepthParaPair.First.Value >>= fDepth ) && ( aDepthParaPair.Second.Value >>= fFraction ) )
- {
- rForwardDepth = fDepth * fFraction;
- rBackwardDepth = fDepth - rForwardDepth;
- }
- else
- {
- rBackwardDepth = 1270;
- rForwardDepth = 0;
- }
- if ( pMap )
- {
- double fMap = *pMap;
- rBackwardDepth *= fMap;
- rForwardDepth *= fMap;
- }
-}
-
-double GetDouble( SdrCustomShapeGeometryItem& rItem, const rtl::OUString& rPropertyName, double fDefault, const double* pMap )
-{
- double fRetValue = fDefault;
- Any* pAny = rItem.GetPropertyValueByName( sExtrusion, rPropertyName );
- if ( pAny )
- *pAny >>= fRetValue;
- if ( pMap )
- fRetValue *= *pMap;
- return fRetValue;
-}
-
-drawing::ShadeMode GetShadeMode( SdrCustomShapeGeometryItem& rItem, const drawing::ShadeMode eDefault )
-{
- drawing::ShadeMode eRet( eDefault );
- const rtl::OUString sShadeMode( RTL_CONSTASCII_USTRINGPARAM ( "ShadeMode" ) );
- Any* pAny = rItem.GetPropertyValueByName( sExtrusion, sShadeMode );
- if ( pAny )
- *pAny >>= eRet;
- return eRet;
-}
-
-sal_Int32 GetInt32( SdrCustomShapeGeometryItem& rItem, const rtl::OUString& rPropertyName, const sal_Int32 nDefault )
-{
- sal_Int32 nRetValue = nDefault;
- Any* pAny = rItem.GetPropertyValueByName( sExtrusion, rPropertyName );
- if ( pAny )
- *pAny >>= nRetValue;
- return nRetValue;
-}
-
-sal_Bool GetBool( SdrCustomShapeGeometryItem& rItem, const rtl::OUString& rPropertyName, const sal_Bool bDefault )
-{
- sal_Bool bRetValue = bDefault;
- const Any* pAny = rItem.GetPropertyValueByName( sExtrusion, rPropertyName );
- if ( pAny )
- *pAny >>= bRetValue;
- return bRetValue;
-}
-
-awt::Point GetPoint( SdrCustomShapeGeometryItem& rItem, const rtl::OUString& rPropertyName, const awt::Point& rDefault )
-{
- awt::Point aRetValue( rDefault );
- const Any* pAny = rItem.GetPropertyValueByName( sExtrusion, rPropertyName );
- if ( pAny )
- *pAny >>= aRetValue;
- return aRetValue;
-}
-
-drawing::Position3D GetPosition3D( SdrCustomShapeGeometryItem& rItem, const rtl::OUString& rPropertyName,
- const drawing::Position3D& rDefault, const double* pMap )
-{
- drawing::Position3D aRetValue( rDefault );
- const Any* pAny = rItem.GetPropertyValueByName( sExtrusion, rPropertyName );
- if ( pAny )
- *pAny >>= aRetValue;
- if ( pMap )
- {
- aRetValue.PositionX *= *pMap;
- aRetValue.PositionY *= *pMap;
- aRetValue.PositionZ *= *pMap;
- }
- return aRetValue;
-}
-
-drawing::Direction3D GetDirection3D( SdrCustomShapeGeometryItem& rItem, const rtl::OUString& rPropertyName, const drawing::Direction3D& rDefault )
-{
- drawing::Direction3D aRetValue( rDefault );
- const Any* pAny = rItem.GetPropertyValueByName( sExtrusion, rPropertyName );
- if ( pAny )
- *pAny >>= aRetValue;
- return aRetValue;
-}
-
-EnhancedCustomShape3d::Transformation2D::Transformation2D( const SdrObject* pCustomShape, const Rectangle& /*rBoundRect*/, const double *pM )
-: aCenter( pCustomShape->GetSnapRect().Center() )
-, eProjectionMode( drawing::ProjectionMode_PARALLEL )
-, pMap( pM )
-{
- SdrCustomShapeGeometryItem& rGeometryItem = (SdrCustomShapeGeometryItem&)pCustomShape->GetMergedItem( SDRATTR_CUSTOMSHAPE_GEOMETRY );
- const rtl::OUString sProjectionMode( RTL_CONSTASCII_USTRINGPARAM ( "ProjectionMode" ) );
- Any* pAny = rGeometryItem.GetPropertyValueByName( sExtrusion, sProjectionMode );
- if ( pAny )
- *pAny >>= eProjectionMode;
-
- if ( eProjectionMode == drawing::ProjectionMode_PARALLEL )
- GetSkew( rGeometryItem, fSkew, fSkewAngle );
- else
- {
- fZScreen = 0.0;
- GetOrigin( rGeometryItem, fOriginX, fOriginY );
- fOriginX = fOriginX * pCustomShape->GetLogicRect().GetWidth();
- fOriginY = fOriginY * pCustomShape->GetLogicRect().GetHeight();
-
- const rtl::OUString sViewPoint( RTL_CONSTASCII_USTRINGPARAM ( "ViewPoint" ) );
- drawing::Position3D aViewPointDefault( 3472, -3472, 25000 );
- drawing::Position3D aViewPoint( GetPosition3D( rGeometryItem, sViewPoint, aViewPointDefault, pMap ) );
- fViewPoint.setX(aViewPoint.PositionX);
- fViewPoint.setY(aViewPoint.PositionY);
- fViewPoint.setZ(-aViewPoint.PositionZ);
- }
-}
-
-basegfx::B3DPolygon EnhancedCustomShape3d::Transformation2D::ApplySkewSettings( const basegfx::B3DPolygon& rPoly3D ) const
-{
- basegfx::B3DPolygon aRetval;
-
- sal_uInt32 j;
- for ( j = 0L; j < rPoly3D.count(); j++ )
- {
- const basegfx::B3DPoint aPoint(rPoly3D.getB3DPoint(j));
- double fDepth(-( aPoint.getZ() * fSkew ) / 100.0);
- aRetval.append(basegfx::B3DPoint(
- aPoint.getX() + (fDepth * cos( fSkewAngle )),
- aPoint.getY() - (fDepth * sin( fSkewAngle )),
- aPoint.getZ()));
- }
-
- return aRetval;
-}
-
-Point EnhancedCustomShape3d::Transformation2D::Transform2D( const basegfx::B3DPoint& rPoint3D ) const
-{
- Point aPoint2D;
- if ( eProjectionMode == drawing::ProjectionMode_PARALLEL )
- {
- aPoint2D.X() = (sal_Int32)rPoint3D.getX();
- aPoint2D.Y() = (sal_Int32)rPoint3D.getY();
- }
- else
- {
- double fX = rPoint3D.getX() - fOriginX;
- double fY = rPoint3D.getY() - fOriginY;
- double f = ( fZScreen - fViewPoint.getZ() ) / ( rPoint3D.getZ() - fViewPoint.getZ() );
- aPoint2D.X() = (sal_Int32)(( fX - fViewPoint.getX() ) * f + fViewPoint.getX() + fOriginX );
- aPoint2D.Y() = (sal_Int32)(( fY - fViewPoint.getY() ) * f + fViewPoint.getY() + fOriginY );
- }
- aPoint2D.Move( aCenter.X(), aCenter.Y() );
- return aPoint2D;
-}
-
-sal_Bool EnhancedCustomShape3d::Transformation2D::IsParallel() const
-{
- return eProjectionMode == com::sun::star::drawing::ProjectionMode_PARALLEL;
-}
-
-SdrObject* EnhancedCustomShape3d::Create3DObject( const SdrObject* pShape2d, const SdrObject* pCustomShape )
-{
- SdrObject* pRet = NULL;
- SdrModel* pModel = pCustomShape->GetModel();
- SdrCustomShapeGeometryItem& rGeometryItem = (SdrCustomShapeGeometryItem&)pCustomShape->GetMergedItem( SDRATTR_CUSTOMSHAPE_GEOMETRY );
-
- double fMap, *pMap = NULL;
- if ( pModel )
- {
- fMap = 1.0;
- Fraction aFraction( pModel->GetScaleFraction() );
- if ( ( aFraction.GetNumerator() ) != 1 || ( aFraction.GetDenominator() != 1 ) )
- {
- fMap *= aFraction.GetNumerator();
- fMap /= aFraction.GetDenominator();
- pMap = &fMap;
- }
- if ( pModel->GetScaleUnit() != MAP_100TH_MM )
- {
- DBG_ASSERT( pModel->GetScaleUnit() == MAP_TWIP, "EnhancedCustomShape3d::Current MapMode is Unsupported" );
- fMap *= 1440.0 / 2540.0;
- pMap = &fMap;
- }
- }
- if ( GetBool( rGeometryItem, sExtrusion, sal_False ) )
- {
- sal_Bool bIsMirroredX = ((SdrObjCustomShape*)pCustomShape)->IsMirroredX();
- sal_Bool bIsMirroredY = ((SdrObjCustomShape*)pCustomShape)->IsMirroredY();
- Rectangle aSnapRect( pCustomShape->GetLogicRect() );
- long nObjectRotation = pCustomShape->GetRotateAngle();
- if ( nObjectRotation )
- {
- double a = ( 36000 - nObjectRotation ) * nPi180;
- long dx = aSnapRect.Right() - aSnapRect.Left();
- long dy = aSnapRect.Bottom()- aSnapRect.Top();
- Point aP( aSnapRect.TopLeft() );
- RotatePoint( aP, pCustomShape->GetSnapRect().Center(), sin( a ), cos( a ) );
- aSnapRect.Left() = aP.X();
- aSnapRect.Top() = aP.Y();
- aSnapRect.Right() = aSnapRect.Left() + dx;
- aSnapRect.Bottom() = aSnapRect.Top() + dy;
- }
- Point aCenter( aSnapRect.Center() );
-
- SfxItemSet aSet( pCustomShape->GetMergedItemSet() );
-
- //SJ: vertical writing is not required, by removing this item no outliner is created
- aSet.ClearItem( SDRATTR_TEXTDIRECTION );
-
- // #i105323# For 3D AutoShapes, the shadow attribute has to be applied to each
- // created visualisation helper model shape individually. The shadow itself
- // will then be rendered from the 3D renderer correctly for the whole 3D scene
- // (and thus behind all objects of which the visualisation may be built). So,
- // dio NOT remove it from the ItemSet here.
- // aSet.ClearItem(SDRATTR_SHADOW);
-
- std::vector< E3dCompoundObject* > aPlaceholderObjectList;
-
- double fExtrusionBackward, fExtrusionForward;
- GetExtrusionDepth( rGeometryItem, pMap, fExtrusionBackward, fExtrusionForward );
- double fDepth = fExtrusionBackward - fExtrusionForward;
- if ( fDepth < 1.0 )
- fDepth = 1.0;
-
- drawing::ProjectionMode eProjectionMode( drawing::ProjectionMode_PARALLEL );
- const rtl::OUString sProjectionMode( RTL_CONSTASCII_USTRINGPARAM ( "ProjectionMode" ) );
- Any* pAny = rGeometryItem.GetPropertyValueByName( sExtrusion, sProjectionMode );
- if ( pAny )
- *pAny >>= eProjectionMode;
- ProjectionType eProjectionType( eProjectionMode == drawing::ProjectionMode_PARALLEL ? PR_PARALLEL : PR_PERSPECTIVE );
- // pShape2d Convert in scenes which include 3D Objects
- E3dDefaultAttributes a3DDefaultAttr;
- a3DDefaultAttr.SetDefaultLatheCharacterMode( sal_True );
- a3DDefaultAttr.SetDefaultExtrudeCharacterMode( sal_True );
-
- E3dScene* pScene = new E3dPolyScene( a3DDefaultAttr );
-
- sal_Bool bSceneHasObjects ( sal_False );
- sal_Bool bUseTwoFillStyles( sal_False );
-
- drawing::ShadeMode eShadeMode( GetShadeMode( rGeometryItem, drawing::ShadeMode_FLAT ) );
- const rtl::OUString sExtrusionColor( RTL_CONSTASCII_USTRINGPARAM ( "Color" ) );
- sal_Bool bUseExtrusionColor = GetBool( rGeometryItem, sExtrusionColor, sal_False );
-
- XFillStyle eFillStyle( ITEMVALUE( aSet, XATTR_FILLSTYLE, XFillStyleItem ) );
- pScene->GetProperties().SetObjectItem( Svx3DShadeModeItem( 0 ) );
- aSet.Put( Svx3DPercentDiagonalItem( 0 ) );
- aSet.Put( Svx3DTextureModeItem( 1 ) );
- aSet.Put( Svx3DNormalsKindItem( 1 ) );
-
- if ( eShadeMode == drawing::ShadeMode_DRAFT )
- {
- aSet.Put( XLineStyleItem( XLINE_SOLID ) );
- aSet.Put( XFillStyleItem ( XFILL_NONE ) );
- aSet.Put( Svx3DDoubleSidedItem( sal_True ) );
- }
- else
- {
- aSet.Put( XLineStyleItem( XLINE_NONE ) );
- if ( eFillStyle == XFILL_NONE )
- aSet.Put( XFillStyleItem( XFILL_SOLID ) );
- else if ( ( eFillStyle == XFILL_BITMAP ) || ( eFillStyle == XFILL_GRADIENT ) || bUseExtrusionColor )
- bUseTwoFillStyles = sal_True;
-
- // #116336#
- // If shapes are mirrored once (mirroring two times correct geometry again)
- // double-sided at the object and two-sided-lighting at the scene need to be set.
- if((bIsMirroredX && !bIsMirroredY) || (!bIsMirroredX && bIsMirroredY))
- {
- aSet.Put( Svx3DDoubleSidedItem( sal_True ) );
- pScene->GetProperties().SetObjectItem( Svx3DTwoSidedLightingItem( sal_True ) );
- }
- }
-
- Rectangle aBoundRect2d;
- SdrObjListIter aIter( *pShape2d, IM_DEEPWITHGROUPS );
- while( aIter.IsMore() )
- {
- const SdrObject* pNext = aIter.Next();
- sal_Bool bIsPlaceholderObject = (((XFillStyleItem&)pNext->GetMergedItem( XATTR_FILLSTYLE )).GetValue() == XFILL_NONE )
- && (((XLineStyleItem&)pNext->GetMergedItem( XATTR_LINESTYLE )).GetValue() == XLINE_NONE );
- basegfx::B2DPolyPolygon aPolyPoly;
-
- if ( pNext->ISA( SdrPathObj ) )
- {
- aPolyPoly = ((SdrPathObj*)pNext)->GetPathPoly();
-
- if(aPolyPoly.areControlPointsUsed())
- {
- aPolyPoly = basegfx::tools::adaptiveSubdivideByAngle(aPolyPoly);
- }
- }
- else
- {
- SdrObject* pNewObj = pNext->ConvertToPolyObj( sal_False, sal_False );
- SdrPathObj* pPath = PTR_CAST( SdrPathObj, pNewObj );
- if ( pPath )
- aPolyPoly = pPath->GetPathPoly();
- SdrObject::Free( pNewObj );
- }
-
- if( aPolyPoly.count() )
- {
- const basegfx::B2DRange aTempRange(basegfx::tools::getRange(aPolyPoly));
- const Rectangle aBoundRect(basegfx::fround(aTempRange.getMinX()), basegfx::fround(aTempRange.getMinY()), basegfx::fround(aTempRange.getMaxX()), basegfx::fround(aTempRange.getMaxY()));
- aBoundRect2d.Union( aBoundRect );
-
- E3dCompoundObject* p3DObj = new E3dExtrudeObj( a3DDefaultAttr, aPolyPoly, bUseTwoFillStyles ? 10 : fDepth );
- p3DObj->NbcSetLayer( pShape2d->GetLayer() );
- p3DObj->SetMergedItemSet( aSet );
- if ( bIsPlaceholderObject )
- aPlaceholderObjectList.push_back( p3DObj );
- else if ( bUseTwoFillStyles )
- {
- Bitmap aFillBmp;
- sal_Bool bFillBmpTile = ((XFillBmpTileItem&)p3DObj->GetMergedItem( XATTR_FILLBMP_TILE )).GetValue();
- if ( bFillBmpTile )
- {
- const XFillBitmapItem& rBmpItm = (XFillBitmapItem&)p3DObj->GetMergedItem( XATTR_FILLBITMAP );
- const XOBitmap& rXOBmp = rBmpItm.GetBitmapValue();
- aFillBmp = rXOBmp.GetBitmap();
- Size aLogicalSize = aFillBmp.GetPrefSize();
- if ( aFillBmp.GetPrefMapMode() == MAP_PIXEL )
- aLogicalSize = Application::GetDefaultDevice()->PixelToLogic( aLogicalSize, MAP_100TH_MM );
- else
- aLogicalSize = OutputDevice::LogicToLogic( aLogicalSize, aFillBmp.GetPrefMapMode(), MAP_100TH_MM );
- aLogicalSize.Width() *= 5; ;// :-( nice scaling, look at engine3d/obj3d.cxx
- aLogicalSize.Height() *= 5;
- aFillBmp.SetPrefSize( aLogicalSize );
- aFillBmp.SetPrefMapMode( MAP_100TH_MM );
- p3DObj->SetMergedItem( XFillBitmapItem( String(), aFillBmp ) );
- }
- else
- {
- if ( aSnapRect != aBoundRect )
- {
- const XFillBitmapItem& rBmpItm = (XFillBitmapItem&)p3DObj->GetMergedItem( XATTR_FILLBITMAP );
- const XOBitmap& rXOBmp = rBmpItm.GetBitmapValue();
- aFillBmp = rXOBmp.GetBitmap();
- Size aBmpSize( aFillBmp.GetSizePixel() );
- double fXScale = (double)aBoundRect.GetWidth() / (double)aSnapRect.GetWidth();
- double fYScale = (double)aBoundRect.GetHeight() / (double)aSnapRect.GetHeight();
-
- Point aPt( (sal_Int32)( (double)( aBoundRect.Left() - aSnapRect.Left() )* (double)aBmpSize.Width() / (double)aSnapRect.GetWidth() ),
- (sal_Int32)( (double)( aBoundRect.Top() - aSnapRect.Top() ) * (double)aBmpSize.Height() / (double)aSnapRect.GetHeight() ) );
- Size aSize( (sal_Int32)( aBmpSize.Width() * fXScale ),
- (sal_Int32)( aBmpSize.Height() * fYScale ) );
- Rectangle aCropRect( aPt, aSize );
- aFillBmp.Crop( aCropRect );
- p3DObj->SetMergedItem( XFillBitmapItem( String(), aFillBmp ) );
- }
- }
- pScene->Insert3DObj( p3DObj );
- p3DObj = new E3dExtrudeObj( a3DDefaultAttr, aPolyPoly, fDepth );
- p3DObj->NbcSetLayer( pShape2d->GetLayer() );
- p3DObj->SetMergedItemSet( aSet );
- if ( bUseExtrusionColor )
- p3DObj->SetMergedItem( XFillColorItem( String(), ((XSecondaryFillColorItem&)pCustomShape->GetMergedItem( XATTR_SECONDARYFILLCOLOR )).GetColorValue() ) );
- p3DObj->SetMergedItem( XFillStyleItem( XFILL_SOLID ) );
- p3DObj->SetMergedItem( Svx3DCloseFrontItem( sal_False ) );
- p3DObj->SetMergedItem( Svx3DCloseBackItem( sal_False ) );
- pScene->Insert3DObj( p3DObj );
- p3DObj = new E3dExtrudeObj( a3DDefaultAttr, aPolyPoly, 10 );
- p3DObj->NbcSetLayer( pShape2d->GetLayer() );
- p3DObj->SetMergedItemSet( aSet );
-
- basegfx::B3DHomMatrix aFrontTransform( p3DObj->GetTransform() );
- aFrontTransform.translate( 0.0, 0.0, fDepth );
- p3DObj->NbcSetTransform( aFrontTransform );
-
- if ( ( eFillStyle == XFILL_BITMAP ) && !aFillBmp.IsEmpty() )
- p3DObj->SetMergedItem( XFillBitmapItem( String(), aFillBmp ) );
- }
- else if ( eFillStyle == XFILL_NONE )
- {
- XLineColorItem& rLineColor = (XLineColorItem&)p3DObj->GetMergedItem( XATTR_LINECOLOR );
- p3DObj->SetMergedItem( XFillColorItem( String(), rLineColor.GetColorValue() ) );
- p3DObj->SetMergedItem( Svx3DDoubleSidedItem( sal_True ) );
- p3DObj->SetMergedItem( Svx3DCloseFrontItem( sal_False ) );
- p3DObj->SetMergedItem( Svx3DCloseBackItem( sal_False ) );
- }
- pScene->Insert3DObj( p3DObj );
- bSceneHasObjects = sal_True;
- }
- }
-
- if ( bSceneHasObjects ) // is the SdrObject properly converted
- {
- // then we can change the return value
- pRet = pScene;
-
- // Camera settings, Perspective ...
- Camera3D& rCamera = (Camera3D&)pScene->GetCamera();
- const basegfx::B3DRange& rVolume = pScene->GetBoundVolume();
- pScene->NbcSetSnapRect( aSnapRect );
-
- // InitScene replacement
- double fW = rVolume.getWidth();
- double fH = rVolume.getHeight();
-
- rCamera.SetAutoAdjustProjection( sal_False );
- rCamera.SetViewWindow( -fW / 2, - fH / 2, fW, fH);
- basegfx::B3DPoint aLookAt( 0.0, 0.0, 0.0 );
- basegfx::B3DPoint aCamPos( 0.0, 0.0, 100.0 );
- rCamera.SetDefaults( basegfx::B3DPoint( 0.0, 0.0, 100.0 ), aLookAt, 100.0 );
- rCamera.SetPosAndLookAt( aCamPos, aLookAt );
- rCamera.SetFocalLength( 1.0 );
- rCamera.SetProjection( eProjectionType );
- pScene->SetCamera( rCamera );
- pScene->SetRectsDirty();
-
- double fOriginX, fOriginY;
- GetOrigin( rGeometryItem, fOriginX, fOriginY );
- fOriginX = fOriginX * aSnapRect.GetWidth();
- fOriginY = fOriginY * aSnapRect.GetHeight();
-
- basegfx::B3DHomMatrix aNewTransform( pScene->GetTransform() );
- aNewTransform.translate( -aCenter.X(), aCenter.Y(), -pScene->GetBoundVolume().getDepth() );
-
- double fXRotate, fYRotate;
- GetRotateAngle( rGeometryItem, fXRotate, fYRotate );
- double fZRotate = ((SdrObjCustomShape*)pCustomShape)->GetObjectRotation() * F_PI180;
- if ( fZRotate != 0.0 )
- aNewTransform.rotate( 0.0, 0.0, fZRotate );
- if ( bIsMirroredX )
- aNewTransform.scale( -1.0, 1, 1 );
- if ( bIsMirroredY )
- aNewTransform.scale( 1, -1.0, 1 );
- if( fYRotate != 0.0 )
- aNewTransform.rotate( 0.0, -fYRotate, 0.0 );
- if( fXRotate != 0.0 )
- aNewTransform.rotate( -fXRotate, 0.0, 0.0 );
- if ( eProjectionType == PR_PARALLEL )
- {
- double fSkew, fAlpha;
- GetSkew( rGeometryItem, fSkew, fAlpha );
- if ( fSkew != 0.0 )
- {
- double fInvTanBeta( fSkew / 100.0 );
- if(fInvTanBeta)
- {
- aNewTransform.shearXY(
- fInvTanBeta * cos(fAlpha),
- fInvTanBeta * sin(fAlpha));
- }
- }
- basegfx::B3DPoint _aLookAt( 0.0, 0.0, 0.0 );
- basegfx::B3DPoint _aNewCamPos( 0.0, 0.0, 25000.0 );
- rCamera.SetPosAndLookAt( _aNewCamPos, _aLookAt );
- pScene->SetCamera( rCamera );
- }
- else
- {
- aNewTransform.translate( -fOriginX, fOriginY, 0.0 );
- // now set correct camera position
- const rtl::OUString sViewPoint( RTL_CONSTASCII_USTRINGPARAM ( "ViewPoint" ) );
- drawing::Position3D aViewPointDefault( 3472, -3472, 25000 );
- drawing::Position3D aViewPoint( GetPosition3D( rGeometryItem, sViewPoint, aViewPointDefault, pMap ) );
- double fViewPointX = aViewPoint.PositionX;
- double fViewPointY = aViewPoint.PositionY;
- double fViewPointZ = aViewPoint.PositionZ;
- basegfx::B3DPoint _aLookAt( fViewPointX, -fViewPointY, 0.0 );
- basegfx::B3DPoint aNewCamPos( fViewPointX, -fViewPointY, fViewPointZ );
- rCamera.SetPosAndLookAt( aNewCamPos, _aLookAt );
- pScene->SetCamera( rCamera );
- }
-
- pScene->NbcSetTransform( aNewTransform );
-
- ///////////
- // light //
- ///////////
-
- const rtl::OUString sBrightness( RTL_CONSTASCII_USTRINGPARAM ( "Brightness" ) );
- double fAmbientIntensity = GetDouble( rGeometryItem, sBrightness, 22178.0 / 655.36, NULL ) / 100.0;
-
-
- const rtl::OUString sFirstLightDirection( RTL_CONSTASCII_USTRINGPARAM ( "FirstLightDirection" ) );
- drawing::Direction3D aFirstLightDirectionDefault( 50000, 0, 10000 );
- drawing::Direction3D aFirstLightDirection( GetDirection3D( rGeometryItem, sFirstLightDirection, aFirstLightDirectionDefault ) );
- if ( aFirstLightDirection.DirectionZ == 0.0 )
- aFirstLightDirection.DirectionZ = 1.0;
-
- const rtl::OUString sFirstLightLevel( RTL_CONSTASCII_USTRINGPARAM ( "FirstLightLevel" ) );
- double fLightIntensity = GetDouble( rGeometryItem, sFirstLightLevel, 43712.0 / 655.36, NULL ) / 100.0;
-
- const rtl::OUString sFirstLightHarsh( RTL_CONSTASCII_USTRINGPARAM ( "FirstLightHarsh" ) );
- /* sal_Bool bFirstLightHarsh = */ GetBool( rGeometryItem, sFirstLightHarsh, sal_False );
-
- const rtl::OUString sSecondLightDirection( RTL_CONSTASCII_USTRINGPARAM ( "SecondLightDirection" ) );
- drawing::Direction3D aSecondLightDirectionDefault( -50000, 0, 10000 );
- drawing::Direction3D aSecondLightDirection( GetDirection3D( rGeometryItem, sSecondLightDirection, aSecondLightDirectionDefault ) );
- if ( aSecondLightDirection.DirectionZ == 0.0 )
- aSecondLightDirection.DirectionZ = -1;
-
- const rtl::OUString sSecondLightLevel( RTL_CONSTASCII_USTRINGPARAM ( "SecondLightLevel" ) );
- double fLight2Intensity = GetDouble( rGeometryItem, sSecondLightLevel, 43712.0 / 655.36, NULL ) / 100.0;
-
- const rtl::OUString sSecondLightHarsh( RTL_CONSTASCII_USTRINGPARAM ( "SecondLightHarsh" ) );
- const rtl::OUString sLightFace( RTL_CONSTASCII_USTRINGPARAM ( "LightFace" ) );
- /* sal_Bool bLight2Harsh = */ GetBool( rGeometryItem, sSecondLightHarsh, sal_False );
- /* sal_Bool bLightFace = */ GetBool( rGeometryItem, sLightFace, sal_False );
-
- sal_uInt16 nAmbientColor = (sal_uInt16)( fAmbientIntensity * 255.0 );
- if ( nAmbientColor > 255 )
- nAmbientColor = 255;
- Color aGlobalAmbientColor( (sal_uInt8)nAmbientColor, (sal_uInt8)nAmbientColor, (sal_uInt8)nAmbientColor );
- pScene->GetProperties().SetObjectItem( Svx3DAmbientcolorItem( aGlobalAmbientColor ) );
-
- sal_uInt8 nSpotLight1 = (sal_uInt8)( fLightIntensity * 255.0 );
- basegfx::B3DVector aSpotLight1( aFirstLightDirection.DirectionX, - ( aFirstLightDirection.DirectionY ), -( aFirstLightDirection.DirectionZ ) );
- aSpotLight1.normalize();
- pScene->GetProperties().SetObjectItem( Svx3DLightOnOff1Item( sal_True ) );
- Color aAmbientSpot1Color( nSpotLight1, nSpotLight1, nSpotLight1 );
- pScene->GetProperties().SetObjectItem( Svx3DLightcolor1Item( aAmbientSpot1Color ) );
- pScene->GetProperties().SetObjectItem( Svx3DLightDirection1Item( aSpotLight1 ) );
-
- sal_uInt8 nSpotLight2 = (sal_uInt8)( fLight2Intensity * 255.0 );
- basegfx::B3DVector aSpotLight2( aSecondLightDirection.DirectionX, -aSecondLightDirection.DirectionY, -aSecondLightDirection.DirectionZ );
- aSpotLight2.normalize();
- pScene->GetProperties().SetObjectItem( Svx3DLightOnOff2Item( sal_True ) );
- Color aAmbientSpot2Color( nSpotLight2, nSpotLight2, nSpotLight2 );
- pScene->GetProperties().SetObjectItem( Svx3DLightcolor2Item( aAmbientSpot2Color ) );
- pScene->GetProperties().SetObjectItem( Svx3DLightDirection2Item( aSpotLight2 ) );
-
- sal_uInt8 nSpotLight3 = 70;
- basegfx::B3DVector aSpotLight3( 0.0, 0.0, 1.0 );
- pScene->GetProperties().SetObjectItem( Svx3DLightOnOff3Item( sal_True ) );
- Color aAmbientSpot3Color( nSpotLight3, nSpotLight3, nSpotLight3 );
- pScene->GetProperties().SetObjectItem( Svx3DLightcolor3Item( aAmbientSpot3Color ) );
- pScene->GetProperties().SetObjectItem( Svx3DLightDirection3Item( aSpotLight3 ) );
-
- const rtl::OUString sSpecularity( RTL_CONSTASCII_USTRINGPARAM ( "Specularity" ) );
- const rtl::OUString sDiffusion( RTL_CONSTASCII_USTRINGPARAM ( "Diffusion" ) );
- const rtl::OUString sShininess( RTL_CONSTASCII_USTRINGPARAM ( "Shininess" ) );
- const rtl::OUString sMetal( RTL_CONSTASCII_USTRINGPARAM ( "Metal" ) );
- double fSpecular = GetDouble( rGeometryItem, sSpecularity, 0, NULL ) / 100;
- sal_Bool bMetal = GetBool( rGeometryItem, sMetal, sal_False );
-
- Color aSpecularCol( 225,225,225 );
- if ( bMetal )
- {
- aSpecularCol = Color( 200, 200, 200 );
- fSpecular += 0.15;
- }
- sal_Int32 nIntensity = (sal_Int32)fSpecular * 100;
- if ( nIntensity > 100 )
- nIntensity = 100;
- else if ( nIntensity < 0 )
- nIntensity = 0;
- nIntensity = 100 - nIntensity;
- pScene->GetProperties().SetObjectItem( Svx3DMaterialSpecularItem( aSpecularCol ) );
- pScene->GetProperties().SetObjectItem( Svx3DMaterialSpecularIntensityItem( (sal_uInt16)nIntensity ) );
-
- pScene->SetLogicRect( CalculateNewSnapRect( pCustomShape, aSnapRect, aBoundRect2d, pMap ) );
-
- // removing placeholder objects
- std::vector< E3dCompoundObject* >::iterator aObjectListIter( aPlaceholderObjectList.begin() );
- while ( aObjectListIter != aPlaceholderObjectList.end() )
- {
- pScene->Remove3DObj( *aObjectListIter );
- delete *aObjectListIter++;
- }
- }
- else
- delete pScene;
- }
- return pRet;
-}
-
-Rectangle EnhancedCustomShape3d::CalculateNewSnapRect( const SdrObject* pCustomShape, const Rectangle& rSnapRect, const Rectangle& rBoundRect, const double* pMap )
-{
- SdrCustomShapeGeometryItem& rGeometryItem = (SdrCustomShapeGeometryItem&)pCustomShape->GetMergedItem( SDRATTR_CUSTOMSHAPE_GEOMETRY );
- const Point aCenter( rSnapRect.Center() );
- double fExtrusionBackward, fExtrusionForward;
- GetExtrusionDepth( rGeometryItem, pMap, fExtrusionBackward, fExtrusionForward );
- sal_uInt32 i;
-
- // creating initial bound volume ( without rotation. skewing.and camera )
- basegfx::B3DPolygon aBoundVolume;
- const Polygon aPolygon( rBoundRect );
-
- for ( i = 0L; i < 4L; i++ )
- {
- aBoundVolume.append(basegfx::B3DPoint(aPolygon[ (sal_uInt16)i ].X() - aCenter.X(), aPolygon[ (sal_uInt16)i ].Y() - aCenter.Y(), fExtrusionForward));
- }
-
- for ( i = 0L; i < 4L; i++ )
- {
- aBoundVolume.append(basegfx::B3DPoint(aPolygon[ (sal_uInt16)i ].X() - aCenter.X(), aPolygon[ (sal_uInt16)i ].Y() - aCenter.Y(), fExtrusionBackward));
- }
-
- const rtl::OUString sRotationCenter( RTL_CONSTASCII_USTRINGPARAM ( "RotationCenter" ) );
- drawing::Direction3D aRotationCenterDefault( 0, 0, 0 ); // default seems to be wrong, a fractional size of shape has to be used!!
- drawing::Direction3D aRotationCenter( GetDirection3D( rGeometryItem, sRotationCenter, aRotationCenterDefault ) );
-
- double fXRotate, fYRotate;
- GetRotateAngle( rGeometryItem, fXRotate, fYRotate );
- double fZRotate = - ((SdrObjCustomShape*)pCustomShape)->GetObjectRotation() * F_PI180;
-
- // rotating bound volume
- basegfx::B3DHomMatrix aMatrix;
- aMatrix.translate(-aRotationCenter.DirectionX, -aRotationCenter.DirectionY, -aRotationCenter.DirectionZ);
- if ( fZRotate != 0.0 )
- aMatrix.rotate( 0.0, 0.0, fZRotate );
- if ( ((SdrObjCustomShape*)pCustomShape)->IsMirroredX() )
- aMatrix.scale( -1.0, 1, 1 );
- if ( ((SdrObjCustomShape*)pCustomShape)->IsMirroredY() )
- aMatrix.scale( 1, -1.0, 1 );
- if( fYRotate != 0.0 )
- aMatrix.rotate( 0.0, fYRotate, 0.0 );
- if( fXRotate != 0.0 )
- aMatrix.rotate( -fXRotate, 0.0, 0.0 );
- aMatrix.translate(aRotationCenter.DirectionX, aRotationCenter.DirectionY, aRotationCenter.DirectionZ);
- aBoundVolume.transform(aMatrix);
-
- Transformation2D aTransformation2D( pCustomShape, rSnapRect, pMap );
- if ( aTransformation2D.IsParallel() )
- aBoundVolume = aTransformation2D.ApplySkewSettings( aBoundVolume );
-
- Polygon aTransformed( 8 );
- for ( i = 0L; i < 8L; i++ )
- aTransformed[ (sal_uInt16)i ] = aTransformation2D.Transform2D( aBoundVolume.getB3DPoint( i ) );
-
- return aTransformed.GetBoundRect();
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/customshapes/EnhancedCustomShape3d.hxx b/svx/source/customshapes/EnhancedCustomShape3d.hxx
deleted file mode 100644
index 8007d9829b..0000000000
--- a/svx/source/customshapes/EnhancedCustomShape3d.hxx
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _ENHANCEDCUSTOMSHAPE3D_HXX
-#define _ENHANCEDCUSTOMSHAPE3D_HXX
-
-#include <vector>
-#include <com/sun/star/drawing/ProjectionMode.hpp>
-#include <basegfx/point/b3dpoint.hxx>
-#include <basegfx/polygon/b3dpolygon.hxx>
-
-#include <tools/gen.hxx>
-
-class SdrObject;
-
-class EnhancedCustomShape3d
-{
- class Transformation2D
- {
- Point aCenter;
- com::sun::star::drawing::ProjectionMode eProjectionMode;
-
- // parallel projection
- double fSkewAngle;
- double fSkew; // in percent
-
- // perspective projection
- double fZScreen;
- basegfx::B3DPoint fViewPoint;
- double fOriginX;
- double fOriginY;
-
- const double* pMap;
-
- public :
-
- Transformation2D( const SdrObject* pCustomShape, const Rectangle& rBoundRect, const double* pMap );
-
- basegfx::B3DPolygon ApplySkewSettings( const basegfx::B3DPolygon& rPolygon3D ) const;
- Point Transform2D( const basegfx::B3DPoint& rPoint ) const;
- sal_Bool IsParallel() const;
- };
-
- friend class Transformation2D;
-
- protected :
- static Rectangle CalculateNewSnapRect( const SdrObject* pCustomShape, const Rectangle& rSnapRect, const Rectangle& rBoundRect, const double* pMap );
-
- public :
- static SdrObject* Create3DObject( const SdrObject* pShape2d, const SdrObject* pCustomShape );
-};
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/customshapes/EnhancedCustomShapeEngine.cxx b/svx/source/customshapes/EnhancedCustomShapeEngine.cxx
deleted file mode 100644
index 8b8ee6a2c7..0000000000
--- a/svx/source/customshapes/EnhancedCustomShapeEngine.cxx
+++ /dev/null
@@ -1,473 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svx.hxx"
-#include "EnhancedCustomShapeEngine.hxx"
-#include "svx/EnhancedCustomShape2d.hxx"
-#include "EnhancedCustomShape3d.hxx"
-#include "EnhancedCustomShapeFontWork.hxx"
-#include "EnhancedCustomShapeHandle.hxx"
-#include "svx/EnhancedCustomShapeGeometry.hxx"
-#include <svx/unoshape.hxx>
-#include "svx/unopage.hxx"
-#include "svx/unoapi.hxx"
-#include <svx/svdobj.hxx>
-#include <svx/svdoashp.hxx>
-#include <svx/svdogrp.hxx>
-#include <svx/svdorect.hxx>
-#include <editeng/outlobj.hxx>
-#include <editeng/outliner.hxx>
-#include <svx/svdoutl.hxx>
-#include <svl/itemset.hxx>
-#include <svx/svdopath.hxx>
-#include <svx/svdpage.hxx>
-#include <svx/svdmodel.hxx>
-#include "svx/svditer.hxx"
-#include <uno/mapping.hxx>
-#include <basegfx/polygon/b2dpolypolygontools.hxx>
-#include <basegfx/tools/unotools.hxx>
-#include <com/sun/star/document/XActionLockable.hpp>
-
-// ---------------------------
-// - EnhancedCustomShapeEngine -
-// ---------------------------
-
-rtl::OUString EnhancedCustomShapeEngine_getImplementationName()
- throw( NMSP_UNO::RuntimeException )
-{
- return B2UCONST( "com.sun.star.drawing.EnhancedCustomShapeEngine" );
-}
-sal_Bool SAL_CALL EnhancedCustomShapeEngine_supportsService( const rtl::OUString& ServiceName )
- throw( NMSP_UNO::RuntimeException )
-{
- return ServiceName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "com.sun.star.drawing.CustomShapeEngine" ) );
-}
-SEQ( rtl::OUString ) SAL_CALL EnhancedCustomShapeEngine_getSupportedServiceNames()
- throw( NMSP_UNO::RuntimeException )
-{
- SEQ( rtl::OUString ) aRet(1);
- rtl::OUString* pArray = aRet.getArray();
- pArray[0] = B2UCONST( "com.sun.star.drawing.CustomShapeEngine" );
- return aRet;
-}
-
-// -----------------------------------------------------------------------------
-
-EnhancedCustomShapeEngine::EnhancedCustomShapeEngine( const REF( NMSP_LANG::XMultiServiceFactory )& rxMgr ) :
- mxFact ( rxMgr ),
- mbForceGroupWithText ( sal_False )
-{
-}
-EnhancedCustomShapeEngine::~EnhancedCustomShapeEngine()
-{
-}
-
-// XInterface -----------------------------------------------------------------
-
-void SAL_CALL EnhancedCustomShapeEngine::acquire() throw()
-{
- OWeakObject::acquire();
-}
-void SAL_CALL EnhancedCustomShapeEngine::release() throw()
-{
- OWeakObject::release();
-}
-
-// XInitialization ------------------------------------------------------------
-
-void SAL_CALL EnhancedCustomShapeEngine::initialize( const SEQ( NMSP_UNO::Any )& aArguments )
- throw ( NMSP_UNO::Exception, NMSP_UNO::RuntimeException )
-{
- sal_Int32 i;
- SEQ( NMSP_BEANS::PropertyValue ) aParameter;
- for ( i = 0; i < aArguments.getLength(); i++ )
- {
- if ( aArguments[ i ] >>= aParameter )
- break;
- }
- for ( i = 0; i < aParameter.getLength(); i++ )
- {
- const NMSP_BEANS::PropertyValue& rProp = aParameter[ i ];
- if ( rProp.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "CustomShape" ) ) )
- rProp.Value >>= mxShape;
- else if ( rProp.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "ForceGroupWithText" ) ) )
- rProp.Value >>= mbForceGroupWithText;
- }
-}
-
-// XServiceInfo ---------------------------------------------------------------
-
-rtl::OUString SAL_CALL EnhancedCustomShapeEngine::getImplementationName()
- throw( NMSP_UNO::RuntimeException )
-{
- return EnhancedCustomShapeEngine_getImplementationName();
-}
-sal_Bool SAL_CALL EnhancedCustomShapeEngine::supportsService( const rtl::OUString& rServiceName )
- throw( NMSP_UNO::RuntimeException )
-{
- return EnhancedCustomShapeEngine_supportsService( rServiceName );
-}
-SEQ( rtl::OUString ) SAL_CALL EnhancedCustomShapeEngine::getSupportedServiceNames()
- throw ( NMSP_UNO::RuntimeException )
-{
- return EnhancedCustomShapeEngine_getSupportedServiceNames();
-}
-
-// XCustomShapeEngine -----------------------------------------------------------
-
-SdrObject* EnhancedCustomShapeEngine::ImplForceGroupWithText( const SdrObjCustomShape* pCustoObj, SdrObject* pRenderedShape )
-{
- bool bHasText = pCustoObj->HasText();
- if ( pRenderedShape || bHasText )
- {
- // applying shadow
- const SdrObject* pShadowGeometry = pCustoObj->GetSdrObjectShadowFromCustomShape();
- if ( pShadowGeometry )
- {
- if ( pRenderedShape )
- {
- if ( !pRenderedShape->ISA( SdrObjGroup ) )
- {
- SdrObject* pTmp = pRenderedShape;
- pRenderedShape = new SdrObjGroup();
- ((SdrObjGroup*)pRenderedShape)->GetSubList()->NbcInsertObject( pTmp );
- }
- ((SdrObjGroup*)pRenderedShape)->GetSubList()->NbcInsertObject( pShadowGeometry->Clone(), 0 );
- }
- else
- pRenderedShape = pShadowGeometry->Clone();
- }
-
- // apply text
- if ( bHasText )
- {
- // #i37011# also create a text object and add at rPos + 1
- SdrTextObj* pTextObj = (SdrTextObj*)SdrObjFactory::MakeNewObject(
- pCustoObj->GetObjInventor(), OBJ_TEXT, 0L, pCustoObj->GetModel());
-
- // Copy text content
- OutlinerParaObject* pParaObj = pCustoObj->GetOutlinerParaObject();
- if( pParaObj )
- pTextObj->NbcSetOutlinerParaObject( new OutlinerParaObject(*pParaObj) );
-
- // copy all attributes
- SfxItemSet aTargetItemSet( pCustoObj->GetMergedItemSet() );
-
- // clear fill and line style
- aTargetItemSet.Put(XLineStyleItem(XLINE_NONE));
- aTargetItemSet.Put(XFillStyleItem(XFILL_NONE));
-
- // get the text bounds and set at text object
- Rectangle aTextBounds = pCustoObj->GetSnapRect();
- SdrObject* pSdrObjCustomShape( GetSdrObjectFromXShape( mxShape ) );
- if ( pSdrObjCustomShape )
- {
- EnhancedCustomShape2d aCustomShape2d( pSdrObjCustomShape );
- aTextBounds = aCustomShape2d.GetTextRect();
- }
- pTextObj->SetSnapRect( aTextBounds );
-
- // if rotated, copy GeoStat, too.
- const GeoStat& rSourceGeo = pCustoObj->GetGeoStat();
- if ( rSourceGeo.nDrehWink )
- {
- pTextObj->NbcRotate(
- pCustoObj->GetSnapRect().Center(), rSourceGeo.nDrehWink,
- rSourceGeo.nSin, rSourceGeo.nCos);
- }
-
- // set modified ItemSet at text object
- pTextObj->SetMergedItemSet(aTargetItemSet);
-
- if ( pRenderedShape )
- {
- if ( !pRenderedShape->ISA( SdrObjGroup ) )
- {
- SdrObject* pTmp = pRenderedShape;
- pRenderedShape = new SdrObjGroup();
- ((SdrObjGroup*)pRenderedShape)->GetSubList()->NbcInsertObject( pTmp );
- }
- ((SdrObjGroup*)pRenderedShape)->GetSubList()->NbcInsertObject( pTextObj, LIST_APPEND );
- }
- else
- pRenderedShape = pTextObj;
- }
-
- // force group
- if ( pRenderedShape )
- {
- if ( !pRenderedShape->ISA( SdrObjGroup ) )
- {
- SdrObject* pTmp = pRenderedShape;
- pRenderedShape = new SdrObjGroup();
- ((SdrObjGroup*)pRenderedShape)->GetSubList()->NbcInsertObject( pTmp );
- }
- pRenderedShape->SetPage( pCustoObj->GetPage() );
- pRenderedShape->SetModel( pCustoObj->GetModel() );
- }
- }
- return pRenderedShape;
-}
-
-void SetTemporary( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape )
-{
- if ( xShape.is() )
- {
- SvxShape* pShape = SvxShape::getImplementation( xShape );
- if ( pShape )
- pShape->TakeSdrObjectOwnership();
-/*
- ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShapes > xShapes( xShape, ::com::sun::star::uno::UNO_QUERY );
- if ( xShapes.is() )
- {
- sal_Int32 i;
- for ( i = 0; i < xShapes->getCount(); i++ )
- {
- ::com::sun::star::uno::Any aAny( xShapes->getByIndex( i ) );
- ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape;
- if ( aAny >>= xShape )
- SetTemporary( xShape );
- }
- }
-*/
- }
-}
-
-REF( com::sun::star::drawing::XShape ) SAL_CALL EnhancedCustomShapeEngine::render()
- throw ( NMSP_UNO::RuntimeException )
-{
- REF( com::sun::star::drawing::XShape ) xShape;
- SdrObject* pSdrObjCustomShape( GetSdrObjectFromXShape( mxShape ) );
- if ( pSdrObjCustomShape )
- {
- // retrieving the TextPath property to check if feature is enabled
- SdrCustomShapeGeometryItem& rGeometryItem = (SdrCustomShapeGeometryItem&)
- pSdrObjCustomShape->GetMergedItem( SDRATTR_CUSTOMSHAPE_GEOMETRY );
- sal_Bool bTextPathOn = sal_False;
- const rtl::OUString sTextPath( RTL_CONSTASCII_USTRINGPARAM ( "TextPath" ) );
- com::sun::star::uno::Any* pAny = rGeometryItem.GetPropertyValueByName( sTextPath, sTextPath );
- if ( pAny )
- *pAny >>= bTextPathOn;
-
- EnhancedCustomShape2d aCustomShape2d( pSdrObjCustomShape );
- sal_Int32 nRotateAngle = aCustomShape2d.GetRotateAngle();
-
- sal_Bool bFlipV = aCustomShape2d.IsFlipVert();
- sal_Bool bFlipH = aCustomShape2d.IsFlipHorz();
- sal_Bool bLineGeometryNeededOnly = bTextPathOn;
-
- SdrObject* pRenderedShape = aCustomShape2d.CreateObject( bLineGeometryNeededOnly );
- if ( pRenderedShape )
- {
- if ( bTextPathOn )
- {
- SdrObject* pRenderedFontWork = EnhancedCustomShapeFontWork::CreateFontWork( pRenderedShape, pSdrObjCustomShape );
- if ( pRenderedFontWork )
- {
- SdrObject::Free( pRenderedShape );
- pRenderedShape = pRenderedFontWork;
- }
- }
- SdrObject* pRenderedShape3d = EnhancedCustomShape3d::Create3DObject( pRenderedShape, pSdrObjCustomShape );
- if ( pRenderedShape3d )
- {
- bFlipV = bFlipH = sal_False;
- nRotateAngle = 0;
- SdrObject::Free( pRenderedShape );
- pRenderedShape = pRenderedShape3d;
- }
- Rectangle aRect( pSdrObjCustomShape->GetSnapRect() );
-
- const GeoStat& rGeoStat = ((SdrObjCustomShape*)pSdrObjCustomShape)->GetGeoStat();
- if ( rGeoStat.nShearWink )
- {
- long nShearWink = rGeoStat.nShearWink;
- double nTan = rGeoStat.nTan;
- if ((bFlipV&&!bFlipH )||(bFlipH&&!bFlipV))
- {
- nShearWink = -nShearWink;
- nTan = -nTan;
- }
- pRenderedShape->Shear( pSdrObjCustomShape->GetSnapRect().Center(), nShearWink, nTan, sal_False);
- }
- if( nRotateAngle )
- {
- double a = nRotateAngle * F_PI18000;
- pRenderedShape->NbcRotate( pSdrObjCustomShape->GetSnapRect().Center(), nRotateAngle, sin( a ), cos( a ) );
- }
- if ( bFlipV )
- {
- Point aLeft( aRect.Left(), ( aRect.Top() + aRect.Bottom() ) >> 1 );
- Point aRight( aLeft.X() + 1000, aLeft.Y() );
- pRenderedShape->NbcMirror( aLeft, aRight );
- }
- if ( bFlipH )
- {
- Point aTop( ( aRect.Left() + aRect.Right() ) >> 1, aRect.Top() );
- Point aBottom( aTop.X(), aTop.Y() + 1000 );
- pRenderedShape->NbcMirror( aTop, aBottom );
- }
- pRenderedShape->NbcSetStyleSheet( pSdrObjCustomShape->GetStyleSheet(), sal_True );
- pRenderedShape->RecalcSnapRect();
- }
-
- if ( mbForceGroupWithText )
- pRenderedShape = ImplForceGroupWithText( (SdrObjCustomShape*)pSdrObjCustomShape, pRenderedShape );
-
- if ( pRenderedShape )
- {
- aCustomShape2d.ApplyGluePoints( pRenderedShape );
- xShape = SvxDrawPage::CreateShapeByTypeAndInventor( pRenderedShape->GetObjIdentifier(),
- pRenderedShape->GetObjInventor(), pRenderedShape, NULL );
- }
- SetTemporary( xShape );
- }
- return xShape;
-}
-
-com::sun::star::awt::Rectangle SAL_CALL EnhancedCustomShapeEngine::getTextBounds()
- throw ( NMSP_UNO::RuntimeException )
-{
- com::sun::star::awt::Rectangle aTextRect;
- SdrObject* pSdrObjCustomShape( GetSdrObjectFromXShape( mxShape ) );
- ::com::sun::star::uno::Reference< ::com::sun::star::document::XActionLockable > xLockable( mxShape, ::com::sun::star::uno::UNO_QUERY );
- if ( pSdrObjCustomShape && pSdrObjCustomShape->GetModel() && xLockable.is() && !xLockable->isActionLocked() )
- {
- if ( pSdrObjCustomShape )
- {
- EnhancedCustomShape2d aCustomShape2d( pSdrObjCustomShape );
- Rectangle aRect( aCustomShape2d.GetTextRect() );
- aTextRect.X = aRect.Left();
- aTextRect.Y = aRect.Top();
- aTextRect.Width = aRect.GetWidth();
- aTextRect.Height = aRect.GetHeight();
- }
- }
- return aTextRect;
-}
-
-com::sun::star::drawing::PolyPolygonBezierCoords SAL_CALL EnhancedCustomShapeEngine::getLineGeometry()
- throw ( NMSP_UNO::RuntimeException )
-{
- com::sun::star::drawing::PolyPolygonBezierCoords aPolyPolygonBezierCoords;
- SdrObject* pSdrObjCustomShape( GetSdrObjectFromXShape( mxShape ) );
- if ( pSdrObjCustomShape )
- {
- EnhancedCustomShape2d aCustomShape2d( pSdrObjCustomShape );
- SdrObject* pObj = aCustomShape2d.CreateLineGeometry();
- if ( pObj )
- {
- Rectangle aRect( pSdrObjCustomShape->GetSnapRect() );
- sal_Bool bFlipV = aCustomShape2d.IsFlipVert();
- sal_Bool bFlipH = aCustomShape2d.IsFlipHorz();
-
- const GeoStat& rGeoStat = ((SdrObjCustomShape*)pSdrObjCustomShape)->GetGeoStat();
- if ( rGeoStat.nShearWink )
- {
- long nShearWink = rGeoStat.nShearWink;
- double nTan = rGeoStat.nTan;
- if ((bFlipV&&!bFlipH )||(bFlipH&&!bFlipV))
- {
- nShearWink = -nShearWink;
- nTan = -nTan;
- }
- pObj->Shear( aRect.Center(), nShearWink, nTan, sal_False);
- }
- sal_Int32 nRotateAngle = aCustomShape2d.GetRotateAngle();
- if( nRotateAngle )
- {
- double a = nRotateAngle * F_PI18000;
- pObj->NbcRotate( aRect.Center(), nRotateAngle, sin( a ), cos( a ) );
- }
- if ( bFlipH )
- {
- Point aTop( ( aRect.Left() + aRect.Right() ) >> 1, aRect.Top() );
- Point aBottom( aTop.X(), aTop.Y() + 1000 );
- pObj->NbcMirror( aTop, aBottom );
- }
- if ( bFlipV )
- {
- Point aLeft( aRect.Left(), ( aRect.Top() + aRect.Bottom() ) >> 1 );
- Point aRight( aLeft.X() + 1000, aLeft.Y() );
- pObj->NbcMirror( aLeft, aRight );
- }
-
- basegfx::B2DPolyPolygon aPolyPolygon;
- SdrObjListIter aIter( *pObj, IM_DEEPWITHGROUPS );
-
- while ( aIter.IsMore() )
- {
- SdrObject* pNewObj = NULL;
- basegfx::B2DPolyPolygon aPP;
- const SdrObject* pNext = aIter.Next();
-
- if ( pNext->ISA( SdrPathObj ) )
- {
- aPP = ((SdrPathObj*)pNext)->GetPathPoly();
- }
- else
- {
- pNewObj = pNext->ConvertToPolyObj( sal_False, sal_False );
- SdrPathObj* pPath = PTR_CAST( SdrPathObj, pNewObj );
- if ( pPath )
- aPP = pPath->GetPathPoly();
- }
-
- if ( aPP.count() )
- aPolyPolygon.append(aPP);
-
- SdrObject::Free( pNewObj );
- }
- SdrObject::Free( pObj );
- basegfx::unotools::b2DPolyPolygonToPolyPolygonBezier( aPolyPolygon,
- aPolyPolygonBezierCoords );
- }
- }
-
- return aPolyPolygonBezierCoords;
-}
-
-SEQ( REF( com::sun::star::drawing::XCustomShapeHandle ) ) SAL_CALL EnhancedCustomShapeEngine::getInteraction()
- throw ( NMSP_UNO::RuntimeException )
-{
- sal_uInt32 i, nHdlCount = 0;
- SdrObject* pSdrObjCustomShape = GetSdrObjectFromXShape( mxShape );
- if ( pSdrObjCustomShape )
- {
- EnhancedCustomShape2d aCustomShape2d( pSdrObjCustomShape );
- nHdlCount = aCustomShape2d.GetHdlCount();
- }
- SEQ( REF( com::sun::star::drawing::XCustomShapeHandle ) ) aSeq( nHdlCount );
- for ( i = 0; i < nHdlCount; i++ )
- aSeq[ i ] = new EnhancedCustomShapeHandle( mxShape, i );
- return aSeq;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/customshapes/EnhancedCustomShapeEngine.hxx b/svx/source/customshapes/EnhancedCustomShapeEngine.hxx
deleted file mode 100644
index 919f1a11f6..0000000000
--- a/svx/source/customshapes/EnhancedCustomShapeEngine.hxx
+++ /dev/null
@@ -1,127 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _ENHANCED_CUSTOMSHAPE_ENGINE_HXX
-#define _ENHANCED_CUSTOMSHAPE_ENGINE_HXX
-
-#include <tools/debug.hxx>
-#include <tools/string.hxx>
-#include <tools/stack.hxx>
-
-#include <com/sun/star/uno/Reference.h>
-#include <com/sun/star/uno/RuntimeException.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/lang/XComponent.hpp>
-#include <com/sun/star/registry/XRegistryKey.hpp>
-#include <com/sun/star/lang/XComponent.hpp>
-#include <cppuhelper/implbase3.hxx>
-#ifndef __com_sun_star_awt_Rectangle_hpp_
-#include <com/sun/star/awt/Rectangle.hpp>
-#endif
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <com/sun/star/drawing/PolyPolygonBezierCoords.hpp>
-#include <com/sun/star/lang/XInitialization.hpp>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/drawing/XCustomShapeEngine.hpp>
-
-// -----------------------------------------------------------------------------
-
-#define NMSP_IO com::sun::star::io
-#define NMSP_UNO com::sun::star::uno
-#define NMSP_BEANS com::sun::star::beans
-#define NMSP_LANG com::sun::star::lang
-#define NMSP_UTIL com::sun::star::util
-#define NMSP_SAX com::sun::star::xml::sax
-#define NMSP_LOGGING NMSP_UTIL::logging
-
-
-#define REF( _def_Obj ) NMSP_UNO::Reference< _def_Obj >
-#define SEQ( _def_Obj ) NMSP_UNO::Sequence< _def_Obj >
-#define B2UCONST( _def_pChar ) (rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(_def_pChar )))
-
-// ---------------------------
-// - EnhancedCustomShapeEngine -
-// ---------------------------
-//
-
-class SdrObject;
-class SdrObjCustomShape;
-class EnhancedCustomShapeEngine : public cppu::WeakImplHelper3
-<
- com::sun::star::lang::XInitialization,
- com::sun::star::lang::XServiceInfo,
- com::sun::star::drawing::XCustomShapeEngine
->
-{
- REF( NMSP_LANG::XMultiServiceFactory ) mxFact;
- REF( com::sun::star::drawing::XShape ) mxShape;
- sal_Bool mbForceGroupWithText;
-
- SdrObject* ImplForceGroupWithText( const SdrObjCustomShape* pCustoObj, SdrObject* pRenderedShape );
-
-public:
- EnhancedCustomShapeEngine( const REF( NMSP_LANG::XMultiServiceFactory )& rxMgr );
- virtual ~EnhancedCustomShapeEngine();
-
- // XInterface
- virtual void SAL_CALL acquire() throw();
- virtual void SAL_CALL release() throw();
-
- // XInitialization
- virtual void SAL_CALL initialize( const SEQ( NMSP_UNO::Any )& aArguments )
- throw ( NMSP_UNO::Exception, NMSP_UNO::RuntimeException );
-
- // XServiceInfo
- virtual rtl::OUString SAL_CALL getImplementationName()
- throw ( NMSP_UNO::RuntimeException );
- virtual sal_Bool SAL_CALL supportsService( const rtl::OUString& rServiceName )
- throw ( NMSP_UNO::RuntimeException );
- virtual SEQ( rtl::OUString ) SAL_CALL getSupportedServiceNames()
- throw ( NMSP_UNO::RuntimeException );
-
- // XCustomShapeEngine
- virtual REF( com::sun::star::drawing::XShape ) SAL_CALL render()
- throw ( NMSP_UNO::RuntimeException );
- virtual com::sun::star::awt::Rectangle SAL_CALL getTextBounds()
- throw ( NMSP_UNO::RuntimeException );
- virtual com::sun::star::drawing::PolyPolygonBezierCoords SAL_CALL getLineGeometry()
- throw ( NMSP_UNO::RuntimeException );
- virtual SEQ( REF( com::sun::star::drawing::XCustomShapeHandle ) ) SAL_CALL getInteraction()
- throw ( NMSP_UNO::RuntimeException );
-};
-
-rtl::OUString EnhancedCustomShapeEngine_getImplementationName()
- throw ( NMSP_UNO::RuntimeException );
-sal_Bool SAL_CALL EnhancedCustomShapeEngine_supportsService( const rtl::OUString& rServiceName )
- throw( NMSP_UNO::RuntimeException );
-SEQ( rtl::OUString ) SAL_CALL EnhancedCustomShapeEngine_getSupportedServiceNames()
- throw( NMSP_UNO::RuntimeException );
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx b/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx
deleted file mode 100644
index 9fa6f3c514..0000000000
--- a/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx
+++ /dev/null
@@ -1,885 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svx.hxx"
-#include "EnhancedCustomShapeFontWork.hxx"
-#include <tools/solar.h> // UINTXX
-#include <svx/svddef.hxx>
-#include <svx/svdogrp.hxx>
-#include <svx/svdopath.hxx>
-#include <vcl/metric.hxx>
-#include <svx/svdpage.hxx>
-#include <svx/sdasitm.hxx>
-#include <svx/sdasaitm.hxx>
-#include <svx/sdtfsitm.hxx>
-#include <vcl/virdev.hxx>
-#include <svx/svditer.hxx>
-#include <vcl/metric.hxx>
-#include <editeng/eeitem.hxx>
-#include <editeng/frmdiritem.hxx>
-#include <editeng/fontitem.hxx>
-#include <editeng/postitem.hxx>
-#include <editeng/wghtitem.hxx>
-#include <editeng/charscaleitem.hxx>
-#include "svx/EnhancedCustomShapeTypeNames.hxx"
-#include <svx/svdorect.hxx>
-#include <svx/svdoashp.hxx>
-#include <editeng/outliner.hxx>
-#include <editeng/outlobj.hxx>
-#include <editeng/editobj.hxx>
-#include <editeng/editeng.hxx>
-#include <svx/svdmodel.hxx>
-#include <vector>
-#include <numeric>
-#include <algorithm>
-#include <comphelper/processfactory.hxx>
-#include <com/sun/star/i18n/ScriptType.hdl>
-#include <basegfx/polygon/b2dpolypolygontools.hxx>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/i18n/CharacterIteratorMode.hdl>
-#include <basegfx/polygon/b2dpolygontools.hxx>
-
-using namespace com::sun::star;
-using namespace com::sun::star::uno;
-
-typedef std::vector< std::vector< double > > PolyPolygonDistances;
-
-struct FWCharacterData // representing a single character
-{
- std::vector< PolyPolygon > vOutlines;
- Rectangle aBoundRect;
-};
-struct FWParagraphData // representing a single paragraph
-{
- rtl::OUString aString;
- std::vector< FWCharacterData > vCharacters;
- Rectangle aBoundRect;
- sal_Int16 nFrameDirection;
-};
-struct FWTextArea // representing multiple concluding paragraphs
-{
- std::vector< FWParagraphData > vParagraphs;
- Rectangle aBoundRect;
-};
-struct FWData // representing the whole text
-{
- std::vector< FWTextArea > vTextAreas;
- double fHorizontalTextScaling;
- sal_uInt32 nMaxParagraphsPerTextArea;
- sal_Int32 nSingleLineHeight;
- sal_Bool bSingleLineMode;
-};
-
-
-sal_Bool InitializeFontWorkData( const SdrObject* pCustomShape, const sal_uInt16 nOutlinesCount2d, FWData& rFWData )
-{
- sal_Bool bNoErr = sal_False;
- sal_Bool bSingleLineMode = sal_False;
- sal_uInt16 nTextAreaCount = nOutlinesCount2d;
- if ( nOutlinesCount2d & 1 )
- bSingleLineMode = sal_True;
- else
- nTextAreaCount >>= 1;
-
- if ( nTextAreaCount )
- {
- rFWData.bSingleLineMode = bSingleLineMode;
-
- // setting the strings
- OutlinerParaObject* pParaObj = ((SdrObjCustomShape*)pCustomShape)->GetOutlinerParaObject();
- if ( pParaObj )
- {
- const EditTextObject& rTextObj = pParaObj->GetTextObject();
- sal_Int32 nParagraphsLeft = rTextObj.GetParagraphCount();
-
- rFWData.nMaxParagraphsPerTextArea = ( ( nParagraphsLeft - 1 ) / nTextAreaCount ) + 1;
- sal_Int16 j = 0;
- while( nParagraphsLeft && nTextAreaCount )
- {
- FWTextArea aTextArea;
- sal_Int32 i, nParagraphs = ( ( nParagraphsLeft - 1 ) / nTextAreaCount ) + 1;
- for ( i = 0; i < nParagraphs; ++i, ++j )
- {
- FWParagraphData aParagraphData;
- aParagraphData.aString = rTextObj.GetText( j );
-
- const SfxItemSet& rParaSet = rTextObj.GetParaAttribs( j ); // retrieving some paragraph attributes
- aParagraphData.nFrameDirection = ((SvxFrameDirectionItem&)rParaSet.Get( EE_PARA_WRITINGDIR )).GetValue();
- aTextArea.vParagraphs.push_back( aParagraphData );
- }
- rFWData.vTextAreas.push_back( aTextArea );
- nParagraphsLeft -= nParagraphs;
- nTextAreaCount--;
- }
- bNoErr = sal_True;
- }
- }
- return bNoErr;
-}
-
-double GetLength( const Polygon& rPolygon )
-{
- double fLength = 0;
- if ( rPolygon.GetSize() > 1 )
- {
- sal_uInt16 nCount = rPolygon.GetSize();
- while( --nCount )
- fLength += ((Polygon&)rPolygon).CalcDistance( nCount, nCount - 1 );
- }
- return fLength;
-}
-
-
-/* CalculateHorizontalScalingFactor returns the horizontal scaling factor for
-the whole text object, so that each text will match its corresponding 2d Outline */
-void CalculateHorizontalScalingFactor( const SdrObject* pCustomShape,
- FWData& rFWData, const PolyPolygon& rOutline2d )
-{
- double fScalingFactor = 1.0;
- sal_Bool bScalingFactorDefined = sal_False;
-
- sal_uInt16 i = 0;
- sal_Bool bSingleLineMode = sal_False;
- sal_uInt16 nOutlinesCount2d = rOutline2d.Count();
-
- Font aFont;
- SvxFontItem& rFontItem = (SvxFontItem&)pCustomShape->GetMergedItem( EE_CHAR_FONTINFO );
- aFont.SetHeight( pCustomShape->GetLogicRect().GetHeight() / rFWData.nMaxParagraphsPerTextArea );
- aFont.SetAlign( ALIGN_TOP );
- aFont.SetName( rFontItem.GetFamilyName() );
- aFont.SetFamily( rFontItem.GetFamily() );
- aFont.SetStyleName( rFontItem.GetStyleName() );
- aFont.SetOrientation( 0 );
- // initializing virtual device
-
- VirtualDevice aVirDev( 1 );
- aVirDev.SetMapMode( MAP_100TH_MM );
- aVirDev.SetFont( aFont );
-
- if ( nOutlinesCount2d & 1 )
- bSingleLineMode = sal_True;
-
- std::vector< FWTextArea >::iterator aTextAreaIter = rFWData.vTextAreas.begin();
- std::vector< FWTextArea >::iterator aTextAreaIEnd = rFWData.vTextAreas.end();
- while( aTextAreaIter != aTextAreaIEnd )
- {
- // calculating the width of the corresponding 2d text area
- double fWidth = GetLength( rOutline2d.GetObject( i++ ) );
- if ( !bSingleLineMode )
- {
- fWidth += GetLength( rOutline2d.GetObject( i++ ) );
- fWidth /= 2.0;
- }
- std::vector< FWParagraphData >::const_iterator aParagraphIter( aTextAreaIter->vParagraphs.begin() );
- std::vector< FWParagraphData >::const_iterator aParagraphIEnd( aTextAreaIter->vParagraphs.end() );
- while( aParagraphIter != aParagraphIEnd )
- {
- double fTextWidth = aVirDev.GetTextWidth( aParagraphIter->aString );
- if ( fTextWidth > 0.0 )
- {
- double fScale = fWidth / fTextWidth;
- if ( !bScalingFactorDefined )
- {
- fScalingFactor = fScale;
- bScalingFactorDefined = sal_True;
- }
- else
- {
- if ( fScale < fScalingFactor )
- fScalingFactor = fScale;
- }
- }
- ++aParagraphIter;
- }
- ++aTextAreaIter;
- }
- rFWData.fHorizontalTextScaling = fScalingFactor;
-}
-
-void GetTextAreaOutline( const FWData& rFWData, const SdrObject* pCustomShape, FWTextArea& rTextArea, sal_Bool bSameLetterHeights )
-{
- sal_Bool bIsVertical = ((SdrObjCustomShape*)pCustomShape)->IsVerticalWriting();
- sal_Int32 nVerticalOffset = rFWData.nMaxParagraphsPerTextArea > rTextArea.vParagraphs.size()
- ? rFWData.nSingleLineHeight / 2 : 0;
-
- std::vector< FWParagraphData >::iterator aParagraphIter( rTextArea.vParagraphs.begin() );
- std::vector< FWParagraphData >::iterator aParagraphIEnd( rTextArea.vParagraphs.end() );
- while( aParagraphIter != aParagraphIEnd )
- {
- const rtl::OUString& rText = aParagraphIter->aString;
- if ( rText.getLength() )
- {
- // generating vcl/font
- sal_uInt16 nScriptType = i18n::ScriptType::LATIN;
- Reference< i18n::XBreakIterator > xBI( EnhancedCustomShapeFontWork::GetBreakIterator() );
- if ( xBI.is() )
- {
- nScriptType = xBI->getScriptType( rText, 0 );
- if( i18n::ScriptType::WEAK == nScriptType )
- {
- sal_uInt16 nChg = 0;
- nChg = (xub_StrLen)xBI->endOfScript( rText, nChg, nScriptType );
- if( nChg < rText.getLength() )
- nScriptType = xBI->getScriptType( rText, nChg );
- else
- nScriptType = i18n::ScriptType::LATIN;
- }
- }
- sal_uInt16 nFntItm = EE_CHAR_FONTINFO;
- if ( nScriptType == i18n::ScriptType::COMPLEX )
- nFntItm = EE_CHAR_FONTINFO_CTL;
- else if ( nScriptType == i18n::ScriptType::ASIAN )
- nFntItm = EE_CHAR_FONTINFO_CJK;
- SvxFontItem& rFontItem = (SvxFontItem&)pCustomShape->GetMergedItem( nFntItm );
- Font aFont;
- aFont.SetHeight( rFWData.nSingleLineHeight );
- aFont.SetAlign( ALIGN_TOP );
-
- aFont.SetName( rFontItem.GetFamilyName() );
- aFont.SetFamily( rFontItem.GetFamily() );
- aFont.SetStyleName( rFontItem.GetStyleName() );
- aFont.SetOrientation( 0 );
-
- SvxPostureItem& rPostureItem = (SvxPostureItem&)pCustomShape->GetMergedItem( EE_CHAR_ITALIC );
- aFont.SetItalic( rPostureItem.GetPosture() );
-
- SvxWeightItem& rWeightItem = (SvxWeightItem&)pCustomShape->GetMergedItem( EE_CHAR_WEIGHT );
- aFont.SetWeight( rWeightItem.GetWeight() );
-
- // initializing virtual device
- VirtualDevice aVirDev( 1 );
- aVirDev.SetMapMode( MAP_100TH_MM );
- aVirDev.SetFont( aFont );
- aVirDev.EnableRTL( sal_True );
- if ( aParagraphIter->nFrameDirection == FRMDIR_HORI_RIGHT_TOP )
- aVirDev.SetLayoutMode( TEXT_LAYOUT_BIDI_RTL );
-
- SvxCharScaleWidthItem& rCharScaleWidthItem = (SvxCharScaleWidthItem&)pCustomShape->GetMergedItem( EE_CHAR_FONTWIDTH );
- sal_uInt16 nCharScaleWidth = rCharScaleWidthItem.GetValue();
- sal_Int32* pDXArry = NULL;
- sal_Int32 nWidth = 0;
-
- // VERTICAL
- if ( bIsVertical )
- {
- // vertical _> each single character needs to be rotated by 90
- sal_Int32 i;
- sal_Int32 nHeight = 0;
- Rectangle aSingleCharacterUnion;
- for ( i = 0; i < rText.getLength(); i++ )
- {
- FWCharacterData aCharacterData;
- rtl::OUString aCharText( (sal_Unicode)rText[ i ] );
- if ( aVirDev.GetTextOutlines( aCharacterData.vOutlines, aCharText, 0, 0, STRING_LEN, sal_True, nWidth, pDXArry ) )
- {
- sal_Int32 nTextWidth = aVirDev.GetTextWidth( aCharText, 0, STRING_LEN );
- std::vector< PolyPolygon >::iterator aOutlineIter = aCharacterData.vOutlines.begin();
- std::vector< PolyPolygon >::iterator aOutlineIEnd = aCharacterData.vOutlines.end();
- if ( aOutlineIter == aOutlineIEnd )
- {
- nHeight += rFWData.nSingleLineHeight;
- }
- else
- {
- while ( aOutlineIter != aOutlineIEnd )
- {
- // rotating
- aOutlineIter->Rotate( Point( nTextWidth / 2, rFWData.nSingleLineHeight / 2 ), 900 );
- aCharacterData.aBoundRect.Union( aOutlineIter->GetBoundRect() );
- ++aOutlineIter;
- }
- aOutlineIter = aCharacterData.vOutlines.begin();
- aOutlineIEnd = aCharacterData.vOutlines.end();
- while ( aOutlineIter != aOutlineIEnd )
- {
- sal_Int32 nM = - aCharacterData.aBoundRect.Left() + nHeight;
- aOutlineIter->Move( nM, 0 );
- aCharacterData.aBoundRect.Move( nM, 0 );
- ++aOutlineIter;
- }
- nHeight += aCharacterData.aBoundRect.GetWidth() + ( rFWData.nSingleLineHeight / 5 );
- aSingleCharacterUnion.Union( aCharacterData.aBoundRect );
- }
- }
- aParagraphIter->vCharacters.push_back( aCharacterData );
- }
- std::vector< FWCharacterData >::iterator aCharacterIter( aParagraphIter->vCharacters.begin() );
- std::vector< FWCharacterData >::iterator aCharacterIEnd( aParagraphIter->vCharacters.end() );
- while ( aCharacterIter != aCharacterIEnd )
- {
- std::vector< PolyPolygon >::iterator aOutlineIter( aCharacterIter->vOutlines.begin() );
- std::vector< PolyPolygon >::iterator aOutlineIEnd( aCharacterIter->vOutlines.end() );
- while ( aOutlineIter != aOutlineIEnd )
- {
- aOutlineIter->Move( ( aSingleCharacterUnion.GetWidth() - aCharacterIter->aBoundRect.GetWidth() ) / 2, 0 );
- ++aOutlineIter;
- }
- ++aCharacterIter;
- }
- }
- else
- {
- if ( ( nCharScaleWidth != 100 ) && nCharScaleWidth )
- { // applying character spacing
- pDXArry = new sal_Int32[ rText.getLength() ];
- aVirDev.GetTextArray( rText, pDXArry, 0, STRING_LEN );
- FontMetric aFontMetric( aVirDev.GetFontMetric() );
- aFont.SetWidth( (sal_Int32)( (double)aFontMetric.GetWidth() * ( (double)100 / (double)nCharScaleWidth ) ) );
- aVirDev.SetFont( aFont );
- }
- FWCharacterData aCharacterData;
- if ( aVirDev.GetTextOutlines( aCharacterData.vOutlines, rText, 0, 0, STRING_LEN, sal_True, nWidth, pDXArry ) )
- {
- aParagraphIter->vCharacters.push_back( aCharacterData );
- }
- }
- delete[] pDXArry;
-
- // veritcal alignment
- std::vector< FWCharacterData >::iterator aCharacterIter( aParagraphIter->vCharacters.begin() );
- std::vector< FWCharacterData >::iterator aCharacterIEnd ( aParagraphIter->vCharacters.end() );
- while ( aCharacterIter != aCharacterIEnd )
- {
- std::vector< PolyPolygon >::iterator aOutlineIter( aCharacterIter->vOutlines.begin() );
- std::vector< PolyPolygon >::iterator aOutlineIEnd( aCharacterIter->vOutlines.end() );
- while( aOutlineIter != aOutlineIEnd )
- {
-
- PolyPolygon& rPolyPoly = *aOutlineIter++;
-
- if ( nVerticalOffset )
- rPolyPoly.Move( 0, nVerticalOffset );
-
- // retrieving the boundrect for the paragraph
- Rectangle aBoundRect( rPolyPoly.GetBoundRect() );
- aParagraphIter->aBoundRect.Union( aBoundRect );
- }
- ++aCharacterIter;
- }
- }
- // updating the boundrect for the text area by merging the current paragraph boundrect
- if ( aParagraphIter->aBoundRect.IsEmpty() )
- {
- if ( rTextArea.aBoundRect.IsEmpty() )
- rTextArea.aBoundRect = Rectangle( Point( 0, 0 ), Size( 1, rFWData.nSingleLineHeight ) );
- else
- rTextArea.aBoundRect.Bottom() += rFWData.nSingleLineHeight;
- }
- else
- {
- Rectangle& rParagraphBoundRect = aParagraphIter->aBoundRect;
- rTextArea.aBoundRect.Union( rParagraphBoundRect );
-
- if ( bSameLetterHeights )
- {
- std::vector< FWCharacterData >::iterator aCharacterIter( aParagraphIter->vCharacters.begin() );
- std::vector< FWCharacterData >::iterator aCharacterIEnd( aParagraphIter->vCharacters.end() );
- while ( aCharacterIter != aCharacterIEnd )
- {
- std::vector< PolyPolygon >::iterator aOutlineIter( aCharacterIter->vOutlines.begin() );
- std::vector< PolyPolygon >::iterator aOutlineIEnd( aCharacterIter->vOutlines.end() );
- while( aOutlineIter != aOutlineIEnd )
- {
- Rectangle aPolyPolyBoundRect( aOutlineIter->GetBoundRect() );
- if ( aPolyPolyBoundRect.GetHeight() != rParagraphBoundRect.GetHeight() )
- aOutlineIter->Scale( 1.0, (double)rParagraphBoundRect.GetHeight() / aPolyPolyBoundRect.GetHeight() );
- aPolyPolyBoundRect = aOutlineIter->GetBoundRect();
- sal_Int32 nMove = aPolyPolyBoundRect.Top() - rParagraphBoundRect.Top();
- if ( nMove )
- aOutlineIter->Move( 0, -nMove );
- ++aOutlineIter;
- }
- ++aCharacterIter;
- }
- }
- }
- if ( bIsVertical )
- nVerticalOffset -= rFWData.nSingleLineHeight;
- else
- nVerticalOffset += rFWData.nSingleLineHeight;
- ++aParagraphIter;
- }
-}
-
-void GetFontWorkOutline( FWData& rFWData, const SdrObject* pCustomShape )
-{
- SdrTextHorzAdjust eHorzAdjust( ((SdrTextHorzAdjustItem&)pCustomShape->GetMergedItem( SDRATTR_TEXT_HORZADJUST )).GetValue() );
- SdrFitToSizeType eFTS( ((SdrTextFitToSizeTypeItem&)pCustomShape->GetMergedItem( SDRATTR_TEXT_FITTOSIZE )).GetValue() );
-
- std::vector< FWTextArea >::iterator aTextAreaIter = rFWData.vTextAreas.begin();
- std::vector< FWTextArea >::iterator aTextAreaIEnd = rFWData.vTextAreas.end();
-
- rFWData.nSingleLineHeight = (sal_Int32)( ( (double)pCustomShape->GetLogicRect().GetHeight()
- / rFWData.nMaxParagraphsPerTextArea ) * rFWData.fHorizontalTextScaling );
-
- sal_Bool bSameLetterHeights = sal_False;
- SdrCustomShapeGeometryItem& rGeometryItem = (SdrCustomShapeGeometryItem&)pCustomShape->GetMergedItem( SDRATTR_CUSTOMSHAPE_GEOMETRY );
- const rtl::OUString sTextPath( RTL_CONSTASCII_USTRINGPARAM ( "TextPath" ) );
- const rtl::OUString sSameLetterHeights( RTL_CONSTASCII_USTRINGPARAM ( "SameLetterHeights" ) );
- com::sun::star::uno::Any* pAny = rGeometryItem.GetPropertyValueByName( sTextPath, sSameLetterHeights );
- if ( pAny )
- *pAny >>= bSameLetterHeights;
-
- while ( aTextAreaIter != aTextAreaIEnd )
- {
- GetTextAreaOutline( rFWData, pCustomShape, *aTextAreaIter, bSameLetterHeights );
- if ( eFTS == SDRTEXTFIT_ALLLINES )
- {
- std::vector< FWParagraphData >::iterator aParagraphIter( aTextAreaIter->vParagraphs.begin() );
- std::vector< FWParagraphData >::iterator aParagraphIEnd( aTextAreaIter->vParagraphs.end() );
- while ( aParagraphIter != aParagraphIEnd )
- {
- sal_Int32 nParaWidth = aParagraphIter->aBoundRect.GetWidth();
- if ( nParaWidth )
- {
- double fScale = (double)aTextAreaIter->aBoundRect.GetWidth() / nParaWidth;
-
- std::vector< FWCharacterData >::iterator aCharacterIter( aParagraphIter->vCharacters.begin() );
- std::vector< FWCharacterData >::iterator aCharacterIEnd( aParagraphIter->vCharacters.end() );
- while ( aCharacterIter != aCharacterIEnd )
- {
- std::vector< PolyPolygon >::iterator aOutlineIter = aCharacterIter->vOutlines.begin();
- std::vector< PolyPolygon >::iterator aOutlineIEnd = aCharacterIter->vOutlines.end();
- while( aOutlineIter != aOutlineIEnd )
- {
- aOutlineIter->Scale( fScale, 1.0 );
- ++aOutlineIter;
- }
- ++aCharacterIter;
- }
- }
- ++aParagraphIter;
- }
- }
- else
- {
- switch( eHorzAdjust )
- {
- case SDRTEXTHORZADJUST_RIGHT :
- case SDRTEXTHORZADJUST_CENTER:
- {
- std::vector< FWParagraphData >::iterator aParagraphIter( aTextAreaIter->vParagraphs.begin() );
- std::vector< FWParagraphData >::iterator aParagraphIEnd( aTextAreaIter->vParagraphs.end() );
- while ( aParagraphIter != aParagraphIEnd )
- {
- sal_Int32 nHorzDiff = 0;
- if ( eHorzAdjust == SDRTEXTHORZADJUST_CENTER )
- nHorzDiff = ( aTextAreaIter->aBoundRect.GetWidth() - aParagraphIter->aBoundRect.GetWidth() ) / 2;
- else if ( eHorzAdjust == SDRTEXTHORZADJUST_RIGHT )
- nHorzDiff = ( aTextAreaIter->aBoundRect.GetWidth() - aParagraphIter->aBoundRect.GetWidth() );
- if ( nHorzDiff )
- {
- std::vector< FWCharacterData >::iterator aCharacterIter( aParagraphIter->vCharacters.begin() );
- std::vector< FWCharacterData >::iterator aCharacterIEnd( aParagraphIter->vCharacters.end() );
- while ( aCharacterIter != aCharacterIEnd )
- {
- std::vector< PolyPolygon >::iterator aOutlineIter = aCharacterIter->vOutlines.begin();
- std::vector< PolyPolygon >::iterator aOutlineIEnd = aCharacterIter->vOutlines.end();
- while( aOutlineIter != aOutlineIEnd )
- {
- aOutlineIter->Move( nHorzDiff, 0 );
- ++aOutlineIter;
- }
- ++aCharacterIter;
- }
- }
- ++aParagraphIter;
- }
- }
- break;
- default:
- case SDRTEXTHORZADJUST_BLOCK : break; // don't know
- case SDRTEXTHORZADJUST_LEFT : break; // already left aligned -> nothing to do
- }
- }
- ++aTextAreaIter;
- }
-}
-
-basegfx::B2DPolyPolygon GetOutlinesFromShape2d( const SdrObject* pShape2d )
-{
- basegfx::B2DPolyPolygon aOutlines2d;
-
- SdrObjListIter aObjListIter( *pShape2d, IM_DEEPWITHGROUPS );
- while( aObjListIter.IsMore() )
- {
- SdrObject* pPartObj = aObjListIter.Next();
- if ( pPartObj->ISA( SdrPathObj ) )
- {
- basegfx::B2DPolyPolygon aCandidate(((SdrPathObj*)pPartObj)->GetPathPoly());
- if(aCandidate.areControlPointsUsed())
- {
- aCandidate = basegfx::tools::adaptiveSubdivideByAngle(aCandidate);
- }
- aOutlines2d.append(aCandidate);
- }
- }
-
- return aOutlines2d;
-}
-
-void CalcDistances( const Polygon& rPoly, std::vector< double >& rDistances )
-{
- sal_uInt16 i, nCount = rPoly.GetSize();
- if ( nCount > 1 )
- {
- for ( i = 0; i < nCount; i++ )
- {
- double fDistance = i ? ((Polygon&)rPoly).CalcDistance( i, i - 1 ) : 0.0;
- rDistances.push_back( fDistance );
- }
- std::partial_sum( rDistances.begin(), rDistances.end(), rDistances.begin() );
- double fLength = rDistances[ rDistances.size() - 1 ];
- if ( fLength > 0.0 )
- {
- std::vector< double >::iterator aIter = rDistances.begin();
- std::vector< double >::iterator aEnd = rDistances.end();
- while ( aIter != aEnd )
- *aIter++ /= fLength;
- }
- }
-}
-
-void InsertMissingOutlinePoints( const Polygon& /*rOutlinePoly*/, const std::vector< double >& rDistances, const Rectangle& rTextAreaBoundRect, Polygon& rPoly )
-{
- sal_uInt16 i = 0;
- double fLastDistance = 0.0;
- for ( i = 0; i < rPoly.GetSize(); i++ )
- {
- Point& rPoint = rPoly[ i ];
- double fDistance = (double)( rPoint.X() - rTextAreaBoundRect.Left() ) / (double)rTextAreaBoundRect.GetWidth();
- if ( i )
- {
- if ( fDistance > fLastDistance )
- {
- std::vector< double >::const_iterator aIter = std::upper_bound( rDistances.begin(), rDistances.end(), fLastDistance );
- if ( aIter != rDistances.end() && ( *aIter > fLastDistance ) && ( *aIter < fDistance ) )
- {
- Point& rPt0 = rPoly[ i - 1 ];
- sal_Int32 fX = rPoint.X() - rPt0.X();
- sal_Int32 fY = rPoint.Y() - rPt0.Y();
- double fd = ( 1.0 / ( fDistance - fLastDistance ) ) * ( *aIter - fLastDistance );
- rPoly.Insert( i, Point( (sal_Int32)( rPt0.X() + fX * fd ), (sal_Int32)( rPt0.Y() + fY * fd ) ) );
- fDistance = *aIter;
- }
- }
- else if ( fDistance < fLastDistance )
- {
- std::vector< double >::const_iterator aIter = std::lower_bound( rDistances.begin(), rDistances.end(), fLastDistance );
- if ( aIter-- != rDistances.begin() )
- {
- if ( ( *aIter > fDistance ) && ( *aIter < fLastDistance ) )
- {
- Point& rPt0 = rPoly[ i - 1 ];
- sal_Int32 fX = rPoint.X() - rPt0.X();
- sal_Int32 fY = rPoint.Y() - rPt0.Y();
- double fd = ( 1.0 / ( fDistance - fLastDistance ) ) * ( *aIter - fLastDistance );
- rPoly.Insert( i, Point( (sal_Int32)( rPt0.X() + fX * fd ), (sal_Int32)( rPt0.Y() + fY * fd ) ) );
- fDistance = *aIter;
- }
- }
- }
- }
- fLastDistance = fDistance;
- }
-}
-
-void GetPoint( const Polygon& rPoly, const std::vector< double >& rDistances, const double& fX, double& fx1, double& fy1 )
-{
- fy1 = fx1 = 0.0;
- if ( rPoly.GetSize() > 1 )
- {
- std::vector< double >::const_iterator aIter = std::lower_bound( rDistances.begin(), rDistances.end(), fX );
- sal_uInt16 nIdx = sal::static_int_cast<sal_uInt16>( std::distance( rDistances.begin(), aIter ) );
- if ( aIter == rDistances.end() )
- nIdx--;
- const Point& rPt = rPoly[ nIdx ];
- fx1 = rPt.X();
- fy1 = rPt.Y();
- if ( nIdx && ( aIter != rDistances.end() ) && ( *aIter != fX ) )
- {
- nIdx = sal::static_int_cast<sal_uInt16>( std::distance( rDistances.begin(), aIter ) );
- double fDist0 = *( aIter - 1 );
- double fd = ( 1.0 / ( *aIter - fDist0 ) ) * ( fX - fDist0 );
- const Point& rPt2 = rPoly[ nIdx - 1 ];
- double fWidth = rPt.X() - rPt2.X();
- double fHeight= rPt.Y() - rPt2.Y();
- fWidth *= fd;
- fHeight*= fd;
- fx1 = rPt2.X() + fWidth;
- fy1 = rPt2.Y() + fHeight;
- }
- }
-}
-
-void FitTextOutlinesToShapeOutlines( const PolyPolygon& aOutlines2d, FWData& rFWData )
-{
- std::vector< FWTextArea >::iterator aTextAreaIter = rFWData.vTextAreas.begin();
- std::vector< FWTextArea >::iterator aTextAreaIEnd = rFWData.vTextAreas.end();
-
- sal_uInt16 nOutline2dIdx = 0;
- while( aTextAreaIter != aTextAreaIEnd )
- {
- Rectangle rTextAreaBoundRect = aTextAreaIter->aBoundRect;
- sal_Int32 nLeft = rTextAreaBoundRect.Left();
- sal_Int32 nTop = rTextAreaBoundRect.Top();
- sal_Int32 nWidth = rTextAreaBoundRect.GetWidth();
- sal_Int32 nHeight= rTextAreaBoundRect.GetHeight();
- if ( rFWData.bSingleLineMode && nHeight && nWidth )
- {
- if ( nOutline2dIdx >= aOutlines2d.Count() )
- break;
- const Polygon& rOutlinePoly( aOutlines2d[ nOutline2dIdx++ ] );
- const sal_uInt16 nPointCount = rOutlinePoly.GetSize();
- if ( nPointCount > 1 )
- {
- std::vector< double > vDistances;
- vDistances.reserve( nPointCount );
- CalcDistances( rOutlinePoly, vDistances );
- if ( !vDistances.empty() )
- {
- std::vector< FWParagraphData >::iterator aParagraphIter( aTextAreaIter->vParagraphs.begin() );
- std::vector< FWParagraphData >::iterator aParagraphIEnd( aTextAreaIter->vParagraphs.end() );
- while( aParagraphIter != aParagraphIEnd )
- {
- std::vector< FWCharacterData >::iterator aCharacterIter( aParagraphIter->vCharacters.begin() );
- std::vector< FWCharacterData >::iterator aCharacterIEnd( aParagraphIter->vCharacters.end() );
- while ( aCharacterIter != aCharacterIEnd )
- {
- std::vector< PolyPolygon >::iterator aOutlineIter = aCharacterIter->vOutlines.begin();
- std::vector< PolyPolygon >::iterator aOutlineIEnd = aCharacterIter->vOutlines.end();
- while( aOutlineIter != aOutlineIEnd )
- {
- PolyPolygon& rPolyPoly = *aOutlineIter;
- Rectangle aBoundRect( rPolyPoly.GetBoundRect() );
- double fx1 = aBoundRect.Left() - nLeft;
- double fx2 = aBoundRect.Right() - nLeft;
- double fy1, fy2;
- double fM1 = fx1 / (double)nWidth;
- double fM2 = fx2 / (double)nWidth;
-
- GetPoint( rOutlinePoly, vDistances, fM1, fx1, fy1 );
- GetPoint( rOutlinePoly, vDistances, fM2, fx2, fy2 );
-
- double fvx = ( fy2 - fy1 );
- double fvy = - ( fx2 - fx1 );
- fx1 = fx1 + ( ( fx2 - fx1 ) * 0.5 );
- fy1 = fy1 + ( ( fy2 - fy1 ) * 0.5 );
-
- double fAngle = atan2( -fvx, -fvy );
- double fL = hypot( fvx, fvy );
- fvx = fvx / fL;
- fvy = fvy / fL;
- fL = (double)( aTextAreaIter->aBoundRect.GetHeight() / 2.0 + aTextAreaIter->aBoundRect.Top() ) - aParagraphIter->aBoundRect.Center().Y();
- fvx *= fL;
- fvy *= fL;
- rPolyPoly.Rotate( Point( aBoundRect.Center().X(), aParagraphIter->aBoundRect.Center().Y() ), sin( fAngle ), cos( fAngle ) );
- rPolyPoly.Move( (sal_Int32)( ( fx1 + fvx )- aBoundRect.Center().X() ), (sal_Int32)( ( fy1 + fvy ) - aParagraphIter->aBoundRect.Center().Y() ) );
-
- ++aOutlineIter;
- }
- ++aCharacterIter;
- }
- ++aParagraphIter;
- }
- }
- }
- }
- else
- {
- if ( ( nOutline2dIdx + 1 ) >= aOutlines2d.Count() )
- break;
- const Polygon& rOutlinePoly( aOutlines2d[ nOutline2dIdx++ ] );
- const Polygon& rOutlinePoly2( aOutlines2d[ nOutline2dIdx++ ] );
- const sal_uInt16 nPointCount = rOutlinePoly.GetSize();
- const sal_uInt16 nPointCount2 = rOutlinePoly2.GetSize();
- if ( ( nPointCount > 1 ) && ( nPointCount2 > 1 ) )
- {
- std::vector< double > vDistances;
- vDistances.reserve( nPointCount );
- std::vector< double > vDistances2;
- vDistances2.reserve( nPointCount2 );
- CalcDistances( rOutlinePoly, vDistances );
- CalcDistances( rOutlinePoly2, vDistances2 );
- std::vector< FWParagraphData >::iterator aParagraphIter = aTextAreaIter->vParagraphs.begin();
- std::vector< FWParagraphData >::iterator aParagraphIEnd = aTextAreaIter->vParagraphs.end();
- while( aParagraphIter != aParagraphIEnd )
- {
- std::vector< FWCharacterData >::iterator aCharacterIter( aParagraphIter->vCharacters.begin() );
- std::vector< FWCharacterData >::iterator aCharacterIEnd( aParagraphIter->vCharacters.end() );
- while ( aCharacterIter != aCharacterIEnd )
- {
- std::vector< PolyPolygon >::iterator aOutlineIter = aCharacterIter->vOutlines.begin();
- std::vector< PolyPolygon >::iterator aOutlineIEnd = aCharacterIter->vOutlines.end();
- while( aOutlineIter != aOutlineIEnd )
- {
- PolyPolygon& rPolyPoly = *aOutlineIter;
- sal_uInt16 i, nPolyCount = rPolyPoly.Count();
- for ( i = 0; i < nPolyCount; i++ )
- {
- // #i35928#
- basegfx::B2DPolygon aCandidate(rPolyPoly[ i ].getB2DPolygon());
-
- if(aCandidate.areControlPointsUsed())
- {
- aCandidate = basegfx::tools::adaptiveSubdivideByAngle(aCandidate);
- }
-
- // create local polygon copy to work on
- Polygon aLocalPoly(aCandidate);
-
- InsertMissingOutlinePoints( rOutlinePoly, vDistances, rTextAreaBoundRect, aLocalPoly );
- InsertMissingOutlinePoints( rOutlinePoly2, vDistances2, rTextAreaBoundRect, aLocalPoly );
-
- sal_uInt16 j, _nPointCount = aLocalPoly.GetSize();
- for ( j = 0; j < _nPointCount; j++ )
- {
- Point& rPoint = aLocalPoly[ j ];
- rPoint.X() -= nLeft;
- rPoint.Y() -= nTop;
- double fX = (double)rPoint.X() / (double)nWidth;
- double fY = (double)rPoint.Y() / (double)nHeight;
-
- double fx1, fy1, fx2, fy2;
- GetPoint( rOutlinePoly, vDistances, fX, fx1, fy1 );
- GetPoint( rOutlinePoly2, vDistances2, fX, fx2, fy2 );
- double fWidth = fx2 - fx1;
- double fHeight= fy2 - fy1;
- rPoint.X() = (sal_Int32)( fx1 + fWidth * fY );
- rPoint.Y() = (sal_Int32)( fy1 + fHeight* fY );
- }
-
- // write back polygon
- rPolyPoly[ i ] = aLocalPoly;
- }
- ++aOutlineIter;
- }
- ++aCharacterIter;
- }
- ++aParagraphIter;
- }
- }
- }
- ++aTextAreaIter;
- }
-}
-
-SdrObject* CreateSdrObjectFromParagraphOutlines( const FWData& rFWData, const SdrObject* pCustomShape )
-{
- SdrObject* pRet = NULL;
- if ( !rFWData.vTextAreas.empty() )
- {
- pRet = new SdrObjGroup();
- std::vector< FWTextArea >::const_iterator aTextAreaIter = rFWData.vTextAreas.begin();
- std::vector< FWTextArea >::const_iterator aTextAreaIEnd = rFWData.vTextAreas.end();
- while ( aTextAreaIter != aTextAreaIEnd )
- {
- std::vector< FWParagraphData >::const_iterator aParagraphIter = aTextAreaIter->vParagraphs.begin();
- std::vector< FWParagraphData >::const_iterator aParagraphIEnd = aTextAreaIter->vParagraphs.end();
- while ( aParagraphIter != aParagraphIEnd )
- {
- std::vector< FWCharacterData >::const_iterator aCharacterIter( aParagraphIter->vCharacters.begin() );
- std::vector< FWCharacterData >::const_iterator aCharacterIEnd( aParagraphIter->vCharacters.end() );
- while ( aCharacterIter != aCharacterIEnd )
- {
- std::vector< PolyPolygon >::const_iterator aOutlineIter = aCharacterIter->vOutlines.begin();
- std::vector< PolyPolygon >::const_iterator aOutlineIEnd = aCharacterIter->vOutlines.end();
- while( aOutlineIter != aOutlineIEnd )
- {
- SdrObject* pPathObj = new SdrPathObj( OBJ_POLY, aOutlineIter->getB2DPolyPolygon() );
- ((SdrObjGroup*)pRet)->GetSubList()->NbcInsertObject( pPathObj );
- ++aOutlineIter;
- }
- ++aCharacterIter;
- }
- ++aParagraphIter;
- }
- ++aTextAreaIter;
- }
-
- Point aP( pCustomShape->GetSnapRect().Center() );
- Size aS( pCustomShape->GetLogicRect().GetSize() );
- aP.X() -= aS.Width() / 2;
- aP.Y() -= aS.Height() / 2;
- Rectangle aLogicRect( aP, aS );
-
- SfxItemSet aSet( pCustomShape->GetMergedItemSet() );
- aSet.ClearItem( SDRATTR_TEXTDIRECTION ); //SJ: vertical writing is not required, by removing this item no outliner is created
- aSet.Put(SdrShadowItem(sal_False)); // #i37011# NO shadow for FontWork geometry
- pRet->SetMergedItemSet( aSet ); // * otherwise we would crash, because the outliner tries to create a Paraobject, but there is no model
- }
- return pRet;
-}
-
-::com::sun::star::uno::Reference < ::com::sun::star::i18n::XBreakIterator > EnhancedCustomShapeFontWork::mxBreakIterator = 0;
-
-Reference < i18n::XBreakIterator > EnhancedCustomShapeFontWork::GetBreakIterator()
-{
- if ( !mxBreakIterator.is() )
- {
- Reference< lang::XMultiServiceFactory > xMSF = ::comphelper::getProcessServiceFactory();
- Reference < XInterface > xI = xMSF->createInstance( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.i18n.BreakIterator")) );
- if ( xI.is() )
- {
- Any x = xI->queryInterface( ::getCppuType((const Reference< i18n::XBreakIterator >*)0) );
- x >>= mxBreakIterator;
- }
- }
- return mxBreakIterator;
-}
-
-SdrObject* EnhancedCustomShapeFontWork::CreateFontWork( const SdrObject* pShape2d, const SdrObject* pCustomShape )
-{
- SdrObject* pRet = NULL;
-
- Rectangle aLogicRect( pCustomShape->GetLogicRect() );
- PolyPolygon aOutlines2d( GetOutlinesFromShape2d( pShape2d ) );
- sal_uInt16 nOutlinesCount2d = aOutlines2d.Count();
- if ( nOutlinesCount2d )
- {
- FWData aFWData;
- if ( InitializeFontWorkData( pCustomShape, nOutlinesCount2d, aFWData ) )
- {
- /* retrieves the horizontal scaling factor that has to be used
- to fit each paragraph text into its corresponding 2d outline */
- CalculateHorizontalScalingFactor( pCustomShape, aFWData, aOutlines2d );
-
- /* retrieving the Outlines for the each Paragraph. */
-
- GetFontWorkOutline( aFWData, pCustomShape );
-
- FitTextOutlinesToShapeOutlines( aOutlines2d, aFWData );
-
- pRet = CreateSdrObjectFromParagraphOutlines( aFWData, pCustomShape );
- }
- }
- return pRet;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/customshapes/EnhancedCustomShapeFontWork.hxx b/svx/source/customshapes/EnhancedCustomShapeFontWork.hxx
deleted file mode 100644
index 4b3a90e0dc..0000000000
--- a/svx/source/customshapes/EnhancedCustomShapeFontWork.hxx
+++ /dev/null
@@ -1,47 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _ENHANCEDCUSTOMSHAPEFONTWORK_HXX
-#define _ENHANCEDCUSTOMSHAPEFONTWORK_HXX
-
-#include <com/sun/star/i18n/XBreakIterator.hpp>
-
-class SdrObject;
-class EnhancedCustomShapeFontWork
-{
- static ::com::sun::star::uno::Reference < ::com::sun::star::i18n::XBreakIterator > mxBreakIterator;
-
- public :
-
- static com::sun::star::uno::Reference < ::com::sun::star::i18n::XBreakIterator > GetBreakIterator();
- static SdrObject* CreateFontWork( const SdrObject* pShape2d, const SdrObject* pCustomShape );
-};
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx b/svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx
deleted file mode 100644
index 19b3eaf333..0000000000
--- a/svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx
+++ /dev/null
@@ -1,1214 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svx.hxx"
-#include "svx/EnhancedCustomShape2d.hxx"
-#include <rtl/ustring.hxx>
-#include <tools/fract.hxx>
-
-// Makes parser a static resource,
-// we're synchronized externally.
-// But watch out, the parser might have
-// state not visible to this code!
-
-#define BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE
-#if defined(VERBOSE) && defined(DBG_UTIL)
-#include <typeinfo>
-#define BOOST_SPIRIT_DEBUG
-#endif
-#include <boost/spirit/include/classic_core.hpp>
-
-#if (OSL_DEBUG_LEVEL > 0)
-#include <iostream>
-#endif
-#include <functional>
-#include <algorithm>
-#include <stack>
-
-#include <math.h> // fabs, sqrt, sin, cos, tan, atan, atan2
-using namespace EnhancedCustomShape;
-using namespace com::sun::star;
-using namespace com::sun::star::drawing;
-
-void EnhancedCustomShape::FillEquationParameter( const EnhancedCustomShapeParameter& rSource, const sal_Int32 nDestPara, EnhancedCustomShapeEquation& rDest )
-{
- sal_Int32 nValue = 0;
- if ( rSource.Value.getValueTypeClass() == uno::TypeClass_DOUBLE )
- {
- double fValue(0.0);
- if ( rSource.Value >>= fValue )
- nValue = (sal_Int32)fValue;
- }
- else
- rSource.Value >>= nValue;
-
- switch( rSource.Type )
- {
- case com::sun::star::drawing::EnhancedCustomShapeParameterType::EQUATION :
- {
- if ( nValue & 0x40000000 )
- {
- nValue ^= 0x40000000;
- rDest.nOperation |= 0x20000000 << nDestPara; // the bit is indicating that this value has to be adjusted later
- }
- nValue |= 0x400;
- }
- break;
- case com::sun::star::drawing::EnhancedCustomShapeParameterType::ADJUSTMENT : nValue += DFF_Prop_adjustValue; break;
- case com::sun::star::drawing::EnhancedCustomShapeParameterType::BOTTOM : nValue = DFF_Prop_geoBottom; break;
- case com::sun::star::drawing::EnhancedCustomShapeParameterType::RIGHT : nValue = DFF_Prop_geoRight; break;
- case com::sun::star::drawing::EnhancedCustomShapeParameterType::TOP : nValue = DFF_Prop_geoTop; break;
- case com::sun::star::drawing::EnhancedCustomShapeParameterType::LEFT : nValue = DFF_Prop_geoLeft; break;
- }
- if ( rSource.Type != com::sun::star::drawing::EnhancedCustomShapeParameterType::NORMAL )
- rDest.nOperation |= ( 0x2000 << nDestPara );
- rDest.nPara[ nDestPara ] = nValue;
-}
-
-ExpressionNode::~ExpressionNode()
-{}
-
-namespace
-{
-
-//////////////////////
-//////////////////////
-// EXPRESSION NODES
-//////////////////////
-//////////////////////
-class ConstantValueExpression : public ExpressionNode
-{
- double maValue;
-
-public:
-
- ConstantValueExpression( double rValue ) :
- maValue( rValue )
- {
- }
- virtual double operator()() const
- {
- return maValue;
- }
- virtual bool isConstant() const
- {
- return true;
- }
- virtual ExpressionFunct getType() const
- {
- return FUNC_CONST;
- }
- virtual EnhancedCustomShapeParameter fillNode( std::vector< EnhancedCustomShapeEquation >& rEquations, ExpressionNode* /* pOptionalArg */, sal_uInt32 /* nFlags */ )
- {
- EnhancedCustomShapeParameter aRet;
- Fraction aFract( maValue );
- if ( aFract.GetDenominator() == 1 )
- {
- aRet.Type = EnhancedCustomShapeParameterType::NORMAL;
- aRet.Value <<= (sal_Int32)aFract.GetNumerator();
- }
- else
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation = 1;
- aEquation.nPara[ 0 ] = 1;
- aEquation.nPara[ 1 ] = (sal_Int16)aFract.GetNumerator();
- aEquation.nPara[ 2 ] = (sal_Int16)aFract.GetDenominator();
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- return aRet;
- }
-};
-
-class AdjustmentExpression : public ExpressionNode
-{
- sal_Int32 mnIndex;
- const EnhancedCustomShape2d& mrCustoShape;
-
-public:
-
- AdjustmentExpression( const EnhancedCustomShape2d& rCustoShape, sal_Int32 nIndex )
- : mnIndex ( nIndex )
- , mrCustoShape( rCustoShape )
-
- {
- }
- virtual double operator()() const
- {
- return mrCustoShape.GetAdjustValueAsDouble( mnIndex );
- }
- virtual bool isConstant() const
- {
- return false;
- }
- virtual ExpressionFunct getType() const
- {
- return ENUM_FUNC_ADJUSTMENT;
- }
- virtual EnhancedCustomShapeParameter fillNode( std::vector< EnhancedCustomShapeEquation >& /*rEquations*/, ExpressionNode* /*pOptionalArg*/, sal_uInt32 /*nFlags*/ )
- {
- EnhancedCustomShapeParameter aRet;
- aRet.Type = EnhancedCustomShapeParameterType::ADJUSTMENT;
- aRet.Value <<= mnIndex;
- return aRet;
- }
-};
-
-class EquationExpression : public ExpressionNode
-{
- sal_Int32 mnIndex;
- const EnhancedCustomShape2d& mrCustoShape;
-
-public:
-
- EquationExpression( const EnhancedCustomShape2d& rCustoShape, sal_Int32 nIndex )
- : mnIndex ( nIndex )
- , mrCustoShape( rCustoShape )
- {
- }
- virtual double operator()() const
- {
- return mrCustoShape.GetEquationValueAsDouble( mnIndex );
- }
- virtual bool isConstant() const
- {
- return false;
- }
- virtual ExpressionFunct getType() const
- {
- return ENUM_FUNC_EQUATION;
- }
- virtual EnhancedCustomShapeParameter fillNode( std::vector< EnhancedCustomShapeEquation >& /*rEquations*/, ExpressionNode* /*pOptionalArg*/, sal_uInt32 /*nFlags*/ )
- {
- EnhancedCustomShapeParameter aRet;
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= mnIndex | 0x40000000; // the bit is indicating that this equation needs to be adjusted later
- return aRet;
- }
-};
-
-class EnumValueExpression : public ExpressionNode
-{
- const ExpressionFunct meFunct;
- const EnhancedCustomShape2d& mrCustoShape;
-
-public:
-
- EnumValueExpression( const EnhancedCustomShape2d& rCustoShape, const ExpressionFunct eFunct )
- : meFunct ( eFunct )
- , mrCustoShape ( rCustoShape )
- {
- }
- static double getValue( const EnhancedCustomShape2d& rCustoShape, const ExpressionFunct eFunc )
- {
- EnhancedCustomShape2d::EnumFunc eF;
- switch( eFunc )
- {
- case ENUM_FUNC_PI : eF = EnhancedCustomShape2d::ENUM_FUNC_PI; break;
- case ENUM_FUNC_LEFT : eF = EnhancedCustomShape2d::ENUM_FUNC_LEFT; break;
- case ENUM_FUNC_TOP : eF = EnhancedCustomShape2d::ENUM_FUNC_TOP; break;
- case ENUM_FUNC_RIGHT : eF = EnhancedCustomShape2d::ENUM_FUNC_RIGHT; break;
- case ENUM_FUNC_BOTTOM : eF = EnhancedCustomShape2d::ENUM_FUNC_BOTTOM; break;
- case ENUM_FUNC_XSTRETCH : eF = EnhancedCustomShape2d::ENUM_FUNC_XSTRETCH; break;
- case ENUM_FUNC_YSTRETCH : eF = EnhancedCustomShape2d::ENUM_FUNC_YSTRETCH; break;
- case ENUM_FUNC_HASSTROKE : eF = EnhancedCustomShape2d::ENUM_FUNC_HASSTROKE; break;
- case ENUM_FUNC_HASFILL : eF = EnhancedCustomShape2d::ENUM_FUNC_HASFILL; break;
- case ENUM_FUNC_WIDTH : eF = EnhancedCustomShape2d::ENUM_FUNC_WIDTH; break;
- case ENUM_FUNC_HEIGHT : eF = EnhancedCustomShape2d::ENUM_FUNC_HEIGHT; break;
- case ENUM_FUNC_LOGWIDTH : eF = EnhancedCustomShape2d::ENUM_FUNC_LOGWIDTH; break;
- case ENUM_FUNC_LOGHEIGHT : eF = EnhancedCustomShape2d::ENUM_FUNC_LOGHEIGHT; break;
-
- default :
- return 0.0;
- }
- return rCustoShape.GetEnumFunc( eF );
- }
- virtual double operator()() const
- {
- return getValue( mrCustoShape, meFunct );
- }
- virtual bool isConstant() const
- {
- return false;
- }
- virtual ExpressionFunct getType() const
- {
- return meFunct;
- }
- virtual EnhancedCustomShapeParameter fillNode( std::vector< EnhancedCustomShapeEquation >& rEquations, ExpressionNode* /*pOptionalArg*/, sal_uInt32 nFlags )
- {
- EnhancedCustomShapeParameter aRet;
-
- sal_Int32 nDummy = 1;
- aRet.Value <<= nDummy;
-
- switch( meFunct )
- {
- case ENUM_FUNC_WIDTH : // TODO: do not use this as constant value
- case ENUM_FUNC_HEIGHT :
- case ENUM_FUNC_LOGWIDTH :
- case ENUM_FUNC_LOGHEIGHT :
- case ENUM_FUNC_PI :
- {
- ConstantValueExpression aConstantValue( getValue( mrCustoShape, meFunct ) );
- aRet = aConstantValue.fillNode( rEquations, NULL, nFlags );
- }
- break;
- case ENUM_FUNC_LEFT : aRet.Type = EnhancedCustomShapeParameterType::LEFT; break;
- case ENUM_FUNC_TOP : aRet.Type = EnhancedCustomShapeParameterType::TOP; break;
- case ENUM_FUNC_RIGHT : aRet.Type = EnhancedCustomShapeParameterType::RIGHT; break;
- case ENUM_FUNC_BOTTOM : aRet.Type = EnhancedCustomShapeParameterType::BOTTOM; break;
-
- // not implemented so far
- case ENUM_FUNC_XSTRETCH :
- case ENUM_FUNC_YSTRETCH :
- case ENUM_FUNC_HASSTROKE :
- case ENUM_FUNC_HASFILL : aRet.Type = EnhancedCustomShapeParameterType::NORMAL; break;
-
- default:
- break;
- }
- return aRet;
- }
-};
-
-/** ExpressionNode implementation for unary
- function over one ExpressionNode
- */
-class UnaryFunctionExpression : public ExpressionNode
-{
- const ExpressionFunct meFunct;
- ExpressionNodeSharedPtr mpArg;
-
-public:
- UnaryFunctionExpression( const ExpressionFunct eFunct, const ExpressionNodeSharedPtr& rArg ) :
- meFunct( eFunct ),
- mpArg( rArg )
- {
- }
- static double getValue( const ExpressionFunct eFunct, const ExpressionNodeSharedPtr& rArg )
- {
- double fRet = 0;
- switch( eFunct )
- {
- case UNARY_FUNC_ABS : fRet = fabs( (*rArg)() ); break;
- case UNARY_FUNC_SQRT: fRet = sqrt( (*rArg)() ); break;
- case UNARY_FUNC_SIN : fRet = sin( (*rArg)() ); break;
- case UNARY_FUNC_COS : fRet = cos( (*rArg)() ); break;
- case UNARY_FUNC_TAN : fRet = tan( (*rArg)() ); break;
- case UNARY_FUNC_ATAN: fRet = atan( (*rArg)() ); break;
- case UNARY_FUNC_NEG : fRet = ::std::negate<double>()( (*rArg)() ); break;
- default:
- break;
- }
- return fRet;
- }
- virtual double operator()() const
- {
- return getValue( meFunct, mpArg );
- }
- virtual bool isConstant() const
- {
- return mpArg->isConstant();
- }
- virtual ExpressionFunct getType() const
- {
- return meFunct;
- }
- virtual EnhancedCustomShapeParameter fillNode( std::vector< EnhancedCustomShapeEquation >& rEquations, ExpressionNode* pOptionalArg, sal_uInt32 nFlags )
- {
- EnhancedCustomShapeParameter aRet;
- switch( meFunct )
- {
- case UNARY_FUNC_ABS :
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 3;
- FillEquationParameter( mpArg->fillNode( rEquations, NULL, nFlags ), 0, aEquation );
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- break;
- case UNARY_FUNC_SQRT:
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 13;
- FillEquationParameter( mpArg->fillNode( rEquations, NULL, nFlags ), 0, aEquation );
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- break;
- case UNARY_FUNC_SIN :
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 9;
- if ( pOptionalArg )
- FillEquationParameter( pOptionalArg->fillNode( rEquations, NULL, nFlags ), 0, aEquation );
- else
- aEquation.nPara[ 0 ] = 1;
-
- EnhancedCustomShapeParameter aSource( mpArg->fillNode( rEquations, NULL, nFlags | EXPRESSION_FLAG_SUMANGLE_MODE ) );
- if ( aSource.Type == EnhancedCustomShapeParameterType::NORMAL )
- { // sumangle needed :-(
- EnhancedCustomShapeEquation _aEquation;
- _aEquation.nOperation |= 0xe; // sumangle
- FillEquationParameter( aSource, 1, _aEquation );
- aSource.Type = EnhancedCustomShapeParameterType::EQUATION;
- aSource.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( _aEquation );
- }
- FillEquationParameter( aSource, 1, aEquation );
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- break;
- case UNARY_FUNC_COS :
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 10;
- if ( pOptionalArg )
- FillEquationParameter( pOptionalArg->fillNode( rEquations, NULL, nFlags ), 0, aEquation );
- else
- aEquation.nPara[ 0 ] = 1;
-
- EnhancedCustomShapeParameter aSource( mpArg->fillNode( rEquations, NULL, nFlags | EXPRESSION_FLAG_SUMANGLE_MODE ) );
- if ( aSource.Type == EnhancedCustomShapeParameterType::NORMAL )
- { // sumangle needed :-(
- EnhancedCustomShapeEquation aTmpEquation;
- aTmpEquation.nOperation |= 0xe; // sumangle
- FillEquationParameter( aSource, 1, aTmpEquation );
- aSource.Type = EnhancedCustomShapeParameterType::EQUATION;
- aSource.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aTmpEquation );
- }
- FillEquationParameter( aSource, 1, aEquation );
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- break;
- case UNARY_FUNC_TAN :
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 16;
- if ( pOptionalArg )
- FillEquationParameter( pOptionalArg->fillNode( rEquations, NULL, nFlags ), 0, aEquation );
- else
- aEquation.nPara[ 0 ] = 1;
-
- EnhancedCustomShapeParameter aSource( mpArg->fillNode( rEquations, NULL, nFlags | EXPRESSION_FLAG_SUMANGLE_MODE ) );
- if ( aSource.Type == EnhancedCustomShapeParameterType::NORMAL )
- { // sumangle needed :-(
- EnhancedCustomShapeEquation aTmpEquation;
- aTmpEquation.nOperation |= 0xe; // sumangle
- FillEquationParameter( aSource, 1, aTmpEquation );
- aSource.Type = EnhancedCustomShapeParameterType::EQUATION;
- aSource.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aTmpEquation );
- }
- FillEquationParameter( aSource, 1, aEquation );
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- break;
- case UNARY_FUNC_ATAN:
- {
-// TODO:
- aRet.Type = EnhancedCustomShapeParameterType::NORMAL;
- }
- break;
- case UNARY_FUNC_NEG:
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 1;
- aEquation.nPara[ 1 ] = -1;
- aEquation.nPara[ 2 ] = 1;
- FillEquationParameter( mpArg->fillNode( rEquations, NULL, nFlags ), 0, aEquation );
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- break;
- default:
- break;
- }
- return aRet;
- }
-};
-
-/** ExpressionNode implementation for unary
- function over two ExpressionNodes
- */
-class BinaryFunctionExpression : public ExpressionNode
-{
- const ExpressionFunct meFunct;
- ExpressionNodeSharedPtr mpFirstArg;
- ExpressionNodeSharedPtr mpSecondArg;
-
-public:
-
- BinaryFunctionExpression( const ExpressionFunct eFunct, const ExpressionNodeSharedPtr& rFirstArg, const ExpressionNodeSharedPtr& rSecondArg ) :
- meFunct( eFunct ),
- mpFirstArg( rFirstArg ),
- mpSecondArg( rSecondArg )
- {
- }
- static double getValue( const ExpressionFunct eFunct, const ExpressionNodeSharedPtr& rFirstArg, const ExpressionNodeSharedPtr& rSecondArg )
- {
- double fRet = 0;
- switch( eFunct )
- {
- case BINARY_FUNC_PLUS : fRet = (*rFirstArg)() + (*rSecondArg)(); break;
- case BINARY_FUNC_MINUS: fRet = (*rFirstArg)() - (*rSecondArg)(); break;
- case BINARY_FUNC_MUL : fRet = (*rFirstArg)() * (*rSecondArg)(); break;
- case BINARY_FUNC_DIV : fRet = (*rFirstArg)() / (*rSecondArg)(); break;
- case BINARY_FUNC_MIN : fRet = ::std::min( (*rFirstArg)(), (*rSecondArg)() ); break;
- case BINARY_FUNC_MAX : fRet = ::std::max( (*rFirstArg)(), (*rSecondArg)() ); break;
- case BINARY_FUNC_ATAN2: fRet = atan2( (*rFirstArg)(), (*rSecondArg)() ); break;
- default:
- break;
- }
- return fRet;
- }
- virtual double operator()() const
- {
- return getValue( meFunct, mpFirstArg, mpSecondArg );
- }
- virtual bool isConstant() const
- {
- return mpFirstArg->isConstant() && mpSecondArg->isConstant();
- }
- virtual ExpressionFunct getType() const
- {
- return meFunct;
- }
- virtual EnhancedCustomShapeParameter fillNode( std::vector< EnhancedCustomShapeEquation >& rEquations, ExpressionNode* /*pOptionalArg*/, sal_uInt32 nFlags )
- {
- EnhancedCustomShapeParameter aRet;
- switch( meFunct )
- {
- case BINARY_FUNC_PLUS :
- {
- if ( nFlags & EXPRESSION_FLAG_SUMANGLE_MODE )
- {
- if ( mpFirstArg->getType() == ENUM_FUNC_ADJUSTMENT )
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 0xe; // sumangle
- FillEquationParameter( mpFirstArg->fillNode( rEquations, NULL, nFlags ), 0, aEquation );
- FillEquationParameter( mpSecondArg->fillNode( rEquations, NULL, nFlags ), 1, aEquation );
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- else if ( mpSecondArg->getType() == ENUM_FUNC_ADJUSTMENT )
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 0xe; // sumangle
- FillEquationParameter( mpSecondArg->fillNode( rEquations, NULL, nFlags ), 0, aEquation );
- FillEquationParameter( mpFirstArg->fillNode( rEquations, NULL, nFlags ), 1, aEquation );
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- else
- {
- EnhancedCustomShapeEquation aSumangle1;
- aSumangle1.nOperation |= 0xe; // sumangle
- FillEquationParameter( mpFirstArg->fillNode( rEquations, NULL, nFlags &~EXPRESSION_FLAG_SUMANGLE_MODE ), 1, aSumangle1 );
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aSumangle1 );
-
- EnhancedCustomShapeEquation aSumangle2;
- aSumangle2.nOperation |= 0xe; // sumangle
- FillEquationParameter( mpSecondArg->fillNode( rEquations, NULL, nFlags &~EXPRESSION_FLAG_SUMANGLE_MODE ), 1, aSumangle2 );
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aSumangle2 );
-
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 0;
- aEquation.nPara[ 0 ] = ( rEquations.size() - 2 ) | 0x400;
- aEquation.nPara[ 1 ] = ( rEquations.size() - 1 ) | 0x400;
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- }
- else
- {
- sal_Bool bFirstIsEmpty = mpFirstArg->isConstant() && ( (*mpFirstArg)() == 0 );
- sal_Bool bSecondIsEmpty = mpSecondArg->isConstant() && ( (*mpSecondArg)() == 0 );
-
- if ( bFirstIsEmpty )
- aRet = mpSecondArg->fillNode( rEquations, NULL, nFlags );
- else if ( bSecondIsEmpty )
- aRet = mpFirstArg->fillNode( rEquations, NULL, nFlags );
- else
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 0;
- FillEquationParameter( mpFirstArg->fillNode( rEquations, NULL, nFlags ), 0, aEquation );
- FillEquationParameter( mpSecondArg->fillNode( rEquations, NULL, nFlags ), 1, aEquation );
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- }
- }
- break;
- case BINARY_FUNC_MINUS:
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 0;
- FillEquationParameter( mpFirstArg->fillNode( rEquations, NULL, nFlags ), 0, aEquation );
- FillEquationParameter( mpSecondArg->fillNode( rEquations, NULL, nFlags ), 2, aEquation );
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- break;
- case BINARY_FUNC_MUL :
- {
- // in the dest. format the cos function is using integer as result :-(
- // so we can't use the generic algorithm
- if ( ( mpFirstArg->getType() == UNARY_FUNC_SIN ) || ( mpFirstArg->getType() == UNARY_FUNC_COS ) || ( mpFirstArg->getType() == UNARY_FUNC_TAN ) )
- aRet = mpFirstArg->fillNode( rEquations, mpSecondArg.get(), nFlags );
- else if ( ( mpSecondArg->getType() == UNARY_FUNC_SIN ) || ( mpSecondArg->getType() == UNARY_FUNC_COS ) || ( mpSecondArg->getType() == UNARY_FUNC_TAN ) )
- aRet = mpSecondArg->fillNode( rEquations, mpFirstArg.get(), nFlags );
- else
- {
- if ( mpFirstArg->isConstant() && (*mpFirstArg)() == 1 )
- aRet = mpSecondArg->fillNode( rEquations, NULL, nFlags );
- else if ( mpSecondArg->isConstant() && (*mpSecondArg)() == 1 )
- aRet = mpFirstArg->fillNode( rEquations, NULL, nFlags );
- else if ( ( mpFirstArg->getType() == BINARY_FUNC_DIV ) // don't care of (pi/180)
- && ( ((BinaryFunctionExpression*)((BinaryFunctionExpression*)mpFirstArg.get())->mpFirstArg.get())->getType() == ENUM_FUNC_PI )
- && ( ((BinaryFunctionExpression*)((BinaryFunctionExpression*)mpFirstArg.get())->mpSecondArg.get())->getType() == FUNC_CONST ) )
- {
- aRet = mpSecondArg->fillNode( rEquations, NULL, nFlags );
- }
- else if ( ( mpSecondArg->getType() == BINARY_FUNC_DIV ) // don't care of (pi/180)
- && ( ((BinaryFunctionExpression*)((BinaryFunctionExpression*)mpSecondArg.get())->mpFirstArg.get())->getType() == ENUM_FUNC_PI )
- && ( ((BinaryFunctionExpression*)((BinaryFunctionExpression*)mpSecondArg.get())->mpSecondArg.get())->getType() == FUNC_CONST ) )
- {
- aRet = mpFirstArg->fillNode( rEquations, NULL, nFlags );
- }
- else
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 1;
- FillEquationParameter( mpFirstArg->fillNode( rEquations, NULL, nFlags ), 0, aEquation );
- FillEquationParameter( mpSecondArg->fillNode( rEquations, NULL, nFlags ), 1, aEquation );
- aEquation.nPara[ 2 ] = 1;
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- }
- }
- break;
- case BINARY_FUNC_DIV :
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 1;
- FillEquationParameter( mpFirstArg->fillNode( rEquations, NULL, nFlags ), 0, aEquation );
- aEquation.nPara[ 1 ] = 1;
- FillEquationParameter( mpSecondArg->fillNode( rEquations, NULL, nFlags ), 2, aEquation );
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- break;
- case BINARY_FUNC_MIN :
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 4;
- FillEquationParameter( mpFirstArg->fillNode( rEquations, NULL, nFlags ), 0, aEquation );
- FillEquationParameter( mpSecondArg->fillNode( rEquations, NULL, nFlags ), 1, aEquation );
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- break;
- case BINARY_FUNC_MAX :
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 5;
- FillEquationParameter( mpFirstArg->fillNode( rEquations, NULL, nFlags ), 0, aEquation );
- FillEquationParameter( mpSecondArg->fillNode( rEquations, NULL, nFlags ), 1, aEquation );
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- break;
- case BINARY_FUNC_ATAN2:
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 8;
- FillEquationParameter( mpSecondArg->fillNode( rEquations, NULL, nFlags ), 0, aEquation );
- FillEquationParameter( mpFirstArg->fillNode( rEquations, NULL, nFlags ), 1, aEquation );
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- rEquations.push_back( aEquation );
- }
- break;
- default:
- break;
- }
- return aRet;
- }
-};
-
-class IfExpression : public ExpressionNode
-{
- ExpressionNodeSharedPtr mpFirstArg;
- ExpressionNodeSharedPtr mpSecondArg;
- ExpressionNodeSharedPtr mpThirdArg;
-
-public:
-
- IfExpression( const ExpressionNodeSharedPtr& rFirstArg,
- const ExpressionNodeSharedPtr& rSecondArg,
- const ExpressionNodeSharedPtr& rThirdArg ) :
- mpFirstArg( rFirstArg ),
- mpSecondArg( rSecondArg ),
- mpThirdArg( rThirdArg )
- {
- }
- virtual bool isConstant() const
- {
- return
- mpFirstArg->isConstant() &&
- mpSecondArg->isConstant() &&
- mpThirdArg->isConstant();
- }
- virtual double operator()() const
- {
- return (*mpFirstArg)() > 0 ? (*mpSecondArg)() : (*mpThirdArg)();
- }
- virtual ExpressionFunct getType() const
- {
- return TERNARY_FUNC_IF;
- }
- virtual EnhancedCustomShapeParameter fillNode( std::vector< EnhancedCustomShapeEquation >& rEquations, ExpressionNode* /*pOptionalArg*/, sal_uInt32 nFlags )
- {
- EnhancedCustomShapeParameter aRet;
- aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
- aRet.Value <<= (sal_Int32)rEquations.size();
- {
- EnhancedCustomShapeEquation aEquation;
- aEquation.nOperation |= 6;
- FillEquationParameter( mpFirstArg->fillNode( rEquations, NULL, nFlags ), 0, aEquation );
- FillEquationParameter( mpSecondArg->fillNode( rEquations, NULL, nFlags ), 1, aEquation );
- FillEquationParameter( mpThirdArg->fillNode( rEquations, NULL, nFlags ), 2, aEquation );
- rEquations.push_back( aEquation );
- }
- return aRet;
- }
-};
-
-////////////////////////
-////////////////////////
-// FUNCTION PARSER
-////////////////////////
-////////////////////////
-
-typedef const sal_Char* StringIteratorT;
-
-struct ParserContext
-{
- typedef ::std::stack< ExpressionNodeSharedPtr > OperandStack;
-
- // stores a stack of not-yet-evaluated operands. This is used
- // by the operators (i.e. '+', '*', 'sin' etc.) to pop their
- // arguments from. If all arguments to an operator are constant,
- // the operator pushes a precalculated result on the stack, and
- // a composite ExpressionNode otherwise.
- OperandStack maOperandStack;
-
- const EnhancedCustomShape2d* mpCustoShape;
-
-};
-
-typedef ::boost::shared_ptr< ParserContext > ParserContextSharedPtr;
-
-/** Generate apriori constant value
- */
-
-class ConstantFunctor
-{
- const double mnValue;
- ParserContextSharedPtr mpContext;
-
-public:
-
- ConstantFunctor( double rValue, const ParserContextSharedPtr& rContext ) :
- mnValue( rValue ),
- mpContext( rContext )
- {
- }
- void operator()( StringIteratorT /*rFirst*/, StringIteratorT /*rSecond*/ ) const
- {
- mpContext->maOperandStack.push( ExpressionNodeSharedPtr( new ConstantValueExpression( mnValue ) ) );
- }
-};
-
-/** Generate parse-dependent-but-then-constant value
- */
-class DoubleConstantFunctor
-{
- ParserContextSharedPtr mpContext;
-
-public:
- DoubleConstantFunctor( const ParserContextSharedPtr& rContext ) :
- mpContext( rContext )
- {
- }
- void operator()( double n ) const
- {
- mpContext->maOperandStack.push( ExpressionNodeSharedPtr( new ConstantValueExpression( n ) ) );
- }
-};
-
-class EnumFunctor
-{
- const ExpressionFunct meFunct;
- double mnValue;
- ParserContextSharedPtr mpContext;
-
-public:
-
- EnumFunctor( const ExpressionFunct eFunct, const ParserContextSharedPtr& rContext )
- : meFunct( eFunct )
- , mnValue( 0 )
- , mpContext( rContext )
- {
- }
- void operator()( StringIteratorT rFirst, StringIteratorT rSecond ) const
- {
- /*double nVal = mnValue;*/
- switch( meFunct )
- {
- case ENUM_FUNC_ADJUSTMENT :
- {
- rtl::OUString aVal( rFirst + 1, rSecond - rFirst, RTL_TEXTENCODING_UTF8 );
- mpContext->maOperandStack.push( ExpressionNodeSharedPtr( new AdjustmentExpression( *mpContext->mpCustoShape, aVal.toInt32() ) ) );
- }
- break;
- case ENUM_FUNC_EQUATION :
- {
- rtl::OUString aVal( rFirst + 1, rSecond - rFirst, RTL_TEXTENCODING_UTF8 );
- mpContext->maOperandStack.push( ExpressionNodeSharedPtr( new EquationExpression( *mpContext->mpCustoShape, aVal.toInt32() ) ) );
- }
- break;
- default:
- mpContext->maOperandStack.push( ExpressionNodeSharedPtr( new EnumValueExpression( *mpContext->mpCustoShape, meFunct ) ) );
- }
- }
-};
-
-class UnaryFunctionFunctor
-{
- const ExpressionFunct meFunct;
- ParserContextSharedPtr mpContext;
-
-public :
-
- UnaryFunctionFunctor( const ExpressionFunct eFunct, const ParserContextSharedPtr& rContext ) :
- meFunct( eFunct ),
- mpContext( rContext )
- {
- }
- void operator()( StringIteratorT, StringIteratorT ) const
- {
- ParserContext::OperandStack& rNodeStack( mpContext->maOperandStack );
-
- if( rNodeStack.size() < 1 )
- throw ParseError( "Not enough arguments for unary operator" );
-
- // retrieve arguments
- ExpressionNodeSharedPtr pArg( rNodeStack.top() );
- rNodeStack.pop();
-
- if( pArg->isConstant() ) // check for constness
- rNodeStack.push( ExpressionNodeSharedPtr( new ConstantValueExpression( UnaryFunctionExpression::getValue( meFunct, pArg ) ) ) );
- else // push complex node, that calcs the value on demand
- rNodeStack.push( ExpressionNodeSharedPtr( new UnaryFunctionExpression( meFunct, pArg ) ) );
- }
-};
-
-/** Implements a binary function over two ExpressionNodes
-
- @tpl Generator
- Generator functor, to generate an ExpressionNode of
- appropriate type
-
- */
-class BinaryFunctionFunctor
-{
- const ExpressionFunct meFunct;
- ParserContextSharedPtr mpContext;
-
-public:
-
- BinaryFunctionFunctor( const ExpressionFunct eFunct, const ParserContextSharedPtr& rContext ) :
- meFunct( eFunct ),
- mpContext( rContext )
- {
- }
-
- void operator()( StringIteratorT, StringIteratorT ) const
- {
- ParserContext::OperandStack& rNodeStack( mpContext->maOperandStack );
-
- if( rNodeStack.size() < 2 )
- throw ParseError( "Not enough arguments for binary operator" );
-
- // retrieve arguments
- ExpressionNodeSharedPtr pSecondArg( rNodeStack.top() );
- rNodeStack.pop();
- ExpressionNodeSharedPtr pFirstArg( rNodeStack.top() );
- rNodeStack.pop();
-
- // create combined ExpressionNode
- ExpressionNodeSharedPtr pNode = ExpressionNodeSharedPtr( new BinaryFunctionExpression( meFunct, pFirstArg, pSecondArg ) );
- // check for constness
- if( pFirstArg->isConstant() && pSecondArg->isConstant() ) // call the operator() at pNode, store result in constant value ExpressionNode.
- rNodeStack.push( ExpressionNodeSharedPtr( new ConstantValueExpression( (*pNode)() ) ) );
- else // push complex node, that calcs the value on demand
- rNodeStack.push( pNode );
- }
-};
-
-class IfFunctor
-{
- ParserContextSharedPtr mpContext;
-
-public :
-
- IfFunctor( const ParserContextSharedPtr& rContext ) :
- mpContext( rContext )
- {
- }
- void operator()( StringIteratorT, StringIteratorT ) const
- {
- ParserContext::OperandStack& rNodeStack( mpContext->maOperandStack );
-
- if( rNodeStack.size() < 3 )
- throw ParseError( "Not enough arguments for ternary operator" );
-
- // retrieve arguments
- ExpressionNodeSharedPtr pThirdArg( rNodeStack.top() );
- rNodeStack.pop();
- ExpressionNodeSharedPtr pSecondArg( rNodeStack.top() );
- rNodeStack.pop();
- ExpressionNodeSharedPtr pFirstArg( rNodeStack.top() );
- rNodeStack.pop();
-
- // create combined ExpressionNode
- ExpressionNodeSharedPtr pNode( new IfExpression( pFirstArg, pSecondArg, pThirdArg ) );
- // check for constness
- if( pFirstArg->isConstant() && pSecondArg->isConstant() && pThirdArg->isConstant() )
- rNodeStack.push( ExpressionNodeSharedPtr( new ConstantValueExpression( (*pNode)() ) ) ); // call the operator() at pNode, store result in constant value ExpressionNode.
- else
- rNodeStack.push( pNode ); // push complex node, that calcs the value on demand
- }
-};
-
-// Workaround for MSVC compiler anomaly (stack trashing)
-//
-// The default ureal_parser_policies implementation of parse_exp
-// triggers a really weird error in MSVC7 (Version 13.00.9466), in
-// that the real_parser_impl::parse_main() call of parse_exp()
-// overwrites the frame pointer _on the stack_ (EBP of the calling
-// function gets overwritten while lying on the stack).
-//
-// For the time being, our parser thus can only read the 1.0E10
-// notation, not the 1.0e10 one.
-//
-// TODO(F1): Also handle the 1.0e10 case here.
-template< typename T > struct custom_real_parser_policies : public ::boost::spirit::ureal_parser_policies<T>
-{
- template< typename ScannerT >
- static typename ::boost::spirit::parser_result< ::boost::spirit::chlit<>, ScannerT >::type
- parse_exp(ScannerT& scan)
- {
- // as_lower_d somehow breaks MSVC7
- return ::boost::spirit::ch_p('E').parse(scan);
- }
-};
-
-/* This class implements the following grammar (more or
- less literally written down below, only slightly
- obfuscated by the parser actions):
-
- identifier = '$'|'pi'|'e'|'X'|'Y'|'Width'|'Height'
-
- function = 'abs'|'sqrt'|'sin'|'cos'|'tan'|'atan'|'acos'|'asin'|'exp'|'log'
-
- basic_expression =
- number |
- identifier |
- function '(' additive_expression ')' |
- '(' additive_expression ')'
-
- unary_expression =
- '-' basic_expression |
- basic_expression
-
- multiplicative_expression =
- unary_expression ( ( '*' unary_expression )* |
- ( '/' unary_expression )* )
-
- additive_expression =
- multiplicative_expression ( ( '+' multiplicative_expression )* |
- ( '-' multiplicative_expression )* )
-
- */
-
-class ExpressionGrammar : public ::boost::spirit::grammar< ExpressionGrammar >
-{
-public:
- /** Create an arithmetic expression grammar
-
- @param rParserContext
- Contains context info for the parser
- */
- ExpressionGrammar( const ParserContextSharedPtr& rParserContext ) :
- mpParserContext( rParserContext )
- {
- }
-
- template< typename ScannerT > class definition
- {
- public:
- // grammar definition
- definition( const ExpressionGrammar& self )
- {
- using ::boost::spirit::str_p;
- using ::boost::spirit::range_p;
- using ::boost::spirit::lexeme_d;
- using ::boost::spirit::real_parser;
- using ::boost::spirit::chseq_p;
-
- identifier =
- str_p( "pi" )[ EnumFunctor(ENUM_FUNC_PI, self.getContext() ) ]
- | str_p( "left" )[ EnumFunctor(ENUM_FUNC_LEFT, self.getContext() ) ]
- | str_p( "top" )[ EnumFunctor(ENUM_FUNC_TOP, self.getContext() ) ]
- | str_p( "right" )[ EnumFunctor(ENUM_FUNC_RIGHT, self.getContext() ) ]
- | str_p( "bottom" )[ EnumFunctor(ENUM_FUNC_BOTTOM, self.getContext() ) ]
- | str_p( "xstretch" )[ EnumFunctor(ENUM_FUNC_XSTRETCH, self.getContext() ) ]
- | str_p( "ystretch" )[ EnumFunctor(ENUM_FUNC_YSTRETCH, self.getContext() ) ]
- | str_p( "hasstroke" )[ EnumFunctor(ENUM_FUNC_HASSTROKE, self.getContext() ) ]
- | str_p( "hasfill" )[ EnumFunctor(ENUM_FUNC_HASFILL, self.getContext() ) ]
- | str_p( "width" )[ EnumFunctor(ENUM_FUNC_WIDTH, self.getContext() ) ]
- | str_p( "height" )[ EnumFunctor(ENUM_FUNC_HEIGHT, self.getContext() ) ]
- | str_p( "logwidth" )[ EnumFunctor(ENUM_FUNC_LOGWIDTH, self.getContext() ) ]
- | str_p( "logheight" )[ EnumFunctor(ENUM_FUNC_LOGHEIGHT, self.getContext() ) ]
- ;
-
- unaryFunction =
- (str_p( "abs" ) >> '(' >> additiveExpression >> ')' )[ UnaryFunctionFunctor( UNARY_FUNC_ABS, self.getContext()) ]
- | (str_p( "sqrt" ) >> '(' >> additiveExpression >> ')' )[ UnaryFunctionFunctor( UNARY_FUNC_SQRT, self.getContext()) ]
- | (str_p( "sin" ) >> '(' >> additiveExpression >> ')' )[ UnaryFunctionFunctor( UNARY_FUNC_SIN, self.getContext()) ]
- | (str_p( "cos" ) >> '(' >> additiveExpression >> ')' )[ UnaryFunctionFunctor( UNARY_FUNC_COS, self.getContext()) ]
- | (str_p( "tan" ) >> '(' >> additiveExpression >> ')' )[ UnaryFunctionFunctor( UNARY_FUNC_TAN, self.getContext()) ]
- | (str_p( "atan" ) >> '(' >> additiveExpression >> ')' )[ UnaryFunctionFunctor( UNARY_FUNC_ATAN, self.getContext()) ]
- ;
-
- binaryFunction =
- (str_p( "min" ) >> '(' >> additiveExpression >> ',' >> additiveExpression >> ')' )[ BinaryFunctionFunctor( BINARY_FUNC_MIN, self.getContext()) ]
- | (str_p( "max" ) >> '(' >> additiveExpression >> ',' >> additiveExpression >> ')' )[ BinaryFunctionFunctor( BINARY_FUNC_MAX, self.getContext()) ]
- | (str_p( "atan2") >> '(' >> additiveExpression >> ',' >> additiveExpression >> ')' )[ BinaryFunctionFunctor( BINARY_FUNC_ATAN2,self.getContext()) ]
- ;
-
- ternaryFunction =
- (str_p( "if" ) >> '(' >> additiveExpression >> ',' >> additiveExpression >> ',' >> additiveExpression >> ')' )[ IfFunctor( self.getContext() ) ]
- ;
-
- funcRef_decl =
- lexeme_d[ +( range_p('a','z') | range_p('A','Z') | range_p('0','9') ) ];
-
- functionReference =
- (str_p( "?" ) >> funcRef_decl )[ EnumFunctor( ENUM_FUNC_EQUATION, self.getContext() ) ];
-
- modRef_decl =
- lexeme_d[ +( range_p('0','9') ) ];
-
- modifierReference =
- (str_p( "$" ) >> modRef_decl )[ EnumFunctor( ENUM_FUNC_ADJUSTMENT, self.getContext() ) ];
-
- basicExpression =
- real_parser<double, custom_real_parser_policies<double> >()[ DoubleConstantFunctor(self.getContext()) ]
- | identifier
- | functionReference
- | modifierReference
- | unaryFunction
- | binaryFunction
- | ternaryFunction
- | '(' >> additiveExpression >> ')'
- ;
-
- unaryExpression =
- ('-' >> basicExpression)[ UnaryFunctionFunctor( UNARY_FUNC_NEG, self.getContext()) ]
- | basicExpression
- ;
-
- multiplicativeExpression =
- unaryExpression
- >> *( ('*' >> unaryExpression)[ BinaryFunctionFunctor( BINARY_FUNC_MUL, self.getContext()) ]
- | ('/' >> unaryExpression)[ BinaryFunctionFunctor( BINARY_FUNC_DIV, self.getContext()) ]
- )
- ;
-
- additiveExpression =
- multiplicativeExpression
- >> *( ('+' >> multiplicativeExpression)[ BinaryFunctionFunctor( BINARY_FUNC_PLUS, self.getContext()) ]
- | ('-' >> multiplicativeExpression)[ BinaryFunctionFunctor( BINARY_FUNC_MINUS, self.getContext()) ]
- )
- ;
-
- BOOST_SPIRIT_DEBUG_RULE(additiveExpression);
- BOOST_SPIRIT_DEBUG_RULE(multiplicativeExpression);
- BOOST_SPIRIT_DEBUG_RULE(unaryExpression);
- BOOST_SPIRIT_DEBUG_RULE(basicExpression);
- BOOST_SPIRIT_DEBUG_RULE(unaryFunction);
- BOOST_SPIRIT_DEBUG_RULE(binaryFunction);
- BOOST_SPIRIT_DEBUG_RULE(ternaryFunction);
- BOOST_SPIRIT_DEBUG_RULE(identifier);
- }
-
- const ::boost::spirit::rule< ScannerT >& start() const
- {
- return additiveExpression;
- }
-
- private:
- // the constituents of the Spirit arithmetic expression grammar.
- // For the sake of readability, without 'ma' prefix.
- ::boost::spirit::rule< ScannerT > additiveExpression;
- ::boost::spirit::rule< ScannerT > multiplicativeExpression;
- ::boost::spirit::rule< ScannerT > unaryExpression;
- ::boost::spirit::rule< ScannerT > basicExpression;
- ::boost::spirit::rule< ScannerT > unaryFunction;
- ::boost::spirit::rule< ScannerT > binaryFunction;
- ::boost::spirit::rule< ScannerT > ternaryFunction;
- ::boost::spirit::rule< ScannerT > funcRef_decl;
- ::boost::spirit::rule< ScannerT > functionReference;
- ::boost::spirit::rule< ScannerT > modRef_decl;
- ::boost::spirit::rule< ScannerT > modifierReference;
- ::boost::spirit::rule< ScannerT > identifier;
- };
-
- const ParserContextSharedPtr& getContext() const
- {
- return mpParserContext;
- }
-
-private:
- ParserContextSharedPtr mpParserContext; // might get modified during parsing
-};
-
-#ifdef BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE
-const ParserContextSharedPtr& getParserContext()
-{
- static ParserContextSharedPtr lcl_parserContext( new ParserContext() );
-
- // clear node stack (since we reuse the static object, that's
- // the whole point here)
- while( !lcl_parserContext->maOperandStack.empty() )
- lcl_parserContext->maOperandStack.pop();
-
- return lcl_parserContext;
-}
-#endif
-
-}
-
-namespace EnhancedCustomShape {
-
-
-
-ExpressionNodeSharedPtr FunctionParser::parseFunction( const ::rtl::OUString& rFunction, const EnhancedCustomShape2d& rCustoShape )
-{
- // TODO(Q1): Check if a combination of the RTL_UNICODETOTEXT_FLAGS_*
- // gives better conversion robustness here (we might want to map space
- // etc. to ASCII space here)
- const ::rtl::OString& rAsciiFunction(
- rtl::OUStringToOString( rFunction, RTL_TEXTENCODING_ASCII_US ) );
-
- StringIteratorT aStart( rAsciiFunction.getStr() );
- StringIteratorT aEnd( rAsciiFunction.getStr()+rAsciiFunction.getLength() );
-
- ParserContextSharedPtr pContext;
-
-#ifdef BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE
- // static parser context, because the actual
- // Spirit parser is also a static object
- pContext = getParserContext();
-#else
- pContext.reset( new ParserContext() );
-#endif
- pContext->mpCustoShape = &rCustoShape;
-
- ExpressionGrammar aExpressionGrammer( pContext );
- const ::boost::spirit::parse_info<StringIteratorT> aParseInfo(
- ::boost::spirit::parse( aStart,
- aEnd,
- aExpressionGrammer >> ::boost::spirit::end_p,
- ::boost::spirit::space_p ) );
- OSL_DEBUG_ONLY(::std::cout.flush()); // needed to keep stdout and cout in sync
-
-
-
- // input fully congested by the parser?
- if( !aParseInfo.full )
- throw ParseError( "EnhancedCustomShapeFunctionParser::parseFunction(): string not fully parseable" );
-
- // parser's state stack now must contain exactly _one_ ExpressionNode,
- // which represents our formula.
- if( pContext->maOperandStack.size() != 1 )
- throw ParseError( "EnhancedCustomShapeFunctionParser::parseFunction(): incomplete or empty expression" );
-
-
- return pContext->maOperandStack.top();
-}
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/customshapes/EnhancedCustomShapeGeometry.cxx b/svx/source/customshapes/EnhancedCustomShapeGeometry.cxx
deleted file mode 100644
index 0714bf2a56..0000000000
--- a/svx/source/customshapes/EnhancedCustomShapeGeometry.cxx
+++ /dev/null
@@ -1,8276 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svx.hxx"
-#include "svx/EnhancedCustomShapeGeometry.hxx"
-#include <com/sun/star/drawing/EnhancedCustomShapeGluePointType.hpp>
-/*
-static const SvxMSDffVertPair Vert[] =
-{
- { 0, 0, }
-};
-static const sal_uInt16 Segm[] =
-{
- 0x4000,
- 0x8000
-};
-static const SvxMSDffCalculationData Calc[] =
-{
- { 0x0000, 0, 0, 0 }
-};
-static const sal_Int32 Default[] =
-{
- 0
-};
-static const SvxMSDffTextRect TextRect[] =
-{
- { { 0, 0 }, { 0, 0 } }
-};
-static const mso_CustomShape mso =
-{
- (SvxMSDffVertPair*)mso_sptVert, sizeof( mso_sptVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptSegm, sizeof( mso_sptSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalc, sizeof( mso_sptCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault,
- (SvxMSDffTextRectangles*)mso_sptTextRect, sizeof( mso_sptTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptVert, sizeof( mso_sptVert ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandles*)mso_sptHandles, sizeof( mso_sptHandles ) / sizeof( SvxMSDffHandles )
-};
-*/
-
-static const sal_Int32 mso_sptDefault0[] =
-{
- 1, 0
-};
-static const sal_Int32 mso_sptDefault1400[] =
-{
- 1, 1400
-};
-static const sal_Int32 mso_sptDefault1800[] =
-{
- 1, 1800
-};
-static const sal_Int32 mso_sptDefault2500[] =
-{
- 1, 2500
-};
-static const sal_Int32 mso_sptDefault2700[] =
-{
- 1, 2700
-};
-static const sal_Int32 mso_sptDefault3600[] =
-{
- 1, 3600
-};
-static const sal_Int32 mso_sptDefault3700[] =
-{
- 1, 3700
-};
-static const sal_Int32 mso_sptDefault5400[] =
-{
- 1, 5400
-};
-static const sal_Int32 mso_sptDefault7200[] =
-{
- 1, 7200
-};
-static const sal_Int32 mso_sptDefault8100[] =
-{
- 1, 8100
-};
-static const sal_Int32 mso_sptDefault9600[] =
-{
- 1, 9600
-};
-static const sal_Int32 mso_sptDefault10800[] =
-{
- 1, 10800
-};
-static const sal_Int32 mso_sptDefault12000[] =
-{
- 1, 12000
-};
-static const sal_Int32 mso_sptDefault13500[] =
-{
- 1, 13500
-};
-static const sal_Int32 mso_sptDefault16200[] =
-{
- 1, 16200
-};
-static const sal_Int32 mso_sptDefault16200and5400[] =
-{
- 2, 16200, 5400
-};
-
-static const SvxMSDffVertPair mso_sptArcVert[] =
-{
- { 0, 0 }, { 21600, 21600 }, { 3 MSO_I, 1 MSO_I }, { 7 MSO_I, 5 MSO_I }, { 10800, 10800 },
- { 0, 0 }, { 21600, 21600 }, { 3 MSO_I, 1 MSO_I }, { 7 MSO_I, 5 MSO_I }
-};
-static const sal_uInt16 mso_sptArcSegm[] =
-{
- 0xa504, 0xab00, 0x0001, 0x6001, 0x8000,
- 0xa504, 0xaa00, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptArcCalc[] =
-{
- { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
- { 0x2000, { 0x400, 10800, 0 } },
- { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
- { 0x2000, { 0x402, 10800, 0 } },
- { 0x4009, { 10800, DFF_Prop_adjust2Value, 0 } },
- { 0x2000, { 0x404, 10800, 0 } },
- { 0x400a, { 10800, DFF_Prop_adjust2Value, 0 } },
- { 0x2000, { 0x406, 10800, 0 } }
-};
-static const sal_Int32 mso_sptArcDefault[] =
-{
- 2, 270, 0
-};
-static const SvxMSDffVertPair mso_sptStandardGluePoints[] =
-{
- { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 21600, 10800 }
-};
-static const SvxMSDffHandle mso_sptArcHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
- 10800, 0x100, 10800, 10800, 10800, 10800, 0x80000000, 0x7fffffff },
- { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
- 10800, 0x101, 10800, 10800, 10800, 10800, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoArc =
-{
- (SvxMSDffVertPair*)mso_sptArcVert, sizeof( mso_sptArcVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptArcSegm, sizeof( mso_sptArcSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptArcCalc, sizeof( mso_sptArcCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptArcDefault,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptArcHandle, sizeof( mso_sptArcHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptTextSimpleVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 }
-};
-static const mso_CustomShape msoTextSimple =
-{
- (SvxMSDffVertPair*)mso_sptTextSimpleVert, sizeof( mso_sptTextSimpleVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptRectangleVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 }
-};
-static const mso_CustomShape msoRectangle =
-{
- (SvxMSDffVertPair*)mso_sptRectangleVert, sizeof( mso_sptRectangleVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptRoundRectangleVert[] = // adj value 0 -> 10800
-{
- { 7 MSO_I, 0 }, { 0, 8 MSO_I }, { 0, 9 MSO_I }, { 7 MSO_I, 21600 },
- { 10 MSO_I, 21600 }, { 21600, 9 MSO_I }, { 21600, 8 MSO_I }, { 10 MSO_I, 0 }
-};
-static const sal_uInt16 mso_sptRoundRectangleSegm[] =
-{
- 0x4000, 0xa701, 0x0001, 0xa801, 0x0001, 0xa701, 0x0001, 0xa801, 0x6000, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptRoundRectangleCalc[] =
-{
- { 0x000e, { 0, 45, 0 } },
- { 0x6009, { DFF_Prop_adjustValue, 0x400, 0 } },
- { 0x2001, { 0x401, 3163, 7636 } },
- { 0x6000, { DFF_Prop_geoLeft, 0x402, 0 } },
- { 0x6000, { DFF_Prop_geoTop, 0x402, 0 } },
- { 0xa000, { DFF_Prop_geoRight, 0, 0x402 } },
- { 0xa000, { DFF_Prop_geoBottom, 0, 0x402 } },
- { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
- { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
- { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
- { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } }
-};
-static const SvxMSDffTextRectangles mso_sptRoundRectangleTextRect[] =
-{
- { { 3 MSO_I, 4 MSO_I }, { 5 MSO_I, 6 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptRoundRectangleHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
- 0x100, 0, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoRoundRectangle =
-{
- (SvxMSDffVertPair*)mso_sptRoundRectangleVert, sizeof( mso_sptRoundRectangleVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptRoundRectangleSegm, sizeof( mso_sptRoundRectangleSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptRoundRectangleCalc, sizeof( mso_sptRoundRectangleCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault3600,
- (SvxMSDffTextRectangles*)mso_sptRoundRectangleTextRect, sizeof( mso_sptRoundRectangleTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptRoundRectangleHandle, sizeof( mso_sptRoundRectangleHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptRightTriangleVert[] =
-{
- { 0, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 }
-};
-static const SvxMSDffTextRectangles mso_sptRightTriangleTextRect[] =
-{
- { { 1900, 12700 }, { 12700, 19700 } }
-};
-static const SvxMSDffVertPair mso_sptRightTriangleGluePoints[] =
-{
- { 10800, 0 }, { 5400, 10800 }, { 0, 21600 }, { 10800, 21600 }, { 21600, 21600 }, { 16200, 10800 }
-};
-static const mso_CustomShape msoRightTriangle =
-{
- (SvxMSDffVertPair*)mso_sptRightTriangleVert, sizeof( mso_sptRightTriangleVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptRightTriangleTextRect, sizeof( mso_sptRightTriangleTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptRightTriangleGluePoints, sizeof( mso_sptRightTriangleGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptEllipseVert[] =
-{
- { 10800, 10800 }, { 10800, 10800 }, { 0, 360 }
-};
-static const sal_uInt16 mso_sptEllipseSegm[] =
-{
- 0xa203, 0x6000, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptEllipseTextRect[] =
-{
- { { 3163, 3163 }, { 18437, 18437 } }
-};
-static const SvxMSDffVertPair mso_sptEllipseGluePoints[] =
-{
- { 10800, 0 }, { 3163, 3163 }, { 0, 10800 }, { 3163, 18437 }, { 10800, 21600 }, { 18437, 18437 }, { 21600, 10800 }, { 18437, 3163 }
-};
-static const mso_CustomShape msoEllipse =
-{
- (SvxMSDffVertPair*)mso_sptEllipseVert, sizeof( mso_sptEllipseVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptEllipseSegm, sizeof( mso_sptEllipseSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptEllipseTextRect, sizeof( mso_sptEllipseTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptParallelogramVert[] = // adjustment1 : 0 - 21600
-{
- { 0 MSO_I, 0 }, { 21600, 0 }, { 1 MSO_I, 21600 }, { 0, 21600 }
-};
-static const sal_uInt16 mso_sptParallelogramSegm[] =
-{
- 0x4000, 0x0003, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptParallelogramCalc[] =
-{
- { 0x4000, { 0, DFF_Prop_adjustValue, 0 } },
- { 0x8000, { 0, 21600, DFF_Prop_adjustValue } },
- { 0x2001, { DFF_Prop_adjustValue, 10, 24 } },
- { 0x2000, { 0x0402, 1750, 0 } },
- { 0x8000, { 21600, 0, 0x0403 } },
- { 0x2001, { 0x400, 1, 2 } },
- { 0x4000, { 10800, 0x405, 0 } },
- { 0x2000, { 0x400, 0, 10800 } },
- { 0x6006, { 0x407, 0x40d, 0 } },
- { 0x8000, { 10800, 0, 0x405 } },
- { 0x6006, { 0x407, 0x40c, 21600 } },
- { 0x8000, { 21600, 0, 0x405 } },
- { 0x8001, { 21600, 10800, 0x400 } },
- { 0x8000, { 21600, 0, 0x40c } }
-};
-static const SvxMSDffTextRectangles mso_sptParallelogramTextRect[] =
-{
- { { 3 MSO_I, 3 MSO_I }, { 4 MSO_I, 4 MSO_I } }
-};
-static const SvxMSDffVertPair mso_sptParallelogramGluePoints[] =
-{
- { 6 MSO_I, 0 }, { 10800, 8 MSO_I }, { 11 MSO_I, 10800 }, { 9 MSO_I, 21600 }, { 10800, 10 MSO_I }, { 5 MSO_I, 10800 }
-};
-static const SvxMSDffHandle mso_sptParallelogramHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0, 10800, 10800, 0, 21600, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoParallelogram =
-{
- (SvxMSDffVertPair*)mso_sptParallelogramVert, sizeof( mso_sptParallelogramVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptParallelogramSegm, sizeof( mso_sptParallelogramSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptParallelogramCalc, sizeof( mso_sptParallelogramCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault5400,
- (SvxMSDffTextRectangles*)mso_sptParallelogramTextRect, sizeof( mso_sptParallelogramTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptParallelogramGluePoints, sizeof( mso_sptParallelogramGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptParallelogramHandle, sizeof( mso_sptParallelogramHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptDiamondVert[] =
-{
- { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 }, { 0, 10800 }, { 10800, 0 }
-};
-static const SvxMSDffTextRectangles mso_sptDiamondTextRect[] =
-{
- { { 5400, 5400 }, { 16200, 16200 } }
-};
-static const mso_CustomShape msoDiamond =
-{
- (SvxMSDffVertPair*)mso_sptDiamondVert, sizeof( mso_sptDiamondVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptDiamondTextRect, sizeof( mso_sptDiamondTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptTrapezoidVert[] = // adjustment1 : 0 - 10800
-{
- { 0, 0 }, { 21600, 0 }, {0 MSO_I, 21600 }, { 1 MSO_I, 21600 }
-};
-static const sal_uInt16 mso_sptTrapezoidSegm[] =
-{
- 0x4000, 0x0003, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptTrapezoidCalc[] =
-{
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2001, { DFF_Prop_adjustValue, 10, 18 } },
- { 0x2000, { 0x0402, 1750, 0 } },
- { 0x8000, { 21600, 0, 0x403 } },
- { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
- { 0x8000, { 21600, 0, 0x405 } }
-};
-static const SvxMSDffTextRectangles mso_sptTrapezoidTextRect[] =
-{
- { { 3 MSO_I, 3 MSO_I }, { 4 MSO_I, 4 MSO_I } }
-};
-static const SvxMSDffVertPair mso_sptTrapezoidGluePoints[] =
-{
- { 6 MSO_I, 10800 }, { 10800, 21600 }, { 5 MSO_I, 10800 }, { 10800, 0 }
-};
-static const SvxMSDffHandle mso_sptTrapezoidHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 1, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoTrapezoid =
-{
- (SvxMSDffVertPair*)mso_sptTrapezoidVert, sizeof( mso_sptTrapezoidVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTrapezoidSegm, sizeof( mso_sptTrapezoidSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTrapezoidCalc, sizeof( mso_sptTrapezoidCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault5400,
- (SvxMSDffTextRectangles*)mso_sptTrapezoidTextRect, sizeof( mso_sptTrapezoidTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptTrapezoidGluePoints, sizeof( mso_sptTrapezoidGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptTrapezoidHandle, sizeof( mso_sptTrapezoidHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptOctagonVert[] = // adjustment1 : 0 - 10800
-{
- { 0 MSO_I, 0 }, { 2 MSO_I, 0 }, { 21600, 1 MSO_I }, { 21600, 3 MSO_I },
- { 2 MSO_I, 21600 }, { 0 MSO_I, 21600 }, { 0, 3 MSO_I }, { 0, 1 MSO_I }
-};
-static const sal_uInt16 mso_sptOctagonSegm[] =
-{
- 0x4000, 0x0007, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptOctagonCalc[] =
-{
- { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
- { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
- { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
- { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
- { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
- { 0x6000, { DFF_Prop_geoLeft, 0x404, 0 } },
- { 0x6000, { DFF_Prop_geoTop, 0x404, 0 } },
- { 0xa000, { DFF_Prop_geoRight, 0, 0x404 } },
- { 0xa000, { DFF_Prop_geoBottom, 0, 0x404 } }
-};
-static const sal_Int32 mso_sptOctagonDefault[] =
-{
- 1, 5000
-};
-static const SvxMSDffTextRectangles mso_sptOctagonTextRect[] =
-{
- { { 5 MSO_I, 6 MSO_I }, { 7 MSO_I, 8 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptOctagonHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoOctagon =
-{
- (SvxMSDffVertPair*)mso_sptOctagonVert, sizeof( mso_sptOctagonVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptOctagonSegm, sizeof( mso_sptOctagonSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptOctagonCalc, sizeof( mso_sptOctagonCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptOctagonDefault,
- (SvxMSDffTextRectangles*)mso_sptOctagonTextRect, sizeof( mso_sptOctagonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptOctagonHandle, sizeof( mso_sptOctagonHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptIsocelesTriangleVert[] = // adjustment1 : 0 - 21600
-{
- { 0 MSO_I, 0 }, { 21600, 21600 }, { 0, 21600 }
-};
-static const sal_uInt16 mso_sptIsocelesTriangleSegm[] =
-{
- 0x4000, 0x0002, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptIsocelesTriangleCalc[] =
-{
- { 0x4000, { 0, DFF_Prop_adjustValue, 0 } },
- { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
- { 0x2000, { 0x401, 10800, 0 } },
- { 0x2001, { DFF_Prop_adjustValue, 2, 3 } },
- { 0x2000, { 0x403, 7200, 0 } },
- { 0x8000, { 21600, 0, 0x400 } },
- { 0x2001, { 0x405, 1, 2 } },
- { 0x8000, { 21600, 0, 0x406 } }
-};
-static const SvxMSDffTextRectangles mso_sptIsocelesTriangleTextRect[] =
-{
- { { 1 MSO_I, 10800 }, { 2 MSO_I, 18000 } },
- { { 3 MSO_I, 7200 }, { 4 MSO_I, 21600 } }
-};
-static const SvxMSDffVertPair mso_sptIsocelesTriangleGluePoints[] =
-{
- { 10800, 0 }, { 1 MSO_I, 10800 }, { 0, 21600 }, { 10800, 21600 }, { 21600, 21600 }, { 7 MSO_I, 10800 }
-};
-static const SvxMSDffHandle mso_sptIsocelesTriangleHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0, 10800, 10800, 0, 21600, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoIsocelesTriangle =
-{
- (SvxMSDffVertPair*)mso_sptIsocelesTriangleVert, sizeof( mso_sptIsocelesTriangleVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptIsocelesTriangleSegm, sizeof( mso_sptIsocelesTriangleSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptIsocelesTriangleCalc, sizeof( mso_sptIsocelesTriangleCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault10800,
- (SvxMSDffTextRectangles*)mso_sptIsocelesTriangleTextRect, sizeof( mso_sptIsocelesTriangleTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptIsocelesTriangleGluePoints, sizeof( mso_sptIsocelesTriangleGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptIsocelesTriangleHandle, sizeof( mso_sptIsocelesTriangleHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptHexagonVert[] = // adjustment1 : 0 - 10800
-{
- { 0 MSO_I, 0 }, { 1 MSO_I, 0 }, { 21600, 10800 }, { 1 MSO_I, 21600 },
- { 0 MSO_I, 21600 }, { 0, 10800 }
-};
-static const sal_uInt16 mso_sptHexagonSegm[] =
-{
- 0x4000, 0x0005, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptHexagonCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
- { 0x2001, { DFF_Prop_adjustValue, 100, 234 } },
- { 0x2000, { 0x402, 1700, 0 } },
- { 0x8000, { 21600, 0, 0x403 } }
-};
-static const SvxMSDffTextRectangles mso_sptHexagonTextRect[] =
-{
- { { 3 MSO_I, 3 MSO_I }, { 4 MSO_I, 4 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptHexagonHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoHexagon =
-{
- (SvxMSDffVertPair*)mso_sptHexagonVert, sizeof( mso_sptHexagonVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptHexagonSegm, sizeof( mso_sptHexagonSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptHexagonCalc, sizeof( mso_sptHexagonCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault5400,
- (SvxMSDffTextRectangles*)mso_sptHexagonTextRect, sizeof( mso_sptHexagonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptHexagonHandle, sizeof( mso_sptHexagonHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptPentagonVert[] =
-{
- { 10800, 0 }, { 0, 8260 }, { 4230, 21600 }, { 17370, 21600 },
- { 21600, 8260 }, { 10800, 0 }
-};
-static const SvxMSDffTextRectangles mso_sptPentagonTextRect[] =
-{
- { { 4230, 5080 }, { 17370, 21600 } }
-};
-static const SvxMSDffVertPair mso_sptPentagonGluePoints[] =
-{
- { 10800, 0 }, { 0, 8260 }, { 4230, 21600 }, { 10800, 21600 },
- { 17370, 21600 }, { 21600, 8260 }
-};
-static const mso_CustomShape msoPentagon =
-{
- (SvxMSDffVertPair*)mso_sptPentagonVert, sizeof( mso_sptPentagonVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptPentagonTextRect, sizeof( mso_sptPentagonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptPentagonGluePoints, sizeof( mso_sptPentagonGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptPlusVert[] = // adjustment1 : 0 - 10800
-{
- { 1 MSO_I, 0 }, { 2 MSO_I, 0 }, { 2 MSO_I, 1 MSO_I }, { 21600, 1 MSO_I },
- { 21600, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 21600 }, { 1 MSO_I, 21600 },
- { 1 MSO_I, 3 MSO_I }, { 0, 3 MSO_I }, { 0, 1 MSO_I }, { 1 MSO_I, 1 MSO_I }, { 1 MSO_I, 0 }
-};
-static const SvxMSDffCalculationData mso_sptPlusCalc[] =
-{
- { 0x2001, { DFF_Prop_adjustValue, 10799, 10800 } },
- { 0x2000, { 0x400, 0, 0 } },
- { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
- { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }
-};
-static const SvxMSDffTextRectangles mso_sptPlusTextRect[] =
-{
- { { 1 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptPlusHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
- 0x100, 0, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoPlus =
-{
- (SvxMSDffVertPair*)mso_sptPlusVert, sizeof( mso_sptPlusVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- (SvxMSDffCalculationData*)mso_sptPlusCalc, sizeof( mso_sptPlusCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault5400,
- (SvxMSDffTextRectangles*)mso_sptPlusTextRect, sizeof( mso_sptPlusTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptPlusHandle, sizeof( mso_sptPlusHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptCanVert[] = // adjustment1 : 0 - 10800
-{
- { 44, 0 },
- { 20, 0 }, { 0, 2 MSO_I }, { 0, 0 MSO_I }, // ccp
- { 0, 3 MSO_I }, // p
- { 0, 4 MSO_I }, { 20, 21600 }, { 44, 21600 }, // ccp
- { 68, 21600 }, { 88, 4 MSO_I }, { 88, 3 MSO_I }, // ccp
- { 88, 0 MSO_I }, // p
- { 88, 2 MSO_I }, { 68, 0 }, { 44, 0 }, // ccp
- { 44, 0 }, // p
- { 20, 0 }, { 0, 2 MSO_I }, { 0, 0 MSO_I }, // ccp
- { 0, 5 MSO_I }, { 20, 6 MSO_I }, { 44, 6 MSO_I }, // ccp
- { 68, 6 MSO_I },{ 88, 5 MSO_I }, { 88, 0 MSO_I }, // ccp
- { 88, 2 MSO_I },{ 68, 0 }, { 44, 0 } // ccp
-};
-static const sal_uInt16 mso_sptCanSegm[] =
-{
- 0x4000, 0x2001, 0x0001, 0x2002, 0x0001, 0x2001, 0x6001, 0x8000,
- 0x4000, 0x2004, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptCanCalc[] =
-{
- { 0x2001, { DFF_Prop_adjustValue, 2, 4 } }, // 1/4
- { 0x2001, { 0x0400, 6, 11 } },
- { 0xa000, { 0x0400, 0, 0x0401 } },
- { 0x8000, { 21600, 0, 0x0400 } },
- { 0x6000, { 0x0403, 0x0401, 0 } },
- { 0x6000, { 0x0400, 0x0401, 0 } },
- { 0x2001, { DFF_Prop_adjustValue, 2, 2 } },
- { 0x0000, { 44, 0, 0 } }
-};
-static const SvxMSDffTextRectangles mso_sptCanTextRect[] =
-{
- { { 0, 6 MSO_I }, { 88, 3 MSO_I } }
-};
-static const SvxMSDffVertPair mso_sptCanGluePoints[] =
-{
- { 44, 6 MSO_I }, { 44, 0 }, { 0, 10800 }, { 44, 21600 }, { 88, 10800 }
-};
-static const SvxMSDffHandle mso_sptCanHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 7 + 3, 0x100, 44, 10800, 0x80000000, 0x7fffffff, 0, 10800 }
-};
-static const mso_CustomShape msoCan =
-{
- (SvxMSDffVertPair*)mso_sptCanVert, sizeof( mso_sptCanVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCanSegm, sizeof( mso_sptCanSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCanCalc, sizeof( mso_sptCanCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault5400,
- (SvxMSDffTextRectangles*)mso_sptCanTextRect, sizeof( mso_sptCanTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 88, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptCanGluePoints, sizeof( mso_sptCanGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptCanHandle, sizeof( mso_sptCanHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptArrowVert[] = // adjustment1: x 0 - 21600
-{ // adjustment2: y 0 - 10800
- { 0, 0 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 1 MSO_I, 0 }, { 21600, 10800 },
- { 1 MSO_I, 21600 }, { 1 MSO_I, 2 MSO_I }, { 0, 2 MSO_I }
-};
-static const sal_uInt16 mso_sptArrowSegm[] =
-{
- 0x4000, 0x0006, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptArrowCalc[] =
-{
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
- { 0x8000, { 21600, 0, 0x401 } },
- { 0x6001, { 0x403, 0x400, 10800 } },
- { 0x6000, { 0x401, 0x404, 0 } },
- { 0x6001, { 0x401, 0x400, 10800 } },
- { 0xa000, { 0x401, 0, 0x406 } }
-};
-static const SvxMSDffTextRectangles mso_sptArrowTextRect[] =
-{
- { { 0, 0 MSO_I }, { 5 MSO_I, 2 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptArrowHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0x101, 10800, 10800, 0, 21600, 0, 10800 }
-};
-static const mso_CustomShape msoArrow =
-{
- (SvxMSDffVertPair*)mso_sptArrowVert, sizeof( mso_sptArrowVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptArrowSegm, sizeof( mso_sptArrowSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptArrowCalc, sizeof( mso_sptArrowCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault16200and5400,
- (SvxMSDffTextRectangles*)mso_sptArrowTextRect, sizeof( mso_sptArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptArrowHandle, sizeof( mso_sptArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptLeftArrowVert[] = // adjustment1: x 0 - 21600
-{ // adjustment2: y 0 - 10800
- { 21600, 0 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 1 MSO_I, 0 }, { 0, 10800 },
- { 1 MSO_I, 21600 }, { 1 MSO_I, 2 MSO_I }, { 21600, 2 MSO_I }
-};
-static const sal_uInt16 mso_sptLeftArrowSegm[] =
-{
- 0x4000, 0x0006, 0x6001, 0x8000
-};
-static const sal_Int32 mso_sptLeftArrowDefault[] =
-{
- 2, 5400, 5400
-};
-static const SvxMSDffTextRectangles mso_sptLeftArrowTextRect[] =
-{
- { { 7 MSO_I, 0 MSO_I }, { 21600, 2 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptLeftArrowHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0x101, 10800, 10800, 0, 21600, 0, 10800 }
-};
-static const mso_CustomShape msoLeftArrow =
-{
- (SvxMSDffVertPair*)mso_sptLeftArrowVert, sizeof( mso_sptLeftArrowVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptLeftArrowSegm, sizeof( mso_sptLeftArrowSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptArrowCalc, sizeof( mso_sptArrowCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptLeftArrowDefault,
- (SvxMSDffTextRectangles*)mso_sptLeftArrowTextRect, sizeof( mso_sptLeftArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptLeftArrowHandle, sizeof( mso_sptLeftArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptDownArrowVert[] = // adjustment1: x 0 - 21600
-{ // adjustment2: y 0 - 10800
- { 0 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 0, 1 MSO_I }, { 10800, 21600 },
- { 21600, 1 MSO_I }, { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 0 }
-};
-static const sal_uInt16 mso_sptDownArrowSegm[] =
-{
- 0x4000, 0x0006, 0x6001, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptDownArrowTextRect[] =
-{
- { { 0 MSO_I, 0 }, { 2 MSO_I, 5 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptDownArrowHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x101, 0x100, 10800, 10800, 0, 10800, 0, 21600 }
-};
-static const mso_CustomShape msoDownArrow =
-{
- (SvxMSDffVertPair*)mso_sptDownArrowVert, sizeof( mso_sptDownArrowVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptDownArrowSegm, sizeof( mso_sptDownArrowSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptArrowCalc, sizeof( mso_sptArrowCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault16200and5400,
- (SvxMSDffTextRectangles*)mso_sptDownArrowTextRect, sizeof( mso_sptDownArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptDownArrowHandle, sizeof( mso_sptDownArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptUpArrowVert[] = // adjustment1: x 0 - 21600
-{ // adjustment2: y 0 - 10800
- { 0 MSO_I, 21600 }, { 0 MSO_I, 1 MSO_I }, { 0, 1 MSO_I }, { 10800, 0 },
- { 21600, 1 MSO_I }, { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 21600 }
-};
-static const sal_uInt16 mso_sptUpArrowSegm[] =
-{
- 0x4000, 0x0006, 0x6001, 0x8000
-};
-static const sal_Int32 mso_sptUpArrowDefault[] =
-{
- 2, 5400, 5400
-};
-static const SvxMSDffTextRectangles mso_sptUpArrowTextRect[] =
-{
- { { 0 MSO_I, 7 MSO_I }, { 2 MSO_I, 21600 } }
-};
-static const SvxMSDffHandle mso_sptUpArrowHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x101, 0x100, 10800, 10800, 0, 10800, 0, 21600 }
-};
-static const mso_CustomShape msoUpArrow =
-{
- (SvxMSDffVertPair*)mso_sptUpArrowVert, sizeof( mso_sptUpArrowVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptUpArrowSegm, sizeof( mso_sptUpArrowSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptArrowCalc, sizeof( mso_sptArrowCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptUpArrowDefault,
- (SvxMSDffTextRectangles*)mso_sptUpArrowTextRect, sizeof( mso_sptUpArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptUpArrowHandle, sizeof( mso_sptUpArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptLeftRightArrowVert[] = // adjustment1: x 0 - 10800
-{ // adjustment2: y 0 - 10800
- { 0, 10800 }, { 0 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 1 MSO_I },
- { 2 MSO_I, 0 }, { 21600, 10800 }, { 2 MSO_I, 21600 }, { 2 MSO_I, 3 MSO_I },
- { 0 MSO_I, 3 MSO_I }, { 0 MSO_I, 21600 }
-};
-static const sal_uInt16 mso_sptLeftRightArrowSegm[] =
-{
- 0x4000, 0x0009, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptDoubleArrowCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
- { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
- { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
- { 0x6001, { DFF_Prop_adjustValue, 0x404, 10800 } },
- { 0x8000, { 21600, 0, 0x405 } },
- { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
- { 0x6001, { DFF_Prop_adjust2Value, 0x407, 10800 } },
- { 0x8000, { 21600, 0, 0x408 } }
-};
-static const sal_Int32 mso_sptLeftRightArrowDefault[] =
-{
- 2, 4300, 5400
-};
-static const SvxMSDffTextRectangles mso_sptLeftRightArrowTextRect[] =
-{
- { { 5 MSO_I, 1 MSO_I }, { 6 MSO_I, 3 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptLeftRightArrowHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0x101, 10800, 10800, 0, 10800, 0, 10800 }
-};
-static const mso_CustomShape msoLeftRightArrow =
-{
- (SvxMSDffVertPair*)mso_sptLeftRightArrowVert, sizeof( mso_sptLeftRightArrowVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptLeftRightArrowSegm, sizeof( mso_sptLeftRightArrowSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptDoubleArrowCalc, sizeof( mso_sptDoubleArrowCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptLeftRightArrowDefault,
- (SvxMSDffTextRectangles*)mso_sptLeftRightArrowTextRect, sizeof( mso_sptLeftRightArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptLeftRightArrowHandle, sizeof( mso_sptLeftRightArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptUpDownArrowVert[] = // adjustment1: x 0 - 10800
-{ // adjustment2: y 0 - 10800
- { 0, 1 MSO_I }, { 10800, 0 }, { 21600, 1 MSO_I }, { 2 MSO_I, 1 MSO_I },
- { 2 MSO_I, 3 MSO_I }, { 21600, 3 MSO_I }, { 10800, 21600 }, { 0, 3 MSO_I },
- { 0 MSO_I, 3 MSO_I }, { 0 MSO_I, 1 MSO_I }
-};
-static const sal_uInt16 mso_sptUpDownArrowSegm[] =
-{
- 0x4000, 0x0009, 0x6001, 0x8000
-};
-static const sal_Int32 mso_sptUpDownArrowDefault[] =
-{
- 2, 5400, 4300
-};
-static const SvxMSDffTextRectangles mso_sptUpDownArrowTextRect[] =
-{
- { { 0 MSO_I, 8 MSO_I }, { 2 MSO_I, 9 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptUpDownArrowHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0x101, 10800, 10800, 0, 10800, 0, 10800 }
-};
-static const mso_CustomShape msoUpDownArrow =
-{
- (SvxMSDffVertPair*)mso_sptUpDownArrowVert, sizeof( mso_sptUpDownArrowVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptUpDownArrowSegm, sizeof( mso_sptUpDownArrowSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptDoubleArrowCalc, sizeof( mso_sptDoubleArrowCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptUpDownArrowDefault,
- (SvxMSDffTextRectangles*)mso_sptUpDownArrowTextRect, sizeof( mso_sptUpDownArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptUpDownArrowHandle, sizeof( mso_sptUpDownArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptQuadArrowVert[] = // adjustment1: x 0 - 10800, adjustment2: x 0 - 10800
-{ // adjustment3: y 0 - 10800
- { 0, 10800 }, { 0 MSO_I, 1 MSO_I }, { 0 MSO_I, 2 MSO_I }, { 2 MSO_I, 2 MSO_I },
- { 2 MSO_I, 0 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 10800, 0 }, { 3 MSO_I, 0 MSO_I },
- { 4 MSO_I, 0 MSO_I }, { 4 MSO_I, 2 MSO_I }, { 5 MSO_I, 2 MSO_I }, { 5 MSO_I, 1 MSO_I },
- { 21600, 10800 }, { 5 MSO_I, 3 MSO_I }, { 5 MSO_I, 4 MSO_I }, { 4 MSO_I, 4 MSO_I },
- { 4 MSO_I, 5 MSO_I }, { 3 MSO_I, 5 MSO_I }, { 10800, 21600 }, { 1 MSO_I, 5 MSO_I },
- { 2 MSO_I, 5 MSO_I }, { 2 MSO_I, 4 MSO_I }, { 0 MSO_I, 4 MSO_I }, { 0 MSO_I, 3 MSO_I }
-};
-static const sal_uInt16 mso_sptQuadArrowSegm[] =
-{
- 0x4000, 0x0017, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptQuadArrowCalc[] =
-{
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
- { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
- { 0x8000, { 21600, 0, DFF_Prop_adjust3Value } }
-};
-static const sal_Int32 mso_sptQuadArrowDefault[] =
-{
- 3, 6500, 8600, 4300
-};
-static const SvxMSDffTextRectangles mso_sptQuadArrowTextRect[] = // todo
-{
- { { 0, 0 }, { 21600, 21600 } }
-};
-static const SvxMSDffHandle mso_sptQuadArrowHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
- 0x101, 0x102, 10800, 10800, 0x100, 10800, 0, 0x100 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 0x100, 0, 10800, 10800, 0x102, 0x101, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoQuadArrow =
-{
- (SvxMSDffVertPair*)mso_sptQuadArrowVert, sizeof( mso_sptQuadArrowVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptQuadArrowSegm, sizeof( mso_sptQuadArrowSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptQuadArrowCalc, sizeof( mso_sptQuadArrowCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptQuadArrowDefault,
- (SvxMSDffTextRectangles*)mso_sptQuadArrowTextRect, sizeof( mso_sptQuadArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptQuadArrowHandle, sizeof( mso_sptQuadArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptLeftRightUpArrowVert[] = // adjustment1: x 0 - 10800, adjustment2: x 0 - 10800
-{ // adjustment3: y 0 - 21600
- { 10800, 0 }, { 3 MSO_I, 2 MSO_I }, { 4 MSO_I, 2 MSO_I }, { 4 MSO_I, 1 MSO_I },
- { 5 MSO_I, 1 MSO_I }, { 5 MSO_I, 0 MSO_I }, { 21600, 10800 }, { 5 MSO_I, 3 MSO_I },
- { 5 MSO_I, 4 MSO_I }, { 2 MSO_I, 4 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0, 10800 },
- { 2 MSO_I, 0 MSO_I }, { 2 MSO_I, 1 MSO_I }, { 1 MSO_I, 1 MSO_I }, { 1 MSO_I, 2 MSO_I },
- { 0 MSO_I, 2 MSO_I }
-};
-static const sal_uInt16 mso_sptLeftRightUpArrowSegm[] =
-{
- 0x4000, 0x0010, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptLeftRightUpArrowCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 1
- { 0x6001, { 0x0403, DFF_Prop_adjust3Value, 21600 } }, // 2
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 3
- { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } }, // 4
- { 0x8000, { 21600, 0, 0x0402 } } // 5
-};
-static const sal_Int32 mso_sptLeftRightUpArrowDefault[] =
-{
- 3, 6500, 8600, 6200
-};
-static const SvxMSDffTextRectangles mso_sptLeftRightUpArrowTextRect[] = // todo
-{
- { { 0, 0 }, { 21600, 21600 } }
-};
-static const SvxMSDffHandle mso_sptLeftRightUpArrowHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
- 0x101, 0x102, 10800, 10800, 0x100, 10800, 0, 0x100 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 0x100, 0, 10800, 10800, 0x102, 0x101, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoLeftRightUpArrow =
-{
- (SvxMSDffVertPair*)mso_sptLeftRightUpArrowVert, sizeof( mso_sptLeftRightUpArrowVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptLeftRightUpArrowSegm, sizeof( mso_sptLeftRightUpArrowSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptLeftRightUpArrowCalc, sizeof( mso_sptLeftRightUpArrowCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptLeftRightUpArrowDefault,
- (SvxMSDffTextRectangles*)mso_sptLeftRightUpArrowTextRect, sizeof( mso_sptLeftRightUpArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptLeftRightUpArrowHandle, sizeof( mso_sptLeftRightUpArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptBentArrowVert[] = // adjustment1 : x 12427 - 21600
-{ // adjustment2 : y 0 - 6079
- { 0, 21600 }, { 0, 12160 }, { 12427, 1 MSO_I }, { 0 MSO_I, 1 MSO_I },
- { 0 MSO_I, 0 }, { 21600, 6079 }, { 0 MSO_I, 12158 }, { 0 MSO_I, 2 MSO_I },
- { 12427, 2 MSO_I }, { 4 MSO_I, 12160 }, { 4 MSO_I, 21600 }
-};
-static const sal_uInt16 mso_sptBentArrowSegm[] =
-{
- 0x4000, 0x0001, 0xa801, 0x0006, 0xa701, 0x0001, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptBentArrowCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x8000, { 12158, 0, DFF_Prop_adjust2Value } },
- { 0x8000, { 6079, 0, DFF_Prop_adjust2Value } },
- { 0x2001, { 0x0403, 2, 1 } }
-};
-static const sal_Int32 mso_sptBentArrowDefault[] =
-{
- 2, 15100, 2900
-};
-static const SvxMSDffTextRectangles mso_sptBentArrowTextRect[] = // todo
-{
- { { 0, 0 }, { 21600, 21600 } }
-};
-static const SvxMSDffHandle mso_sptBentArrowHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0x101, 10800, 10800, 12427, 21600, 0, 6079 }
-};
-static const mso_CustomShape msoBentArrow =
-{
- (SvxMSDffVertPair*)mso_sptBentArrowVert, sizeof( mso_sptBentArrowVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptBentArrowSegm, sizeof( mso_sptBentArrowSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptBentArrowCalc, sizeof( mso_sptBentArrowCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptBentArrowDefault,
- (SvxMSDffTextRectangles*)mso_sptBentArrowTextRect, sizeof( mso_sptBentArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptBentArrowHandle, sizeof( mso_sptBentArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptUturnArrowVert[] =
-{
- { 0, 21600 }, { 0, 8550 }, // pp
- { 0, 3540 }, { 4370, 0 }, { 9270, 0 }, // ccp
- { 13890, 0 }, { 18570, 3230 }, { 18600, 8300 }, // ccp
- { 21600, 8300 }, { 15680, 14260 }, { 9700, 8300 }, { 12500, 8300 }, // pppp
- { 12320, 6380 }, { 10870, 5850 }, { 9320, 5850 }, // ccp
- { 7770, 5850 }, { 6040, 6410 }, { 6110, 8520 }, // ccp
- { 6110, 21600 }
-};
-static const sal_uInt16 mso_sptUturnArrowSegm[] =
-{
- 0x4000, 0x0001, 0x2002, 0x0004, 0x2002, 0x0001, 0x6000, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptUturnArrowTextRect[] =
-{
- { { 0, 8280 }, { 6110, 21600 } }
-};
-static const mso_CustomShape msoUturnArrow =
-{
- (SvxMSDffVertPair*)mso_sptUturnArrowVert, sizeof( mso_sptUturnArrowVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptUturnArrowSegm, sizeof( mso_sptUturnArrowSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptUturnArrowTextRect, sizeof( mso_sptUturnArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptLeftUpArrowVert[] = // adjustment1 : x 0 - 21600, adjustment2 : x 0 - 21600
-{ // adjustment3 : y 0 - 21600
- { 0, 5 MSO_I }, { 2 MSO_I, 0 MSO_I }, { 2 MSO_I, 7 MSO_I }, { 7 MSO_I, 7 MSO_I },
- { 7 MSO_I, 2 MSO_I }, { 0 MSO_I, 2 MSO_I }, { 5 MSO_I, 0 }, { 21600, 2 MSO_I },
- { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 1 MSO_I }, { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 21600 }
-};
-static const sal_uInt16 mso_sptLeftUpArrowSegm[] =
-{
- 0x4000, 0x000b, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptLeftUpArrowCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 1
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } }, // 2
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 3
- { 0x2001, { 0x0403, 1, 2 } }, // 4
- { 0x6000, { DFF_Prop_adjustValue, 0x0404, 0 } }, // 5
- { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } }, // 6
- { 0x6000, { DFF_Prop_adjustValue, 0x0406, 0 } }, // 7
- { 0x8000, { 21600, 0, 0x406 } }, // 8
- { 0xa000, { 0x408, 0, 0x406 } } // 9
-};
-static const sal_Int32 mso_sptLeftUpArrowDefault[] =
-{
- 3, 9340, 18500, 6200
-};
-static const SvxMSDffTextRectangles mso_sptLeftUpArrowTextRect[] =
-{
- { { 2 MSO_I, 7 MSO_I }, { 1 MSO_I, 1 MSO_I } },
- { { 7 MSO_I, 2 MSO_I }, { 1 MSO_I, 1 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptLeftUpArrowHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
- 0x101, 0x102, 10800, 10800, 3 + 5, 21600, 0, 0x100 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 0x100, 0, 10800, 10800, 0x102, 3 + 9, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoLeftUpArrow =
-{
- (SvxMSDffVertPair*)mso_sptLeftUpArrowVert, sizeof( mso_sptLeftUpArrowVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptLeftUpArrowSegm, sizeof( mso_sptLeftUpArrowSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptLeftUpArrowCalc, sizeof( mso_sptLeftUpArrowCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptLeftUpArrowDefault,
- (SvxMSDffTextRectangles*)mso_sptLeftUpArrowTextRect, sizeof( mso_sptLeftUpArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptLeftUpArrowHandle, sizeof( mso_sptLeftUpArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptBentUpArrowVert[] = // adjustment1 : x 0 - 21600, adjustment2 : x 0 - 21600
-{ // adjustment3 : y 0 - 21600
- { 0, 8 MSO_I }, { 7 MSO_I, 8 MSO_I }, { 7 MSO_I, 2 MSO_I }, { 0 MSO_I, 2 MSO_I },
- { 5 MSO_I, 0 }, { 21600, 2 MSO_I }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 21600 },
- { 0, 21600 }
-};
-static const sal_uInt16 mso_sptBentUpArrowSegm[] =
-{
- 0x4000, 0x0008, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptBentUpArrowCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 1
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } }, // 2
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 3
- { 0x2001, { 0x0403, 1, 2 } }, // 4
- { 0x6000, { DFF_Prop_adjustValue, 0x0404, 0 } }, // 5
- { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } }, // 6
- { 0x6000, { DFF_Prop_adjustValue, 0x0406, 0 } }, // 7
- { 0x6000, { 0x0407, 0x0406, 0 } }, // 8
- { 0x8000, { 21600, 0, 0x406 } }, // 9
- { 0xa000, { 0x409, 0, 0x406 } } // a
-};
-static const sal_Int32 mso_sptBentUpArrowDefault[] =
-{
- 3, 9340, 18500, 7200
-};
-static const SvxMSDffTextRectangles mso_sptBentUpArrowTextRect[] =
-{
- { { 2 MSO_I, 7 MSO_I }, { 1 MSO_I, 1 MSO_I } },
- { { 7 MSO_I, 2 MSO_I }, { 1 MSO_I, 1 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptBentUpArrowHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
- 0x101, 0x102, 10800, 10800, 3 + 5, 21600, 0, 0x100 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 0x100, 0, 10800, 10800, 0x102, 3 + 10, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoBentUpArrow =
-{
- (SvxMSDffVertPair*)mso_sptBentUpArrowVert, sizeof( mso_sptBentUpArrowVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptBentUpArrowSegm, sizeof( mso_sptBentUpArrowSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptBentUpArrowCalc, sizeof( mso_sptBentUpArrowCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptBentUpArrowDefault,
- (SvxMSDffTextRectangles*)mso_sptBentUpArrowTextRect, sizeof( mso_sptBentUpArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptBentUpArrowHandle, sizeof( mso_sptBentUpArrowHandle ) / sizeof( SvxMSDffHandle )
-};
-
-
-static const SvxMSDffVertPair mso_sptCurvedDownVert[] =
-{
- { 0, 0 }, { 3 MSO_I, 21 MSO_I }, { 0, 21600 }, { 4 MSO_I, 0 },
- { 0, 0 }, { 3 MSO_I, 21 MSO_I }, { 4 MSO_I, 0 }, { 17 MSO_I, 24 MSO_I },
- { 15 MSO_I, 0 }, { 1 MSO_I, 21 MSO_I }, { 17 MSO_I, 24 MSO_I }, { 15 MSO_I, 21600 },
- { 15 MSO_I, 0 }, { 1 MSO_I, 21 MSO_I }, { 7 MSO_I, 0 }, { 13 MSO_I, 2 MSO_I },
- { 14 MSO_I, 2 MSO_I }, { 8 MSO_I, 21600 }, { 12 MSO_I, 2 MSO_I },
- { 0, 0 }, { 3 MSO_I, 21 MSO_I }, { 11 MSO_I, 2 MSO_I }, { 17 MSO_I, 24 MSO_I },
- { 0, 0 }, { 3 MSO_I, 21 MSO_I }, { 17 MSO_I, 24 MSO_I }, { 4 MSO_I, 0 }
-};
-static const sal_uInt16 mso_sptCurvedDownSegm[] =
-{
- 0xa508,
- 0xa304,
- 0x6000,
- 0x8000,
- 0xa604,
- 0x0003,
- 0xa308,
- 0x6000,
- 0x8000
-};
-static const SvxMSDffCalculationData mso_sptCurvedDownCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
- { 0xa000, { DFF_Prop_adjustValue, 21600, DFF_Prop_adjust2Value } },
- { 0x2001, { 0x403, 1, 2 } },
- { 0x6000, { DFF_Prop_adjust2Value, DFF_Prop_adjust2Value, 21600 } },
- { 0xe000, { 0x405, DFF_Prop_adjust2Value, DFF_Prop_adjustValue } },
- { 0x2001, { 0x406, 1, 2 } },
- { 0x4002, { 21600, DFF_Prop_adjustValue, 0 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjust3Value } },
- { 0xa00f, { 0x409, 21600, 0x404 } },
- { 0x6000, { 0x404, 0x40a, 0 } },
- { 0x6000, { 0x40b, DFF_Prop_adjust2Value, 21600 } },
- { 0x6000, { 0x407, 0x40a, 0 } },
- { 0xa000, { 0x40c, 21600, DFF_Prop_adjustValue } },
- { 0xa000, { 0x405, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x40f, 1, 2 } },
- { 0x6002, { 0x404, 0x407, 0 } },
- { 0x6000, { DFF_Prop_adjustValue, DFF_Prop_adjust2Value, 21600 } },
- { 0x2001, { 0x412, 1, 2 } },
- { 0xa000, { 0x411, 0, 0x413 } },
- { 0x0001, { 21600, 2, 1 } },
- { 0xa000, { 0x411, 0, 0x404 } },
- { 0x600f, { 0x416, 0x404, 21600 } },
- { 0x8000, { 21600, 0, 0x417 } },
- { 0x2000, { 0x408, 128, 0 } },
- { 0x2001, { 0x405, 1, 2 } },
- { 0x2000, { 0x405, 0, 128 } },
- { 0xe000, { DFF_Prop_adjustValue, 0x411, 0x40c } },
- { 0x600f, { 0x414, 0x404, 21600 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x41e, 1, 2 } },
- { 0x0001, { 21600, 21600, 1 } },
- { 0x6001, { 0x409, 0x409, 1 } },
- { 0xa000, { 0x420, 0, 0x421 } },
- { 0x200d, { 0x422, 0, 0 } },
- { 0x2000, { 0x423, 21600, 0 } },
- { 0x8001, { 21600, 21600, 0x424 } },
- { 0x2000, { 0x425, 64, 0 } },
- { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
- { 0x600f, { 0x41f, 0x427, 21600 } },
- { 0x8000, { 21600, 0, 0x428 } },
- { 0x2000, { 0x429, 64, 0 } },
- { 0x2001, { 0x404, 1, 2 } },
- { 0xa000, { DFF_Prop_adjust2Value, 0, 0x42b } },
- { 0x0001, { 21600, 2195, 16384 } },
- { 0x0001, { 21600, 14189, 16384 } }
-};
-static const sal_Int32 mso_sptCurvedDownDefault[] =
-{
- 3, 12960, 19440, 14400
-};
-static const SvxMSDffTextRectangles mso_sptCurvedDownTextRect[] =
-{
- { { 43 MSO_I, 45 MSO_I }, { 44 MSO_I, 46 MSO_I } }
-};
-static const SvxMSDffVertPair mso_sptCurvedDownGluePoints[] =
-{
- { 17 MSO_I, 0 }, { 16 MSO_I, 21600 }, { 12 MSO_I, 2 MSO_I }, { 8 MSO_I, 21600 }, { 14 MSO_I, 2 MSO_I }
-};
-static const SvxMSDffHandle mso_sptCurvedDownHandles[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 0x100, 21600, 10800, 10800, 3 + 0x26, 3 + 0x1b, 0, 10800 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
- 0x101, 21600, 10800, 10800, 3 + 0x19, 21600, 0, 10800 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
- 21600, 0x102, 10800, 10800, 3375, 21600, 3 + 0x2a, 21600 }
-};
-static const mso_CustomShape msoCurvedDownArrow =
-{
- (SvxMSDffVertPair*)mso_sptCurvedDownVert, sizeof( mso_sptCurvedDownVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCurvedDownSegm, sizeof( mso_sptCurvedDownSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCurvedDownCalc, sizeof( mso_sptCurvedDownCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCurvedDownDefault,
- (SvxMSDffTextRectangles*)mso_sptCurvedDownTextRect, sizeof( mso_sptCurvedDownTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptCurvedDownGluePoints, sizeof( mso_sptCurvedDownGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptCurvedDownHandles, sizeof( mso_sptCurvedDownHandles ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptCurvedUpVert[] =
-{
- { 0, 22 MSO_I }, { 3 MSO_I, 21 MSO_I }, { 0, 0 }, { 4 MSO_I, 21 MSO_I },
- { 14 MSO_I, 22 MSO_I }, { 1 MSO_I, 21 MSO_I }, { 7 MSO_I, 21 MSO_I }, { 12 MSO_I, 2 MSO_I },
- { 13 MSO_I, 2 MSO_I }, { 8 MSO_I, 0 }, { 11 MSO_I, 2 MSO_I },
- { 0, 22 MSO_I }, { 3 MSO_I, 21 MSO_I }, { 10 MSO_I, 2 MSO_I }, { 16 MSO_I, 24 MSO_I },
- { 14 MSO_I, 22 MSO_I }, { 1 MSO_I, 21 MSO_I }, { 16 MSO_I, 24 MSO_I }, { 14 MSO_I, 0 },
- { 14 MSO_I, 22 MSO_I }, { 1 MSO_I, 21 MSO_I }, { 7 MSO_I, 21 MSO_I }, { 16 MSO_I, 24 MSO_I }
-};
-static const sal_uInt16 mso_sptCurvedUpSegm[] =
-{
- 0xa408,
- 0x0003,
- 0xa508,
- 0x6000,
- 0x8000,
- 0xa604,
- 0xaa00,
- 0x8000
-};
-static const SvxMSDffCalculationData mso_sptCurvedUpCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
- { 0xa000, { DFF_Prop_adjustValue, 21600, DFF_Prop_adjust2Value } },
- { 0x2001, { 0x403, 1, 2 } },
- { 0x6000, { DFF_Prop_adjust2Value, DFF_Prop_adjust2Value, 21600 } },
- { 0xe000, { 0x405, DFF_Prop_adjust2Value, DFF_Prop_adjustValue } },
- { 0x2001, { 0x406, 1, 2 } },
- { 0x4002, { 21600, DFF_Prop_adjustValue, 0 } },
- { 0xa00f, { DFF_Prop_adjust3Value, 21600, 0x404 } },
- { 0x6000, { 0x404, 0x409, 0 } },
- { 0x6000, { 0x40a, DFF_Prop_adjust2Value, 21600 } },
- { 0x6000, { 0x407, 0x409, 0 } },
- { 0xa000, { 0x40b, 21600, DFF_Prop_adjustValue } },
- { 0xa000, { 0x405, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x40e, 1, 2 } },
- { 0x6002, { 0x404, 0x407, 0 } },
- { 0x6000, { DFF_Prop_adjustValue, DFF_Prop_adjust2Value, 21600 } },
- { 0x2001, { 0x411, 1, 2 } },
- { 0xa000, { 0x410, 0, 0x412 } },
- { 0x0000, { 21600, 0, 0 } },
- { 0x0000, { 21600, 0, 0 } },
- { 0x0000, { 0, 0, 21600 } },
- { 0xa000, { 0x410, 0, 0x404 } },
- { 0x600f, { 0x417, 0x404, 21600 } },
- { 0x2000, { 0x408, 128, 0 } },
- { 0x2001, { 0x405, 1, 2 } },
- { 0x2000, { 0x405, 0, 128 } },
- { 0xe000, { DFF_Prop_adjustValue, 0x410, 0x40b } },
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x41d, 1, 2 } },
- { 0x0001, { 21600, 21600, 1 } },
- { 0x6001, { DFF_Prop_adjust3Value, DFF_Prop_adjust3Value, 1 } },
- { 0xa000, { 0x41f, 0, 0x420 } },
- { 0x200d, { 0x421, 0, 0 } },
- { 0x2000, { 0x422, 21600, 0 } },
- { 0x8001, { 21600, 21600, 0x423 } },
- { 0x2000, { 0x424, 64, 0 } },
- { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
- { 0x600f, { 0x41e, 0x426, 21600 } },
- { 0x2000, { 0x427, 0, 64 } },
- { 0x2001, { 0x404, 1, 2 } },
- { 0xa000, { DFF_Prop_adjust2Value, 0, 0x429 } },
- { 0x0001, { 21600, 2195, 16384 } },
- { 0x0001, { 21600, 14189, 16384 } }
-};
-static const sal_Int32 mso_sptCurvedUpDefault[] =
-{
- 3, 12960, 19440, 7200
-};
-static const SvxMSDffTextRectangles mso_sptCurvedUpTextRect[] =
-{
- { { 41 MSO_I, 43 MSO_I }, { 42 MSO_I, 44 MSO_I } }
-};
-static const SvxMSDffVertPair mso_sptCurvedUpGluePoints[] =
-{
- { 8 MSO_I, 0 }, { 11 MSO_I, 2 MSO_I }, { 15 MSO_I, 0 }, { 16 MSO_I, 21 MSO_I }, { 13 MSO_I, 2 MSO_I }
-};
-static const SvxMSDffHandle mso_sptCurvedUpHandles[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 0x100, 0, 10800, 10800, 3 + 37, 3 + 27, 0, 10800 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 0x101, 0, 10800, 10800, 3 + 25, 3 + 20, 0, 10800 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 21600, 0x102, 10800, 10800, 3375, 21600, 0, 3 + 40 }
-};
-static const mso_CustomShape msoCurvedUpArrow =
-{
- (SvxMSDffVertPair*)mso_sptCurvedUpVert, sizeof( mso_sptCurvedUpVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCurvedUpSegm, sizeof( mso_sptCurvedUpSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCurvedUpCalc, sizeof( mso_sptCurvedUpCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCurvedUpDefault,
- (SvxMSDffTextRectangles*)mso_sptCurvedUpTextRect, sizeof( mso_sptCurvedUpTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptCurvedUpGluePoints, sizeof( mso_sptCurvedUpGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptCurvedUpHandles, sizeof( mso_sptCurvedUpHandles ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptCurvedRightVert[] =
-{
- { 0, 0 }, { 23 MSO_I, 3 MSO_I }, { 22 MSO_I, 0 }, { 0, 4 MSO_I }, { 0, 15 MSO_I }, { 23 MSO_I, 1 MSO_I }, { 0, 7 MSO_I }, { 2 MSO_I, 13 MSO_I },
- { 2 MSO_I, 14 MSO_I }, { 22 MSO_I, 8 MSO_I }, { 2 MSO_I, 12 MSO_I },
- { 0, 0 }, { 23 MSO_I, 3 MSO_I }, { 2 MSO_I, 11 MSO_I }, { 26 MSO_I, 17 MSO_I }, { 0, 15 MSO_I }, { 23 MSO_I, 1 MSO_I }, { 26 MSO_I, 17 MSO_I }, { 22 MSO_I, 15 MSO_I },
- { 0, 0 }, { 23 MSO_I, 3 MSO_I }, { 0, 4 MSO_I }, { 26 MSO_I, 17 MSO_I }
-};
-static const sal_uInt16 mso_sptCurvedRightSegm[] =
-{
- 0xa408,
- 0x0003,
- 0xa508,
- 0x6000,
- 0x8000,
- 0xa404,
- 0xaa00,
- 0x8000
-};
-static const SvxMSDffCalculationData mso_sptCurvedRightCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
- { 0xa000, { DFF_Prop_adjustValue, 21600, DFF_Prop_adjust2Value } },
- { 0x2001, { 0x403, 1, 2 } },
- { 0x6000, { DFF_Prop_adjust2Value, DFF_Prop_adjust2Value, 21600 } },
- { 0xe000, { 0x405, DFF_Prop_adjust2Value, DFF_Prop_adjustValue } },
- { 0x2001, { 0x406, 1, 2 } },
- { 0x4002, { 21600, DFF_Prop_adjustValue, 0 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjust3Value } },
- { 0xa00f, { 0x409, 21600, 0x404 } },
- { 0x6000, { 0x404, 0x40a, 0 } },
- { 0x6000, { 0x40b, DFF_Prop_adjust2Value, 21600 } },
- { 0x6000, { 0x407, 0x40a, 0 } },
- { 0xa000, { 0x40c, 21600, DFF_Prop_adjustValue } },
- { 0xa000, { 0x405, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x40f, 1, 2 } },
- { 0x6002, { 0x404, 0x407, 0 } },
- { 0x6000, { DFF_Prop_adjustValue, DFF_Prop_adjust2Value, 21600 } },
- { 0x2001, { 0x412, 1, 2 } },
- { 0xa000, { 0x411, 0, 0x413 } },
- { 0x0000, { 21600, 0, 0 } },
- { 0x0000, { 21600, 0, 0 } },
- { 0x0001, { 21600, 2, 1 } },
- { 0xa000, { 0x411, 0, 0x404 } },
- { 0x600f, { 0x418, 0x404, 21600 } },
- { 0x8000, { 21600, 0, 0x419 } },
- { 0x2000, { 0x408, 128, 0 } },
- { 0x2001, { 0x405, 1, 2 } },
- { 0x2000, { 0x405, 0, 128 } },
- { 0xe000, { DFF_Prop_adjustValue, 0x411, 0x40c } },
- { 0x600f, { 0x414, 0x404, 21600 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x420, 1, 2 } },
- { 0x0001, { 21600, 21600, 1 } },
- { 0x6001, { 0x409, 0x409, 1 } },
- { 0xa000, { 0x422, 0, 0x423 } },
- { 0x200d, { 0x424, 0, 0 } },
- { 0x2000, { 0x425, 21600, 0 } },
- { 0x8001, { 21600, 21600, 0x426 } },
- { 0x2000, { 0x427, 64, 0 } },
- { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
- { 0x600f, { 0x421, 0x429, 21600 } },
- { 0x8000, { 21600, 0, 0x42a } },
- { 0x2000, { 0x42b, 64, 0 } },
- { 0x2001, { 0x404, 1, 2 } },
- { 0xa000, { DFF_Prop_adjust2Value, 0, 0x42d } },
- { 0x0001, { 21600, 2195, 16384 } },
- { 0x0001, { 21600, 14189, 16384 } }
-};
-static const sal_Int32 mso_sptCurvedRightDefault[] =
-{
- 3, 12960, 19440, 14400
-};
-static const SvxMSDffTextRectangles mso_sptCurvedRightTextRect[] =
-{
- { { 47 MSO_I, 45 MSO_I }, { 48 MSO_I, 46 MSO_I } }
-};
-static const SvxMSDffVertPair mso_sptCurvedRightGluePoints[] =
-{
- { 0, 17 MSO_I }, { 2 MSO_I, 14 MSO_I }, { 22 MSO_I, 8 MSO_I }, { 2 MSO_I, 12 MSO_I }, { 22 MSO_I, 16 MSO_I }
-};
-static const SvxMSDffHandle mso_sptCurvedRightHandles[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 21600, 0x100, 10800, 10800, 0, 10800, 3 + 40, 3 + 29 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 21600, 0x101, 10800, 10800, 0, 10800, 3 + 27, 3 + 21 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 0x102, 21600, 10800, 10800, 3 + 44, 3 + 22, 3375, 21600 }
-};
-static const mso_CustomShape msoCurvedRightArrow =
-{
- (SvxMSDffVertPair*)mso_sptCurvedRightVert, sizeof( mso_sptCurvedRightVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCurvedRightSegm, sizeof( mso_sptCurvedRightSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCurvedRightCalc, sizeof( mso_sptCurvedRightCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCurvedRightDefault,
- (SvxMSDffTextRectangles*)mso_sptCurvedRightTextRect, sizeof( mso_sptCurvedRightTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptCurvedRightGluePoints, sizeof( mso_sptCurvedRightGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptCurvedRightHandles, sizeof( mso_sptCurvedRightHandles ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptCurvedLeftVert[] =
-{
- { 22 MSO_I, 0 }, { 21 MSO_I, 3 MSO_I }, { 0, 0 }, { 21 MSO_I, 4 MSO_I }, { 22 MSO_I, 14 MSO_I }, { 21 MSO_I, 1 MSO_I }, { 21 MSO_I, 7 MSO_I }, { 2 MSO_I, 12 MSO_I },
- { 2 MSO_I, 13 MSO_I }, { 0, 8 MSO_I }, { 2 MSO_I, 11 MSO_I },
- { 22 MSO_I, 0 }, { 21 MSO_I, 3 MSO_I }, { 2 MSO_I, 10 MSO_I }, { 24 MSO_I, 16 MSO_I }, { 22 MSO_I, 14 MSO_I }, { 21 MSO_I, 1 MSO_I }, { 24 MSO_I, 16 MSO_I }, { 0, 14 MSO_I },
- { 22 MSO_I, 14 MSO_I }, { 21 MSO_I, 1 MSO_I }, { 21 MSO_I, 7 MSO_I }, { 24 MSO_I, 16 MSO_I }
-};
-static const sal_uInt16 mso_sptCurvedLeftSegm[] =
-{
- 0xa608,
- 0x0003,
- 0xa308,
- 0x6000,
- 0x8000,
- 0xa404,
- 0xaa00,
- 0x8000
-};
-static const SvxMSDffCalculationData mso_sptCurvedLeftCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
- { 0xa000, { DFF_Prop_adjustValue, 21600, DFF_Prop_adjust2Value } },
- { 0x2001, { 0x403, 1, 2 } },
- { 0x6000, { DFF_Prop_adjust2Value, DFF_Prop_adjust2Value, 21600 } },
- { 0xe000, { 0x405, DFF_Prop_adjust2Value, DFF_Prop_adjustValue } },
- { 0x2001, { 0x406, 1, 2 } },
- { 0x4002, { 21600, DFF_Prop_adjustValue, 0 } },
- { 0xa00f, { DFF_Prop_adjust3Value, 21600, 0x404 } },
- { 0x6000, { 0x404, 0x409, 0 } },
- { 0x6000, { 0x40a, DFF_Prop_adjust2Value, 21600 } },
- { 0x6000, { 0x407, 0x409, 0 } },
- { 0xa000, { 0x40b, 21600, DFF_Prop_adjustValue } },
- { 0xa000, { 0x405, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x40e, 1, 2 } },
- { 0x6002, { 0x404, 0x407, 0 } },
- { 0x6000, { DFF_Prop_adjustValue, DFF_Prop_adjust2Value, 21600 } },
- { 0x2001, { 0x411, 1, 2 } },
- { 0xa000, { 0x410, 0, 0x412 } },
- { 0x0000, { 21600, 0, 0 } },
- { 0x0000, { 21600, 0, 0 } },
- { 0x0000, { 0, 0, 21600 } },
- { 0xa000, { 0x410, 0, 0x404 } },
- { 0x600f, { 0x417, 0x404, 21600 } },
- { 0x2000, { 0x408, 128, 0 } },
- { 0x2001, { 0x405, 1, 2 } },
- { 0x2000, { 0x405, 0, 128 } },
- { 0xe000, { DFF_Prop_adjustValue, 0x410, 0x40b } },
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x41d, 1, 2 } },
- { 0x0001, { 21600, 21600, 1 } },
- { 0x6001, { DFF_Prop_adjust3Value, DFF_Prop_adjust3Value, 1 } },
- { 0xa000, { 0x41f, 0, 0x420 } },
- { 0x200d, { 0x421, 0, 0 } },
- { 0x2000, { 0x422, 21600, 0 } },
- { 0x8001, { 21600, 21600, 0x423 } },
- { 0x2000, { 0x424, 64, 0 } },
- { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
- { 0x600f, { 0x41e, 0x426, 21600 } },
- { 0x2000, { 0x427, 0, 64 } },
- { 0x2001, { 0x404, 1, 2 } },
- { 0xa000, { DFF_Prop_adjust2Value, 0, 0x429 } },
- { 0x0001, { 21600, 2195, 16384 } },
- { 0x0001, { 21600, 14189, 16384 } }
-};
-static const sal_Int32 mso_sptCurvedLeftDefault[] =
-{
- 3, 12960, 19440, 7200
-};
-static const SvxMSDffTextRectangles mso_sptCurvedLeftTextRect[] =
-{
- { { 43 MSO_I, 41 MSO_I }, { 44 MSO_I, 42 MSO_I } }
-};
-static const SvxMSDffVertPair mso_sptCurvedLeftGluePoints[] =
-{
- { 0, 15 MSO_I }, { 2 MSO_I, 11 MSO_I }, { 0, 8 MSO_I }, { 2 MSO_I, 13 MSO_I }, { 21 MSO_I, 16 MSO_I }
-};
-static const SvxMSDffHandle mso_sptCurvedLeftHandles[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 0, 0x100, 10800, 10800, 0, 10800, 3 + 37, 3 + 27 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 0, 0x101, 10800, 10800, 0, 10800, 3 + 25, 3 + 20 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 0x102, 21600, 10800, 10800, 0, 3 + 40, 3375, 21600 }
-};
-static const mso_CustomShape msoCurvedLeftArrow =
-{
- (SvxMSDffVertPair*)mso_sptCurvedLeftVert, sizeof( mso_sptCurvedLeftVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCurvedLeftSegm, sizeof( mso_sptCurvedLeftSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCurvedLeftCalc, sizeof( mso_sptCurvedLeftCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCurvedLeftDefault,
- (SvxMSDffTextRectangles*)mso_sptCurvedLeftTextRect, sizeof( mso_sptCurvedLeftTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptCurvedLeftGluePoints, sizeof( mso_sptCurvedLeftGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptCurvedLeftHandles, sizeof( mso_sptCurvedLeftHandles ) / sizeof( SvxMSDffHandle )
-};
-
-
-
-
-
-static const SvxMSDffVertPair mso_sptStripedRightArrowVert[] = // adjustment1 : x 3375 - 21600
-{ // adjustment2 : y 0 - 10800
- { 3375, 0 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 1 MSO_I, 0 }, { 21600, 10800 },
- { 1 MSO_I, 21600 }, { 1 MSO_I, 2 MSO_I }, { 3375, 2 MSO_I }, { 0, 0 MSO_I },
- { 675, 0 MSO_I }, { 675, 2 MSO_I }, { 0, 2 MSO_I }, { 1350, 0 MSO_I },
- { 2700, 0 MSO_I }, { 2700, 2 MSO_I }, { 1350, 2 MSO_I }
-};
-static const sal_uInt16 mso_sptStripedRightArrowSegm[] =
-{
- 0x4000, 0x0006, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptStripedRightArrowCalc[] =
-{
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
- { 0x8000, { 21600, 0, 0x401 } },
- { 0x6001, { 0x403, 0x400, 10800 } },
- { 0x6000, { 0x401, 0x404, 0 } }
-};
-static const SvxMSDffTextRectangles mso_sptStripedRightArrowTextRect[] =
-{
- { { 3375, 0 MSO_I }, { 5 MSO_I, 2 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptStripedRightArrowHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0x101, 10800, 10800, 3375, 21600, 0, 10800 }
-};
-static const mso_CustomShape msoStripedRightArrow =
-{
- (SvxMSDffVertPair*)mso_sptStripedRightArrowVert, sizeof( mso_sptStripedRightArrowVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptStripedRightArrowSegm, sizeof( mso_sptStripedRightArrowSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptStripedRightArrowCalc, sizeof( mso_sptStripedRightArrowCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault16200and5400,
- (SvxMSDffTextRectangles*)mso_sptStripedRightArrowTextRect, sizeof( mso_sptStripedRightArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptStripedRightArrowHandle, sizeof( mso_sptStripedRightArrowHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptNotchedRightArrowVert[] = // adjustment1 : x 0 - 21600 (default 16200)
-{ // adjustment2 : y 0 - 10800 (default 5400)
- { 0, 1 MSO_I }, { 0 MSO_I, 1 MSO_I }, { 0 MSO_I, 0 }, { 21600, 10800 },
- { 0 MSO_I, 21600 }, { 0 MSO_I, 2 MSO_I }, { 0, 2 MSO_I }, { 5 MSO_I, 10800 }, { 0, 1 MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptNotchedRightArrowCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
- { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
- { 0x6001, { 0x403, 0x404, 10800 } }
-};
-static const SvxMSDffTextRectangles mso_sptNotchedRightArrowTextRect[] = // todo
-{
- { { 0, 0 }, { 21600, 21600 } }
-};
-static const SvxMSDffHandle mso_sptNotchedRightArrowHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0x101, 10800, 10800, 0, 21600, 0, 10800 }
-};
-static const mso_CustomShape msoNotchedRightArrow =
-{
- (SvxMSDffVertPair*)mso_sptNotchedRightArrowVert, sizeof( mso_sptNotchedRightArrowVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- (SvxMSDffCalculationData*)mso_sptNotchedRightArrowCalc, sizeof( mso_sptNotchedRightArrowCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault16200and5400,
- (SvxMSDffTextRectangles*)mso_sptNotchedRightArrowTextRect, sizeof( mso_sptNotchedRightArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptNotchedRightArrowHandle, sizeof( mso_sptNotchedRightArrowHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptHomePlateVert[] = // adjustment1 : x 0 - 21600
-{
- { 0, 0 }, { 0 MSO_I, 0 }, { 21600, 10800 }, { 0 MSO_I, 21600 },
- { 0, 21600 }
-};
-static const sal_uInt16 mso_sptHomePlateSegm[] =
-{
- 0x4000, 0x0004, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptHomePlateCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }
-};
-static const sal_Int32 mso_sptHomePlateDefault[] =
-{
- 1, 16200
-};
-static const SvxMSDffTextRectangles mso_sptHomePlateTextRect[] = // todo
-{
- { { 0, 0 }, { 21600, 21600 } }
-};
-static const SvxMSDffHandle mso_sptHomePlateHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0, 10800, 10800, 0, 21600, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoHomePlate =
-{
- (SvxMSDffVertPair*)mso_sptHomePlateVert, sizeof( mso_sptHomePlateVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptHomePlateSegm, sizeof( mso_sptHomePlateSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptHomePlateCalc, sizeof( mso_sptHomePlateCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptHomePlateDefault,
- (SvxMSDffTextRectangles*)mso_sptHomePlateTextRect, sizeof( mso_sptHomePlateTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptHomePlateHandle, sizeof( mso_sptHomePlateHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptChevronVert[] = // adjustment1 : x 0 - 21600
-{
- { 0, 0 }, { 0 MSO_I, 0 }, { 21600, 10800 }, { 0 MSO_I, 21600 },
- { 0, 21600 }, { 1 MSO_I, 10800 }
-};
-static const sal_uInt16 mso_sptChevronSegm[] =
-{
- 0x4000, 0x0005, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptChevronCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x8000, { 21600, 0, 0x0400 } }
-};
-static const sal_Int32 mso_sptChevronDefault[] =
-{
- 1, 16200
-};
-static const SvxMSDffTextRectangles mso_sptChevronTextRect[] = // todo
-{
- { { 0, 0 }, { 21600, 21600 } }
-};
-static const SvxMSDffHandle mso_sptChevronHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0, 10800, 10800, 0, 21600, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoChevron =
-{
- (SvxMSDffVertPair*)mso_sptChevronVert, sizeof( mso_sptChevronVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptChevronSegm, sizeof( mso_sptChevronSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptChevronCalc, sizeof( mso_sptChevronCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptChevronDefault,
- (SvxMSDffTextRectangles*)mso_sptChevronTextRect, sizeof( mso_sptChevronTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptChevronHandle, sizeof( mso_sptChevronHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptRightArrowCalloutVert[] = // adjustment1 : x 0 - 21000
-{ // adjustment2 : y 0 - 10800
- { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I },
- { 2 MSO_I, 1 MSO_I }, { 21600, 10800 }, { 2 MSO_I, 4 MSO_I }, { 2 MSO_I, 5 MSO_I },
- { 0 MSO_I, 5 MSO_I }, { 0 MSO_I, 21600 }, { 0, 21600 }
-};
-static const sal_uInt16 mso_sptRightArrowCalloutSegm[] =
-{
- 0x4000, 0x000a, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptRightArrowCalloutCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
- { 0x8000, { 21600, 0, 0x0401 } },
- { 0x8000, { 21600, 0, 0x0403 } }
-};
-static const sal_Int32 mso_sptRightArrowCalloutDefault[] =
-{
- 4, 14400, 5400, 18000, 8100
-};
-static const SvxMSDffTextRectangles mso_sptRightArrowCalloutTextRect[] =
-{
- { { 0, 0 }, { 0 MSO_I, 21600 } }
-};
-static const SvxMSDffHandle mso_sptRightArrowCalloutHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 0x100, 0, 10800, 10800, 0, 0x102, 0x80000000, 0x7fffffff },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
- 0x102, 0x103, 10800, 10800, 0x100, 21600, 0x101, 10800 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 1, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0, 0x103 }
-};
-static const mso_CustomShape msoRightArrowCallout =
-{
- (SvxMSDffVertPair*)mso_sptRightArrowCalloutVert, sizeof( mso_sptRightArrowCalloutVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptRightArrowCalloutSegm, sizeof( mso_sptRightArrowCalloutSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptRightArrowCalloutCalc, sizeof( mso_sptRightArrowCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptRightArrowCalloutDefault,
- (SvxMSDffTextRectangles*)mso_sptRightArrowCalloutTextRect, sizeof( mso_sptRightArrowCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptRightArrowCalloutHandle, sizeof( mso_sptRightArrowCalloutHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptLeftArrowCalloutVert[] = // adjustment1 : x 0 - 21600, adjustment2 : y 0 - 10800
-{ // adjustment3 : x 0 - 21600, adjustment4 : y 0 - 10800
- { 0 MSO_I, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0 MSO_I, 21600 },
- { 0 MSO_I, 5 MSO_I }, { 2 MSO_I, 5 MSO_I }, { 2 MSO_I, 4 MSO_I }, { 0, 10800 },
- { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 3 MSO_I }
-};
-static const sal_uInt16 mso_sptLeftArrowCalloutSegm[] =
-{
- 0x4000, 0x000a, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptLeftArrowCalloutCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
- { 0x8000, { 21600, 0, 0x0401 } },
- { 0x8000, { 21600, 0, 0x0403 } }
-};
-static const sal_Int32 mso_sptLeftArrowCalloutDefault[] =
-{
- 4, 7200, 5400, 3600, 8100
-};
-static const SvxMSDffTextRectangles mso_sptLeftArrowCalloutTextRect[] =
-{
- { { 0 MSO_I, 0 }, { 21600, 21600 } }
-};
-static const SvxMSDffHandle mso_sptLeftArrowCalloutHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
- 0x100, 0, 10800, 10800, 0x102, 21600, 0x80000000, 0x7fffffff },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
- 0x102, 0x103, 10800, 10800, 0, 0x100, 0x101, 10800 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 0, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0, 0x103 }
-};
-static const mso_CustomShape msoLeftArrowCallout =
-{
- (SvxMSDffVertPair*)mso_sptLeftArrowCalloutVert, sizeof( mso_sptLeftArrowCalloutVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptLeftArrowCalloutSegm, sizeof( mso_sptLeftArrowCalloutSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptLeftArrowCalloutCalc, sizeof( mso_sptLeftArrowCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptLeftArrowCalloutDefault,
- (SvxMSDffTextRectangles*)mso_sptLeftArrowCalloutTextRect, sizeof( mso_sptLeftArrowCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptLeftArrowCalloutHandle, sizeof( mso_sptLeftArrowCalloutHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptUpArrowCalloutVert[] =
-{
- { 21600, 0 MSO_I }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 MSO_I },
- { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I }, { 10800, 0 },
- { 4 MSO_I, 2 MSO_I }, { 5 MSO_I, 2 MSO_I }, { 5 MSO_I, 0 MSO_I }
-};
-static const sal_uInt16 mso_sptUpArrowCalloutSegm[] =
-{
- 0x4000, 0x000a, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptUpArrowCalloutCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
- { 0x8000, { 21600, 0, 0x0401 } },
- { 0x8000, { 21600, 0, 0x0403 } }
-};
-static const sal_Int32 mso_sptUpArrowCalloutDefault[] =
-{
- 4, 7200, 5400, 3600, 8100
-};
-static const SvxMSDffTextRectangles mso_sptUpArrowCalloutTextRect[] =
-{
- { { 0, 0 MSO_I }, { 21600, 21600 } }
-};
-static const SvxMSDffHandle mso_sptUpArrowCalloutHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0x102, 21600 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 0x103, 0x102, 10800, 10800, 0x101, 10800, 0, 0x100 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 0x101, 0, 10800, 10800, 0, 0x103, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoUpArrowCallout =
-{
- (SvxMSDffVertPair*)mso_sptUpArrowCalloutVert, sizeof( mso_sptUpArrowCalloutVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptUpArrowCalloutSegm, sizeof( mso_sptUpArrowCalloutSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptUpArrowCalloutCalc, sizeof( mso_sptUpArrowCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptUpArrowCalloutDefault,
- (SvxMSDffTextRectangles*)mso_sptUpArrowCalloutTextRect, sizeof( mso_sptUpArrowCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptUpArrowCalloutHandle, sizeof( mso_sptUpArrowCalloutHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptDownArrowCalloutVert[] =
-{
- { 0, 0 MSO_I }, { 0, 0 }, { 21600, 0 }, { 21600, 0 MSO_I },
- { 5 MSO_I, 0 MSO_I }, { 5 MSO_I, 2 MSO_I }, { 4 MSO_I, 2 MSO_I }, { 10800, 21600 },
- { 1 MSO_I, 2 MSO_I }, { 3 MSO_I, 2 MSO_I }, { 3 MSO_I, 0 MSO_I }
-};
-static const sal_uInt16 mso_sptDownArrowCalloutSegm[] =
-{
- 0x4000, 0x000a, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptDownArrowCalloutCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
- { 0x8000, { 21600, 0, 0x0401 } },
- { 0x8000, { 21600, 0, 0x0403 } }
-};
-static const sal_Int32 mso_sptDownArrowCalloutDefault[] =
-{
- 4, 14400, 5400, 18000, 8100
-};
-static const SvxMSDffTextRectangles mso_sptDownArrowCalloutTextRect[] =
-{
- { { 0, 0 }, { 21600, 0 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptDownArrowCalloutHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 0x102 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
- 0x103, 0x102, 10800, 10800, 0x101, 10800, 0x100, 21600 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 0x101, 1, 10800, 10800, 0, 0x103, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoDownArrowCallout =
-{
- (SvxMSDffVertPair*)mso_sptDownArrowCalloutVert, sizeof( mso_sptDownArrowCalloutVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptDownArrowCalloutSegm, sizeof( mso_sptDownArrowCalloutSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptDownArrowCalloutCalc, sizeof( mso_sptDownArrowCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDownArrowCalloutDefault,
- (SvxMSDffTextRectangles*)mso_sptDownArrowCalloutTextRect, sizeof( mso_sptDownArrowCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptDownArrowCalloutHandle, sizeof( mso_sptDownArrowCalloutHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptLeftRightArrowCalloutVert[] =
-{
- { 0 MSO_I, 0 }, { 4 MSO_I, 0 }, { 4 MSO_I, 3 MSO_I }, { 6 MSO_I, 3 MSO_I },
- { 6 MSO_I, 1 MSO_I }, { 21600, 10800 }, { 6 MSO_I, 5 MSO_I }, { 6 MSO_I, 7 MSO_I },
- { 4 MSO_I, 7 MSO_I }, { 4 MSO_I, 21600 }, { 0 MSO_I, 21600 }, { 0 MSO_I, 7 MSO_I },
- { 2 MSO_I, 7 MSO_I }, { 2 MSO_I, 5 MSO_I }, { 0, 10800 }, { 2 MSO_I, 1 MSO_I },
- { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 3 MSO_I }
-};
-static const sal_uInt16 mso_sptLeftRightArrowCalloutSegm[] =
-{
- 0x4000, 0x0011, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptLeftRightArrowCalloutCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
- { 0x8000, { 21600, 0, 0x0400 } },
- { 0x8000, { 21600, 0, 0x0401 } },
- { 0x8000, { 21600, 0, 0x0402 } },
- { 0x8000, { 21600, 0, 0x0403 } }
-};
-static const sal_Int32 mso_sptLeftRightArrowCalloutDefault[] =
-{
- 4, 5400, 5500, 2700, 8100
-};
-static const SvxMSDffTextRectangles mso_sptLeftRightArrowCalloutTextRect[] =
-{
- { { 0 MSO_I, 0 }, { 4 MSO_I, 21600 } }
-};
-static const SvxMSDffHandle mso_sptLeftRightArrowCalloutHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
- 0x100, 0, 10800, 10800, 0x102, 10800, 0x80000000, 0x7fffffff },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
- 0x102, 0x103, 10800, 10800, 0, 0x100, 0x101, 10800 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 0, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0, 0x103 }
-};
-static const mso_CustomShape msoLeftRightArrowCallout =
-{
- (SvxMSDffVertPair*)mso_sptLeftRightArrowCalloutVert, sizeof( mso_sptLeftRightArrowCalloutVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptLeftRightArrowCalloutSegm, sizeof( mso_sptLeftRightArrowCalloutSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptLeftRightArrowCalloutCalc, sizeof( mso_sptLeftRightArrowCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptLeftRightArrowCalloutDefault,
- (SvxMSDffTextRectangles*)mso_sptLeftRightArrowCalloutTextRect, sizeof( mso_sptLeftRightArrowCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptLeftRightArrowCalloutHandle, sizeof( mso_sptLeftRightArrowCalloutHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptUpDownArrowCalloutVert[] =
-{
- { 0, 0 MSO_I }, { 0, 4 MSO_I }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 6 MSO_I },
- { 1 MSO_I, 6 MSO_I }, { 10800, 21600 }, { 5 MSO_I, 6 MSO_I }, { 7 MSO_I, 6 MSO_I },
- { 7 MSO_I, 4 MSO_I }, { 21600, 4 MSO_I }, { 21600, 0 MSO_I }, { 7 MSO_I, 0 MSO_I },
- { 7 MSO_I, 2 MSO_I }, { 5 MSO_I, 2 MSO_I }, { 10800, 0 }, { 1 MSO_I, 2 MSO_I },
- { 3 MSO_I, 2 MSO_I }, { 3 MSO_I, 0 MSO_I }
-};
-static const sal_uInt16 mso_sptUpDownArrowCalloutSegm[] =
-{
- 0x4000, 0x0011, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptUpDownArrowCalloutCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
- { 0x8000, { 21600, 0, 0x0400 } },
- { 0x8000, { 21600, 0, 0x0401 } },
- { 0x8000, { 21600, 0, 0x0402 } },
- { 0x8000, { 21600, 0, 0x0403 } }
-};
-static const sal_Int32 mso_sptUpDownArrowCalloutDefault[] =
-{
- 4, 5400, 5500, 2700, 8100
-};
-static const SvxMSDffTextRectangles mso_sptUpDownArrowCalloutTextRect[] =
-{
- { { 0, 0 MSO_I }, { 21600, 4 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptUpDownArrowCalloutHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0x102, 10800 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 0x103, 0x102, 10800, 10800, 0x101, 10800, 0, 0x100 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 0x101, 0, 10800, 10800, 0, 0x103, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoUpDownArrowCallout =
-{
- (SvxMSDffVertPair*)mso_sptUpDownArrowCalloutVert, sizeof( mso_sptUpDownArrowCalloutVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptUpDownArrowCalloutSegm, sizeof( mso_sptUpDownArrowCalloutSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptUpDownArrowCalloutCalc, sizeof( mso_sptUpDownArrowCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptUpDownArrowCalloutDefault,
- (SvxMSDffTextRectangles*)mso_sptUpDownArrowCalloutTextRect, sizeof( mso_sptUpDownArrowCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptUpDownArrowCalloutHandle, sizeof( mso_sptUpDownArrowCalloutHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptQuadArrowCalloutVert[] =
-{
- { 0 MSO_I, 0 MSO_I }, { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
- { 10800, 0 }, { 5 MSO_I, 2 MSO_I }, { 7 MSO_I, 2 MSO_I }, { 7 MSO_I, 0 MSO_I },
- { 4 MSO_I, 0 MSO_I }, { 4 MSO_I, 3 MSO_I }, { 6 MSO_I, 3 MSO_I }, { 6 MSO_I, 1 MSO_I },
- { 21600, 10800 }, { 6 MSO_I, 5 MSO_I }, { 6 MSO_I, 7 MSO_I }, { 4 MSO_I, 7 MSO_I },
- { 4 MSO_I, 4 MSO_I }, { 7 MSO_I, 4 MSO_I }, { 7 MSO_I, 6 MSO_I }, { 5 MSO_I, 6 MSO_I },
- { 10800, 21600 }, { 1 MSO_I, 6 MSO_I }, { 3 MSO_I, 6 MSO_I }, { 3 MSO_I, 4 MSO_I },
- { 0 MSO_I, 4 MSO_I }, { 0 MSO_I, 7 MSO_I }, { 2 MSO_I, 7 MSO_I }, { 2 MSO_I, 5 MSO_I },
- { 0, 10800 }, { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 3 MSO_I }
-};
-static const sal_uInt16 mso_sptQuadArrowCalloutSegm[] =
-{
- 0x4000, 0x001f, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptQuadArrowCalloutCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
- { 0x8000, { 21600, 0, 0x0400 } },
- { 0x8000, { 21600, 0, 0x0401 } },
- { 0x8000, { 21600, 0, 0x0402 } },
- { 0x8000, { 21600, 0, 0x0403 } }
-};
-static const sal_Int32 mso_sptQuadArrowCalloutDefault[] =
-{
- 4, 5400, 8100, 2700, 9400
-};
-static const SvxMSDffTextRectangles mso_sptQuadArrowCalloutTextRect[] =
-{
- { { 0 MSO_I, 0 MSO_I }, { 4 MSO_I, 4 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptQuadArrowCalloutHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0x102, 0x101 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
- 0x101, 0, 10800, 10800, 0x100, 10800, 0x80000000, 0x7fffffff },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 0x103, 0x102, 10800, 10800, 0x101, 10800, 0, 0x100 }
-};
-static const mso_CustomShape msoQuadArrowCallout =
-{
- (SvxMSDffVertPair*)mso_sptQuadArrowCalloutVert, sizeof( mso_sptQuadArrowCalloutVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptQuadArrowCalloutSegm, sizeof( mso_sptQuadArrowCalloutSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptQuadArrowCalloutCalc, sizeof( mso_sptQuadArrowCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptQuadArrowCalloutDefault,
- (SvxMSDffTextRectangles*)mso_sptQuadArrowCalloutTextRect, sizeof( mso_sptQuadArrowCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptQuadArrowCalloutHandle, sizeof( mso_sptQuadArrowCalloutHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptCircularArrowVert[] =
-{
- { 0x03 MSO_I, 0x03 MSO_I },
- { 0x14 MSO_I, 0x14 MSO_I },
- { 0x13 MSO_I, 0x12 MSO_I },
- { 0x11 MSO_I, 0x10 MSO_I },
- { 0, 0 }, { 21600, 21600 },
- { 0x09 MSO_I, 0x08 MSO_I },
- { 0x0B MSO_I, 0x0A MSO_I },
- { 0x18 MSO_I, 0x17 MSO_I },
- { 0x2F MSO_I, 0x2E MSO_I },
- { 0x1D MSO_I, 0x1C MSO_I }
-};
-static const sal_uInt16 mso_sptCircularArrowSegm[] =
-{
- 0xa404, 0xa504, 0x0003, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptCircularArrowCalc[] =
-{
- { 0x2000, { 0x0147, 0x0000, 0x0000 } },
- { 0x2000, { 0x0148, 0x0000, 0x0000 } },
- { 0x2000, { 0x0149, 0x0000, 0x0000 } },
- { 0x4000, { 0x2A30, 0x0149, 0x0000 } },
- { 0x4009, { 0x2A30, 0x0147, 0x0000 } },
- { 0x400A, { 0x2A30, 0x0147, 0x0000 } },
- { 0x4009, { 0x2A30, 0x0148, 0x0000 } },
- { 0x400A, { 0x2A30, 0x0148, 0x0000 } },
- { 0x2000, { 0x0404, 0x2A30, 0x0000 } },
- { 0x2000, { 0x0405, 0x2A30, 0x0000 } },
- { 0x2000, { 0x0406, 0x2A30, 0x0000 } },
- { 0x2000, { 0x0407, 0x2A30, 0x0000 } },
- { 0x6009, { 0x0403, 0x0147, 0x0000 } },
- { 0x600A, { 0x0403, 0x0147, 0x0000 } },
- { 0x6009, { 0x0403, 0x0148, 0x0000 } },
- { 0x600A, { 0x0403, 0x0148, 0x0000 } },
- { 0x2000, { 0x040C, 0x2A30, 0x0000 } },
- { 0x2000, { 0x040D, 0x2A30, 0x0000 } },
- { 0x2000, { 0x040E, 0x2A30, 0x0000 } },
- { 0x2000, { 0x040F, 0x2A30, 0x0000 } },
- { 0x8000, { 0x5460, 0x0000, 0x0403 } },
- { 0x4009, { 0x34BC, 0x0148, 0x0000 } },
- { 0x400A, { 0x34BC, 0x0148, 0x0000 } },
- { 0x2000, { 0x0415, 0x2A30, 0x0000 } },
- { 0x2000, { 0x0416, 0x2A30, 0x0000 } },
- { 0x2000, { 0x0149, 0x0000, 0x0A8C } },
- { 0x6009, { 0x0419, 0x0148, 0x0000 } },
- { 0x600A, { 0x0419, 0x0148, 0x0000 } },
- { 0x2000, { 0x041A, 0x2A30, 0x0000 } },
- { 0x2000, { 0x041B, 0x2A30, 0x0000 } },
- { 0xA000, { 0x041D, 0x0000, 0x0418 } },
- { 0xA000, { 0x041D, 0x0000, 0x0418 } },
- { 0x6001, { 0x041E, 0x041F, 0x0001 } },
- { 0xA000, { 0x041C, 0x0000, 0x0417 } },
- { 0xA000, { 0x041C, 0x0000, 0x0417 } },
- { 0x6001, { 0x0421, 0x0422, 0x0001 } },
- { 0x6000, { 0x0420, 0x0423, 0x0000 } },
- { 0x200D, { 0x0424, 0x0000, 0x0000 } },
- { 0x200E, { 0x0148, 0x002D, 0x0000 } },
- { 0x6009, { 0x0425, 0x0426, 0x0000 } },
- { 0x200E, { 0x0148, 0x002D, 0x0000 } },
- { 0x600A, { 0x0425, 0x0428, 0x0000 } },
- { 0x000E, { 0x0000, 0x002D, 0x0000 } },
- { 0x6009, { 0x0427, 0x042A, 0x0000 } },
- { 0x000E, { 0x0000, 0x002D, 0x0000 } },
- { 0x6009, { 0x0429, 0x042C, 0x0000 } },
- { 0x6000, { 0x041C, 0x042B, 0x0000 } },
- { 0x6000, { 0x041D, 0x042D, 0x0000 } }
-};
-static const sal_Int32 mso_sptCircularArrowDefault[] =
-{
- 3, 180, 0, 5500
-};
-static const SvxMSDffTextRectangles mso_sptCircularArrowTextRect[] = // todo
-{
- { { 0, 0 }, { 21600, 21600 } }
-};
-static const SvxMSDffHandle mso_sptCircularArrowHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
- 10800, 0x100, 10800, 10800, 10800, 10800, 0xff4c0000, 0x00b40000 },
- { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
- 0x102, 0x101, 10800, 10800, 0, 10800, 0xff4c0000, 0x00b40000 }
-};
-static const mso_CustomShape msoCircularArrow =
-{
- (SvxMSDffVertPair*)mso_sptCircularArrowVert, sizeof( mso_sptCircularArrowVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCircularArrowSegm, sizeof( mso_sptCircularArrowSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCircularArrowCalc, sizeof( mso_sptCircularArrowCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCircularArrowDefault,
- (SvxMSDffTextRectangles*)mso_sptCircularArrowTextRect, sizeof( mso_sptCircularArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCircularArrowHandle, sizeof( mso_sptCircularArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptCubeVert[] =
-{
- { 0, 12 MSO_I }, { 0, 1 MSO_I }, { 2 MSO_I, 0 }, { 11 MSO_I, 0 }, { 11 MSO_I, 3 MSO_I }, { 4 MSO_I, 12 MSO_I },
- { 0, 1 MSO_I }, { 2 MSO_I, 0 }, { 11 MSO_I, 0 }, { 4 MSO_I, 1 MSO_I },
- { 4 MSO_I, 12 MSO_I }, { 4 MSO_I, 1 MSO_I }, { 11 MSO_I, 0 }, { 11 MSO_I, 3 MSO_I }
-};
-static const sal_uInt16 mso_sptCubeSegm[] =
-{
- 0x4000, 0x0005, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptCubeCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x6000, { DFF_Prop_geoTop, 0x400, 0 } },
- { 0x6000, { DFF_Prop_geoLeft, 0x400, 0 } },
- { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } },
- { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
- { 0xa000, { DFF_Prop_geoRight, 0, 0x402 } }, // 5
- { 0x2001, { 0x405, 1, 2 } }, // 6
- { 0x6000, { 0x402, 0x406, 0 } }, // 7
- { 0xa000, { DFF_Prop_geoBottom, 0, 0x401 } }, // 8
- { 0x2001, { 0x408, 1, 2 } }, // 9
- { 0x6000, { 0x401, 0x409, 0 } }, // 10
- { 0x2000, { DFF_Prop_geoRight, 0, 0 } }, // 11
- { 0x2000, { DFF_Prop_geoBottom, 0, 0 } } // 12
-};
-static const SvxMSDffTextRectangles mso_sptCubeTextRect[] =
-{
- { { 0, 1 MSO_I }, { 4 MSO_I, 12 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptCubeHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 21600 }
-};
-static const SvxMSDffVertPair mso_sptCubeGluePoints[] =
-{
- { 7 MSO_I, 0 }, { 6 MSO_I, 1 MSO_I }, { 0, 10 MSO_I }, { 6 MSO_I, 21600 }, { 4 MSO_I, 10 MSO_I }, { 21600, 9 MSO_I }
-};
-static const mso_CustomShape msoCube =
-{
- (SvxMSDffVertPair*)mso_sptCubeVert, sizeof( mso_sptCubeVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCubeSegm, sizeof( mso_sptCubeSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCubeCalc, sizeof( mso_sptCubeCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault5400,
- (SvxMSDffTextRectangles*)mso_sptCubeTextRect, sizeof( mso_sptCubeTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- (SvxMSDffVertPair*)mso_sptCubeGluePoints, sizeof( mso_sptCubeGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptCubeHandle, sizeof( mso_sptCubeHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptBevelVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
- { 0, 0 }, { 21600, 0 }, { 1 MSO_I, 0 MSO_I }, { 0 MSO_I, 0 MSO_I },
- { 21600, 0 }, { 21600, 21600 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 0 MSO_I },
- { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
- { 0, 21600 }, { 0, 0 }, { 0 MSO_I, 0 MSO_I }, { 0 MSO_I, 2 MSO_I }
-};
-static const sal_uInt16 mso_sptBevelSegm[] =
-{
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptBevelCalc[] =
-{
- { 0x2001, { DFF_Prop_adjustValue, 21599, 21600 } },
- { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
- { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }
-};
-
-static const SvxMSDffTextRectangles mso_sptBevelTextRect[] =
-{
- { { 0 MSO_I, 0 MSO_I }, { 1 MSO_I, 2 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptBevelHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
- 0x100, 0, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoBevel =
-{
- (SvxMSDffVertPair*)mso_sptBevelVert, sizeof( mso_sptBevelVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptBevelSegm, sizeof( mso_sptBevelSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptBevelCalc, sizeof( mso_sptBevelCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault2700,
- (SvxMSDffTextRectangles*)mso_sptBevelTextRect, sizeof( mso_sptBevelTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptBevelHandle, sizeof( mso_sptBevelHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptFoldedCornerVert[] = // adjustment1 : x 10800 - 21600
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 0 MSO_I }, { 0 MSO_I, 21600 },
- { 0, 21600 }, { 0 MSO_I, 21600 }, { 3 MSO_I, 0 MSO_I }, { 8 MSO_I, 9 MSO_I },
- { 10 MSO_I, 11 MSO_I }, { 21600, 0 MSO_I }
-};
-static const sal_uInt16 mso_sptFoldedCornerSegm[] =
-{
- 0x4000, 0x0004, 0x6001, 0x8000,
- 0x4000, 0x0001, 0x2001, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptFoldedCornerCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x8000, { 21600, 0, 0x400 } },
- { 0x2001, { 0x0401, 8000, 10800 } },
- { 0x8000, { 21600, 0, 0x0402 } },
- { 0x2001, { 0x0401, 1, 2 } },
- { 0x2001, { 0x0401, 1, 4 } },
- { 0x2001, { 0x0401, 1, 7 } },
- { 0x2001, { 0x0401, 1, 16 } },
- { 0x6000, { 0x0403, 0x405, 0 } },
- { 0x6000, { 0x0400, 0x406, 0 } },
- { 0x8000, { 21600, 0, 0x404 } },
- { 0x6000, { 0x400, 0x407, 0 } }
-};
-static const sal_Int32 mso_sptFoldedCornerDefault[] =
-{
- 1, 18900
-};
-static const SvxMSDffTextRectangles mso_sptFoldedCornerTextRect[] =
-{
- { { 0, 0 }, { 21600, 11 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptFoldedCornerHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 1, 10800, 10800, 10800, 21600, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoFoldedCorner =
-{
- (SvxMSDffVertPair*)mso_sptFoldedCornerVert, sizeof( mso_sptFoldedCornerVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFoldedCornerSegm, sizeof( mso_sptFoldedCornerSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptFoldedCornerCalc, sizeof( mso_sptFoldedCornerCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptFoldedCornerDefault,
- (SvxMSDffTextRectangles*)mso_sptFoldedCornerTextRect, sizeof( mso_sptFoldedCornerTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptFoldedCornerHandle, sizeof( mso_sptFoldedCornerHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptActionButtonBlankVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
- { 0, 0 }, { 21600, 0 }, { 1 MSO_I, 0 MSO_I }, { 0 MSO_I, 0 MSO_I },
- { 21600, 0 }, { 21600, 21600 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 0 MSO_I },
- { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
- { 0, 21600 }, { 0, 0 }, { 0 MSO_I, 0 MSO_I }, { 0 MSO_I, 2 MSO_I }
-};
-static const sal_uInt16 mso_sptActionButtonBlankSegm[] =
-{
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptActionButtonBlankCalc[] =
-{
- { 0x2001, { DFF_Prop_adjustValue, 21599, 21600 } },
- { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
- { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }
-};
-static const SvxMSDffTextRectangles mso_sptActionButtonBlankTextRect[] =
-{
- { { 0 MSO_I, 0 MSO_I }, { 1 MSO_I, 2 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptButtonHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
- 0x100, 0, 10800, 10800, 0, 5400, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoActionButtonBlank =
-{
- (SvxMSDffVertPair*)mso_sptActionButtonBlankVert, sizeof( mso_sptActionButtonBlankVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptActionButtonBlankSegm, sizeof( mso_sptActionButtonBlankSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptActionButtonBlankCalc, sizeof( mso_sptActionButtonBlankCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault1400,
- (SvxMSDffTextRectangles*)mso_sptActionButtonBlankTextRect, sizeof( mso_sptActionButtonBlankTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffTextRectangles mso_sptActionButtonTextRect[] =
-{
- { { 1 MSO_I, 2 MSO_I }, { 3 MSO_I, 4 MSO_I } }
-};
-static const SvxMSDffVertPair mso_sptActionButtonHomeVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
- { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
- { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
- { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
- { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
-
- { 7 MSO_I, 0xa MSO_I }, { 0xc MSO_I, 0xe MSO_I }, { 0xc MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0x10 MSO_I },
- { 0x12 MSO_I, 0x14 MSO_I }, { 0x16 MSO_I, 8 MSO_I }, { 0x18 MSO_I, 8 MSO_I }, { 0x18 MSO_I, 0x1a MSO_I },
- { 0x1c MSO_I, 0x1a MSO_I }, { 0x1c MSO_I, 8 MSO_I }, { 0x1e MSO_I, 8 MSO_I },
-
- { 0xc MSO_I, 0xe MSO_I }, { 0xc MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0x10 MSO_I },{ 0x12 MSO_I, 0x14 MSO_I },
-
- { 0x20 MSO_I, 0x24 MSO_I }, { 0x22 MSO_I, 0x24 MSO_I }, { 0x22 MSO_I, 0x1a MSO_I }, { 0x18 MSO_I, 0x1a MSO_I },
- { 0x18 MSO_I, 8 MSO_I }, { 0x1c MSO_I, 8 MSO_I }, { 0x1c MSO_I, 0x1a MSO_I }, { 0x20 MSO_I, 0x1a MSO_I }
-
-};
-static const sal_uInt16 mso_sptActionButtonHomeSegm[] =
-{
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x000a, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0007, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptActionButtonHomeCalc[] = // adj value 0 - 5400
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
- { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
- { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
- { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
- { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
- { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
- { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
-
- { 0x4001, { -8000, 0x0406, 1 } }, // 9
- { 0x6000, { 0x0409, 0x0408, 0 } }, // a
- { 0x4001, { 2960, 0x0406, 1 } }, // b
- { 0x6000, { 0x040b, 0x0407, 0 } }, // c
- { 0x4001, { -5000, 0x0406, 1 } }, // d
- { 0x6000, { 0x040d, 0x0408, 0 } }, // e
- { 0x4001, { -7000, 0x0406, 1 } }, // f
- { 0x6000, { 0x040f, 0x0408, 0 } }, // 10
- { 0x4001, { 5000, 0x0406, 1 } }, // 11
- { 0x6000, { 0x0411, 0x0407, 0 } }, // 12
- { 0x4001, { -2960, 0x0406, 1 } }, // 13
- { 0x6000, { 0x0413, 0x0408, 0 } }, // 14
- { 0x4001, { 8000, 0x0406, 1 } }, // 15
- { 0x6000, { 0x0415,0x0407, 0 } }, // 16
- { 0x4001, { 6100, 0x0406, 1 } }, // 17
- { 0x6000, { 0x0417,0x0407, 0 } }, // 18
- { 0x4001, { 8260, 0x0406, 1 } }, // 19
- { 0x6000, { 0x0419, 0x0408, 0 } }, // 1a
- { 0x4001, { -6100, 0x0406, 1 } }, // 1b
- { 0x6000, { 0x041b, 0x0407, 0 } }, // 1c
- { 0x4001, { -8000, 0x0406, 1 } }, // 1d
- { 0x6000, { 0x041d, 0x0407, 0 } }, // 1e
- { 0x4001, { -1060, 0x0406, 1 } }, // 1f
- { 0x6000, { 0x041f, 0x0407, 0 } }, // 20
- { 0x4001, { 1060, 0x0406, 1 } }, // 21
- { 0x6000, { 0x0421, 0x0407, 0 } }, // 22
- { 0x4001, { 4020, 0x0406, 1 } }, // 23
- { 0x6000, { 0x0423, 0x0408, 0 } } // 24
-
-};
-static const mso_CustomShape msoActionButtonHome =
-{
- (SvxMSDffVertPair*)mso_sptActionButtonHomeVert, sizeof( mso_sptActionButtonHomeVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptActionButtonHomeSegm, sizeof( mso_sptActionButtonHomeSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptActionButtonHomeCalc, sizeof( mso_sptActionButtonHomeCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault1400,
- (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptActionButtonHelpVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
- { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
- { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
- { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
- { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I,4 MSO_I },
- { 7 MSO_I, 0xc MSO_I }, { 0xa MSO_I, 0x3e MSO_I }, { 7 MSO_I, 0x10 MSO_I }, { 0xe MSO_I, 0x3e MSO_I }, { 7 MSO_I, 0xc MSO_I },
- { 0x12 MSO_I, 0x14 MSO_I }, { 0x12 MSO_I, 0x16 MSO_I }, // pp
- { 0x12 MSO_I, 0x18 MSO_I }, { 0x1a MSO_I, 8 MSO_I }, { 0x1c MSO_I, 8 MSO_I }, // ccp
- { 0x1e MSO_I, 8 MSO_I }, { 0x20 MSO_I, 0x22 MSO_I }, { 0x20 MSO_I, 0x24 MSO_I }, // ccp
- { 0x20 MSO_I, 0x26 MSO_I }, { 0x28 MSO_I, 0x2a MSO_I }, { 7 MSO_I, 0x2a MSO_I }, // ccp
- { 0x2c MSO_I, 0x2a MSO_I }, { 0x2e MSO_I, 0x26 MSO_I }, { 0x2e MSO_I, 0x24 MSO_I }, // ccp
- { 0x30 MSO_I, 0x24 MSO_I }, { 0x30 MSO_I, 0x32 MSO_I }, { 0x34 MSO_I, 0x36 MSO_I }, // ccp
- { 7 MSO_I, 0x36 MSO_I }, // p
- { 0x12 MSO_I, 0x36 MSO_I }, { 0x1c MSO_I, 0x32 MSO_I }, { 0x1c MSO_I, 0x24 MSO_I }, // ccp
- { 0x1c MSO_I, 0x38 MSO_I }, { 0x3a MSO_I, 0x3c MSO_I }, { 0x12 MSO_I, 0x3c MSO_I }, // ccp
- { 7 MSO_I, 0x3c MSO_I }, { 0x34 MSO_I, 8 MSO_I }, { 0x34 MSO_I, 0x16 MSO_I }, // ccp
- { 0x34 MSO_I, 0x14 MSO_I }
-};
-static const sal_uInt16 mso_sptActionButtonHelpSegm[] =
-{
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0xa704, 0x6000, 0x8000,
- 0x4000, 0x0001, 0x2004, 0x0001, 0x2004, 0x0001, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptActionButtonHelpCalc[] = // adj value 0 - 5400
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
- { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
- { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
- { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
- { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
- { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
- { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
-
- { 0x4001, { -1690, 0x0406, 1 } }, // 9
- { 0x6000, { 0x0409, 0x0407, 0 } }, // a
- { 0x4001, { 4600, 0x0406, 1 } }, // b
- { 0x6000, { 0x040b, 0x0408, 0 } }, // c
- { 0x4001, { 1690, 0x0406, 1 } }, // d
- { 0x6000, { 0x040d, 0x0407, 0 } }, // e
- { 0x4001, { 7980, 0x0406, 1 } }, // f
- { 0x6000, { 0x040f, 0x0408, 0 } }, // 10
- { 0x4001, { 1270, 0x0406, 1 } }, // 11
- { 0x6000, { 0x0411, 0x0407, 0 } }, // 12
- { 0x4001, { 4000, 0x0406, 1 } }, // 13
- { 0x6000, { 0x0413, 0x0408, 0 } }, // 14
- { 0x4001, { 1750, 0x0406, 1 } }, // 15
- { 0x6000, { 0x0415, 0x0408, 0 } }, // 16
- { 0x4001, { 800, 0x0406, 1 } }, // 17
- { 0x6000, { 0x0417, 0x0408, 0 } }, // 18
- { 0x4001, { 1650, 0x0406, 1 } }, // 19
- { 0x6000, { 0x0419, 0x0407, 0 } }, // 1a
- { 0x4001, { 2340, 0x0406, 1 } }, // 1b
- { 0x6000, { 0x041b, 0x0407, 0 } }, // 1c
- { 0x4001, { 3640, 0x0406, 1 } }, // 1d
- { 0x6000, { 0x041d, 0x0407, 0 } }, // 1e
- { 0x4001, { 4670, 0x0406, 1 } }, // 1f
- { 0x6000, { 0x041f, 0x0407, 0 } }, // 20
- { 0x4001, { -1570, 0x0406, 1 } }, // 21
- { 0x6000, { 0x0421, 0x0408, 0 } }, // 22
- { 0x4001, { -3390, 0x0406, 1 } }, // 23
- { 0x6000, { 0x0423, 0x0408, 0 } }, // 24
- { 0x4001, { -6050, 0x0406, 1 } }, // 25
- { 0x6000, { 0x0425, 0x0408, 0 } }, // 26
- { 0x4001, { 2540, 0x0406, 1 } }, // 27
- { 0x6000, { 0x0427, 0x0407, 0 } }, // 28
- { 0x4001, { -8050, 0x0406, 1 } }, // 29
- { 0x6000, { 0x0429, 0x0408, 0 } }, // 2a
- { 0x4001, { -2540, 0x0406, 1 } }, // 2b
- { 0x6000, { 0x042b, 0x0407, 0 } }, // 2c
- { 0x4001, { -4460, 0x0406, 1 } }, // 2d
- { 0x6000, { 0x042d, 0x0407, 0 } }, // 2e
- { 0x4001, { -2330, 0x0406, 1 } }, // 2f
- { 0x6000, { 0x042f, 0x0407, 0 } }, // 30
- { 0x4001, { -4700, 0x0406, 1 } }, // 31
- { 0x6000, { 0x0431, 0x0408, 0 } }, // 32
- { 0x4001, { -1270, 0x0406, 1 } }, // 33
- { 0x6000, { 0x0433, 0x0407, 0 } }, // 34
- { 0x4001, { -5720, 0x0406, 1 } }, // 35
- { 0x6000, { 0x0435, 0x0408, 0 } }, // 36
- { 0x4001, { -2540, 0x0406, 1 } }, // 37
- { 0x6000, { 0x0437, 0x0408, 0 } }, // 38
- { 0x4001, { 1800, 0x0406, 1 } }, // 39
- { 0x6000, { 0x0439, 0x0407, 0 } }, // 3a
- { 0x4001, { -1700, 0x0406, 1 } }, // 3b
- { 0x6000, { 0x043b, 0x0408, 0 } }, // 3c
- { 0x4001, { 6290, 0x0406, 1 } }, // 3d
- { 0x6000, { 0x043d, 0x0408, 0 } } // 3e
-};
-static const mso_CustomShape msoActionButtonHelp =
-{
- (SvxMSDffVertPair*)mso_sptActionButtonHelpVert, sizeof( mso_sptActionButtonHelpVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptActionButtonHelpSegm, sizeof( mso_sptActionButtonHelpSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptActionButtonHelpCalc, sizeof( mso_sptActionButtonHelpCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault1400,
- (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptActionButtonInformationVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
- { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
- { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
- { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
- { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
- { 0x7 MSO_I, 0xc MSO_I }, { 0xa MSO_I, 0x8 MSO_I }, { 0x7 MSO_I, 0x10 MSO_I }, { 0xe MSO_I, 8 MSO_I }, { 0x7 MSO_I, 0xc MSO_I },
- { 0x7 MSO_I, 0x14 MSO_I }, { 0x12 MSO_I, 0x2a MSO_I }, { 0x7 MSO_I, 0x18 MSO_I }, { 0x16 MSO_I, 0x2a MSO_I }, { 0x7 MSO_I, 0x14 MSO_I },
- { 0x1a MSO_I, 0x1c MSO_I }, { 0x1e MSO_I, 0x1c MSO_I }, { 0x1e MSO_I, 0x20 MSO_I }, { 0x22 MSO_I, 0x20 MSO_I },
- { 0x22 MSO_I, 0x24 MSO_I }, { 0x1a MSO_I, 0x24 MSO_I }, { 0x1a MSO_I, 0x20 MSO_I }, { 0x26 MSO_I, 0x20 MSO_I },
- { 0x26 MSO_I, 0x28 MSO_I }, { 0x1a MSO_I, 0x28 MSO_I }
-};
-static const sal_uInt16 mso_sptActionButtonInformationSegm[] =
-{
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0xa704, 0x6000, 0x8000,
- 0x4000, 0xa704, 0x6000, 0x8000,
- 0x4000, 0x0009, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptActionButtonInformationCalc[] = // adj value 0 - 5400
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
- { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
- { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
- { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
- { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
- { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
- { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
-
- { 0x4001, { -8050, 0x0406, 1 } }, // 9
- { 0x6000, { 0x0409, 0x0407, 0 } }, // a
- { 0x4001, { -8050, 0x0406, 1 } }, // b
- { 0x6000, { 0x040b, 0x0408, 0 } }, // c
- { 0x4001, { 8050, 0x0406, 1 } }, // d
- { 0x6000, { 0x040d, 0x0407, 0 } }, // e
- { 0x4001, { 8050, 0x0406, 1 } }, // f
- { 0x6000, { 0x040f, 0x0408, 0 } }, // 10
-
- { 0x4001, { -2060, 0x0406, 1 } }, // 11
- { 0x6000, { 0x0411, 0x0407, 0 } }, // 12
- { 0x4001, { -7620, 0x0406, 1 } }, // 13
- { 0x6000, { 0x0413, 0x0408, 0 } }, // 14
- { 0x4001, { 2060, 0x0406, 1 } }, // 15
- { 0x6000, { 0x0415, 0x0407, 0 } }, // 16
- { 0x4001, { -3500, 0x0406, 1 } }, // 17
- { 0x6000, { 0x0417, 0x0408, 0 } }, // 18
-
- { 0x4001, { -2960, 0x0406, 1 } }, // 19
- { 0x6000, { 0x0419, 0x0407, 0 } }, // 1a
- { 0x4001, { -2960, 0x0406, 1 } }, // 1b
- { 0x6000, { 0x041b, 0x0408, 0 } }, // 1c
- { 0x4001, { 1480, 0x0406, 1 } }, // 1d
- { 0x6000, { 0x041d, 0x0407, 0 } }, // 1e
- { 0x4001, { 5080, 0x0406, 1 } }, // 1f
- { 0x6000, { 0x041f, 0x0408, 0 } }, // 20
- { 0x4001, { 2960, 0x0406, 1 } }, // 21
- { 0x6000, { 0x0421, 0x0407, 0 } }, // 22
- { 0x4001, { 6140, 0x0406, 1 } }, // 23
- { 0x6000, { 0x0423, 0x0408, 0 } }, // 24
- { 0x4001, { -1480, 0x0406, 1 } }, // 25
- { 0x6000, { 0x0425, 0x0407, 0 } }, // 26
- { 0x4001, { -1920, 0x0406, 1 } }, // 27
- { 0x6000, { 0x0427, 0x0408, 0 } }, // 28
-
- { 0x4001, { -5560, 0x0406, 1 } }, // 29
- { 0x6000, { 0x0429, 0x0408, 0 } }, // 2a
-
-};
-static const mso_CustomShape msoActionButtonInformation =
-{
- (SvxMSDffVertPair*)mso_sptActionButtonInformationVert, sizeof( mso_sptActionButtonInformationVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptActionButtonInformationSegm, sizeof( mso_sptActionButtonInformationSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptActionButtonInformationCalc, sizeof( mso_sptActionButtonInformationCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault1400,
- (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptActionButtonBackPreviousVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
- { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
- { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
- { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I,4 MSO_I },
- { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
-
- { 0xa MSO_I, 8 MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0x10 MSO_I }
-};
-static const sal_uInt16 mso_sptActionButtonForwardBackSegm[] =
-{
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0002, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptActionButtonForwardBackCalc[] = // adj value 0 - 5400
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
- { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
- { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
- { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
- { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
- { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
- { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
-
- { 0x4001, { -8050, 0x0406, 1 } }, // 9
- { 0x6000, { 0x0409, 0x0407, 0 } }, // a
- { 0x4001, { -8050, 0x0406, 1 } }, // b
- { 0x6000, { 0x040b, 0x0408, 0 } }, // c
- { 0x4001, { 8050, 0x0406, 1 } }, // d
- { 0x6000, { 0x040d, 0x0407, 0 } }, // e
- { 0x4001, { 8050, 0x0406, 1 } }, // f
- { 0x6000, { 0x040f, 0x0408, 0 } } // 10
-};
-static const mso_CustomShape msoActionButtonBackPrevious =
-{
- (SvxMSDffVertPair*)mso_sptActionButtonBackPreviousVert, sizeof( mso_sptActionButtonBackPreviousVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptActionButtonForwardBackSegm, sizeof( mso_sptActionButtonForwardBackSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptActionButtonForwardBackCalc, sizeof( mso_sptActionButtonForwardBackCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault1400,
- (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptActionButtonForwardNextVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
- { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
- { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
- { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
- { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
-
- { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 8 MSO_I }, { 0xa MSO_I, 0x10 MSO_I }
-};
-static const mso_CustomShape msoActionButtonForwardNext =
-{
- (SvxMSDffVertPair*)mso_sptActionButtonForwardNextVert, sizeof( mso_sptActionButtonForwardNextVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptActionButtonForwardBackSegm, sizeof( mso_sptActionButtonForwardBackSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptActionButtonForwardBackCalc, sizeof( mso_sptActionButtonForwardBackCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault1400,
- (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptActionButtonBeginningVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
- { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
- { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
- { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
- { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
-
- { 0xa MSO_I, 8 MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0xc MSO_I },
- { 0x14 MSO_I, 0xc MSO_I }, { 0x14 MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0x10 MSO_I }
-};
-static const sal_uInt16 mso_sptActionButtonBeginningEndSegm[] =
-{
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
-
- 0x4000, 0x0002, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptActionButtonBeginningEndCalc[] = // adj value 0 - 5400
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
- { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
- { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
- { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
- { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
- { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
- { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
-
- { 0x4001, { -4020, 0x0406, 1 } }, // 9
- { 0x6000, { 0x0409, 0x0407, 0 } }, // a
- { 0x4001, { -8050, 0x0406, 1 } }, // b
- { 0x6000, { 0x040b, 0x0408, 0 } }, // c
- { 0x4001, { 8050, 0x0406, 1 } }, // d
- { 0x6000, { 0x040d, 0x0407, 0 } }, // e
- { 0x4001, { 8050, 0x0406, 1 } }, // f
- { 0x6000, { 0x040f, 0x0408, 0 } }, // 10
-
- { 0x4001, { -8050, 0x0406, 1 } }, // 11
- { 0x6000, { 0x0411, 0x0407, 0 } }, // 12
- { 0x4001, { -6140, 0x0406, 1 } }, // 13
- { 0x6000, { 0x0413, 0x0407, 0 } }, // 14
-
-
- { 0x4001, { 4020, 0x0406, 1 } }, // 15
- { 0x6000, { 0x0415, 0x0407, 0 } }, // 16
- { 0x4001, { 6140, 0x0406, 1 } }, // 17
- { 0x6000, { 0x0417, 0x0407, 0 } } // 18
-};
-static const mso_CustomShape msoActionButtonBeginning =
-{
- (SvxMSDffVertPair*)mso_sptActionButtonBeginningVert, sizeof( mso_sptActionButtonBeginningVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptActionButtonBeginningEndSegm, sizeof( mso_sptActionButtonBeginningEndSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptActionButtonBeginningEndCalc, sizeof( mso_sptActionButtonBeginningEndCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault1400,
- (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptActionButtonEndVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
- { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
- { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
- { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
- { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
-
- { 0x16 MSO_I, 8 MSO_I }, { 0x12 MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0xc MSO_I },
-
- { 0x18 MSO_I, 0xc MSO_I }, { 0x18 MSO_I, 0x10 MSO_I }, { 0xe MSO_I, 0x10 MSO_I }, { 0xe MSO_I, 0xc MSO_I }
-};
-static const mso_CustomShape msoActionButtonEnd =
-{
- (SvxMSDffVertPair*)mso_sptActionButtonEndVert, sizeof( mso_sptActionButtonEndVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptActionButtonBeginningEndSegm, sizeof( mso_sptActionButtonBeginningEndSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptActionButtonBeginningEndCalc, sizeof( mso_sptActionButtonBeginningEndCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault1400,
- (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptActionButtonReturnVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
- { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
- { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
- { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
- { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
-
- { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0x10 MSO_I }, // ppp
- { 0xe MSO_I, 0x12 MSO_I }, { 0x14 MSO_I, 0x16 MSO_I }, { 0x18 MSO_I, 0x16 MSO_I }, // ccp
- { 7 MSO_I, 0x16 MSO_I }, // p
- { 0x1a MSO_I, 0x16 MSO_I }, { 0x1c MSO_I, 0x12 MSO_I }, { 0x1c MSO_I, 0x10 MSO_I }, // ccp
- { 0x1c MSO_I, 0xc MSO_I }, { 7 MSO_I, 0xc MSO_I }, { 0x1e MSO_I, 0x20 MSO_I }, { 0x22 MSO_I, 0xc MSO_I },// pppp
- { 0x24 MSO_I, 0xc MSO_I }, { 0x24 MSO_I, 0x10 MSO_I }, // pp
- { 0x24 MSO_I, 0x26 MSO_I }, { 0x28 MSO_I, 0x2a MSO_I }, { 7 MSO_I, 0x2a MSO_I }, // ccp
- { 0x18 MSO_I, 0x2a MSO_I }, // p
- { 0x2c MSO_I, 0x2a MSO_I }, { 0xa MSO_I, 0x26 MSO_I }, { 0xa MSO_I, 0x10 MSO_I } // ccp
-};
-static const sal_uInt16 mso_sptActionButtonReturnSegm[] =
-{
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0002, 0x2001, 0x0001, 0x2001, 0x0006,0x2001, 0x0001, 0x2001, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptActionButtonReturnCalc[] = // adj value 0 - 5400
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
- { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
- { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
- { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
- { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
- { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
- { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
-
- { 0x4001, { -8050, 0x0406, 1 } }, // 9
- { 0x6000, { 0x0409, 0x0407, 0 } }, // a
- { 0x4001, { -3800, 0x0406, 1 } }, // b
- { 0x6000, { 0x040b, 0x0408, 0 } }, // c
- { 0x4001, { -4020, 0x0406, 1 } }, // d
- { 0x6000, { 0x040d, 0x0407, 0 } }, // e
- { 0x4001, { 2330, 0x0406, 1 } }, // f
- { 0x6000, { 0x040f, 0x0408, 0 } }, // 10
- { 0x4001, { 3390, 0x0406, 1 } }, // 11
- { 0x6000, { 0x0411, 0x0408, 0 } }, // 12
- { 0x4001, { -3100, 0x0406, 1 } }, // 13
- { 0x6000, { 0x0413, 0x0407, 0 } }, // 14
- { 0x4001, { 4230, 0x0406, 1 } }, // 15
- { 0x6000, { 0x0415, 0x0408, 0 } }, // 16
- { 0x4001, { -1910, 0x0406, 1 } }, // 17
- { 0x6000, { 0x0417, 0x0407, 0 } }, // 18
- { 0x4001, { 1190, 0x0406, 1 } }, // 19
- { 0x6000, { 0x0419, 0x0407, 0 } }, // 1a
- { 0x4001, { 2110, 0x0406, 1 } }, // 1b
- { 0x6000, { 0x041b, 0x0407, 0 } }, // 1c
- { 0x4001, { 4030, 0x0406, 1 } }, // 1d
- { 0x6000, { 0x041d, 0x0407, 0 } }, // 1e
- { 0x4001, { -7830, 0x0406, 1 } }, // 1f
- { 0x6000, { 0x041f, 0x0408, 0 } }, // 20
- { 0x4001, { 8250, 0x0406, 1 } }, // 21
- { 0x6000, { 0x0421, 0x0407, 0 } }, // 22
- { 0x4001, { 6140, 0x0406, 1 } }, // 23
- { 0x6000, { 0x0423, 0x0407, 0 } }, // 24
- { 0x4001, { 5510, 0x0406, 1 } }, // 25
- { 0x6000, { 0x0425, 0x0408, 0 } }, // 26
- { 0x4001, { 3180, 0x0406, 1 } }, // 27
- { 0x6000, { 0x0427, 0x0407, 0 } }, // 28
- { 0x4001, { 8450, 0x0406, 1 } }, // 29
- { 0x6000, { 0x0429, 0x0408, 0 } }, // 2a
- { 0x4001, { -5090, 0x0406, 1 } }, // 2b
- { 0x6000, { 0x042b, 0x0407, 0 } } // 2c
-};
-static const mso_CustomShape msoActionButtonReturn =
-{
- (SvxMSDffVertPair*)mso_sptActionButtonReturnVert, sizeof( mso_sptActionButtonReturnVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptActionButtonReturnSegm, sizeof( mso_sptActionButtonReturnSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptActionButtonReturnCalc, sizeof( mso_sptActionButtonReturnCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault1400,
- (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptActionButtonDocumentVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
- { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
- { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
- { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
- { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
-
- { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0x10 MSO_I, 0x12 MSO_I }, { 0x10 MSO_I, 0x14 MSO_I },
- { 0xa MSO_I, 0x14 MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0x10 MSO_I, 0x12 MSO_I }, { 0xe MSO_I, 0x12 MSO_I }
-};
-static const sal_uInt16 mso_sptActionButtonDocumentSegm[] =
-{
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
-
- 0x4000, 0x0004, 0x6001, 0x8000,
- 0x4000, 0x0002, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptActionButtonDocumentCalc[] = // adj value 0 - 5400
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
- { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
- { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
- { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
- { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
- { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
- { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
-
- { 0x4001, { -6350, 0x0406, 1 } }, // 9
- { 0x6000, { 0x0409, 0x0407, 0 } }, // a
- { 0x4001, { -7830, 0x0406, 1 } }, // b
- { 0x6000, { 0x040b, 0x0408, 0 } }, // c
- { 0x4001, { 1690, 0x0406, 1 } }, // d
- { 0x6000, { 0x040d, 0x0407, 0 } }, // e
- { 0x4001, { 6350, 0x0406, 1 } }, // f
- { 0x6000, { 0x040f, 0x0407, 0 } }, // 10
- { 0x4001, { -3810, 0x0406, 1 } }, // 11
- { 0x6000, { 0x0411, 0x0408, 0 } }, // 12
- { 0x4001, { 7830, 0x0406, 1 } }, // 13
- { 0x6000, { 0x0413, 0x0408, 0 } } // 14
-};
-static const mso_CustomShape msoActionButtonDocument =
-{
- (SvxMSDffVertPair*)mso_sptActionButtonDocumentVert, sizeof( mso_sptActionButtonDocumentVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptActionButtonDocumentSegm, sizeof( mso_sptActionButtonDocumentSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptActionButtonDocumentCalc, sizeof( mso_sptActionButtonDocumentCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault1400,
- (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptActionButtonSoundVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
- { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
- { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
- { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
- { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
-
- { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0x10 MSO_I, 0x12 MSO_I }, { 0x10 MSO_I, 0x14 MSO_I },
- { 0xe MSO_I, 0x16 MSO_I }, { 0xa MSO_I, 0x16 MSO_I }, { 0x18 MSO_I, 8 MSO_I }, { 0x1a MSO_I, 8 MSO_I },
-
- { 0x18 MSO_I, 0xc MSO_I }, { 0x1a MSO_I, 0x1c MSO_I },
-
- { 0x18 MSO_I, 0x16 MSO_I }, { 0x1a MSO_I, 0x1e MSO_I }
-};
-static const sal_uInt16 mso_sptActionButtonSoundSegm[] =
-{
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
-
- 0x4000, 0x0005, 0x6001, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptActionButtonSoundCalc[] = // adj value 0 - 5400
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
- { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
- { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
- { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
- { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
- { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
- { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
-
- { 0x4001, { -8050, 0x0406, 1 } }, // 9
- { 0x6000, { 0x0409, 0x0407, 0 } }, // a
- { 0x4001, { -2750, 0x0406, 1 } }, // b
- { 0x6000, { 0x040b, 0x0408, 0 } }, // c
- { 0x4001, { -2960, 0x0406, 1 } }, // d
- { 0x6000, { 0x040d, 0x0407, 0 } }, // e
- { 0x4001, { 2120, 0x0406, 1 } }, // f
- { 0x6000, { 0x040f, 0x0407, 0 } }, // 10
- { 0x4001, { -8050, 0x0406, 1 } }, // 11
- { 0x6000, { 0x0411, 0x0408, 0 } }, // 12
- { 0x4001, { 8050, 0x0406, 1 } }, // 13
- { 0x6000, { 0x0413, 0x0408, 0 } }, // 14
- { 0x4001, { 2750, 0x0406, 1 } }, // 15
- { 0x6000, { 0x0415, 0x0408, 0 } }, // 16
- { 0x4001, { 4020, 0x0406, 1 } }, // 17
- { 0x6000, { 0x0417, 0x0407, 0 } }, // 18
- { 0x4001, { 8050, 0x0406, 1 } }, // 19
- { 0x6000, { 0x0419, 0x0407, 0 } }, // 1a
- { 0x4001, { -5930, 0x0406, 1 } }, // 1b
- { 0x6000, { 0x041b, 0x0408, 0 } }, // 1c
- { 0x4001, { 5930, 0x0406, 1 } }, // 1d
- { 0x6000, { 0x041d, 0x0408, 0 } } // 1e
-};
-static const mso_CustomShape msoActionButtonSound =
-{
- (SvxMSDffVertPair*)mso_sptActionButtonSoundVert, sizeof( mso_sptActionButtonSoundVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptActionButtonSoundSegm, sizeof( mso_sptActionButtonSoundSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptActionButtonSoundCalc, sizeof( mso_sptActionButtonSoundCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault1400,
- (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptActionButtonMovieVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
- { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
- { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
- { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
- { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
-
- { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0x10 MSO_I, 0x12 MSO_I }, { 0x14 MSO_I, 0x12 MSO_I },
- { 0x16 MSO_I, 0x18 MSO_I }, { 0x16 MSO_I, 0x1a MSO_I }, { 0x1c MSO_I, 0x1a MSO_I }, { 0x1e MSO_I, 0x18 MSO_I },
- { 0x20 MSO_I, 0x18 MSO_I }, { 0x20 MSO_I, 0x22 MSO_I }, { 0x1e MSO_I, 0x22 MSO_I }, { 0x1c MSO_I, 0x24 MSO_I },
- { 0x16 MSO_I, 0x24 MSO_I }, { 0x16 MSO_I, 0x26 MSO_I }, { 0x2a MSO_I, 0x26 MSO_I }, { 0x2a MSO_I, 0x28 MSO_I },
- { 0x10 MSO_I, 0x28 MSO_I }, { 0xe MSO_I, 0x2c MSO_I }, { 0xa MSO_I, 0x2c MSO_I }
-};
-static const sal_uInt16 mso_sptActionButtonMovieSegm[] =
-{
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0003, 0x6001, 0x8000,
- 0x4000, 0x0012, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptActionButtonMovieCalc[] = // adj value 0 - 5400
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
- { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
- { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
- { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
- { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
- { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
- { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
-
- { 0x4001, { -8050, 0x0406, 1 } }, // 9
- { 0x6000, { 0x0409, 0x0407, 0 } }, // a
- { 0x4001, { -4020, 0x0406, 1 } }, // b
- { 0x6000, { 0x040b, 0x0408, 0 } }, // c
- { 0x4001, { -7000, 0x0406, 1 } }, // d
- { 0x6000, { 0x040d, 0x0407, 0 } }, // e
- { 0x4001, { -6560, 0x0406, 1 } }, // f
- { 0x6000, { 0x040f, 0x0407, 0 } }, // 10
- { 0x4001, { -3600, 0x0406, 1 } }, // 11
- { 0x6000, { 0x0411, 0x0408, 0 } }, // 12
- { 0x4001, { 4020, 0x0406, 1 } }, // 13
- { 0x6000, { 0x0413, 0x0407, 0 } }, // 14
- { 0x4001, { 4660, 0x0406, 1 } }, // 15
- { 0x6000, { 0x0415, 0x0407, 0 } }, // 16
- { 0x4001, { -2960, 0x0406, 1 } }, // 17
- { 0x6000, { 0x0417, 0x0408, 0 } }, // 18
- { 0x4001, { -2330, 0x0406, 1 } }, // 19
- { 0x6000, { 0x0419, 0x0408, 0 } }, // 1a
- { 0x4001, { 6780, 0x0406, 1 } }, // 1b
- { 0x6000, { 0x041b, 0x0407, 0 } }, // 1c
- { 0x4001, { 7200, 0x0406, 1 } }, // 1d
- { 0x6000, { 0x041d, 0x0407, 0 } }, // 1e
- { 0x4001, { 8050, 0x0406, 1 } }, // 1f
- { 0x6000, { 0x041f, 0x0407, 0 } }, // 20
- { 0x4001, { 2960, 0x0406, 1 } }, // 21
- { 0x6000, { 0x0421, 0x0408, 0 } }, // 22
- { 0x4001, { 2330, 0x0406, 1 } }, // 23
- { 0x6000, { 0x0423, 0x0408, 0 } }, // 24
- { 0x4001, { 3800, 0x0406, 1 } }, // 25
- { 0x6000, { 0x0425, 0x0408, 0 } }, // 26
- { 0x4001, { -1060, 0x0406, 1 } }, // 27
- { 0x6000, { 0x0427, 0x0408, 0 } }, // 28
- { 0x4001, { -6350, 0x0406, 1 } }, // 29
- { 0x6000, { 0x0429, 0x0407, 0 } }, // 2a
- { 0x4001, { -640, 0x0406, 1 } }, // 2b
- { 0x6000, { 0x042b, 0x0408, 0 } } // 2c
-};
-static const mso_CustomShape msoActionButtonMovie =
-{
- (SvxMSDffVertPair*)mso_sptActionButtonMovieVert, sizeof( mso_sptActionButtonMovieVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptActionButtonMovieSegm, sizeof( mso_sptActionButtonMovieSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptActionButtonMovieCalc, sizeof( mso_sptActionButtonMovieCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault1400,
- (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptSmileyFaceVert[] = // adj value 15510 - 17520
-{
- { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
- { 7305, 7515 }, { 1165, 1165 }, { 0, 360 },
- { 14295, 7515 }, { 1165, 1165 }, { 0, 360 },
- { 4870, 1 MSO_I }, { 8680, 2 MSO_I }, { 12920, 2 MSO_I }, { 16730, 1 MSO_I }
-};
-static const sal_uInt16 mso_sptSmileyFaceSegm[] =
-{
- 0xa203, 0x6000, 0x8000,
- 0xa203, 0x6000, 0x8000,
- 0xa203, 0x6000, 0x8000,
- 0x4000, 0x2001, 0xaa00, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptSmileyFaceCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 15510 } },
- { 0x8000, { 17520, 0, 0x400 } },
- { 0x4000, { 15510, 0x400, 0 } }
-};
-
-static const SvxMSDffTextRectangles mso_sptSmileyFaceTextRect[] =
-{
- { { 0, 1 MSO_I }, { 4 MSO_I, 21600 } }
-};
-static const sal_Int32 mso_sptSmileyFaceDefault[] =
-{
- 1, 17520
-};
-static const SvxMSDffHandle mso_sptSmileyHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 15510, 17520 }
-};
-static const mso_CustomShape msoSmileyFace =
-{
- (SvxMSDffVertPair*)mso_sptSmileyFaceVert, sizeof( mso_sptSmileyFaceVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptSmileyFaceSegm, sizeof( mso_sptSmileyFaceSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptSmileyFaceCalc, sizeof( mso_sptSmileyFaceCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptSmileyFaceDefault,
- (SvxMSDffTextRectangles*)mso_sptEllipseTextRect, sizeof( mso_sptEllipseTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptSmileyHandle, sizeof( mso_sptSmileyHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptDonutVert[] = // adj value 0 - 10800
-{
- { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
- { 10800, 10800 }, { 1 MSO_I, 1 MSO_I }, { 0, 360 }
-};
-static const sal_uInt16 mso_sptDonutSegm[] =
-{
- 0xa203, 0x6000, 0xa203, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptDonutCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x8000, { 10800, 0, DFF_Prop_adjustValue } }
-};
-static const SvxMSDffHandle mso_sptDonutHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 10800, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoDonut =
-{
- (SvxMSDffVertPair*)mso_sptDonutVert, sizeof( mso_sptDonutVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptDonutSegm, sizeof( mso_sptDonutSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptDonutCalc, sizeof( mso_sptDonutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault5400,
- (SvxMSDffTextRectangles*)mso_sptEllipseTextRect, sizeof( mso_sptEllipseTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptDonutHandle, sizeof( mso_sptDonutHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptNoSmokingVert[] = // adj value 0 - 7200
-{
- { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
- { 0 MSO_I, 0 MSO_I }, { 1 MSO_I, 1 MSO_I },
- { 9 MSO_I, 0xa MSO_I }, { 0xb MSO_I, 0xc MSO_I }, { 0 MSO_I, 0 MSO_I }, { 1 MSO_I, 1 MSO_I },
- { 0xd MSO_I, 0xe MSO_I }, { 0xf MSO_I, 0x10 MSO_I }
-};
-static const sal_uInt16 mso_sptNoSmokingSegm[] =
-{
- 0xa203, 0x6000, 0xa404, 0x6000, 0xa404, 0x6000, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptNoSmokingCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 1
- { 0x8000, { 10800, 0, DFF_Prop_adjustValue } }, // 2
- { 0x2001, { DFF_Prop_adjustValue, 1, 2 } }, // 3
- { 0xa080, { 0x403, 0, 0x402 } }, // 4
- { 0x8000, { 10800, 0, 0x403 } }, // 5 x1
- { 0x4000, { 10800, 0x403, 0 } }, // 6 x2
- { 0x8000, { 10800, 0, 0x404 } }, // 7 y1
- { 0x4000, { 10800, 0x404, 0 } }, // 8 y2
- { 0x6081, { 0x405, 0x407, 45 } }, // 9
- { 0x6082, { 0x405, 0x407, 45 } }, // a
- { 0x6081, { 0x405, 0x408, 45 } }, // b
- { 0x6082, { 0x405, 0x408, 45 } }, // c
- { 0x6081, { 0x406, 0x408, 45 } }, // d
- { 0x6082, { 0x406, 0x408, 45 } }, // e
- { 0x6081, { 0x406, 0x407, 45 } }, // f
- { 0x6082, { 0x406, 0x407, 45 } } // 10
-};
-static const SvxMSDffHandle mso_sptNoSmokingHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 10800, 10800, 10800, 0, 7200, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoNoSmoking =
-{
- (SvxMSDffVertPair*)mso_sptNoSmokingVert, sizeof( mso_sptNoSmokingVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptNoSmokingSegm, sizeof( mso_sptNoSmokingSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptNoSmokingCalc, sizeof( mso_sptNoSmokingCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault2700,
- (SvxMSDffTextRectangles*)mso_sptEllipseTextRect, sizeof( mso_sptEllipseTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptNoSmokingHandle, sizeof( mso_sptNoSmokingHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptBlockArcVert[] = // adj value 0 (degrees)
-{ // adj value 1: 0 -> 10800;
- { 0, 0 }, { 21600, 21600 }, { 4 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I },
- { 5 MSO_I, 5 MSO_I }, { 6 MSO_I, 6 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I }
-};
-static const sal_uInt16 mso_sptBlockArcSegm[] =
-{
- 0xA404, 0xa504, 0x6001, 0x8000
-};
-static const sal_Int32 mso_sptBlockArcDefault[] =
-{
- 2, 180, 5400
-};
-static const SvxMSDffCalculationData mso_sptBlockArcCalc[] =
-{
- { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
- { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
- { 0x2000, { 0x400, 10800, 0 } },
- { 0x2000, { 0x401, 10800, 0 } },
- { 0x8000, { 21600, 0, 0x402 } },
- { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
- { 0x4000, { 10800, DFF_Prop_adjust2Value, 0 } },
- { 0x600a, { 0x405, DFF_Prop_adjustValue, 0 } },
- { 0x6009, { 0x405, DFF_Prop_adjustValue, 0 } }
-};
-static const SvxMSDffHandle mso_sptBlockArcHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
- 0x101, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoBlockArc =
-{
- (SvxMSDffVertPair*)mso_sptBlockArcVert, sizeof( mso_sptBlockArcVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptBlockArcSegm, sizeof( mso_sptBlockArcSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptBlockArcCalc, sizeof( mso_sptBlockArcCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptBlockArcDefault,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptBlockArcHandle, sizeof( mso_sptBlockArcHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-// aware : control points are always part of the bounding box
-static const SvxMSDffVertPair mso_sptHeartVert[] =
-{
- { 10800, 21599 }, { 321, 6886 }, { 70, 6036 }, // ppp
- { -9, 5766 }, { -1, 5474 }, { 2, 5192 }, // ccp
- { 6, 4918 }, { 43, 4641 }, { 101, 4370 }, // ccp
- { 159, 4103 }, { 245, 3837 }, { 353, 3582 }, // ccp
- { 460, 3326 }, { 591, 3077 }, { 741, 2839 }, // ccp
- { 892, 2598 }, { 1066, 2369 }, { 1253, 2155 }, // ccp
- { 1443, 1938 }, { 1651, 1732 }, { 1874, 1543 }, // ccp
- { 2097, 1351 }, { 2337, 1174 }, { 2587, 1014 }, // ccp
- { 2839, 854 }, { 3106, 708 }, { 3380, 584 }, // ccp
- { 3656, 459 }, { 3945, 350 }, { 4237, 264 }, // ccp
- { 4533, 176 }, { 4838, 108 }, { 5144, 66 }, // ccp
- { 5454, 22 }, { 5771, 1 }, { 6086, 3 }, // ccp
- { 6407, 7 }, { 6731, 35 }, { 7048, 89 }, // ccp
- { 7374, 144 }, { 7700, 226 }, { 8015, 335 }, // ccp
- { 8344, 447 }, { 8667, 590 }, { 8972, 756 }, // ccp
- { 9297, 932 }, { 9613, 1135 }, { 9907, 1363 }, // ccp
- { 10224, 1609 }, { 10504, 1900 }, { 10802, 2169 }, // ccp
- { 11697, 1363 }, // p
- { 11971, 1116 }, { 12304, 934 }, { 12630, 756 }, // ccp
- { 12935, 590 }, { 13528, 450 }, { 13589, 335 }, // ccp
- { 13901, 226 }, { 14227, 144 }, { 14556, 89 }, // ccp
- { 14872, 35 }, { 15195, 7 }, { 15517, 3 }, // ccp
- { 15830, 0 }, { 16147, 22 }, { 16458, 66 }, // ccp
- { 16764, 109 }, { 17068, 177 }, { 17365, 264 }, // ccp
- { 17658, 349 }, { 17946, 458 }, { 18222, 584 }, // ccp
- { 18496, 708 }, { 18762, 854 }, { 19015, 1014 }, // ccp
- { 19264, 1172 }, { 19504, 1349 }, { 19730, 1543 }, // ccp
- { 19950, 1731 }, { 20158, 1937 }, { 20350, 2155 }, // ccp
- { 20536, 2369 }, { 20710, 2598 }, { 20861, 2839 }, // ccp
- { 21010, 3074 }, { 21143, 3323 }, { 21251, 3582 }, // ccp
- { 21357, 3835 }, { 21443, 4099 }, { 21502, 4370 }, // ccp
- { 21561, 4639 }, { 21595, 4916 }, { 21600, 5192 }, // ccp
- { 21606, 5474 }, { 21584, 5760 }, { 21532, 6036 }, // ccp
- { 21478, 6326 }, { 21366, 6603 }, { 21282, 6887 }, // ccp
- { 10802, 21602 } // p
-};
-static const sal_uInt16 mso_sptHeartSegm[] =
-{
- 0x4000, 0x0002, 0x2010, 0x0001, 0x2010, 0x0001, 0x6001, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptHeartTextRect[] =
-{
- { { 5080, 2540 }, { 16520, 13550 } }
-};
-static const SvxMSDffVertPair mso_sptHeartGluePoints[] =
-{
- { 10800, 2180 }, { 3090, 10800 }, { 10800, 21600 }, { 18490, 10800 }
-};
-static const mso_CustomShape msoHeart =
-{
- (SvxMSDffVertPair*)mso_sptHeartVert, sizeof( mso_sptHeartVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptHeartSegm, sizeof( mso_sptHeartSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptHeartTextRect, sizeof( mso_sptHeartTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21615, 21602,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptHeartGluePoints, sizeof( mso_sptHeartGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptLightningBoldVert[] =
-{
- { 8458, 0 }, { 0, 3923 }, { 7564, 8416 }, { 4993, 9720 },
- { 12197, 13904 }, { 9987, 14934 }, { 21600, 21600 }, { 14768, 12911 },
- { 16558, 12016 }, { 11030, 6840 }, { 12831, 6120 }, { 8458, 0 }
-};
-static const SvxMSDffTextRectangles mso_sptLightningBoldTextRect[] =
-{
- { { 8680, 7410 }, { 13970, 14190 } }
-};
-static const SvxMSDffVertPair mso_sptLightningBoldGluePoints[] =
-{
- { 8458, 0 }, { 0, 3923 }, { 4993, 9720 }, { 9987, 14934 }, { 21600, 21600 },
- { 16558, 12016 }, { 12831, 6120 }
-};
-static const mso_CustomShape msoLightningBold =
-{
- (SvxMSDffVertPair*)mso_sptLightningBoldVert, sizeof( mso_sptLightningBoldVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptLightningBoldTextRect, sizeof( mso_sptLightningBoldTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptLightningBoldGluePoints, sizeof( mso_sptLightningBoldGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptSunVert[] = // adj value 2700 -> 10125
-{
- { 0, 10800 }, { 4 MSO_I, 8 MSO_I }, { 4 MSO_I, 9 MSO_I },
- { 0x0a MSO_I, 0x0b MSO_I }, { 0x0c MSO_I, 0x0d MSO_I }, { 0x0e MSO_I, 0x0f MSO_I },
- { 0x10 MSO_I, 0x11 MSO_I }, { 0x12 MSO_I, 0x13 MSO_I }, { 0x14 MSO_I, 0x15 MSO_I },
- { 0x16 MSO_I, 0x17 MSO_I }, { 0x18 MSO_I, 0x19 MSO_I }, { 0x1a MSO_I, 0x1b MSO_I },
- { 0x1c MSO_I, 0x1d MSO_I }, { 0x1e MSO_I, 0x1f MSO_I }, { 0x20 MSO_I, 0x21 MSO_I },
- { 0x22 MSO_I, 0x23 MSO_I }, { 0x24 MSO_I, 0x25 MSO_I }, { 0x26 MSO_I, 0x27 MSO_I },
- { 0x28 MSO_I, 0x29 MSO_I }, { 0x2a MSO_I, 0x2b MSO_I }, { 0x2c MSO_I, 0x2d MSO_I },
- { 0x2e MSO_I, 0x2f MSO_I }, { 0x30 MSO_I, 0x31 MSO_I }, { 0x32 MSO_I, 0x33 MSO_I },
- { 10800, 10800 }, { 0x36 MSO_I, 0x36 MSO_I }, { 0, 360 }
-};
-static const sal_uInt16 mso_sptSunSegm[] =
-{
- 0x4000, 0x0002, 0x6001, 0x8000,
- 0x4000, 0x0002, 0x6001, 0x8000,
- 0x4000, 0x0002, 0x6001, 0x8000,
- 0x4000, 0x0002, 0x6001, 0x8000,
- 0x4000, 0x0002, 0x6001, 0x8000,
- 0x4000, 0x0002, 0x6001, 0x8000,
- 0x4000, 0x0002, 0x6001, 0x8000,
- 0x4000, 0x0002, 0x6001, 0x8000,
- 0xa203, 0x6000, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptSunCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
- { 0x2000, { DFF_Prop_adjustValue, 0, 2700 } },
- { 0x2001, { 0x402, 5080, 7425 } },
- { 0x2000, { 0x403, 2540, 0 } },
- { 0x8000, { 10125, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x405, 2120, 7425 } },
- { 0x2000, { 0x406, 210, 0 } },
- { 0x4000, { 10800, 0x407, 0 } }, // y1 (0x8)
- { 0x8000, { 10800, 0, 0x407 } }, // y2 (0x9)
- { 0x0081, { 0, 10800, 45 } }, // 0xa
- { 0x0082, { 0, 10800, 45 } }, // 0xb
- { 0x6081, { 0x404, 0x408, 45 } }, // 0xc
- { 0x6082, { 0x404, 0x408, 45 } }, // 0xd
- { 0x6081, { 0x404, 0x409, 45 } }, // 0xe
- { 0x6082, { 0x404, 0x409, 45 } }, // 0xf
- { 0x0081, { 0, 10800, 90 } }, // 0x10
- { 0x0082, { 0, 10800, 90 } }, // 0x11
- { 0x6081, { 0x404, 0x408, 90 } }, // 0x12
- { 0x6082, { 0x404, 0x408, 90 } }, // 0x13
- { 0x6081, { 0x404, 0x409, 90 } }, // 0x14
- { 0x6082, { 0x404, 0x409, 90 } }, // 0x15
- { 0x0081, { 0, 10800, 135 } }, // 0x16
- { 0x0082, { 0, 10800, 135 } }, // 0x17
- { 0x6081, { 0x404, 0x408, 135 } }, // 0x18
- { 0x6082, { 0x404, 0x408, 135 } }, // 0x19
- { 0x6081, { 0x404, 0x409, 135 } }, // 0x1a
- { 0x6082, { 0x404, 0x409, 135 } }, // 0x1b
- { 0x0081, { 0, 10800, 180 } }, // 0x1c
- { 0x0082, { 0, 10800, 180 } }, // 0x1d
- { 0x6081, { 0x404, 0x408, 180 } }, // 0x1e
- { 0x6082, { 0x404, 0x408, 180 } }, // 0x1f
- { 0x6081, { 0x404, 0x409, 180 } }, // 0x20
- { 0x6082, { 0x404, 0x409, 180 } }, // 0x21
- { 0x0081, { 0, 10800, 225 } }, // 0x22
- { 0x0082, { 0, 10800, 225 } }, // 0x23
- { 0x6081, { 0x404, 0x408, 225 } }, // 0x24
- { 0x6082, { 0x404, 0x408, 225 } }, // 0x25
- { 0x6081, { 0x404, 0x409, 225 } }, // 0x26
- { 0x6082, { 0x404, 0x409, 225 } }, // 0x27
- { 0x0081, { 0, 10800, 270 } }, // 0x28
- { 0x0082, { 0, 10800, 270 } }, // 0x29
- { 0x6081, { 0x404, 0x408, 270 } }, // 0x2a
- { 0x6082, { 0x404, 0x408, 270 } }, // 0x2b
- { 0x6081, { 0x404, 0x409, 270 } }, // 0x2c
- { 0x6082, { 0x404, 0x409, 270 } }, // 0x2d
- { 0x0081, { 0, 10800, 315 } }, // 0x2e
- { 0x0082, { 0, 10800, 315 } }, // 0x2f
- { 0x6081, { 0x404, 0x408, 315 } }, // 0x30
- { 0x6082, { 0x404, 0x408, 315 } }, // 0x31
- { 0x6081, { 0x404, 0x409, 315 } }, // 0x32
- { 0x6082, { 0x404, 0x409, 315 } }, // 0x33
- { 0x2081, { DFF_Prop_adjustValue, 10800, 45 } }, // 0x34 ( textbox )
- { 0x2081, { DFF_Prop_adjustValue, 10800, 225 } }, // 0x35
- { 0x8000, { 10800, 0, DFF_Prop_adjustValue } }
-};
-static const SvxMSDffTextRectangles mso_sptSunTextRect[] =
-{
- { { 0x34 MSO_I, 0x34 MSO_I }, { 0x35 MSO_I, 0x35 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptSunHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 10800, 10800, 10800, 2700, 10125, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoSun =
-{
- (SvxMSDffVertPair*)mso_sptSunVert, sizeof( mso_sptSunVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptSunSegm, sizeof( mso_sptSunSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptSunCalc, sizeof( mso_sptSunCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault5400,
- (SvxMSDffTextRectangles*)mso_sptSunTextRect, sizeof( mso_sptSunTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptSunHandle, sizeof( mso_sptSunHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptMoonVert[] = // adj value 0 -> 18900
-{
- { 21600, 0 },
- { 3 MSO_I, 4 MSO_I }, { 0 MSO_I, 5080 }, { 0 MSO_I, 10800 }, // ccp
- { 0 MSO_I, 16520 }, { 3 MSO_I, 5 MSO_I }, { 21600, 21600 }, // ccp
- { 9740, 21600 }, { 0, 16730 }, { 0, 10800 }, // ccp
- { 0, 4870 }, { 9740, 0 }, { 21600, 0 } // ccp
-};
-static const sal_uInt16 mso_sptMoonSegm[] =
-{
- 0x4000, 0x2004, 0x6000, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptMoonCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x401, 1, 2 } },
- { 0x6000, { 0x402, DFF_Prop_adjustValue, 0 } },
- { 0x2001, { DFF_Prop_adjustValue, 1794, 10000 } },
- { 0x8000, { 21600, 0, 0x0404 } },
- { 0x2001, { DFF_Prop_adjustValue, 400, 18900 } },
- { 0x8081, { 0, 10800, 0x406 } },
- { 0x8082, { 0, 10800, 0x406 } },
- { 0x6000, { 0x407, 0x407, 0 } },
- { 0x8000, { 21600, 0, 0x408 } }
-};
-static const SvxMSDffTextRectangles mso_sptMoonTextRect[] =
-{
- { { 9 MSO_I, 8 MSO_I }, { 0 MSO_I, 0xa MSO_I } }
-};
-static const SvxMSDffVertPair mso_sptMoonGluePoints[] =
-{
- { 21600, 0 }, { 0, 10800 }, { 21600, 21600 }, { 0 MSO_I, 10800 }
-};
-static const SvxMSDffHandle mso_sptMoonHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 10800, 10800, 10800, 0, 18900, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoMoon =
-{
- (SvxMSDffVertPair*)mso_sptMoonVert, sizeof( mso_sptMoonVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptMoonSegm, sizeof( mso_sptMoonSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptMoonCalc, sizeof( mso_sptMoonCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault10800,
- (SvxMSDffTextRectangles*)mso_sptMoonTextRect, sizeof( mso_sptMoonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptMoonGluePoints, sizeof( mso_sptMoonGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptMoonHandle, sizeof( mso_sptMoonHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptBracketPairVert[] = // adj value 0 -> 10800
-{
- { 0 MSO_I, 0 }, { 0, 1 MSO_I }, // left top alignment
- { 0, 2 MSO_I }, { 0 MSO_I, 21600 }, // left bottom "
- { 3 MSO_I, 21600 }, { 21600, 2 MSO_I }, // right bottom "
- { 21600, 1 MSO_I }, { 3 MSO_I, 0 } // right top "
-};
-static const sal_uInt16 mso_sptBracketPairSegm[] =
-{
- 0x4000, 0xa701, 0x0001, 0xa801, 0x8000,
- 0x4000, 0xa701, 0x0001, 0xa801, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptBracketPairCalc[] =
-{
- { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
- { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
- { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
- { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
- { 0x2082, { DFF_Prop_adjustValue, 0, 45 } },
- { 0x2000, { 0x404, 0, 10800 } },
- { 0x8000, { 0, 0, DFF_Prop_adjustValue } },
- { 0xa000, { 0x406, 0, 0x405 } },
- { 0xa000, { DFF_Prop_geoLeft, 0, 0x407 } },
- { 0xa000, { DFF_Prop_geoTop, 0, 0x407 } },
- { 0x6000, { DFF_Prop_geoRight, 0x407, 0 } },
- { 0x6000, { DFF_Prop_geoBottom, 0x407, 0 } },
- { 0xa000, { DFF_Prop_geoLeft, 0, 0x405 } },
- { 0xa000, { DFF_Prop_geoTop, 0, 0x405 } },
- { 0x6000, { DFF_Prop_geoRight, 0x405, 0 } },
- { 0x6000, { DFF_Prop_geoBottom, 0x405, 0 } }
-};
-static const SvxMSDffTextRectangles mso_sptBracketPairTextRect[] =
-{
- { { 8 MSO_I, 9 MSO_I }, { 0xa MSO_I, 0xb MSO_I } }
-};
-static const SvxMSDffHandle mso_sptBracketPairHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
- 0x100, 0, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoBracketPair =
-{
- (SvxMSDffVertPair*)mso_sptBracketPairVert, sizeof( mso_sptBracketPairVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptBracketPairSegm, sizeof( mso_sptBracketPairSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptBracketPairCalc, sizeof( mso_sptBracketPairCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault3700,
- (SvxMSDffTextRectangles*)mso_sptBracketPairTextRect, sizeof( mso_sptBracketPairTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 0x80000000,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptBracketPairHandle, sizeof( mso_sptBracketPairHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const sal_uInt16 mso_sptPlaqueSegm[] =
-{
- 0x4000, 0xa801, 0x0001, 0xa701, 0x0001, 0xa801, 0x0001, 0xa701, 0x6000, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptPlaqueTextRect[] =
-{
- { { 0xc MSO_I, 0xd MSO_I }, { 0xe MSO_I, 0xf MSO_I } }
-};
-static const SvxMSDffHandle mso_sptPlaqueHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
- 0x100, 0, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoPlaque =
-{
- (SvxMSDffVertPair*)mso_sptBracketPairVert, sizeof( mso_sptBracketPairVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptPlaqueSegm, sizeof( mso_sptPlaqueSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptBracketPairCalc, sizeof( mso_sptBracketPairCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault3600,
- (SvxMSDffTextRectangles*)mso_sptPlaqueTextRect, sizeof( mso_sptPlaqueTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 10800,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptPlaqueHandle, sizeof( mso_sptPlaqueHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptBracePairVert[] = // adj value 0 -> 5400
-{
- { 4 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 0 MSO_I, 6 MSO_I }, { 0 ,10800 }, // left bracket
- { 0 MSO_I, 7 MSO_I }, { 0 MSO_I, 2 MSO_I }, { 4 MSO_I, 21600 },
- { 8 MSO_I, 21600 }, { 3 MSO_I, 2 MSO_I }, { 3 MSO_I, 7 MSO_I }, { 21600, 10800 }, // right bracket
- { 3 MSO_I, 6 MSO_I }, { 3 MSO_I, 1 MSO_I }, { 8 MSO_I, 0 }
-};
-static const sal_uInt16 mso_sptBracePairSegm[] =
-{
- 0x4000, 0xa701, 0x0001, 0xa801, 0xa701, 0x0001, 0xa801, 0x8000,
- 0x4000, 0xa701, 0x0001, 0xa801, 0xa701, 0x0001, 0xa801, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptBracePairCalc[] =
-{
- { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
- { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
- { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
- { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x400, 2, 1 } }, // 4
- { 0x2001, { DFF_Prop_adjustValue, 2, 1 } }, // 5
- { 0x8000, { 10800, 0, DFF_Prop_adjustValue } }, // 6
- { 0x8000, { 21600, 0, 0x406 } }, // 7
- { 0xa000, { DFF_Prop_geoRight, 0, 0x405 } }, // 8
- { 0x2001, { DFF_Prop_adjustValue, 1, 3 } }, // 9
- { 0x6000, { 0x409, DFF_Prop_adjustValue, 0 } }, // xa
- { 0x6000, { DFF_Prop_geoLeft, 0x40a, 0 } }, // xb
- { 0x6000, { DFF_Prop_geoTop, 0x409, 0 } }, // xc
- { 0xa000, { DFF_Prop_geoRight, 0, 0x40a } }, // xd
- { 0xa000, { DFF_Prop_geoBottom, 0, 0x409 } } // xe
-};
-static const SvxMSDffTextRectangles mso_sptBracePairTextRect[] =
-{
- { { 0xb MSO_I, 0xc MSO_I }, { 0xd MSO_I, 0xe MSO_I } }
-};
-static const SvxMSDffHandle mso_sptBracePairHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 5400 }
-};
-static const mso_CustomShape msoBracePair =
-{
- (SvxMSDffVertPair*)mso_sptBracePairVert, sizeof( mso_sptBracePairVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptBracePairSegm, sizeof( mso_sptBracePairSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptBracePairCalc, sizeof( mso_sptBracePairCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault1800,
- (SvxMSDffTextRectangles*)mso_sptBracePairTextRect, sizeof( mso_sptBracePairTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 0x80000000,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptBracePairHandle, sizeof( mso_sptBracePairHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffCalculationData mso_sptBracketCalc[] =
-{
- { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
- { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
- { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
- { 0x6000, { DFF_Prop_geoTop, 0x400, 0 } },
- { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }
-};
-static const sal_uInt16 mso_sptBracketSegm[] =
-{
- 0x4000, 0x2001, 0x0001, 0x2001, 0x8000
-};
-static const SvxMSDffVertPair mso_sptLeftBracketVert[] = // adj value 0 -> 10800
-{
- { 21600, 0 }, { 10800, 0 }, { 0, 3 MSO_I }, { 0, 1 MSO_I },
- { 0, 2 MSO_I }, { 0, 4 MSO_I }, { 10800, 21600 }, { 21600, 21600 }
-};
-static const SvxMSDffTextRectangles mso_sptLeftBracketTextRect[] =
-{
- { { 6350, 3 MSO_I }, { 21600, 4 MSO_I } }
-};
-static const SvxMSDffVertPair mso_sptLeftBracketGluePoints[] =
-{
- { 21600, 0 }, { 0, 10800 }, { 21600, 21600 }
-};
-static const SvxMSDffHandle mso_sptLeftBracketHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 10800 }
-};
-static const mso_CustomShape msoLeftBracket =
-{
- (SvxMSDffVertPair*)mso_sptLeftBracketVert, sizeof( mso_sptLeftBracketVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptBracketSegm, sizeof( mso_sptBracketSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptBracketCalc, sizeof( mso_sptBracketCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault1800,
- (SvxMSDffTextRectangles*)mso_sptLeftBracketTextRect, sizeof( mso_sptLeftBracketTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptLeftBracketGluePoints, sizeof( mso_sptLeftBracketGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptLeftBracketHandle, sizeof( mso_sptLeftBracketHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-static const SvxMSDffVertPair mso_sptRightBracketVert[] = // adj value 0 -> 10800
-{
- { 0, 0 }, { 10800, 0 }, { 21600, 3 MSO_I }, { 21600, 1 MSO_I },
- { 21600, 2 MSO_I }, { 21600, 4 MSO_I }, { 10800, 21600 }, { 0, 21600 }
-};
-static const SvxMSDffTextRectangles mso_sptRightBracketTextRect[] =
-{
- { { 0, 3 MSO_I }, { 15150, 4 MSO_I } }
-};
-static const SvxMSDffVertPair mso_sptRightBracketGluePoints[] =
-{
- { 0, 0 }, { 0, 21600 }, { 21600, 10800 }
-};
-static const SvxMSDffHandle mso_sptRightBracketHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 1, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 10800 }
-};
-static const mso_CustomShape msoRightBracket =
-{
- (SvxMSDffVertPair*)mso_sptRightBracketVert, sizeof( mso_sptRightBracketVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptBracketSegm, sizeof( mso_sptBracketSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptBracketCalc, sizeof( mso_sptBracketCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault1800,
- (SvxMSDffTextRectangles*)mso_sptRightBracketTextRect, sizeof( mso_sptRightBracketTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptRightBracketGluePoints, sizeof( mso_sptRightBracketGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptRightBracketHandle, sizeof( mso_sptRightBracketHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffCalculationData mso_sptBraceCalc[] =
-{
- { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0xa000, { 0x404, 0, DFF_Prop_adjustValue } },
- { 0xa000, { 0x404, 0, 0x400 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x6000, { 0x404, 0x400, 0 } },
- { 0x6000, { 0x404, DFF_Prop_adjustValue, 0 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
- { 0x8000, { 21600, 0, 0x400 } },
- { 0x2001, { DFF_Prop_adjustValue, 10000, 31953 } },
- { 0x8000, { 21600, 0, 0x409 } }
-};
-static const sal_uInt16 mso_sptBraceSegm[] =
-{
- 0x4000, 0x2001, 0x0001, 0x2002, 0x0001, 0x2001, 0x8000
-};
-static const sal_Int32 mso_sptBraceDefault[] =
-{
- 2, 1800, 10800
-};
-static const SvxMSDffVertPair mso_sptLeftBraceVert[] =
-{
- { 21600, 0 }, // p
- { 16200, 0 }, { 10800, 0 MSO_I }, { 10800, 1 MSO_I }, // ccp
- { 10800, 2 MSO_I }, // p
- { 10800, 3 MSO_I }, { 5400, 4 MSO_I }, { 0, 4 MSO_I }, // ccp
- { 5400, 4 MSO_I }, { 10800, 5 MSO_I }, { 10800, 6 MSO_I }, // ccp
- { 10800, 7 MSO_I }, // p
- { 10800, 8 MSO_I }, { 16200, 21600 }, { 21600, 21600 } // ccp
-};
-static const SvxMSDffTextRectangles mso_sptLeftBraceTextRect[] =
-{
- { { 13800, 9 MSO_I }, { 21600, 10 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptLeftBraceHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 5400 },
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0, 21600 }
-};
-static const mso_CustomShape msoLeftBrace = // adj value0 0 -> 5400
-{ // adj value1 0 -> 21600
- (SvxMSDffVertPair*)mso_sptLeftBraceVert, sizeof( mso_sptLeftBraceVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptBraceSegm, sizeof( mso_sptBraceSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptBraceCalc, sizeof( mso_sptBraceCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptBraceDefault,
- (SvxMSDffTextRectangles*)mso_sptLeftBraceTextRect, sizeof( mso_sptLeftBraceTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptLeftBracketGluePoints, sizeof( mso_sptLeftBracketGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptLeftBraceHandle, sizeof( mso_sptLeftBraceHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-static const SvxMSDffVertPair mso_sptRightBraceVert[] =
-{
- { 0, 0 }, // p
- { 5400, 0 }, { 10800, 0 MSO_I }, { 10800, 1 MSO_I }, // ccp
- { 10800, 2 MSO_I }, // p
- { 10800, 3 MSO_I }, { 16200, 4 MSO_I }, { 21600, 4 MSO_I }, // ccp
- { 16200, 4 MSO_I }, { 10800, 5 MSO_I }, { 10800, 6 MSO_I }, // ccp
- { 10800, 7 MSO_I }, // p
- { 10800, 8 MSO_I }, { 5400, 21600 }, { 0, 21600 } // ccp
-};
-static const SvxMSDffTextRectangles mso_sptRightBraceTextRect[] =
-{
- { { 0, 9 MSO_I }, { 7800, 10 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptRightBraceHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 5400 },
- { MSDFF_HANDLE_FLAGS_RANGE,
- 1, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0, 21600 }
-};
-static const mso_CustomShape msoRightBrace = // adj value0 0 -> 5400
-{ // adj value1 0 -> 21600
- (SvxMSDffVertPair*)mso_sptRightBraceVert, sizeof( mso_sptRightBraceVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptBraceSegm, sizeof( mso_sptBraceSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptBraceCalc, sizeof( mso_sptBraceCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptBraceDefault,
- (SvxMSDffTextRectangles*)mso_sptRightBraceTextRect, sizeof( mso_sptRightBraceTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptRightBracketGluePoints, sizeof( mso_sptRightBracketGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptRightBraceHandle, sizeof( mso_sptRightBraceHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptIrregularSeal1Vert[] =
-{
- { 10901, 5905 }, { 8458, 2399 }, { 7417, 6425 }, { 476, 2399 },
- { 4732, 7722 }, { 106, 8718 }, { 3828, 11880 }, { 243, 14689 },
- { 5772, 14041 }, { 4868, 17719 }, { 7819, 15730 }, { 8590, 21600 },
- { 10637, 15038 }, { 13349, 19840 }, { 14125, 14561 }, { 18248, 18195 },
- { 16938, 13044 }, { 21600, 13393 }, { 17710, 10579 }, { 21198, 8242 },
- { 16806, 7417 }, { 18482, 4560 }, { 14257, 5429 }, { 14623, 106 }, { 10901, 5905 }
-};
-static const SvxMSDffTextRectangles mso_sptIrregularSeal1TextRect[] =
-{
- { { 4680, 6570 }, { 16140, 13280 } }
-};
-static const SvxMSDffVertPair mso_sptIrregularSeal1GluePoints[] =
-{
- { 14623, 106 }, { 106, 8718 }, { 8590, 21600 }, { 21600, 13393 }
-};
-static const mso_CustomShape msoIrregularSeal1 =
-{
- (SvxMSDffVertPair*)mso_sptIrregularSeal1Vert, sizeof( mso_sptIrregularSeal1Vert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptIrregularSeal1TextRect, sizeof( mso_sptIrregularSeal1TextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptIrregularSeal1GluePoints, sizeof( mso_sptIrregularSeal1GluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptIrregularSeal2Vert[] =
-{
- { 11464, 4340 }, { 9722, 1887 }, { 8548, 6383 }, { 4503, 3626 },
- { 5373, 7816 }, { 1174, 8270 }, { 3934, 11592 }, { 0, 12875 },
- { 3329, 15372 }, { 1283, 17824 }, { 4804, 18239 }, { 4918, 21600 },
- { 7525, 18125 }, { 8698, 19712 }, { 9871, 17371 }, { 11614, 18844 },
- { 12178, 15937 }, { 14943, 17371 }, { 14640, 14348 }, { 18878, 15632 },
- { 16382, 12311 }, { 18270, 11292 }, { 16986, 9404 }, { 21600, 6646 },
- { 16382, 6533 }, { 18005, 3172 }, { 14524, 5778 }, { 14789, 0 },
- { 11464, 4340 }
-};
-static const SvxMSDffTextRectangles mso_sptIrregularSeal2TextRect[] =
-{
- { { 5400, 6570 }, { 14160, 15290 } }
-};
-static const SvxMSDffVertPair mso_sptIrregularSeal2GluePoints[] =
-{
- { 9722, 1887 }, { 0, 12875 }, { 11614, 18844 }, { 21600, 6646 }
-};
-static const mso_CustomShape msoIrregularSeal2 =
-{
- (SvxMSDffVertPair*)mso_sptIrregularSeal2Vert, sizeof( mso_sptIrregularSeal2Vert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptIrregularSeal2TextRect, sizeof( mso_sptIrregularSeal2TextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptIrregularSeal2GluePoints, sizeof( mso_sptIrregularSeal2GluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptSeal4Vert[] = // adjustment1 : 0 - 10800
-{
- { 0, 10800 }, { 4 MSO_I, 4 MSO_I }, { 10800, 0 }, { 3 MSO_I, 4 MSO_I },
- { 21600, 10800 }, { 3 MSO_I, 3 MSO_I }, { 10800, 21600 }, { 4 MSO_I, 3 MSO_I },
- { 0, 10800 }
-};
-static const SvxMSDffCalculationData mso_sptSeal4Calc[] =
-{
- { 0x0000, { 7600, 0, 0 } },
- { 0x6001, { 0x400, DFF_Prop_adjustValue, 10800 } },
- { 0xa000, { 0x400, 0, 0x401 } },
- { 0x4000, { 10800, 0x402, 0 } },
- { 0x8000, { 10800, 0, 0x402 } }
-};
-static const SvxMSDffTextRectangles mso_sptSeal4TextRect[] =
-{
- { { 4 MSO_I, 4 MSO_I }, { 3 MSO_I, 3 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptSealHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 10800, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoSeal4 =
-{
- (SvxMSDffVertPair*)mso_sptSeal4Vert, sizeof( mso_sptSeal4Vert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- (SvxMSDffCalculationData*)mso_sptSeal4Calc, sizeof( mso_sptSeal4Calc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault8100,
- (SvxMSDffTextRectangles*)mso_sptSeal4TextRect, sizeof( mso_sptSeal4TextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptSealHandle, sizeof( mso_sptSealHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptStarVert[] =
-{
- { 10797, 0 }, { 8278, 8256 }, { 0, 8256 }, { 6722, 13405 },
- { 4198, 21600 }, { 10797, 16580 }, { 17401, 21600 }, { 14878, 13405 },
- { 21600, 8256 }, { 13321, 8256 }, { 10797, 0 }
-};
-static const SvxMSDffTextRectangles mso_sptStarTextRect[] =
-{
- { { 6722, 8256 }, { 14878, 15460 } }
-};
-static const mso_CustomShape msoStar =
-{
- (SvxMSDffVertPair*)mso_sptStarVert, sizeof( mso_sptStarVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptStarTextRect, sizeof( mso_sptStarTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- NULL, 0 // handles
-};
-
-static const SvxMSDffCalculationData mso_sptSeal24Calc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0x00
- { 0x2081, { 0x400, 10800, 315 } }, // 0x01 ( textframe )
- { 0x2082, { 0x400, 10800, 315 } }, // 0x02
- { 0x2081, { 0x400, 10800, 135 } }, // 0x03
- { 0x2082, { 0x400, 10800, 135 } }, // 0x04
- { 0x0081, { 0, 10800, 0 } },
- { 0x0082, { 0, 10800, 0 } },
- { 0x2081, { 0x400, 10800, 7 } },
- { 0x2082, { 0x400, 10800, 7 } },
- { 0x0081, { 0, 10800, 15 } },
- { 0x0082, { 0, 10800, 15 } },
- { 0x2081, { 0x400, 10800, 22 } },
- { 0x2082, { 0x400, 10800, 22 } },
- { 0x0081, { 0, 10800, 30 } },
- { 0x0082, { 0, 10800, 30 } },
- { 0x2081, { 0x400, 10800, 37 } },
- { 0x2082, { 0x400, 10800, 37 } },
- { 0x0081, { 0, 10800, 45 } },
- { 0x0082, { 0, 10800, 45 } },
- { 0x2081, { 0x400, 10800, 52 } },
- { 0x2082, { 0x400, 10800, 52 } },
- { 0x0081, { 0, 10800, 60 } },
- { 0x0082, { 0, 10800, 60 } },
- { 0x2081, { 0x400, 10800, 67 } },
- { 0x2082, { 0x400, 10800, 67 } },
- { 0x0081, { 0, 10800, 75 } },
- { 0x0082, { 0, 10800, 75 } },
- { 0x2081, { 0x400, 10800, 82 } },
- { 0x2082, { 0x400, 10800, 82 } },
- { 0x0081, { 0, 10800, 90 } },
- { 0x0082, { 0, 10800, 90 } },
- { 0x2081, { 0x400, 10800, 97 } },
- { 0x2082, { 0x400, 10800, 97 } },
- { 0x0081, { 0, 10800, 105 } },
- { 0x0082, { 0, 10800, 105 } },
- { 0x2081, { 0x400, 10800, 112 } },
- { 0x2082, { 0x400, 10800, 112 } },
- { 0x0081, { 0, 10800, 120 } },
- { 0x0082, { 0, 10800, 120 } },
- { 0x2081, { 0x400, 10800, 127 } },
- { 0x2082, { 0x400, 10800, 127 } },
- { 0x0081, { 0, 10800, 135 } },
- { 0x0082, { 0, 10800, 135 } },
- { 0x2081, { 0x400, 10800, 142 } },
- { 0x2082, { 0x400, 10800, 142 } },
- { 0x0081, { 0, 10800, 150 } },
- { 0x0082, { 0, 10800, 150 } },
- { 0x2081, { 0x400, 10800, 157 } },
- { 0x2082, { 0x400, 10800, 157 } },
- { 0x0081, { 0, 10800, 165 } },
- { 0x0082, { 0, 10800, 165 } },
- { 0x2081, { 0x400, 10800, 172 } },
- { 0x2082, { 0x400, 10800, 172 } },
- { 0x0081, { 0, 10800, 180 } },
- { 0x0082, { 0, 10800, 180 } },
- { 0x2081, { 0x400, 10800, 187 } },
- { 0x2082, { 0x400, 10800, 187 } },
- { 0x0081, { 0, 10800, 195 } },
- { 0x0082, { 0, 10800, 195 } },
- { 0x2081, { 0x400, 10800, 202 } },
- { 0x2082, { 0x400, 10800, 202 } },
- { 0x0081, { 0, 10800, 210 } },
- { 0x0082, { 0, 10800, 210 } },
- { 0x2081, { 0x400, 10800, 217 } },
- { 0x2082, { 0x400, 10800, 217 } },
- { 0x0081, { 0, 10800, 225 } },
- { 0x0082, { 0, 10800, 225 } },
- { 0x2081, { 0x400, 10800, 232 } },
- { 0x2082, { 0x400, 10800, 232 } },
- { 0x0081, { 0, 10800, 240 } },
- { 0x0082, { 0, 10800, 240 } },
- { 0x2081, { 0x400, 10800, 247 } },
- { 0x2082, { 0x400, 10800, 247 } },
- { 0x0081, { 0, 10800, 255 } },
- { 0x0082, { 0, 10800, 255 } },
- { 0x2081, { 0x400, 10800, 262 } },
- { 0x2082, { 0x400, 10800, 262 } },
- { 0x0081, { 0, 10800, 270 } },
- { 0x0082, { 0, 10800, 270 } },
- { 0x2081, { 0x400, 10800, 277 } },
- { 0x2082, { 0x400, 10800, 277 } },
- { 0x0081, { 0, 10800, 285 } },
- { 0x0082, { 0, 10800, 285 } },
- { 0x2081, { 0x400, 10800, 292 } },
- { 0x2082, { 0x400, 10800, 292 } },
- { 0x0081, { 0, 10800, 300 } },
- { 0x0082, { 0, 10800, 300 } },
- { 0x2081, { 0x400, 10800, 307 } },
- { 0x2082, { 0x400, 10800, 307 } },
- { 0x0081, { 0, 10800, 315 } },
- { 0x0082, { 0, 10800, 315 } },
- { 0x2081, { 0x400, 10800, 322 } },
- { 0x2082, { 0x400, 10800, 322 } },
- { 0x0081, { 0, 10800, 330 } },
- { 0x0082, { 0, 10800, 330 } },
- { 0x2081, { 0x400, 10800, 337 } },
- { 0x2082, { 0x400, 10800, 337 } },
- { 0x0081, { 0, 10800, 345 } },
- { 0x0082, { 0, 10800, 345 } },
- { 0x2081, { 0x400, 10800, 352 } },
- { 0x2082, { 0x400, 10800, 352 } }
-};
-static const SvxMSDffVertPair mso_sptSeal8Vert[] = // adj value 0 -> 10800
-{
- { 5 MSO_I, 6 MSO_I }, { 11 MSO_I, 12 MSO_I }, { 17 MSO_I, 18 MSO_I }, { 23 MSO_I, 24 MSO_I },
- { 29 MSO_I, 30 MSO_I }, { 35 MSO_I, 36 MSO_I }, { 41 MSO_I, 42 MSO_I }, { 47 MSO_I, 48 MSO_I },
- { 53 MSO_I, 54 MSO_I }, { 59 MSO_I, 60 MSO_I }, { 65 MSO_I, 66 MSO_I }, { 71 MSO_I, 72 MSO_I },
- { 77 MSO_I, 78 MSO_I }, { 83 MSO_I, 84 MSO_I }, { 89 MSO_I, 90 MSO_I }, { 95 MSO_I, 96 MSO_I },
- { 5 MSO_I, 6 MSO_I }
-};
-static const SvxMSDffTextRectangles mso_sptSealTextRect[] =
-{
- { { 1 MSO_I, 2 MSO_I }, { 3 MSO_I, 4 MSO_I } }
-};
-static const mso_CustomShape msoSeal8 =
-{
- (SvxMSDffVertPair*)mso_sptSeal8Vert, sizeof( mso_sptSeal8Vert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- (SvxMSDffCalculationData*)mso_sptSeal24Calc, sizeof( mso_sptSeal24Calc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault2500,
- (SvxMSDffTextRectangles*)mso_sptSealTextRect, sizeof( mso_sptSealTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptSealHandle, sizeof( mso_sptSealHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-static const SvxMSDffVertPair mso_sptSeal16Vert[] = // adj value 0 -> 10800
-{
- { 0x05 MSO_I, 0x06 MSO_I }, { 0x07 MSO_I, 0x08 MSO_I }, { 0x09 MSO_I, 0x0a MSO_I }, { 0x0b MSO_I, 0x0c MSO_I },
- { 0x0d MSO_I, 0x0e MSO_I }, { 0x0f MSO_I, 0x10 MSO_I }, { 0x11 MSO_I, 0x12 MSO_I }, { 0x13 MSO_I, 0x14 MSO_I },
- { 0x15 MSO_I, 0x16 MSO_I }, { 0x17 MSO_I, 0x18 MSO_I }, { 0x19 MSO_I, 0x1a MSO_I }, { 0x1b MSO_I, 0x1c MSO_I },
- { 0x1d MSO_I, 0x1e MSO_I }, { 0x1f MSO_I, 0x20 MSO_I }, { 0x21 MSO_I, 0x22 MSO_I }, { 0x23 MSO_I, 0x24 MSO_I },
- { 0x25 MSO_I, 0x26 MSO_I }, { 0x27 MSO_I, 0x28 MSO_I }, { 0x29 MSO_I, 0x2a MSO_I }, { 0x2b MSO_I, 0x2c MSO_I },
- { 0x2d MSO_I, 0x2e MSO_I }, { 0x2f MSO_I, 0x30 MSO_I }, { 0x31 MSO_I, 0x32 MSO_I }, { 0x33 MSO_I, 0x34 MSO_I },
- { 0x35 MSO_I, 0x36 MSO_I }, { 0x37 MSO_I, 0x38 MSO_I }, { 0x39 MSO_I, 0x3a MSO_I }, { 0x3b MSO_I, 0x3c MSO_I },
- { 0x3d MSO_I, 0x3e MSO_I }, { 0x3f MSO_I, 0x40 MSO_I }, { 0x41 MSO_I, 0x42 MSO_I }, { 0x43 MSO_I, 0x44 MSO_I },
- { 0x05 MSO_I, 0x06 MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptSeal16Calc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0x00
- { 0x2081, { 0x400, 10800, 315 } }, // 0x01 ( textframe )
- { 0x2082, { 0x400, 10800, 315 } }, // 0x02
- { 0x2081, { 0x400, 10800, 135 } }, // 0x03
- { 0x2082, { 0x400, 10800, 135 } }, // 0x04
- { 0x0081, { 0, 10800, 0 } },
- { 0x0082, { 0, 10800, 0 } },
- { 0x2081, { 0x400, 10800, 11 } },
- { 0x2082, { 0x400, 10800, 11 } },
- { 0x0081, { 0, 10800, 22 } },
- { 0x0082, { 0, 10800, 22 } },
- { 0x2081, { 0x400, 10800, 33 } },
- { 0x2082, { 0x400, 10800, 33 } },
- { 0x0081, { 0, 10800, 45 } },
- { 0x0082, { 0, 10800, 45 } },
- { 0x2081, { 0x400, 10800, 56 } },
- { 0x2082, { 0x400, 10800, 56 } },
- { 0x0081, { 0, 10800, 67 } },
- { 0x0082, { 0, 10800, 67 } },
- { 0x2081, { 0x400, 10800, 78 } },
- { 0x2082, { 0x400, 10800, 78 } },
- { 0x0081, { 0, 10800, 90 } },
- { 0x0082, { 0, 10800, 90 } },
- { 0x2081, { 0x400, 10800, 101 } },
- { 0x2082, { 0x400, 10800, 101 } },
- { 0x0081, { 0, 10800, 112 } },
- { 0x0082, { 0, 10800, 112 } },
- { 0x2081, { 0x400, 10800, 123 } },
- { 0x2082, { 0x400, 10800, 123 } },
- { 0x0081, { 0, 10800, 135 } },
- { 0x0082, { 0, 10800, 135 } },
- { 0x2081, { 0x400, 10800, 146 } },
- { 0x2082, { 0x400, 10800, 146 } },
- { 0x0081, { 0, 10800, 157 } },
- { 0x0082, { 0, 10800, 157 } },
- { 0x2081, { 0x400, 10800, 168 } },
- { 0x2082, { 0x400, 10800, 168 } },
- { 0x0081, { 0, 10800, 180 } },
- { 0x0082, { 0, 10800, 180 } },
- { 0x2081, { 0x400, 10800, 191 } },
- { 0x2082, { 0x400, 10800, 191 } },
- { 0x0081, { 0, 10800, 202 } },
- { 0x0082, { 0, 10800, 202 } },
- { 0x2081, { 0x400, 10800, 213 } },
- { 0x2082, { 0x400, 10800, 213 } },
- { 0x0081, { 0, 10800, 225 } },
- { 0x0082, { 0, 10800, 225 } },
- { 0x2081, { 0x400, 10800, 236 } },
- { 0x2082, { 0x400, 10800, 236 } },
- { 0x0081, { 0, 10800, 247 } },
- { 0x0082, { 0, 10800, 247 } },
- { 0x2081, { 0x400, 10800, 258 } },
- { 0x2082, { 0x400, 10800, 258 } },
- { 0x0081, { 0, 10800, 270 } },
- { 0x0082, { 0, 10800, 270 } },
- { 0x2081, { 0x400, 10800, 281 } },
- { 0x2082, { 0x400, 10800, 281 } },
- { 0x0081, { 0, 10800, 292 } },
- { 0x0082, { 0, 10800, 292 } },
- { 0x2081, { 0x400, 10800, 303 } },
- { 0x2082, { 0x400, 10800, 303 } },
- { 0x0081, { 0, 10800, 315 } },
- { 0x0082, { 0, 10800, 315 } },
- { 0x2081, { 0x400, 10800, 326 } },
- { 0x2082, { 0x400, 10800, 326 } },
- { 0x0081, { 0, 10800, 337 } },
- { 0x0082, { 0, 10800, 337 } },
- { 0x2081, { 0x400, 10800, 348 } },
- { 0x2082, { 0x400, 10800, 348 } }
-};
-static const mso_CustomShape msoSeal16 =
-{
- (SvxMSDffVertPair*)mso_sptSeal16Vert, sizeof( mso_sptSeal16Vert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- (SvxMSDffCalculationData*)mso_sptSeal16Calc, sizeof( mso_sptSeal16Calc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault2500,
- (SvxMSDffTextRectangles*)mso_sptSealTextRect, sizeof( mso_sptSealTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptSealHandle, sizeof( mso_sptSealHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-static const SvxMSDffVertPair mso_sptSeal24Vert[] =
-{
- { 0x05 MSO_I, 0x06 MSO_I }, { 0x07 MSO_I, 0x08 MSO_I }, { 0x09 MSO_I, 0x0a MSO_I }, { 0x0b MSO_I, 0x0c MSO_I },
- { 0x0d MSO_I, 0x0e MSO_I }, { 0x0f MSO_I, 0x10 MSO_I }, { 0x11 MSO_I, 0x12 MSO_I }, { 0x13 MSO_I, 0x14 MSO_I },
- { 0x15 MSO_I, 0x16 MSO_I }, { 0x17 MSO_I, 0x18 MSO_I }, { 0x19 MSO_I, 0x1a MSO_I }, { 0x1b MSO_I, 0x1c MSO_I },
- { 0x1d MSO_I, 0x1e MSO_I }, { 0x1f MSO_I, 0x20 MSO_I }, { 0x21 MSO_I, 0x22 MSO_I }, { 0x23 MSO_I, 0x24 MSO_I },
- { 0x25 MSO_I, 0x26 MSO_I }, { 0x27 MSO_I, 0x28 MSO_I }, { 0x29 MSO_I, 0x2a MSO_I }, { 0x2b MSO_I, 0x2c MSO_I },
- { 0x2d MSO_I, 0x2e MSO_I }, { 0x2f MSO_I, 0x30 MSO_I }, { 0x31 MSO_I, 0x32 MSO_I }, { 0x33 MSO_I, 0x34 MSO_I },
- { 0x35 MSO_I, 0x36 MSO_I }, { 0x37 MSO_I, 0x38 MSO_I }, { 0x39 MSO_I, 0x3a MSO_I }, { 0x3b MSO_I, 0x3c MSO_I },
- { 0x3d MSO_I, 0x3e MSO_I }, { 0x3f MSO_I, 0x40 MSO_I }, { 0x41 MSO_I, 0x42 MSO_I }, { 0x43 MSO_I, 0x44 MSO_I },
- { 0x45 MSO_I, 0x46 MSO_I }, { 0x47 MSO_I, 0x48 MSO_I }, { 0x49 MSO_I, 0x4a MSO_I }, { 0x4b MSO_I, 0x4c MSO_I },
- { 0x4d MSO_I, 0x4e MSO_I }, { 0x4f MSO_I, 0x50 MSO_I }, { 0x51 MSO_I, 0x52 MSO_I }, { 0x53 MSO_I, 0x54 MSO_I },
- { 0x55 MSO_I, 0x56 MSO_I }, { 0x57 MSO_I, 0x58 MSO_I }, { 0x59 MSO_I, 0x5a MSO_I }, { 0x5b MSO_I, 0x5c MSO_I },
- { 0x5d MSO_I, 0x5e MSO_I }, { 0x5f MSO_I, 0x60 MSO_I }, { 0x61 MSO_I, 0x62 MSO_I }, { 0x63 MSO_I, 0x64 MSO_I },
- { 0x05 MSO_I, 0x06 MSO_I }
-};
-static const mso_CustomShape msoSeal24 =
-{
- (SvxMSDffVertPair*)mso_sptSeal24Vert, sizeof( mso_sptSeal24Vert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- (SvxMSDffCalculationData*)mso_sptSeal24Calc, sizeof( mso_sptSeal24Calc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault2500,
- (SvxMSDffTextRectangles*)mso_sptSealTextRect, sizeof( mso_sptSealTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptSealHandle, sizeof( mso_sptSealHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-static const SvxMSDffCalculationData mso_sptSeal32Calc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0x00
- { 0x2081, { 0x400, 10800, 315 } }, // 0x01 ( textframe )
- { 0x2082, { 0x400, 10800, 315 } }, // 0x02
- { 0x2081, { 0x400, 10800, 135 } }, // 0x03
- { 0x2082, { 0x400, 10800, 135 } }, // 0x04
- { 0x0081, { 0, 10800, 0 } },
- { 0x0082, { 0, 10800, 0 } },
- { 0x2081, { 0x400, 10800, 5 } },
- { 0x2082, { 0x400, 10800, 5 } },
- { 0x0081, { 0, 10800, 11 } },
- { 0x0082, { 0, 10800, 11 } },
- { 0x2081, { 0x400, 10800, 16 } },
- { 0x2082, { 0x400, 10800, 16 } },
- { 0x0081, { 0, 10800, 22 } },
- { 0x0082, { 0, 10800, 22 } },
- { 0x2081, { 0x400, 10800, 28 } },
- { 0x2082, { 0x400, 10800, 28 } },
- { 0x0081, { 0, 10800, 33 } },
- { 0x0082, { 0, 10800, 33 } },
- { 0x2081, { 0x400, 10800, 39 } },
- { 0x2082, { 0x400, 10800, 39 } },
- { 0x0081, { 0, 10800, 45 } },
- { 0x0082, { 0, 10800, 45 } },
- { 0x2081, { 0x400, 10800, 50 } },
- { 0x2082, { 0x400, 10800, 50 } },
- { 0x0081, { 0, 10800, 56 } },
- { 0x0082, { 0, 10800, 56 } },
- { 0x2081, { 0x400, 10800, 61 } },
- { 0x2082, { 0x400, 10800, 61 } },
- { 0x0081, { 0, 10800, 67 } },
- { 0x0082, { 0, 10800, 67 } },
- { 0x2081, { 0x400, 10800, 73 } },
- { 0x2082, { 0x400, 10800, 73 } },
- { 0x0081, { 0, 10800, 78 } },
- { 0x0082, { 0, 10800, 78 } },
- { 0x2081, { 0x400, 10800, 84 } },
- { 0x2082, { 0x400, 10800, 84 } },
- { 0x0081, { 0, 10800, 90 } },
- { 0x0082, { 0, 10800, 90 } },
- { 0x2081, { 0x400, 10800, 95 } },
- { 0x2082, { 0x400, 10800, 95 } },
- { 0x0081, { 0, 10800, 101 } },
- { 0x0082, { 0, 10800, 101 } },
- { 0x2081, { 0x400, 10800, 106 } },
- { 0x2082, { 0x400, 10800, 106 } },
- { 0x0081, { 0, 10800, 112 } },
- { 0x0082, { 0, 10800, 112 } },
- { 0x2081, { 0x400, 10800, 118 } },
- { 0x2082, { 0x400, 10800, 118 } },
- { 0x0081, { 0, 10800, 123 } },
- { 0x0082, { 0, 10800, 123 } },
- { 0x2081, { 0x400, 10800, 129 } },
- { 0x2082, { 0x400, 10800, 129 } },
- { 0x0081, { 0, 10800, 135 } },
- { 0x0082, { 0, 10800, 135 } },
- { 0x2081, { 0x400, 10800, 140 } },
- { 0x2082, { 0x400, 10800, 140 } },
- { 0x0081, { 0, 10800, 146 } },
- { 0x0082, { 0, 10800, 146 } },
- { 0x2081, { 0x400, 10800, 151 } },
- { 0x2082, { 0x400, 10800, 151 } },
- { 0x0081, { 0, 10800, 157 } },
- { 0x0082, { 0, 10800, 157 } },
- { 0x2081, { 0x400, 10800, 163 } },
- { 0x2082, { 0x400, 10800, 163 } },
- { 0x0081, { 0, 10800, 168 } },
- { 0x0082, { 0, 10800, 168 } },
- { 0x2081, { 0x400, 10800, 174 } },
- { 0x2082, { 0x400, 10800, 174 } },
- { 0x0081, { 0, 10800, 180 } },
- { 0x0082, { 0, 10800, 180 } },
- { 0x2081, { 0x400, 10800, 185 } },
- { 0x2082, { 0x400, 10800, 185 } },
- { 0x0081, { 0, 10800, 191 } },
- { 0x0082, { 0, 10800, 191 } },
- { 0x2081, { 0x400, 10800, 196 } },
- { 0x2082, { 0x400, 10800, 196 } },
- { 0x0081, { 0, 10800, 202 } },
- { 0x0082, { 0, 10800, 202 } },
- { 0x2081, { 0x400, 10800, 208 } },
- { 0x2082, { 0x400, 10800, 208 } },
- { 0x0081, { 0, 10800, 213 } },
- { 0x0082, { 0, 10800, 213 } },
- { 0x2081, { 0x400, 10800, 219 } },
- { 0x2082, { 0x400, 10800, 219 } },
- { 0x0081, { 0, 10800, 225 } },
- { 0x0082, { 0, 10800, 225 } },
- { 0x2081, { 0x400, 10800, 230 } },
- { 0x2082, { 0x400, 10800, 230 } },
- { 0x0081, { 0, 10800, 236 } },
- { 0x0082, { 0, 10800, 236 } },
- { 0x2081, { 0x400, 10800, 241 } },
- { 0x2082, { 0x400, 10800, 241 } },
- { 0x0081, { 0, 10800, 247 } },
- { 0x0082, { 0, 10800, 247 } },
- { 0x2081, { 0x400, 10800, 253 } },
- { 0x2082, { 0x400, 10800, 253 } },
- { 0x0081, { 0, 10800, 258 } },
- { 0x0082, { 0, 10800, 258 } },
- { 0x2081, { 0x400, 10800, 264 } },
- { 0x2082, { 0x400, 10800, 264 } },
- { 0x0081, { 0, 10800, 270 } },
- { 0x0082, { 0, 10800, 270 } },
- { 0x2081, { 0x400, 10800, 275 } },
- { 0x2082, { 0x400, 10800, 275 } },
- { 0x0081, { 0, 10800, 281 } },
- { 0x0082, { 0, 10800, 281 } },
- { 0x2081, { 0x400, 10800, 286 } },
- { 0x2082, { 0x400, 10800, 286 } },
- { 0x0081, { 0, 10800, 292 } },
- { 0x0082, { 0, 10800, 292 } },
- { 0x2081, { 0x400, 10800, 298 } },
- { 0x2082, { 0x400, 10800, 298 } },
- { 0x0081, { 0, 10800, 303 } },
- { 0x0082, { 0, 10800, 303 } },
- { 0x2081, { 0x400, 10800, 309 } },
- { 0x2082, { 0x400, 10800, 309 } },
- { 0x0081, { 0, 10800, 315 } },
- { 0x0082, { 0, 10800, 315 } },
- { 0x2081, { 0x400, 10800, 320 } },
- { 0x2082, { 0x400, 10800, 320 } },
- { 0x0081, { 0, 10800, 326 } },
- { 0x0082, { 0, 10800, 326 } },
- { 0x2081, { 0x400, 10800, 331 } },
- { 0x2082, { 0x400, 10800, 331 } },
- { 0x0081, { 0, 10800, 337 } },
- { 0x0082, { 0, 10800, 337 } },
- { 0x2081, { 0x400, 10800, 343 } },
- { 0x2082, { 0x400, 10800, 343 } },
- { 0x0081, { 0, 10800, 348 } },
- { 0x0082, { 0, 10800, 348 } },
- { 0x2081, { 0x400, 10800, 354 } },
- { 0x2082, { 0x400, 10800, 354 } }
-};
-static const SvxMSDffVertPair mso_sptSeal32Vert[] =
-{
- { 0x05 MSO_I, 0x06 MSO_I }, { 0x07 MSO_I, 0x08 MSO_I }, { 0x09 MSO_I, 0x0a MSO_I }, { 0x0b MSO_I, 0x0c MSO_I },
- { 0x0d MSO_I, 0x0e MSO_I }, { 0x0f MSO_I, 0x10 MSO_I }, { 0x11 MSO_I, 0x12 MSO_I }, { 0x13 MSO_I, 0x14 MSO_I },
- { 0x15 MSO_I, 0x16 MSO_I }, { 0x17 MSO_I, 0x18 MSO_I }, { 0x19 MSO_I, 0x1a MSO_I }, { 0x1b MSO_I, 0x1c MSO_I },
- { 0x1d MSO_I, 0x1e MSO_I }, { 0x1f MSO_I, 0x20 MSO_I }, { 0x21 MSO_I, 0x22 MSO_I }, { 0x23 MSO_I, 0x24 MSO_I },
- { 0x25 MSO_I, 0x26 MSO_I }, { 0x27 MSO_I, 0x28 MSO_I }, { 0x29 MSO_I, 0x2a MSO_I }, { 0x2b MSO_I, 0x2c MSO_I },
- { 0x2d MSO_I, 0x2e MSO_I }, { 0x2f MSO_I, 0x30 MSO_I }, { 0x31 MSO_I, 0x32 MSO_I }, { 0x33 MSO_I, 0x34 MSO_I },
- { 0x35 MSO_I, 0x36 MSO_I }, { 0x37 MSO_I, 0x38 MSO_I }, { 0x39 MSO_I, 0x3a MSO_I }, { 0x3b MSO_I, 0x3c MSO_I },
- { 0x3d MSO_I, 0x3e MSO_I }, { 0x3f MSO_I, 0x40 MSO_I }, { 0x41 MSO_I, 0x42 MSO_I }, { 0x43 MSO_I, 0x44 MSO_I },
- { 0x45 MSO_I, 0x46 MSO_I }, { 0x47 MSO_I, 0x48 MSO_I }, { 0x49 MSO_I, 0x4a MSO_I }, { 0x4b MSO_I, 0x4c MSO_I },
- { 0x4d MSO_I, 0x4e MSO_I }, { 0x4f MSO_I, 0x50 MSO_I }, { 0x51 MSO_I, 0x52 MSO_I }, { 0x53 MSO_I, 0x54 MSO_I },
- { 0x55 MSO_I, 0x56 MSO_I }, { 0x57 MSO_I, 0x58 MSO_I }, { 0x59 MSO_I, 0x5a MSO_I }, { 0x5b MSO_I, 0x5c MSO_I },
- { 0x5d MSO_I, 0x5e MSO_I }, { 0x5f MSO_I, 0x60 MSO_I }, { 0x61 MSO_I, 0x62 MSO_I }, { 0x63 MSO_I, 0x64 MSO_I },
- { 0x65 MSO_I, 0x66 MSO_I }, { 0x67 MSO_I, 0x68 MSO_I }, { 0x69 MSO_I, 0x6a MSO_I }, { 0x6b MSO_I, 0x6c MSO_I },
- { 0x6d MSO_I, 0x6e MSO_I }, { 0x6f MSO_I, 0x70 MSO_I }, { 0x71 MSO_I, 0x72 MSO_I }, { 0x73 MSO_I, 0x74 MSO_I },
- { 0x75 MSO_I, 0x76 MSO_I }, { 0x77 MSO_I, 0x78 MSO_I }, { 0x79 MSO_I, 0x7a MSO_I }, { 0x7b MSO_I, 0x7c MSO_I },
- { 0x7d MSO_I, 0x7e MSO_I }, { 0x7f MSO_I, 0x80 MSO_I }, { 0x81 MSO_I, 0x82 MSO_I }, { 0x83 MSO_I, 0x84 MSO_I },
- { 0x05 MSO_I, 0x06 MSO_I }
-};
-static const mso_CustomShape msoSeal32 =
-{
- (SvxMSDffVertPair*)mso_sptSeal32Vert, sizeof( mso_sptSeal32Vert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- (SvxMSDffCalculationData*)mso_sptSeal32Calc, sizeof( mso_sptSeal32Calc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault2500,
- (SvxMSDffTextRectangles*)mso_sptSealTextRect, sizeof( mso_sptSealTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptSealHandle, sizeof( mso_sptSealHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptRibbon2Vert[] = // adjustment1 : x 2700 - 8100 def 5400
-{ // adjustment2 : y 14400 - 21600 def 18900
- { 12 MSO_I, 1 MSO_I }, { 12 MSO_I, 13 MSO_I }, // pp
- { 12 MSO_I, 14 MSO_I }, { 15 MSO_I, 21600 }, { 16 MSO_I, 21600 }, // ccp
- { 0, 21600 }, { 2750, 7 MSO_I }, { 0, 2 MSO_I }, { 0 MSO_I, 2 MSO_I }, // pppp
- { 0 MSO_I, 4 MSO_I }, // p
- { 0 MSO_I, 5 MSO_I }, { 10 MSO_I, 0 }, { 11 MSO_I, 0 }, // ccp
- { 17 MSO_I, 0 }, // p
- { 18 MSO_I, 0 }, { 19 MSO_I, 5 MSO_I }, { 19 MSO_I, 4 MSO_I }, // ccp
- { 19 MSO_I, 2 MSO_I }, { 21600, 2 MSO_I }, { 18850, 7 MSO_I }, { 21600, 21600 }, // pppp
- { 20 MSO_I, 21600 }, // p
- { 21 MSO_I, 21600 }, { 22 MSO_I, 14 MSO_I }, { 22 MSO_I, 13 MSO_I }, // ccp
- { 22 MSO_I, 1 MSO_I }, { 12 MSO_I, 1 MSO_I }, { 12 MSO_I, 13 MSO_I }, // ppp
- { 12 MSO_I, 23 MSO_I }, { 15 MSO_I, 24 MSO_I }, { 16 MSO_I, 24 MSO_I }, // ccp
- { 11 MSO_I, 24 MSO_I }, // p
- { 10 MSO_I, 24 MSO_I }, { 0 MSO_I, 26 MSO_I }, { 0 MSO_I, 25 MSO_I }, // ccp
- { 0 MSO_I, 27 MSO_I }, { 10 MSO_I, 1 MSO_I }, { 11 MSO_I, 1 MSO_I }, // ccp
-
- { 22 MSO_I, 1 MSO_I }, { 22 MSO_I, 13 MSO_I }, // pp
- { 22 MSO_I, 23 MSO_I }, { 21 MSO_I, 24 MSO_I }, { 20 MSO_I, 24 MSO_I }, // ccp
- { 17 MSO_I, 24 MSO_I }, // p
- { 18 MSO_I, 24 MSO_I }, { 19 MSO_I, 26 MSO_I }, { 19 MSO_I, 25 MSO_I }, // ccp
- { 19 MSO_I, 27 MSO_I }, { 18 MSO_I, 1 MSO_I }, { 17 MSO_I, 1 MSO_I }, // ccp
-
- { 0 MSO_I, 25 MSO_I }, { 0 MSO_I, 2 MSO_I }, // pp
-
- { 19 MSO_I, 25 MSO_I }, { 19 MSO_I, 2 MSO_I } // pp
-};
-static const sal_uInt16 mso_sptRibbon2Segm[] =
-{
- 0x4000, 0x0001, 0x2001, 0x0005, 0x2001, 0x0001, 0x2001, 0x0005, 0x2001, 0x0001, 0x6001, 0x8000,
- 0x4000, 0x0001, 0x2001, 0x0001, 0x2002, 0x6001, 0x8000,
- 0x4000, 0x0001, 0x2001, 0x0001, 0x2002, 0x6001, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptRibbon2Calc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 00
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 01
- { 0x8000, { 21600, 0, 0x401 } }, // 02
- { 0x2001, { 0x402, 1, 2 } }, // 03
- { 0x2001, { 0x403, 1, 2 } }, // 04
- { 0x2001, { 0x404, 1, 2 } }, // 05
- { 0x2001, { 0x401, 1, 2 } }, // 06
- { 0x8000, { 21600, 0, 0x406 } }, // 07
- { 0x0000, { 420, 0, 0 } }, // 08
- { 0x2001, { 0x408, 2, 1 } }, // 09
- { 0x6000, { 0x400, 0x408, 0 } }, // 10
- { 0x6000, { 0x400, 0x409, 0 } }, // 11
- { 0x2000, { 0x400, 2700, 0 } }, // 12
- { 0x8000, { 21600, 0, 0x404 } }, // 13
- { 0x8000, { 21600, 0, 0x405 } }, // 14
- { 0xa000, { 0x40c, 0, 0x408 } }, // 15
- { 0xa000, { 0x40c, 0, 0x409 } }, // 16
-
- { 0x8000, { 21600, 0, 0x40b } }, // 17
- { 0x8000, { 21600, 0, 0x40a } }, // 18
- { 0x8000, { 21600, 0, 0x400 } }, // 19
- { 0x8000, { 21600, 0, 0x410 } }, // 20
- { 0x8000, { 21600, 0, 0x40f } }, // 21
- { 0x8000, { 21600, 0, 0x40c } }, // 22
-
- { 0xa000, { 0x40d, 0, 0x405 } }, // 23
- { 0x6000, { 0x401, 0x403, 0 } }, // 24
- { 0x6000, { 0x401, 0x404, 0 } }, // 25
- { 0x6000, { 0x419, 0x405, 0 } }, // 26
- { 0xa000, { 0x419, 0, 0x405 } } // 27
-};
-static const sal_Int32 mso_sptRibbon2Default[] =
-{
- 2, 5400, 18900
-};
-static const SvxMSDffTextRectangles mso_sptRibbon2TextRect[] =
-{
- { { 0 MSO_I, 0 }, { 19 MSO_I, 1 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptRibbon2Handle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0, 10800, 10800, 2700, 8100, 0x80000000, 0x7fffffff },
- { MSDFF_HANDLE_FLAGS_RANGE,
- 10800, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 14400, 21600 }
-};
-static const mso_CustomShape msoRibbon2 =
-{
- (SvxMSDffVertPair*)mso_sptRibbon2Vert, sizeof( mso_sptRibbon2Vert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptRibbon2Segm, sizeof( mso_sptRibbon2Segm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptRibbon2Calc, sizeof( mso_sptRibbon2Calc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptRibbon2Default,
- (SvxMSDffTextRectangles*)mso_sptRibbon2TextRect, sizeof( mso_sptRibbon2TextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptRibbon2Handle, sizeof( mso_sptRibbon2Handle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptRibbonVert[] =
-{
- { 0, 0 }, { 3 MSO_I, 0 },
- { 4 MSO_I, 11 MSO_I }, { 4 MSO_I, 10 MSO_I }, { 5 MSO_I, 10 MSO_I }, { 5 MSO_I, 11 MSO_I },
- { 6 MSO_I, 0 }, { 21600, 0 }, { 18 MSO_I, 14 MSO_I }, { 21600, 15 MSO_I }, { 9 MSO_I, 15 MSO_I }, { 9 MSO_I, 16 MSO_I }, { 8 MSO_I, 21600 }, { 1 MSO_I, 21600 },
- { 0 MSO_I, 16 MSO_I }, { 0 MSO_I, 15 MSO_I }, { 0, 15 MSO_I }, { 2700, 14 MSO_I },
-
- { 4 MSO_I, 11 MSO_I },
- { 3 MSO_I, 12 MSO_I }, { 1 MSO_I, 12 MSO_I },
- { 0 MSO_I, 13 MSO_I }, { 1 MSO_I, 10 MSO_I }, { 4 MSO_I, 10 MSO_I },
- { 5 MSO_I, 11 MSO_I },
- { 6 MSO_I, 12 MSO_I }, { 8 MSO_I, 12 MSO_I },
- { 9 MSO_I, 13 MSO_I }, { 8 MSO_I, 10 MSO_I }, { 5 MSO_I, 10 MSO_I },
- { 0 MSO_I, 13 MSO_I },
- { 0 MSO_I, 15 MSO_I },
- { 9 MSO_I, 13 MSO_I },
- { 9 MSO_I, 15 MSO_I }
-};
-static const sal_uInt16 mso_sptRibbonSegm[] =
-{
- 0x4000, 0x0001, 0xa701, 0x0003, 0xa801, 0x0005, 0xa801, 0x0001, 0xa701, 0x0003, 0x6000, 0x8000,
- 0x4000, 0xaa00, 0xa801, 0x0001, 0xa702, 0x0001, 0x8000,
- 0x4000, 0xaa00, 0xa801, 0x0001, 0xa702, 0x0001, 0x8000,
- 0x4000, 0xaa00, 0x0001, 0x8000,
- 0x4000, 0xaa00, 0x0001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptRibbonCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 00
- { 0x2000, { 0x400, 675, 0 } }, // 01
- { 0x2000, { 0x401, 675, 0 } }, // 02
- { 0x2000, { 0x402, 675, 0 } }, // 03
- { 0x2000, { 0x403, 675, 0 } }, // 04
- { 0x8000, { 21600, 0, 0x404 } }, // 05
- { 0x8000, { 21600, 0, 0x403 } }, // 06
- { 0x8000, { 21600, 0, 0x402 } }, // 07
- { 0x8000, { 21600, 0, 0x401 } }, // 08
- { 0x8000, { 21600, 0, 0x400 } }, // 09
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 10
- { 0x2001, { 0x40a, 1, 4 } }, // 11
- { 0x2001, { 0x40b, 2, 1 } }, // 12
- { 0x2001, { 0x40b, 3, 1 } }, // 13
- { 0x8000, { 10800, 0, 0x40c } }, // 14
- { 0x8000, { 21600, 0, 0x40a } }, // 15
- { 0x8000, { 21600, 0, 0x40b } }, // 16
- { 0x0001, { 21600, 1, 2 } }, // 17
- { 0x0000, { 21600, 0, 2700 } }, // 18
- { 0x2000, { 0x411, 0, 2700 } } // 19
-};
-static const sal_Int32 mso_sptRibbonDefault[] =
-{
- 2, 5400, 2700
-};
-static const SvxMSDffTextRectangles mso_sptRibbonTextRect[] =
-{
- { { 0 MSO_I, 10 MSO_I }, { 9 MSO_I, 21600 } }
-};
-static const SvxMSDffVertPair mso_sptRibbonGluePoints[] =
-{
- { 17 MSO_I, 10 MSO_I }, { 2700, 14 MSO_I }, { 17 MSO_I, 21600 }, { 18 MSO_I, 14 MSO_I }
-};
-static const SvxMSDffHandle mso_sptRibbonHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0, 10800, 10800, 2700, 8100, 0x80000000, 0x7fffffff },
- { MSDFF_HANDLE_FLAGS_RANGE,
- 10800, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0, 7200 }
-};
-static const mso_CustomShape msoRibbon =
-{
- (SvxMSDffVertPair*)mso_sptRibbonVert, sizeof( mso_sptRibbonVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptRibbonSegm, sizeof( mso_sptRibbonSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptRibbonCalc, sizeof( mso_sptRibbonCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptRibbonDefault,
- (SvxMSDffTextRectangles*)mso_sptRibbonTextRect, sizeof( mso_sptRibbonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptRibbonGluePoints, sizeof( mso_sptRibbonGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptRibbonHandle, sizeof( mso_sptRibbonHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptVerticalScrollVert[] = // adjustment1 : 0 - 5400
-{
- { 1 MSO_I, 21600 }, { 0, 11 MSO_I }, { 1 MSO_I, 12 MSO_I }, { 0 MSO_I, 12 MSO_I },
- { 0 MSO_I, 1 MSO_I }, { 4 MSO_I, 0 }, { 2 MSO_I, 0 }, { 21600, 1 MSO_I },
- { 2 MSO_I, 0 MSO_I }, { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 11 MSO_I }, { 5 MSO_I, 21600 },
-
- { 6 MSO_I, 1 MSO_I }, { 4 MSO_I, 0 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 4 MSO_I, 1 MSO_I },
-
- { 0 MSO_I, 11 MSO_I }, { 1 MSO_I, 21600 }, { 0, 11 MSO_I }, { 1 MSO_I, 12 MSO_I },
- { 9 MSO_I, 10 MSO_I }, { 1 MSO_I, 11 MSO_I },
-
- { 4 MSO_I, 0 }, { 6 MSO_I, 1 MSO_I },
-
- { 0 MSO_I, 12 MSO_I }, { 0 MSO_I, 11 MSO_I },
-
- { 4 MSO_I, 0 MSO_I },
- { 2 MSO_I, 0 MSO_I }
-};
-static const sal_uInt16 mso_sptVerticalScrollSegm[] =
-{
- 0x4000, 0xa702, 0x0002, 0xa801, 0x0001, 0xa702, 0x0002, 0xa801, 0x6001, 0x8000,
- 0x4000, 0xa801, 0xa702, 0x6000, 0x8000,
- 0x4000, 0xa803, 0xa702, 0x6001, 0x8000,
- 0x4000, 0xa701, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptScrollCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2001, { 0x400, 1, 2 } },
- { 0xa000, { DFF_Prop_geoRight, 0, 0x401 } },
- { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
- { 0x6000, { 0x400, 0x401, 0 } },
- { 0xa000, { DFF_Prop_geoRight, 0, 0x404 } },
- { 0x2001, { 0x400, 2, 1 } },
- { 0x2001, { 0x401, 1, 2 } },
- { 0x6000, { 0x400, 0x407, 0 } },
- { 0x6000, { 0x401, 0x407, 0 } },
- { 0xa000, { DFF_Prop_geoBottom, 0, 0x409 } },
- { 0xa000, { DFF_Prop_geoBottom, 0, 0x401 } },
- { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } },
- { 0xa000, { DFF_Prop_geoBottom, 0, 0x404 } }
-};
-static const SvxMSDffTextRectangles mso_sptScrollTextRect[] =
-{
- { { 0 MSO_I, 0 MSO_I }, { 3 MSO_I, 12 MSO_I } }
-};
-static const SvxMSDffHandle mso_sptVerticalScrollHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 5400 }
-};
-static const mso_CustomShape msoVerticalScroll =
-{
- (SvxMSDffVertPair*)mso_sptVerticalScrollVert, sizeof( mso_sptVerticalScrollVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptVerticalScrollSegm, sizeof( mso_sptVerticalScrollSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptScrollCalc, sizeof( mso_sptScrollCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault2700,
- (SvxMSDffTextRectangles*)mso_sptScrollTextRect, sizeof( mso_sptScrollTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 11000, 10800,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptVerticalScrollHandle, sizeof( mso_sptVerticalScrollHandle ) / sizeof( SvxMSDffHandle )
-};
-static const SvxMSDffVertPair mso_sptHorizontalScrollVert[] = // adjustment1 : 0 - 5400
-{
- { 0, 4 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 1 MSO_I },
- { 2 MSO_I, 0 }, { 21600, 1 MSO_I }, { 21600, 13 MSO_I }, { 2 MSO_I, 12 MSO_I },
- { 0 MSO_I, 12 MSO_I }, { 0 MSO_I, 11 MSO_I }, { 1 MSO_I, 21600 }, { 0, 11 MSO_I },
-
- { 1 MSO_I, 4 MSO_I }, { 9 MSO_I, 8 MSO_I }, { 0 MSO_I, 4 MSO_I }, { 1 MSO_I, 6 MSO_I },
-
- { 2 MSO_I, 1 MSO_I }, { 3 MSO_I, 9 MSO_I }, { 3 MSO_I, 1 MSO_I }, { 2 MSO_I, 0 },
- { 21600, 1 MSO_I }, { 2 MSO_I, 0 MSO_I },
-
- { 1 MSO_I, 6 MSO_I },
- { 0, 4 MSO_I },
-
- { 2 MSO_I, 0 MSO_I },
- { 3 MSO_I, 0 MSO_I },
-
- { 0 MSO_I, 4 MSO_I },
- { 0 MSO_I, 11 MSO_I }
-};
-static const sal_uInt16 mso_sptHorizontalScrollSegm[] =
-{
- 0x4000, 0xa801, 0x0002, 0xa802, 0x0001, 0xa801, 0x0002, 0xa802, 0x6001, 0x8000,
- 0x4000, 0xa803, 0x6000, 0x8000,
- 0x4000, 0xa803, 0xa702, 0x6000, 0x8000,
- 0x4000, 0xa701, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffHandle mso_sptHorizontalScrollHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0, 10800, 10800, 0, 5400, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoHorizontalScroll =
-{
- (SvxMSDffVertPair*)mso_sptHorizontalScrollVert, sizeof( mso_sptHorizontalScrollVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptHorizontalScrollSegm, sizeof( mso_sptHorizontalScrollSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptScrollCalc, sizeof( mso_sptScrollCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault2700,
- (SvxMSDffTextRectangles*)mso_sptScrollTextRect, sizeof( mso_sptScrollTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 10800, 11000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptHorizontalScrollHandle, sizeof( mso_sptHorizontalScrollHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartProcessVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 }
-};
-static const mso_CustomShape msoFlowChartProcess =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartProcessVert, sizeof( mso_sptFlowChartProcessVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartAlternateProcessVert[] =
-{
- { 0, 2 MSO_I }, { 0 MSO_I, 0 }, { 1 MSO_I, 0 }, { 21600, 2 MSO_I },
- { 21600, 3 MSO_I }, { 1 MSO_I, 21600 }, { 0 MSO_I, 21600 }, { 0, 3 MSO_I }
-};
-static const sal_uInt16 mso_sptFlowChartAlternateProcessSegm[] =
-{
- 0x4000, 0xa801, 0x0001, 0xa701, 0x0001, 0xa801, 0x0001, 0xa701, 0x6000, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptFlowChartAlternateProcessCalc[] =
-{
- { 0x2000, { DFF_Prop_geoLeft, 2540, 0 } },
- { 0x2000, { DFF_Prop_geoRight, 0, 2540 } },
- { 0x2000, { DFF_Prop_geoTop, 2540, 0 } },
- { 0x2000, { DFF_Prop_geoBottom, 0, 2540 } },
- { 0x2000, { DFF_Prop_geoLeft, 800, 0 } },
- { 0x2000, { DFF_Prop_geoRight, 0, 800 } },
- { 0x2000, { DFF_Prop_geoTop, 800, 0 } },
- { 0x2000, { DFF_Prop_geoBottom,0, 800 } }
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartAlternateProcessTextRect[] =
-{
- { { 4 MSO_I, 6 MSO_I }, { 5 MSO_I, 7 MSO_I } }
-};
-static const mso_CustomShape msoFlowChartAlternateProcess =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartAlternateProcessVert, sizeof( mso_sptFlowChartAlternateProcessVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartAlternateProcessSegm, sizeof( mso_sptFlowChartAlternateProcessSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptFlowChartAlternateProcessCalc, sizeof( mso_sptFlowChartAlternateProcessCalc ) / sizeof( SvxMSDffCalculationData ),
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartAlternateProcessTextRect, sizeof( mso_sptFlowChartAlternateProcessTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartDecisionVert[] =
-{
- { 0, 10800 }, { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 }, { 0, 10800 }
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartDecisionTextRect[] =
-{
- { { 5400, 5400 }, { 16200, 16200 } }
-};
-static const mso_CustomShape msoFlowChartDecision =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartDecisionVert, sizeof( mso_sptFlowChartDecisionVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartDecisionTextRect, sizeof( mso_sptFlowChartDecisionTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartInputOutputVert[] =
-{
- { 4230, 0 }, { 21600, 0 }, { 17370, 21600 }, { 0, 21600 }, { 4230, 0 }
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartInputOutputTextRect[] =
-{
- { { 4230, 0 }, { 17370, 21600 } }
-};
-static const SvxMSDffVertPair mso_sptFlowChartInputOutputGluePoints[] =
-{
- { 12960, 0 }, { 10800, 0 }, { 2160, 10800 }, { 8600, 21600 }, { 10800, 21600 }, { 19400, 10800 }
-};
-static const mso_CustomShape msoFlowChartInputOutput =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartInputOutputVert, sizeof( mso_sptFlowChartInputOutputVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartInputOutputTextRect, sizeof( mso_sptFlowChartInputOutputTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptFlowChartInputOutputGluePoints, sizeof( mso_sptFlowChartInputOutputGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartPredefinedProcessVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
-
- { 2540, 0 }, { 2540, 21600 },
-
- { 21600 - 2540, 0 }, { 21600 - 2540, 21600 }
-};
-static const sal_uInt16 mso_sptFlowChartPredefinedProcessSegm[] =
-{
- 0x4000, 0x0003, 0x6000, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartPredefinedProcessTextRect[] =
-{
- { { 2540, 0 }, { 21600 - 2540, 21600 } }
-};
-static const mso_CustomShape msoFlowChartPredefinedProcess =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartPredefinedProcessVert, sizeof( mso_sptFlowChartPredefinedProcessVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartPredefinedProcessSegm, sizeof( mso_sptFlowChartPredefinedProcessSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartPredefinedProcessTextRect, sizeof( mso_sptFlowChartPredefinedProcessTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartInternalStorageVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
-
- { 4230, 0 }, { 4230, 21600 },
-
- { 0, 4230 }, { 21600, 4230 }
-};
-static const sal_uInt16 mso_sptFlowChartInternalStorageSegm[] =
-{
- 0x4000, 0x0003, 0x6000, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartInternalStorageTextRect[] =
-{
- { { 4230, 4230 }, { 21600, 21600 } }
-};
-static const mso_CustomShape msoFlowChartInternalStorage =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartInternalStorageVert, sizeof( mso_sptFlowChartInternalStorageVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartInternalStorageSegm, sizeof( mso_sptFlowChartInternalStorageSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartInternalStorageTextRect, sizeof( mso_sptFlowChartInternalStorageTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartDocumentVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 17360 },
- { 13050, 17220 }, { 13340, 20770 }, { 5620, 21600 }, // ccp
- { 2860, 21100 }, { 1850, 20700 }, { 0, 20120 } // ccp
-};
-static const sal_uInt16 mso_sptFlowChartDocumentSegm[] =
-{
- 0x4000, 0x0002, 0x2002, 0x6000, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartDocumentTextRect[] =
-{
- { { 0, 0 }, { 21600, 17360 } }
-};
-static const SvxMSDffVertPair mso_sptFlowChartDocumentGluePoints[] =
-{
- { 10800, 0 }, { 0, 10800 }, { 10800, 20320 }, { 21600, 10800 }
-};
-static const mso_CustomShape msoFlowChartDocument =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartDocumentVert, sizeof( mso_sptFlowChartDocumentVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartDocumentSegm, sizeof( mso_sptFlowChartDocumentSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartDocumentTextRect, sizeof( mso_sptFlowChartDocumentTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptFlowChartDocumentGluePoints, sizeof( mso_sptFlowChartDocumentGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartMultidocumentVert[] =
-{
- { 0, 3600 }, { 1500, 3600 }, { 1500, 1800 }, { 3000, 1800 },
- { 3000, 0 }, { 21600, 0 }, { 21600, 14409 }, { 21600 - 1500, 14409 },
- { 21600 - 1500, 14409 + 1800 }, { 21600 - 3000, 14409 + 1800 }, { 21600 - 3000, 14409 + 3600 },
- { 11610, 14293 + 3600 }, { 11472, 17239 + 3600 }, { 4833, 17928 + 3600 }, // ccp
- { 2450, 17513 + 3600 }, { 1591, 17181 + 3600 }, { 0, 16700 + 3600 }, // ccp
-
- { 1500, 3600 }, { 21600 - 3000, 3600 }, { 21600 - 3000, 14409 + 1800 },
-
- { 3000, 1800 }, { 21600 - 1500, 1800 }, { 21600 - 1500, 14409 }
-};
-static const sal_uInt16 mso_sptFlowChartMultidocumentSegm[] =
-{
- 0x4000, 0x000a, 0x2002, 0x6000, 0x8000,
- 0x4000, 0xaa00, 0x0002, 0x8000, // NO FILL
- 0x4000, 0xaa00, 0x0002, 0x8000 // NO FILL
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartMultidocumentTextRect[] =
-{
- { { 0, 3600 }, { 21600 - 3000, 14409 + 3600 } }
-};
-static const SvxMSDffVertPair mso_sptFlowChartMultidocumentGluePoints[] =
-{
- { 10800, 0 }, { 0, 10800 }, { 10800, 19890 }, { 21600, 10800 }
-};
-static const mso_CustomShape msoFlowChartMultidocument =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartMultidocumentVert, sizeof( mso_sptFlowChartMultidocumentVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartMultidocumentSegm, sizeof( mso_sptFlowChartMultidocumentSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartMultidocumentTextRect, sizeof( mso_sptFlowChartMultidocumentTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptFlowChartMultidocumentGluePoints, sizeof( mso_sptFlowChartMultidocumentGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartTerminatorVert[] =
-{
- { 3470, 21600 }, { 0, 10800 }, { 3470, 0 }, { 18130, 0 },
- { 21600, 10800 }, { 18130, 21600 }
-};
-static const sal_uInt16 mso_sptFlowChartTerminatorSegm[] =
-{
- 0x4000, 0xa702, 0x0001, 0xa702, 0x6000, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartTerminatorTextRect[] =
-{
- { { 1060, 3180 }, { 20540, 18420 } }
-};
-static const mso_CustomShape msoFlowChartTerminator =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartTerminatorVert, sizeof( mso_sptFlowChartTerminatorVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartTerminatorSegm, sizeof( mso_sptFlowChartTerminatorSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartTerminatorTextRect, sizeof( mso_sptFlowChartTerminatorTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartPreparationVert[] =
-{
- { 4350, 0 }, { 17250, 0 }, { 21600, 10800 }, { 17250, 21600 },
- { 4350, 21600 }, { 0, 10800 }, { 4350, 0 }
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartPreparationTextRect[] =
-{
- { { 4350, 0 }, { 17250, 21600 } }
-};
-static const mso_CustomShape msoFlowChartPreparation =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartPreparationVert, sizeof( mso_sptFlowChartPreparationVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartPreparationTextRect, sizeof( mso_sptFlowChartPreparationTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartManualInputVert[] =
-{
- { 0, 4300 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 4300 }
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartManualInputTextRect[] =
-{
- { { 0, 4300 }, { 21600, 21600 } }
-};
-static const SvxMSDffVertPair mso_sptFlowChartManualInputGluePoints[] =
-{
- { 10800, 2150 }, { 0, 10800 }, { 10800, 19890 }, { 21600, 10800 }
-};
-static const mso_CustomShape msoFlowChartManualInput =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartManualInputVert, sizeof( mso_sptFlowChartManualInputVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartManualInputTextRect, sizeof( mso_sptFlowChartManualInputTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptFlowChartManualInputGluePoints, sizeof( mso_sptFlowChartManualInputGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartManualOperationVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 17250, 21600 }, { 4350, 21600 }, { 0, 0 }
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartManualOperationTextRect[] =
-{
- { { 4350, 0 }, { 17250, 21600 } }
-};
-static const SvxMSDffVertPair mso_sptFlowChartManualOperationGluePoints[] =
-{
- { 10800, 0 }, { 2160, 10800 }, { 10800, 21600 }, { 19440, 10800 }
-};
-static const mso_CustomShape msoFlowChartManualOperation =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartManualOperationVert, sizeof( mso_sptFlowChartManualOperationVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartManualOperationTextRect, sizeof( mso_sptFlowChartManualOperationTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptFlowChartManualOperationGluePoints, sizeof( mso_sptFlowChartManualOperationGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartConnectorVert[] =
-{
- { 10800, 10800 }, { 10800, 10800 }, { 0, 360 }
-};
-static const sal_uInt16 mso_sptFlowChartConnectorSegm[] =
-{
- 0xa203, 0x6000, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartConnectorTextRect[] =
-{
- { { 3180, 3180 }, { 18420, 18420 } }
-};
-static const mso_CustomShape msoFlowChartConnector =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartConnectorVert, sizeof( mso_sptFlowChartConnectorVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartConnectorSegm, sizeof( mso_sptFlowChartConnectorSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartConnectorTextRect, sizeof( mso_sptFlowChartConnectorTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartOffpageConnectorVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 17150 }, { 10800, 21600 },
- { 0, 17150 }, { 0, 0 }
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartOffpageConnectorTextRect[] =
-{
- { { 0, 0 }, { 21600, 17150 } }
-};
-static const mso_CustomShape msoFlowChartOffpageConnector =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartOffpageConnectorVert, sizeof( mso_sptFlowChartOffpageConnectorVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartOffpageConnectorTextRect, sizeof( mso_sptFlowChartOffpageConnectorTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartPunchedCardVert[] =
-{
- { 4300, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
- { 0, 4300 }, { 4300, 0 }
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartPunchedCardTextRect[] =
-{
- { { 0, 4300 }, { 21600, 21600 } }
-};
-static const mso_CustomShape msoFlowChartPunchedCard =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartPunchedCardVert, sizeof( mso_sptFlowChartPunchedCardVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartPunchedCardTextRect, sizeof( mso_sptFlowChartPunchedCardTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartPunchedTapeVert[] =
-{
- { 0, 2230 }, // p
- { 820, 3990 }, { 3410, 3980 }, { 5370, 4360 }, // ccp
- { 7430, 4030 }, { 10110, 3890 }, { 10690, 2270 }, // ccp
- { 11440, 300 }, { 14200, 160 }, { 16150, 0 }, // ccp
- { 18670, 170 }, { 20690, 390 }, { 21600, 2230 }, // ccp
- { 21600, 19420 }, // p
- { 20640, 17510 }, { 18320, 17490 }, { 16140, 17240 }, // ccp
- { 14710, 17370 }, { 11310, 17510 }, { 10770, 19430 }, // ccp
- { 10150, 21150 }, { 7380, 21290 }, { 5290, 21600 }, // ccp
- { 3220, 21250 }, { 610, 21130 }, { 0, 19420 } // ccp
-};
-static const sal_uInt16 mso_sptFlowChartPunchedTapeSegm[] =
-{
- 0x4000, 0x2004, 0x0001, 0x2004, 0x6000, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartPunchedTapeTextRect[] =
-{
- { { 0, 4360 }, { 21600, 17240 } }
-};
-static const SvxMSDffVertPair mso_sptFlowChartPunchedTapeGluePoints[] =
-{
- { 10800, 2020 }, { 0, 10800 }, { 10800, 19320 }, { 21600, 10800 }
-};
-static const mso_CustomShape msoFlowChartPunchedTape =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartPunchedTapeVert, sizeof( mso_sptFlowChartPunchedTapeVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartPunchedTapeSegm, sizeof( mso_sptFlowChartPunchedTapeSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartPunchedTapeTextRect, sizeof( mso_sptFlowChartPunchedTapeTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptFlowChartPunchedTapeGluePoints, sizeof( mso_sptFlowChartPunchedTapeGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartSummingJunctionVert[] =
-{
- { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
-
- { 3100, 3100 },
- { 18500, 18500 },
-
- { 3100, 18500 },
- { 18500, 3100 }
-};
-static const sal_uInt16 mso_sptFlowChartSummingJunctionSegm[] =
-{
- 0xa203, 0x6000, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartSummingJunctionTextRect[] =
-{
- { { 3100, 3100 }, { 18500, 18500 } }
-};
-static const mso_CustomShape msoFlowChartSummingJunction =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartSummingJunctionVert, sizeof( mso_sptFlowChartSummingJunctionVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartSummingJunctionSegm, sizeof( mso_sptFlowChartSummingJunctionSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartSummingJunctionTextRect, sizeof( mso_sptFlowChartSummingJunctionTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartOrVert[] =
-{
- { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
-
- { 0, 10800 }, { 21600, 10800 },
-
- { 10800, 0 }, { 10800, 21600 }
-};
-static const sal_uInt16 mso_sptFlowChartOrSegm[] =
-{
- 0xa203, 0x6000, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartOrTextRect[] =
-{
- { { 3100, 3100 }, { 18500, 18500 } }
-};
-static const mso_CustomShape msoFlowChartOr =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartOrVert, sizeof( mso_sptFlowChartOrVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartOrSegm, sizeof( mso_sptFlowChartOrSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartOrTextRect, sizeof( mso_sptFlowChartOrTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartCollateVert[] =
-{
- { 0, 0 }, { 21600, 21600 }, { 0, 21600 }, { 21600, 0 }, { 0, 0 }
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartCollateTextRect[] =
-{
- { { 5400, 5400 }, { 16200, 16200 } }
-};
-static const SvxMSDffVertPair mso_sptFlowChartCollateGluePoints[] =
-{
- { 10800, 0 }, { 10800, 10800 }, { 10800, 21600 }
-};
-static const mso_CustomShape msoFlowChartCollate =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartCollateVert, sizeof( mso_sptFlowChartCollateVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartCollateTextRect, sizeof( mso_sptFlowChartCollateTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptFlowChartCollateGluePoints, sizeof( mso_sptFlowChartCollateGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartSortVert[] =
-{
- { 0, 10800 }, { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 },
-
- { 0, 10800 }, { 21600, 10800 }
-};
-static const sal_uInt16 mso_sptFlowChartSortSegm[] =
-{
- 0x4000, 0x0003, 0x6000, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartSortTextRect[] =
-{
- { { 5400, 5400 }, { 16200, 16200 } }
-};
-static const mso_CustomShape msoFlowChartSort =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartSortVert, sizeof( mso_sptFlowChartSortVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartSortSegm, sizeof( mso_sptFlowChartSortSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartSortTextRect, sizeof( mso_sptFlowChartSortTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartExtractVert[] =
-{
- { 10800, 0 }, { 21600, 21600 }, { 0, 21600 }, { 10800, 0 }
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartExtractTextRect[] =
-{
- { { 5400, 10800 }, { 16200, 21600 } }
-};
-static const SvxMSDffVertPair mso_sptFlowChartExtractGluePoints[] =
-{
- { 10800, 0 }, { 5400, 10800 }, { 10800, 21600 }, { 16200, 10800 }
-};
-static const mso_CustomShape msoFlowChartExtract =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartExtractVert, sizeof( mso_sptFlowChartExtractVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartExtractTextRect, sizeof( mso_sptFlowChartExtractTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptFlowChartExtractGluePoints, sizeof( mso_sptFlowChartExtractGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartMergeVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 10800, 21600 }, { 0, 0 }
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartMergeTextRect[] =
-{
- { { 5400, 0 }, { 16200, 10800 } }
-};
-static const mso_CustomShape msoFlowChartMerge =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartMergeVert, sizeof( mso_sptFlowChartMergeVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartMergeTextRect, sizeof( mso_sptFlowChartMergeTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptFlowChartExtractGluePoints, sizeof( mso_sptFlowChartExtractGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartOnlineStorageVert[] =
-{
- { 3600, 21600 }, { 0, 10800 }, { 3600, 0 }, { 21600, 0 },
- { 18000, 10800 }, { 21600, 21600 }
-};
-static const sal_uInt16 mso_sptFlowChartOnlineStorageSegm[] =
-{
- 0x4000, 0xa702, 0x0001, 0xa702, 0x6000, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartOnlineStorageTextRect[] =
-{
- { { 3600, 0 }, { 18000, 21600 } }
-};
-static const SvxMSDffVertPair mso_sptFlowChartOnlineStorageGluePoints[] =
-{
- { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 18000, 10800 }
-};
-static const mso_CustomShape msoFlowChartOnlineStorage =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartOnlineStorageVert, sizeof( mso_sptFlowChartOnlineStorageVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartOnlineStorageSegm, sizeof( mso_sptFlowChartOnlineStorageSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartOnlineStorageTextRect, sizeof( mso_sptFlowChartOnlineStorageTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptFlowChartOnlineStorageGluePoints, sizeof( mso_sptFlowChartOnlineStorageGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartDelayVert[] =
-{
- { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 }, { 0, 21600 },
- { 0, 0 }
-};
-static const sal_uInt16 mso_sptFlowChartDelaySegm[] =
-{
- 0x4000, 0xa702, 0x0002, 0x6000, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartDelayTextRect[] =
-{
- { { 0, 3100 }, { 18500, 18500 } }
-};
-static const mso_CustomShape msoFlowChartDelay =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartDelayVert, sizeof( mso_sptFlowChartDelayVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartDelaySegm, sizeof( mso_sptFlowChartDelaySegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartDelayTextRect, sizeof( mso_sptFlowChartDelayTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartMagneticTapeVert[] =
-{
- { 20980, 18150 }, { 20980, 21600 }, { 10670, 21600 },
- { 4770, 21540 }, { 0, 16720 }, { 0, 10800 }, // ccp
- { 0, 4840 }, { 4840, 0 }, { 10800, 0 }, // ccp
- { 16740, 0 }, { 21600, 4840 }, { 21600, 10800 }, // ccp
- { 21600, 13520 }, { 20550, 16160 }, { 18670, 18170 } // ccp
-};
-static const sal_uInt16 mso_sptFlowChartMagneticTapeSegm[] =
-{
- 0x4000, 0x0002, 0x2004, 0x6000, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartMagneticTapeTextRect[] =
-{
- { { 3100, 3100 }, { 18500, 18500 } }
-};
-static const mso_CustomShape msoFlowChartMagneticTape =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartMagneticTapeVert, sizeof( mso_sptFlowChartMagneticTapeVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartMagneticTapeSegm, sizeof( mso_sptFlowChartMagneticTapeSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartMagneticTapeTextRect, sizeof( mso_sptFlowChartMagneticTapeTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartMagneticDiskVert[] =
-{
- { 0, 3400 }, { 10800, 0 }, { 21600, 3400 }, { 21600, 18200 },
- { 10800, 21600 }, { 0, 18200 },
-
- { 0, 3400 }, { 10800, 6800 }, { 21600, 3400 }
-};
-static const sal_uInt16 mso_sptFlowChartMagneticDiskSegm[] =
-{
- 0x4000, 0xa802, 0x0001, 0xa802, 0x6000, 0x8000,
- 0x4000, 0xa802, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartMagneticDiskTextRect[] =
-{
- { { 0, 6800 }, { 21600, 18200 } }
-};
-static const SvxMSDffVertPair mso_sptFlowChartMagneticDiskGluePoints[] =
-{
- { 10800, 6800 }, { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 21600, 10800 }
-};
-static const mso_CustomShape msoFlowChartMagneticDisk =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartMagneticDiskVert, sizeof( mso_sptFlowChartMagneticDiskVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartMagneticDiskSegm, sizeof( mso_sptFlowChartMagneticDiskSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartMagneticDiskTextRect, sizeof( mso_sptFlowChartMagneticDiskTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptFlowChartMagneticDiskGluePoints, sizeof( mso_sptFlowChartMagneticDiskGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartMagneticDrumVert[] =
-{
- { 18200, 0 }, { 21600, 10800 }, { 18200, 21600 }, { 3400, 21600 },
- { 0, 10800 }, { 3400, 0 },
-
- { 18200, 0 }, { 14800, 10800 }, { 18200, 21600 }
-};
-static const sal_uInt16 mso_sptFlowChartMagneticDrumSegm[] =
-{
- 0x4000, 0xa702, 0x0001, 0xa702, 0x6000, 0x8000,
- 0x4000, 0xa702, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartMagneticDrumTextRect[] =
-{
- { { 3400, 0 }, { 14800, 21600 } }
-};
-static const SvxMSDffVertPair mso_sptFlowChartMagneticDrumGluePoints[] =
-{
- { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 14800, 10800 }, { 21600, 10800 }
-};
-static const mso_CustomShape msoFlowChartMagneticDrum =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartMagneticDrumVert, sizeof( mso_sptFlowChartMagneticDrumVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartMagneticDrumSegm, sizeof( mso_sptFlowChartMagneticDrumSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartMagneticDrumTextRect, sizeof( mso_sptFlowChartMagneticDrumTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptFlowChartMagneticDrumGluePoints, sizeof( mso_sptFlowChartMagneticDrumGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptFlowChartDisplayVert[] =
-{
- { 3600, 0 }, { 17800, 0 }, { 21600, 10800 }, { 17800, 21600 },
- { 3600, 21600 }, { 0, 10800 }
-};
-static const sal_uInt16 mso_sptFlowChartDisplaySegm[] =
-{
- 0x4000, 0x0001, 0xa702, 0x0002, 0x6000, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptFlowChartDisplayTextRect[] =
-{
- { { 3600, 0 }, { 17800, 21600 } }
-};
-static const mso_CustomShape msoFlowChartDisplay =
-{
- (SvxMSDffVertPair*)mso_sptFlowChartDisplayVert, sizeof( mso_sptFlowChartDisplayVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFlowChartDisplaySegm, sizeof( mso_sptFlowChartDisplaySegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFlowChartDisplayTextRect, sizeof( mso_sptFlowChartDisplayTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
- NULL, 0 // handles
-};
-
-static const SvxMSDffVertPair mso_sptWedgeRectCalloutVert[] =
-{
- { 0, 0 },
- { 0, 3590 }, { 2 MSO_I, 3 MSO_I }, { 0, 8970 },
- { 0, 12630 },{ 4 MSO_I, 5 MSO_I }, { 0, 18010 },
- { 0, 21600 },
- { 3590, 21600 }, { 6 MSO_I, 7 MSO_I }, { 8970, 21600 },
- { 12630, 21600 }, { 8 MSO_I, 9 MSO_I }, { 18010, 21600 },
- { 21600, 21600 },
- { 21600, 18010 }, { 10 MSO_I, 11 MSO_I }, { 21600, 12630 },
- { 21600, 8970 }, { 12 MSO_I, 13 MSO_I }, { 21600, 3590 },
- { 21600, 0 },
- { 18010, 0 }, { 14 MSO_I, 15 MSO_I }, { 12630, 0 },
- { 8970, 0 }, { 16 MSO_I, 17 MSO_I }, { 3590, 0 },
- { 0, 0 }
-};
-static const SvxMSDffCalculationData mso_sptWedgeRectCalloutCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } }, //0x400
- { 0x2000, { DFF_Prop_adjust2Value, 0,10800 } },
- { 0x6006, { 0x412, DFF_Prop_adjustValue, 0 } }, //0x402
- { 0x6006, { 0x412, DFF_Prop_adjust2Value, 6280 } },
- { 0x6006, { 0x417, DFF_Prop_adjustValue, 0 } }, //0x404
- { 0x6006, { 0x417, DFF_Prop_adjust2Value, 15320 } },
- { 0x6006, { 0x41a, DFF_Prop_adjustValue, 6280 } }, //0x406
- { 0x6006, { 0x41a, DFF_Prop_adjust2Value, 21600 } },
- { 0x6006, { 0x41d, DFF_Prop_adjustValue, 15320 } }, //0x408
- { 0x6006, { 0x41d, DFF_Prop_adjust2Value, 21600 } },
- { 0x6006, { 0x420, DFF_Prop_adjustValue, 21600 } }, //0x40a
- { 0x6006, { 0x420, DFF_Prop_adjust2Value, 15320 } },
- { 0x6006, { 0x422, DFF_Prop_adjustValue, 21600 } }, //0x40c
- { 0x6006, { 0x422, DFF_Prop_adjust2Value, 6280 } },
- { 0x6006, { 0x424, DFF_Prop_adjustValue, 15320 } }, //0x40e
- { 0x6006, { 0x424, DFF_Prop_adjust2Value, 0 } },
- { 0x6006, { 0x426, DFF_Prop_adjustValue, 6280 } }, //0x410
- { 0x6006, { 0x426, DFF_Prop_adjust2Value, 0 } },
- { 0xa006, { DFF_Prop_adjustValue, -1, 0x413 } }, //0x412
- { 0xa006, { 0x401, -1, 0x416 } },
- { 0x2003, { 0x400, 0, 0 } }, //0x414
- { 0x2003, { 0x401, 0, 0 } },
- { 0xa000, { 0x414, 0, 0x415 } }, //0x416
- { 0xa006, { DFF_Prop_adjustValue, -1, 0x418 } },
- { 0x6006, { 0x401, 0x416, -1 } }, //0x418
- { 0x2000, { DFF_Prop_adjust2Value, 0, 21600 } },
- { 0x6006, { 0x419, 0x41b, -1 } }, //0x41a
- { 0xa006, { 0x400, -1, 0x41c } },
- { 0xa000, { 0x415, 0, 0x414 } }, //0x41c
- { 0x6006, { 0x419, 0x41e, -1 } },
- { 0x6006, { 0x400, 0x41c, -1 } }, //0x41e
- { 0x2000, { DFF_Prop_adjustValue, 0, 21600 } },
- { 0x6006, { 0x41f, 0x421, -1 } }, //0x420
- { 0x6006, { 0x401, 0x416, -1 } },
- { 0x6006, { 0x41f, 0x423, -1 } }, //0x422
- { 0xa006, { 0x401, -1, 0x416 } },
- { 0xa006, { DFF_Prop_adjust2Value, -1, 0x425 } }, //0x424
- { 0x6006, { 0x400, 0x41c, -1 } },
- { 0xa006, { DFF_Prop_adjust2Value, -1, 0x427 } }, //0x426
- { 0xa006, { 0x400, -1, 0x41c } },
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //0x428
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }
-};
-static const sal_Int32 mso_sptWedgeRectCalloutDefault[] =
-{
- 2, 1400, 25920
-};
-static const SvxMSDffTextRectangles mso_sptWedgeRectCalloutTextRect[] =
-{
- { { 0, 0 }, { 21600, 21600 } }
-};
-static const SvxMSDffVertPair mso_sptWedgeRectCalloutGluePoints[] =
-{
- { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 21600, 10800 }, { 40 MSO_I, 41 MSO_I }
-};
-static const SvxMSDffHandle mso_sptCalloutHandle[] =
-{
- {
- 0,
- 0x100, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff
- }
-};
-static const mso_CustomShape msoWedgeRectCallout =
-{
- (SvxMSDffVertPair*)mso_sptWedgeRectCalloutVert, sizeof( mso_sptWedgeRectCalloutVert ) / sizeof( SvxMSDffVertPair ),
- NULL, 0,
- (SvxMSDffCalculationData*)mso_sptWedgeRectCalloutCalc, sizeof( mso_sptWedgeRectCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptWedgeRectCalloutDefault,
- (SvxMSDffTextRectangles*)mso_sptWedgeRectCalloutTextRect, sizeof( mso_sptWedgeRectCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptWedgeRectCalloutGluePoints, sizeof( mso_sptWedgeRectCalloutGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptCalloutHandle, sizeof( mso_sptCalloutHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-static const SvxMSDffVertPair mso_sptWedgeRRectCalloutVert[] =
-{
- { 3590, 0 },
- { 0, 3590 },
- { 2 MSO_I, 3 MSO_I }, { 0, 8970 },
- { 0, 12630 },{ 4 MSO_I, 5 MSO_I }, { 0, 18010 },
- { 3590, 21600 },
- { 6 MSO_I, 7 MSO_I }, { 8970, 21600 },
- { 12630, 21600 }, { 8 MSO_I, 9 MSO_I }, { 18010, 21600 },
- { 21600, 18010 },
- { 10 MSO_I, 11 MSO_I }, { 21600, 12630 },
- { 21600, 8970 }, { 12 MSO_I, 13 MSO_I }, { 21600, 3590 },
- { 18010, 0 },
- { 14 MSO_I, 15 MSO_I }, { 12630, 0 },
- { 8970, 0 }, { 16 MSO_I, 17 MSO_I }
-};
-static const sal_uInt16 mso_sptWedgeRRectCalloutSegm[] =
-{
- 0x4000, 0xa701, 0x0005, 0xa801, 0x0005, 0xa701, 0x0005, 0xa801, 0x0004, 0x6001, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptWedgeRRectCalloutTextRect[] =
-{
- { { 800, 800 }, { 20800, 20800 } }
-};
-static const mso_CustomShape msoWedgeRRectCallout =
-{
- (SvxMSDffVertPair*)mso_sptWedgeRRectCalloutVert, sizeof( mso_sptWedgeRRectCalloutVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptWedgeRRectCalloutSegm, sizeof( mso_sptWedgeRRectCalloutSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptWedgeRectCalloutCalc, sizeof( mso_sptWedgeRectCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptWedgeRectCalloutDefault,
- (SvxMSDffTextRectangles*)mso_sptWedgeRRectCalloutTextRect, sizeof( mso_sptWedgeRRectCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle, sizeof( mso_sptCalloutHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-static const SvxMSDffVertPair mso_sptBalloonVert[] =
-{
- { 3590, 0 },
- { 0, 3590 },
- { 0, 14460 },
- { 3590, 18050 },
- { 40 MSO_I, 21600 }, { 5420, 18050 },
- { 18010, 18050 },
- { 21600, 14460 },
- { 21600, 3590 },
- { 18010, 0 }
-};
-static const sal_uInt16 mso_sptBalloonSegm[] =
-{
- 0x4000, 0xa701, 0x0001, 0xa801, 0x0003, 0xa701, 0x0001, 0xa801, 0x6001, 0x8000
-};
-static const SvxMSDffHandle mso_sptBalloonHandle[] =
-{
- {
- MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 1, 10800, 10800, 0, 8990, 0x80000000, 0x7fffffff
- }
-};
-static const SvxMSDffTextRectangles mso_sptBalloonTextRect[] =
-{
- { { 800, 800 }, { 20800, 17250 } }
-};
-static const mso_CustomShape msoBalloon =
-{
- (SvxMSDffVertPair*)mso_sptBalloonVert, sizeof( mso_sptBalloonVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptBalloonSegm, sizeof( mso_sptBalloonSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptWedgeRectCalloutCalc, sizeof( mso_sptWedgeRectCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptWedgeRectCalloutDefault,
- (SvxMSDffTextRectangles*)mso_sptBalloonTextRect, sizeof( mso_sptBalloonTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptBalloonHandle, sizeof( mso_sptBalloonHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-static const SvxMSDffVertPair mso_sptWedgeEllipseCalloutVert[] =
-{
- { 0, 0 }, { 21600, 21600 }, { 0x16 MSO_I, 0x17 MSO_I }, { 0x12 MSO_I, 0x13 MSO_I }, { 0xe MSO_I, 0xf MSO_I }
-};
-static const sal_uInt16 mso_sptWedgeEllipseCalloutSegm[] =
-{
- 0xa504, 0x0001, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptWedgeEllipseCalloutCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } }, // 00 rad x
- { 0x2000, { DFF_Prop_adjust2Value, 0, 10800 } }, // 01 rad y
- { 0x6001, { 0x400, 0x400, 1 } }, // 02 rad x^2
- { 0x6001, { 0x401, 0x401, 1 } }, // 03 rad y^2
- { 0x6000, { 0x402, 0x403, 0 } }, // 04
- { 0x200d, { 0x404, 0, 0 } }, // 05
- { 0x2000, { 0x405, 0, 10800 } }, // 06 > 0 ? spur needs to be drawn : 10800
- { 0x6008, { 0x400, 0x401, 0 } }, // 07 atan2 -> angle
- { 0x2000, { 0x407, 0, 10 } }, // 08
- { 0x2000, { 0x407, 10, 0 } }, // 09
- { 0x400a, { 10800, 0x407, 0 } }, // 0a
- { 0x4009, { 10800, 0x407, 0 } }, // 0b
- { 0x2000, { 0x40a, 10800, 0 } }, // 0c
- { 0x2000, { 0x40b, 10800, 0 } }, // 0d
- { 0xe006, { 0x406, DFF_Prop_adjustValue, 0x40c } }, // 0e
- { 0xe006, { 0x406, DFF_Prop_adjust2Value, 0x40d } },// 0f
- { 0x400a, { 10800, 0x408, 0 } }, // 10
- { 0x4009, { 10800, 0x408, 0 } }, // 11
- { 0x2000, { 0x410, 10800, 0 } }, // 12
- { 0x2000, { 0x411, 10800, 0 } }, // 13
- { 0x400a, { 10800, 0x409, 0 } }, // 14
- { 0x4009, { 10800, 0x409, 0 } }, // 15
- { 0x2000, { 0x414, 10800, 0 } }, // 16
- { 0x2000, { 0x415, 10800, 0 } } // 17
-};
-static const sal_Int32 mso_sptWedgeEllipseCalloutDefault[] =
-{
- 2, 1350, 25920
-};
-static const SvxMSDffVertPair mso_sptWedgeEllipseCalloutGluePoints[] =
-{
- { 10800, 0 }, { 3160, 3160 }, { 0, 10800 }, { 3160, 18440 }, { 10800, 21600 }, { 18440, 18440 }, { 21600, 10800 }, { 18440, 3160 }, { 0xe MSO_I, 0xf MSO_I }
-};
-static const SvxMSDffTextRectangles mso_sptWedgeEllipseCalloutTextRect[] =
-{
- { { 3200, 3200 }, { 18400, 18400 } }
-};
-static const mso_CustomShape msoWedgeEllipseCallout =
-{
- (SvxMSDffVertPair*)mso_sptWedgeEllipseCalloutVert, sizeof( mso_sptWedgeEllipseCalloutVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptWedgeEllipseCalloutSegm, sizeof( mso_sptWedgeEllipseCalloutSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptWedgeEllipseCalloutCalc, sizeof( mso_sptWedgeEllipseCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptWedgeEllipseCalloutDefault,
- (SvxMSDffTextRectangles*)mso_sptWedgeEllipseCalloutTextRect, sizeof( mso_sptWedgeEllipseCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptWedgeEllipseCalloutGluePoints, sizeof( mso_sptWedgeEllipseCalloutGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptCalloutHandle, sizeof( mso_sptCalloutHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptCloudCalloutVert[] =
-{
- { 1930,7160 }, // p
- { 1530,4490 }, { 3400,1970 }, { 5270,1970 }, // ccp
- { 5860,1950 }, { 6470,2210 }, { 6970,2600 }, // ccp
- { 7450,1390 }, { 8340,650 }, { 9340,650 }, // ccp
- { 10004,690 }, { 10710,1050 }, { 11210,1700 }, // ccp
- { 11570,630 }, { 12330,0 }, { 13150,0 }, // ccp
- { 13840,0 }, { 14470,460 }, { 14870,1160 }, // ccp
- { 15330,440 }, { 16020,0 }, { 16740,0 }, // ccp
- { 17910,0 }, { 18900,1130 }, { 19110,2710 }, // ccp
- { 20240,3150 }, { 21060,4580 }, { 21060,6220 }, // ccp
- { 21060,6720 }, { 21000,7200 }, { 20830,7660 }, // ccp
- { 21310,8460 }, { 21600,9450 }, { 21600,10460 }, // ccp
- { 21600,12750 }, { 20310,14680 }, { 18650,15010 }, // ccp
- { 18650,17200 }, { 17370,18920 }, { 15770,18920 }, // ccp
- { 15220,18920 }, { 14700,18710 }, { 14240,18310 }, // ccp
- { 13820,20240 }, { 12490,21600 }, { 11000,21600 }, // ccp
- { 9890,21600 }, { 8840,20790 }, { 8210,19510 }, // ccp
- { 7620,20000 }, { 7930,20290 }, { 6240,20290 }, // ccp
- { 4850,20290 }, { 3570,19280 }, { 2900,17640 }, // ccp
- { 1300,17600 }, { 480,16300 }, { 480,14660 }, // ccp
- { 480,13900 }, { 690,13210 }, { 1070,12640 }, // ccp
- { 380,12160 }, { 0,11210 }, { 0,10120 }, // ccp
- { 0,8590 }, { 840,7330 }, { 1930,7160 }, // ccp
-
- { 1930, 7160 }, { 1950, 7410 }, { 2040, 7690 }, { 2090, 7920 }, // pccp
- { 6970, 2600 }, { 7200, 2790 }, { 7480, 3050 }, { 7670, 3310 }, // pccp
- { 11210, 1700 }, { 11130, 1910 }, { 11080, 2160 }, { 11030, 2400 }, // pccp
- { 14870, 1160 }, { 14720, 1400 }, { 14640, 1720 }, { 14540, 2010 }, // pccp
- { 19110, 2710 }, { 19130, 2890 }, { 19230, 3290 }, { 19190, 3380 }, // pccp
- { 20830, 7660 }, { 20660, 8170 }, { 20430, 8620 }, { 20110, 8990 }, // pccp
- { 18660, 15010 }, { 18740, 14200 }, { 18280, 12200 }, { 17000, 11450 }, // pccp
- { 14240, 18310 }, { 14320, 17980 }, { 14350, 17680 }, { 14370, 17360 }, // pccp
- { 8220, 19510 }, { 8060, 19250 }, { 7960, 18950 }, { 7860, 18640 }, // pccp
- { 2900, 17640 }, { 3090, 17600 }, { 3280, 17540 }, { 3460, 17450 }, // pccp
- { 1070, 12640 }, { 1400, 12900 }, { 1780, 13130 }, { 2330, 13040 }, // pccp
-
- { 0x11 MSO_I, 0x12 MSO_I }, { 1800, 1800 }, { 0, 360 }, // circ1
- { 0x13 MSO_I, 0x14 MSO_I }, { 1200, 1200 }, { 0, 360 }, // circ2
- { 0xd MSO_I, 0xe MSO_I }, { 700, 700 }, { 0, 360 } // circ3
-};
-static const sal_uInt16 mso_sptCloudCalloutSegm[] =
-{
- 0x4000, 0x2016, 0x6001, 0x8000,
- 0x4000, 0x2001, 0xaa00, 0x8000,
- 0x4000, 0x2001, 0xaa00, 0x8000,
- 0x4000, 0x2001, 0xaa00, 0x8000,
- 0x4000, 0x2001, 0xaa00, 0x8000,
- 0x4000, 0x2001, 0xaa00, 0x8000,
- 0x4000, 0x2001, 0xaa00, 0x8000,
- 0x4000, 0x2001, 0xaa00, 0x8000,
- 0x4000, 0x2001, 0xaa00, 0x8000,
- 0x4000, 0x2001, 0xaa00, 0x8000,
- 0x4000, 0x2001, 0xaa00, 0x8000,
- 0x4000, 0x2001, 0xaa00, 0x8000,
- 0xa203, 0x6001, 0x8000,
- 0xa203, 0x6001, 0x8000,
- 0xa203, 0x6001, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptCloudCalloutCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 10800 } },
- { 0x6008, { 0x400, 0x401, 0 } },
- { 0x400a, { 10800, 0x402, 0 } }, // 3
- { 0x4009, { 10800, 0x402, 0 } }, // 4
- { 0x2000, { 0x403, 10800, 0 } }, // 5
- { 0x2000, { 0x404, 10800, 0 } }, // 6
- { 0xa000, { DFF_Prop_adjustValue, 0, 0x405 } }, // 7
- { 0xa000, { DFF_Prop_adjust2Value,0, 0x406 } }, // 8
- { 0x2001, { 0x407, 1, 3 } }, // 9
- { 0x2001, { 0x408, 1, 3 } }, // 0xa
- { 0x2001, { 0x407, 2, 3 } }, // 0xb
- { 0x2001, { 0x408, 2, 3 } }, // 0xc
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0xd
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 0xe
- { 0x2001, { 0x403, 1, 10800 / 900 } }, // 0xf taking half x distance of the radius from the first bobble
- { 0x2001, { 0x404, 1, 10800 / 900 } }, // 0x10
- { 0xe000, { 0x409, 0x405, 0x40f } }, // 0x11
- { 0xe000, { 0x40a, 0x406, 0x410 } }, // 0x12
- { 0x6000, { 0x40b, 0x405, 0 } }, // 0x13
- { 0x6000, { 0x40c, 0x406, 0 } } // 0x14
-};
-static const sal_Int32 mso_sptCloudCalloutDefault[] =
-{
- 2, 1350, 25920
-};
-static const SvxMSDffTextRectangles mso_sptCloudCalloutTextRect[] =
-{
- { { 3000, 3320 }, { 17110, 17330 } }
-};
-static const mso_CustomShape msoCloudCallout =
-{
- (SvxMSDffVertPair*)mso_sptCloudCalloutVert, sizeof( mso_sptCloudCalloutVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCloudCalloutSegm, sizeof( mso_sptCloudCalloutSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCloudCalloutCalc, sizeof( mso_sptCloudCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCloudCalloutDefault,
- (SvxMSDffTextRectangles*)mso_sptCloudCalloutTextRect, sizeof( mso_sptCloudCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle, sizeof( mso_sptCalloutHandle ) / sizeof( SvxMSDffHandle ) // handles
-};
-
-static const SvxMSDffVertPair mso_sptWaveVert[] = // adjustment1 : 0 - 4460
-{ // adjustment2 : 8640 - 12960
- { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I },
- { 24 MSO_I, 1 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 29 MSO_I, 1 MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptWaveCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //400 (vert.adj)
- { 0x8000, { 21600, 0, 0x400 } }, //401
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },//402 (horz.adj)
- { 0x2000, { 0x402, 0, 10800 } }, //403 -2160 -> 2160 (horz.adj)
- { 0x2001, { 0x403, 2, 1 } }, //404 -4320 -> 4320 (horz.adj)
- { 0x2003, { 0x404, 0, 0 } }, //405 abs( 0x404 ) (horz.adj)
- { 0x8000, { 4320, 0, 0x405 } }, //406
- { 0xa006, { 0x403, 0, 0x405 } }, //407
- { 0x4001, { 15800, 0x400, 4460 } }, //408 0 -> 15800 (vert.adj)
- { 0xa000, { 0x400, 0, 0x408 } }, //409
- { 0x6000, { 0x400, 0x408, 0 } }, //40a
- { 0x8000, { 21600, 0, 0x404 } }, //40b
- { 0x6006, { 0x403, 0x40b, 21600 } }, //40c
- { 0xa000, { 0x40c, 0, 0x407 } }, //40d width between p0 and p1
- { 0x2001, { 0x405, 1, 2 } }, //40e
- { 0xa000, { 0x407, 7200, 0x40e } }, //40f
- { 0x6000, { 0x40c, 0x40e, 7200 } }, //410
- { 0x2001, { 0x40d, 1, 2 } }, //411 1/2 width
- { 0x6000, { 0x407, 0x411, 0 } }, //412 top center glue xpos
- { 0x8000, { 21600, 0, 0x412 } }, //413 bottom center glue xpos
- { 0x2001, { 0x405, 1, 2 } }, //414 left glue x pos
- { 0x8000, { 21600, 0, 0x414 } }, //415 right glue x pos
- { 0x2001, { 0x400, 2, 1 } }, //416 y1 (textbox)
- { 0x8000, { 21600, 0, 0x416 } }, //417 y2 (textbox)
-
- { 0x8000, { 21600, 0, 0x407 } }, //418 p2
-
- { 0x8000, { 21600, 0, 0x40f } }, //419 c
- { 0x6000, { 0x401, 0x408, 0 } }, //41a
-
- { 0x8000, { 21600, 0, 0x410 } }, //41b c
- { 0xa000, { 0x401, 0, 0x408 } }, //41c
-
- { 0x8000, { 21600, 0, 0x40c } } //41d p3
-};
-static const SvxMSDffVertPair mso_sptWaveGluePoints[] =
-{
- { 0x12 MSO_I, 0 MSO_I }, { 0x14 MSO_I, 10800 }, { 0x13 MSO_I, 1 MSO_I }, { 0x15 MSO_I, 10800 }
-};
-static const sal_uInt16 mso_sptWaveSegm[] =
-{
- 0x4000, 0x2001, 0x0001, 0x2001, 0x6000, 0x8000
-};
-static const SvxMSDffHandle mso_sptWaveHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 4460 },
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x101, 21600, 10800, 10800, 8640, 12960, 0x80000000, 0x7fffffff }
-};
-static const sal_Int32 mso_sptWaveDefault[] =
-{
- 2, 1400, 10800
-};
-static const SvxMSDffTextRectangles mso_sptWaveTextRect[] =
-{
- { { 5 MSO_I, 22 MSO_I }, { 11 MSO_I, 23 MSO_I } }
-};
-static const mso_CustomShape msoWave =
-{
- (SvxMSDffVertPair*)mso_sptWaveVert, sizeof( mso_sptWaveVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptWaveSegm, sizeof( mso_sptWaveSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptWaveCalc, sizeof( mso_sptWaveCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptWaveDefault,
- (SvxMSDffTextRectangles*)mso_sptWaveTextRect, sizeof( mso_sptWaveTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptWaveGluePoints, sizeof( mso_sptWaveGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptWaveHandle, sizeof( mso_sptWaveHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptDoubleWaveVert[] = // adjustment1 : 0 - 2230
-{ // adjustment2 : 8640 - 12960
- { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 0x1e MSO_I, 10 MSO_I }, { 0x12 MSO_I, 0 MSO_I }, { 0x1f MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I },
- { 24 MSO_I, 1 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 0x21 MSO_I, 28 MSO_I }, { 0x13 MSO_I, 1 MSO_I }, { 0x20 MSO_I, 26 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 29 MSO_I, 1 MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptDoubleWaveCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //400 (vert.adj)
- { 0x8000, { 21600, 0, 0x400 } }, //401
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },//402 (horz.adj)
- { 0x2000, { 0x402, 0, 10800 } }, //403 -2160 -> 2160 (horz.adj)
- { 0x2001, { 0x403, 2, 1 } }, //404 -4320 -> 4320 (horz.adj)
- { 0x2003, { 0x404, 0, 0 } }, //405 abs( 0x404 ) (horz.adj)
- { 0x8000, { 4320, 0, 0x405 } }, //406 -> not used
- { 0xa006, { 0x403, 0, 0x405 } }, //407
- { 0x4001, { 7900, 0x400, 2230 } }, //408 0 -> 7900 (vert.adj)
- { 0xa000, { 0x400, 0, 0x408 } }, //409
- { 0x6000, { 0x400, 0x408, 0 } }, //40a
- { 0x8000, { 21600, 0, 0x404 } }, //40b
- { 0x6006, { 0x403, 0x40b, 21600 } }, //40c
- { 0xa000, { 0x40c, 0, 0x407 } }, //40d width between p0 and p1
- { 0x2001, { 0x405, 1, 2 } }, //40e
- { 0xa000, { 0x407, 3600, 0x40e } }, //40f
- { 0x6000, { 0x40c, 0x40e, 3600 } }, //410
- { 0x2001, { 0x40d, 1, 2 } }, //411 1/2 width
- { 0x6000, { 0x407, 0x411, 0 } }, //412 top center glue xpos
- { 0x8000, { 21600, 0, 0x412 } }, //413 bottom center glue xpos
- { 0x2001, { 0x405, 1, 2 } }, //414 left glue x pos
- { 0x8000, { 21600, 0, 0x414 } }, //415 right glue x pos
- { 0x2001, { 0x400, 2, 1 } }, //416 y1 (textbox)
- { 0x8000, { 21600, 0, 0x416 } }, //417 y2 (textbox)
-
- { 0x8000, { 21600, 0, 0x407 } }, //418 p2
-
- { 0x8000, { 21600, 0, 0x40f } }, //419 c
- { 0x6000, { 0x401, 0x408, 0 } }, //41a
-
- { 0x8000, { 21600, 0, 0x410 } }, //41b c
- { 0xa000, { 0x401, 0, 0x408 } }, //41c
-
- { 0x8000, { 21600, 0, 0x40c } }, //41d p3
- { 0xa000, { 0x412, 0, 0x40e } }, //41e
- { 0x6000, { 0x412, 0x40e, 0 } }, //41f
- { 0xa000, { 0x413, 0, 0x40e } }, //420
- { 0x6000, { 0x413, 0x40e, 0 } } //421
-};
-static const SvxMSDffVertPair mso_sptDoubleWaveGluePoints[] =
-{
- { 0x12 MSO_I, 0 MSO_I }, { 0x14 MSO_I, 10800 }, { 0x13 MSO_I, 1 MSO_I }, { 0x15 MSO_I, 10800 }
-};
-static const sal_uInt16 mso_sptDoubleWaveSegm[] =
-{
- 0x4000, 0x2002, 0x0001, 0x2002, 0x6000, 0x8000
-};
-static const SvxMSDffHandle mso_sptDoubleWaveHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 2230 },
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x101, 21600, 10800, 10800, 8640, 12960, 0x80000000, 0x7fffffff }
-};
-static const sal_Int32 mso_sptDoubleWaveDefault[] =
-{
- 2, 1400, 10800
-};
-static const SvxMSDffTextRectangles mso_sptDoubleWaveTextRect[] =
-{
- { { 5 MSO_I, 22 MSO_I }, { 11 MSO_I, 23 MSO_I } }
-};
-static const mso_CustomShape msoDoubleWave =
-{
- (SvxMSDffVertPair*)mso_sptDoubleWaveVert, sizeof( mso_sptDoubleWaveVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptDoubleWaveSegm, sizeof( mso_sptDoubleWaveSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, sizeof( mso_sptDoubleWaveCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDoubleWaveDefault,
- (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, sizeof( mso_sptDoubleWaveTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, sizeof( mso_sptDoubleWaveGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptDoubleWaveHandle, sizeof( mso_sptDoubleWaveHandle ) / sizeof( SvxMSDffHandle )
-};
-
-// for each shapetype a bit of 1 is indicating that the shape is NOT filled by default
-static const sal_uInt16 mso_DefaultFillingTable[] =
-{
- 0x0000, 0x0018, 0x01ff, 0x0000, 0x0c00, 0x01e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0600, 0x0000, 0x0000, 0x0000, 0x0000
-};
-sal_Bool IsCustomShapeFilledByDefault( MSO_SPT eSpType )
-{
- sal_Bool bIsFilledByDefault = sal_True;
- sal_uInt32 i = (sal_uInt32)eSpType;
- if ( i < 0x100 )
- bIsFilledByDefault = ( mso_DefaultFillingTable[ i >> 4 ] & ( 1 << ( i & 0xf ) ) ) == 0;
- return bIsFilledByDefault;
-}
-sal_Int16 GetCustomShapeConnectionTypeDefault( MSO_SPT eSpType )
-{
- sal_Int16 nGluePointType = com::sun::star::drawing::EnhancedCustomShapeGluePointType::SEGMENTS;
- const mso_CustomShape* pDefCustomShape = GetCustomShapeContent( eSpType );
- if ( pDefCustomShape && pDefCustomShape->nGluePoints )
- nGluePointType = com::sun::star::drawing::EnhancedCustomShapeGluePointType::CUSTOM;
- else
- {
- switch( eSpType )
- {
- case mso_sptRectangle :
- case mso_sptRoundRectangle :
- case mso_sptPictureFrame :
- case mso_sptFlowChartProcess :
- case mso_sptFlowChartPredefinedProcess :
- case mso_sptFlowChartInternalStorage :
- case mso_sptTextPlainText :
- case mso_sptTextBox :
- case mso_sptVerticalScroll :
- case mso_sptHorizontalScroll :
- nGluePointType = com::sun::star::drawing::EnhancedCustomShapeGluePointType::RECT;
- default: break;
- }
- }
- return nGluePointType;
-}
-
-// for each shapetype a bit of 1 is indicating that the shape is NOT stroked by default
-// #i28269#
-static const sal_uInt16 mso_DefaultStrokingTable[] =
-{
- 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0800, 0x0000, 0x0000, 0x0000, // #i28269# Added shape 75 (mso_sptPictureFrame)
- 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000
-};
-// #i28269#
-sal_Bool IsCustomShapeStrokedByDefault( MSO_SPT eSpType )
-{
- sal_Bool bIsStrokedByDefault = sal_True;
- sal_uInt32 i = (sal_uInt32)eSpType;
- if ( i < 0x100 )
- bIsStrokedByDefault = ( mso_DefaultStrokingTable[ i >> 4 ] & ( 1 << ( i & 0xf ) ) ) == 0;
- return bIsStrokedByDefault;
-}
-
-static const sal_uInt16 msoSortFilledObjectsToBackTable[] =
-{
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
-};
-sal_Bool SortFilledObjectsToBackByDefault( MSO_SPT eSpType )
-{
- sal_Bool bSortFilledObjectsToBackByDefault = sal_True;
- sal_uInt32 i = (sal_uInt32)eSpType;
- if ( i < 0x100 )
- bSortFilledObjectsToBackByDefault = ( msoSortFilledObjectsToBackTable[ i >> 4 ] & ( 1 << ( i & 0xf ) ) ) != 0;
- return bSortFilledObjectsToBackByDefault;
-}
-
-static const SvxMSDffVertPair mso_sptFontWorkVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 0, 21600 }, { 21600, 21600 }
-};
-static const sal_uInt16 mso_sptFontWorkSegm[] =
-{
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffTextRectangles mso_sptFontWorkTextRect[] =
-{
- { { 0, 0 }, { 21600, 21600 } }
-};
-static const mso_CustomShape msoFontWork =
-{
- (SvxMSDffVertPair*)mso_sptFontWorkVert, sizeof( mso_sptFontWorkVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptFontWorkSegm, sizeof( mso_sptFontWorkSegm ) >> 1,
- NULL, 0,
- NULL,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- NULL, 0 // Handles
-};
-
-static const SvxMSDffVertPair mso_sptTextPlainTextVert[] =
-{
- { 3 MSO_I, 0 }, { 5 MSO_I, 0 }, { 6 MSO_I, 21600 }, { 7 MSO_I, 21600 }
-};
-static const SvxMSDffCalculationData mso_sptTextPlainTextCalc[] = // adjustment1 : 6629 - 14971
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } },
- { 0x2001, { 0x400, 2, 1 } },
- { 0x2003, { 0x401, 0, 0 } },
- { 0xa006, { 0x401, 0, 0x402 } }, // x1(3)
- { 0x8000, { 21600, 0, 0x402 } },
- { 0x6006, { 0x401, 0x404, 21600 } }, // x2(5)
- { 0x6006, { 0x401, 0x402, 0 } }, // x2
- { 0xa006, { 0x401, 21600, 0x404 } } // x3(7)
-};
-static const sal_uInt16 mso_sptTextPlainTextSegm[] =
-{
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffHandle mso_sptTextPlainTextHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 21600, 10800, 10800, 6629, 14971, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoTextPlainText =
-{
- (SvxMSDffVertPair*)mso_sptTextPlainTextVert, sizeof( mso_sptTextPlainTextVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextPlainTextSegm, sizeof( mso_sptTextPlainTextSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextPlainTextCalc, sizeof( mso_sptTextPlainTextCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault10800,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextPlainTextHandle, sizeof( mso_sptTextPlainTextHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextStopVert[] =
-{
- { 0, 0 MSO_I }, { 7200, 0 }, { 14400, 0 }, { 21600, 0 MSO_I },
- { 0, 1 MSO_I }, { 7200, 21600 }, { 14400, 21600 }, { 21600, 1 MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptTextStopCalc[] = // adjustment1 : 3080 - 10800
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }
-};
-static const sal_uInt16 mso_sptTextStopSegm[] =
-{
- 0x4000, 0x0003, 0x8000,
- 0x4000, 0x0003, 0x8000
-};
-static const sal_Int32 mso_sptTextStopDefault[] =
-{
- 1, 2700
-};
-static const SvxMSDffHandle mso_sptTextStopHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 3080, 10800 }
-};
-static const mso_CustomShape msoTextStop =
-{
- (SvxMSDffVertPair*)mso_sptTextStopVert, sizeof( mso_sptTextStopVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextStopSegm, sizeof( mso_sptTextStopSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextStopCalc, sizeof( mso_sptTextStopCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextStopDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextStopHandle, sizeof( mso_sptTextStopHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextTriangleVert[] =
-{
- { 0, 0 MSO_I }, { 10800, 0 }, { 21600, 0 MSO_I }, { 0, 21600 }, { 21600, 21600 }
-};
-static const SvxMSDffCalculationData mso_sptTextTriangleCalc[] = // adjustment1 : 6629 - 14971
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }
-};
-static const sal_uInt16 mso_sptTextTriangleSegm[] =
-{
- 0x4000, 0x0002, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffHandle mso_sptTextTriangleHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 21600 }
-};
-static const mso_CustomShape msoTextTriangle =
-{
- (SvxMSDffVertPair*)mso_sptTextTriangleVert, sizeof( mso_sptTextTriangleVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextTriangleSegm, sizeof( mso_sptTextTriangleSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextTriangleCalc, sizeof( mso_sptTextTriangleCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault10800,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextTriangleHandle, sizeof( mso_sptTextTriangleHandle ) / sizeof( SvxMSDffHandle )
-};
-static const SvxMSDffVertPair mso_sptTextTriangleInvertedVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 0, 0 MSO_I }, { 10800, 21600 }, { 21600, 0 MSO_I }
-};
-static const sal_uInt16 mso_sptTextTriangleInvertedSegm[] =
-{
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0002, 0x8000
-};
-static const mso_CustomShape msoTextTriangleInverted =
-{
- (SvxMSDffVertPair*)mso_sptTextTriangleInvertedVert, sizeof( mso_sptTextTriangleInvertedVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextTriangleInvertedSegm, sizeof( mso_sptTextTriangleInvertedSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextTriangleCalc, sizeof( mso_sptTextTriangleCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault10800,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextTriangleHandle, sizeof( mso_sptTextTriangleHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextChevronVert[] =
-{
- { 0, 0 MSO_I }, { 10800, 0 }, { 21600, 0 MSO_I }, { 0, 21600 }, { 10800, 1 MSO_I }, { 21600, 21600 }
-};
-static const SvxMSDffCalculationData mso_sptTextChevronCalc[] = // adjustment1 : 6629 - 14971
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }
-};
-static const sal_uInt16 mso_sptTextChevronSegm[] =
-{
- 0x4000, 0x0002, 0x8000,
- 0x4000, 0x0002, 0x8000
-};
-static const SvxMSDffHandle mso_sptTextChevronHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 10800 }
-};
-static const mso_CustomShape msoTextChevron =
-{
- (SvxMSDffVertPair*)mso_sptTextChevronVert, sizeof( mso_sptTextChevronVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextChevronSegm, sizeof( mso_sptTextChevronSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextChevronCalc, sizeof( mso_sptTextChevronCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault5400,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextChevronHandle, sizeof( mso_sptTextChevronHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextChevronInvertedVert[] =
-{
- { 0, 0 }, { 10800, 1 MSO_I }, { 21600, 0 }, { 0, 0 MSO_I }, { 10800, 21600 }, { 21600, 0 MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptTextChevronInvertedCalc[] = // adjustment1 : 6629 - 14971
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }
-};
-static const sal_uInt16 mso_sptTextChevronInvertedSegm[] =
-{
- 0x4000, 0x0002, 0x8000,
- 0x4000, 0x0002, 0x8000
-};
-static const SvxMSDffHandle mso_sptTextChevronInvertedHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 10800, 21600 }
-};
-static const mso_CustomShape msoTextChevronInverted =
-{
- (SvxMSDffVertPair*)mso_sptTextChevronInvertedVert, sizeof( mso_sptTextChevronInvertedVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextChevronInvertedSegm, sizeof( mso_sptTextChevronInvertedSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextChevronInvertedCalc, sizeof( mso_sptTextChevronInvertedCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault16200,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextChevronInvertedHandle, sizeof( mso_sptTextChevronInvertedHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextRingOutsideVert[] =
-{
- { 10800, 0 MSO_I }, { 10800, 0 MSO_I }, { 180, 359 },
- { 10800, 1 MSO_I }, { 10800, 0 MSO_I }, { 180, 359 }
-};
-static const SvxMSDffCalculationData mso_sptTextRingOutsideCalc[] = // adjustment1 : 6629 - 14971
-{
- { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
- { 0x8000, { 21600, 0, 0x400 } }
-};
-static const sal_uInt16 mso_sptTextRingOutsideSegm[] =
-{
- 0xA203, 0x8000,
- 0xA203, 0x8000
-};
-static const SvxMSDffHandle mso_sptTextRingOutsideHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 10800, 21600 }
-};
-static const mso_CustomShape msoTextRingOutside =
-{
- (SvxMSDffVertPair*)mso_sptTextRingOutsideVert, sizeof( mso_sptTextRingOutsideVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextRingOutsideSegm, sizeof( mso_sptTextRingOutsideSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextRingOutsideCalc, sizeof( mso_sptTextRingOutsideCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault16200,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextRingOutsideHandle, sizeof( mso_sptTextRingOutsideHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextFadeRightVert[] =
-{
- { 0, 0 }, { 21600, 0 MSO_I }, { 0, 21600 }, { 21600, 1 MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptTextFadeCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }
-};
-static const sal_uInt16 mso_sptTextFadeSegm[] =
-{
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffHandle mso_sptTextFadeRightHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 21600, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 10800 }
-};
-static const mso_CustomShape msoTextFadeRight =
-{
- (SvxMSDffVertPair*)mso_sptTextFadeRightVert, sizeof( mso_sptTextFadeRightVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault7200,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextFadeRightHandle, sizeof( mso_sptTextFadeRightHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextFadeLeftVert[] =
-{
- { 0, 0 MSO_I }, { 21600, 0 }, { 0, 1 MSO_I }, { 21600, 21600 }
-};
-static const SvxMSDffHandle mso_sptTextFadeLeftHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 10800 }
-};
-static const mso_CustomShape msoTextFadeLeft =
-{
- (SvxMSDffVertPair*)mso_sptTextFadeLeftVert, sizeof( mso_sptTextFadeLeftVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault7200,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextFadeLeftHandle, sizeof( mso_sptTextFadeLeftHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextFadeUpVert[] =
-{
- { 0 MSO_I, 0 }, { 1 MSO_I, 0 }, { 0, 21600 }, { 21600, 21600 }
-};
-static const SvxMSDffHandle mso_sptTextFadeUpHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 0, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoTextFadeUp =
-{
- (SvxMSDffVertPair*)mso_sptTextFadeUpVert, sizeof( mso_sptTextFadeUpVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault7200,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextFadeUpHandle, sizeof( mso_sptTextFadeUpHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextFadeDownVert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 0 MSO_I, 21600 }, { 1 MSO_I, 21600 }
-};
-static const SvxMSDffHandle mso_sptTextFadeDownHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 21600, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoTextFadeDown =
-{
- (SvxMSDffVertPair*)mso_sptTextFadeDownVert, sizeof( mso_sptTextFadeDownVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault7200,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextFadeDownHandle, sizeof( mso_sptTextFadeDownHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextSlantUpVert[] =
-{
- { 0, 0 MSO_I }, { 21600, 0 }, { 0, 21600 }, { 21600, 1 MSO_I }
-};
-static const SvxMSDffHandle mso_sptTextSlantUpHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 15400 }
-};
-static const mso_CustomShape msoTextSlantUp =
-{
- (SvxMSDffVertPair*)mso_sptTextSlantUpVert, sizeof( mso_sptTextSlantUpVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault12000,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextSlantUpHandle, sizeof( mso_sptTextSlantUpHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextSlantDownVert[] =
-{
- { 0, 0 }, { 21600, 1 MSO_I }, { 0, 0 MSO_I }, { 21600, 21600 }
-};
-static const SvxMSDffHandle mso_sptTextSlantDownHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 6200, 21600 }
-};
-static const mso_CustomShape msoTextSlantDown =
-{
- (SvxMSDffVertPair*)mso_sptTextSlantDownVert, sizeof( mso_sptTextSlantDownVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault12000,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextSlantDownHandle, sizeof( mso_sptTextSlantDownHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextCascadeUpVert[] =
-{
- { 0, 2 MSO_I }, { 21600, 0 }, { 0, 21600 }, { 21600, 0 MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptTextCascadeCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
- { 0x2001, { 0x401, 1, 4 } }
-};
-static const SvxMSDffHandle mso_sptTextCascadeUpHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 21600, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 6200, 21600 }
-};
-static const mso_CustomShape msoTextCascadeUp =
-{
- (SvxMSDffVertPair*)mso_sptTextCascadeUpVert, sizeof( mso_sptTextCascadeUpVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextCascadeCalc, sizeof( mso_sptTextCascadeCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault9600,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextCascadeUpHandle, sizeof( mso_sptTextCascadeUpHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextCascadeDownVert[] =
-{
- { 0, 0 }, { 21600, 2 MSO_I }, { 0, 0 MSO_I }, { 21600, 21600 }
-};
-static const SvxMSDffHandle mso_sptTextCascadeDownHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 6200, 21600 }
-};
-static const mso_CustomShape msoTextCascadeDown =
-{
- (SvxMSDffVertPair*)mso_sptTextCascadeDownVert, sizeof( mso_sptTextCascadeDownVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextCascadeCalc, sizeof( mso_sptTextCascadeCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault9600,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextCascadeDownHandle, sizeof( mso_sptTextCascadeDownHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextArchUpCurveVert[] =
-{
- { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptTextArchCurveCalc[] =
-{
- { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
- { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
- { 0x2000, { 0x400, 10800, 0 } },
- { 0x2000, { 0x401, 10800, 0 } },
- { 0x8000, { 21600, 0, 0x402 } }
-};
-static const sal_uInt16 mso_sptTextArchUpCurveSegm[] =
-{
- 0xA504, 0x8000 // clockw�se arc
-};
-static const SvxMSDffHandle mso_sptTextArchUpCurveHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_POLAR,
- 10800, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const sal_Int32 mso_sptTextArchUpCurveDefault[] =
-{
- 1, 180
-};
-static const mso_CustomShape msoTextArchUpCurve =
-{
- (SvxMSDffVertPair*)mso_sptTextArchUpCurveVert, sizeof( mso_sptTextArchUpCurveVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextArchUpCurveSegm, sizeof( mso_sptTextArchUpCurveSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextArchCurveCalc, sizeof( mso_sptTextArchCurveCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextArchUpCurveDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextArchUpCurveHandle, sizeof( mso_sptTextArchUpCurveHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextArchDownCurveVert[] =
-{
- { 0, 0 }, { 21600, 21600 }, { 4 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }
-};
-static const sal_uInt16 mso_sptTextArchDownCurveSegm[] =
-{
- 0xA304, 0x8000 // counter clockwise arc to
-};
-static const SvxMSDffHandle mso_sptTextArchDownCurveHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_POLAR,
- 10800, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const sal_Int32 mso_sptTextArchDownCurveDefault[] =
-{
- 1, 0
-};
-static const mso_CustomShape msoTextArchDownCurve =
-{
- (SvxMSDffVertPair*)mso_sptTextArchDownCurveVert, sizeof( mso_sptTextArchDownCurveVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextArchDownCurveSegm, sizeof( mso_sptTextArchDownCurveSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextArchCurveCalc, sizeof( mso_sptTextArchCurveCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextArchDownCurveDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextArchDownCurveHandle, sizeof( mso_sptTextArchDownCurveHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextCircleCurveVert[] =
-{
- { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 4 MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptTextCircleCurveCalc[] =
-{
- { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
- { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
- { 0x2000, { 0x400, 10800, 0 } },
- { 0x2000, { 0x401, 10800, 0 } },
- { 0x8000, { 21600, 0, 0x403 } }
-};
-static const sal_uInt16 mso_sptTextCircleCurveSegm[] =
-{
- 0xA504, 0x8000 // clockwise arc to
-};
-static const SvxMSDffHandle mso_sptTextCircleCurveHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_POLAR,
- 10800, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const sal_Int32 mso_sptTextCircleCurveDefault[] =
-{
- 1, -179
-};
-static const mso_CustomShape msoTextCircleCurve =
-{
- (SvxMSDffVertPair*)mso_sptTextCircleCurveVert, sizeof( mso_sptTextCircleCurveVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextCircleCurveSegm, sizeof( mso_sptTextCircleCurveSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextCircleCurveCalc, sizeof( mso_sptTextCircleCurveCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextCircleCurveDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextCircleCurveHandle, sizeof( mso_sptTextCircleCurveHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextButtonCurveVert[] =
-{
- { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I },
- { 0, 10800 }, { 21600, 10800 },
- { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 5 MSO_I }, { 4 MSO_I, 5 MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptTextButtonCurveCalc[] =
-{
- { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
- { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
- { 0x2000, { 0x400, 10800, 0 } },
- { 0x2000, { 0x401, 10800, 0 } },
- { 0x8000, { 21600, 0, 0x402 } },
- { 0x8000, { 21600, 0, 0x403 } }
-};
-static const sal_uInt16 mso_sptTextButtonCurveSegm[] =
-{
- 0xA504, 0x8000, // clockwise arc
- 0x4000, 0x0001, 0x8000,
- 0xA304, 0x8000 // counter clockwise
-};
-static const SvxMSDffHandle mso_sptTextButtonCurveHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_POLAR,
- 10800, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const sal_Int32 mso_sptTextButtonCurveDefault[] =
-{
- 1, 180
-};
-static const mso_CustomShape msoTextButtonCurve =
-{
- (SvxMSDffVertPair*)mso_sptTextButtonCurveVert, sizeof( mso_sptTextButtonCurveVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextButtonCurveSegm, sizeof( mso_sptTextButtonCurveSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextButtonCurveCalc, sizeof( mso_sptTextButtonCurveCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextButtonCurveDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextButtonCurveHandle, sizeof( mso_sptTextButtonCurveHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextArchUpPourVert[] =
-{
- { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I },
- { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 0xa MSO_I, 9 MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptTextArchPourCalc[] =
-{
- { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
- { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
- { 0x2000, { 0x400, 10800, 0 } },
- { 0x2000, { 0x401, 10800, 0 } },
- { 0x8000, { 21600, 0, 0x402 } },
- { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
- { 0x600a, { 0x405, DFF_Prop_adjustValue, 0 } }, // 6
- { 0x6009, { 0x405, DFF_Prop_adjustValue, 0 } },
- { 0x2000, { 0x406, 10800, 0 } }, // 8
- { 0x2000, { 0x407, 10800, 0 } },
- { 0x8000, { 21600, 0, 0x408 } }, // 10
- { 0x8000, { 21600, 0, 0x405 } }
-};
-static const sal_uInt16 mso_sptTextArchUpPourSegm[] =
-{
- 0xA504, 0x8000, 0xA504, 0x8000
-};
-static const SvxMSDffHandle mso_sptTextArchPourHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
- 0x101, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const sal_Int32 mso_sptTextArchUpPourDefault[] =
-{
- 2, 180, 5400
-};
-static const mso_CustomShape msoTextArchUpPour =
-{
- (SvxMSDffVertPair*)mso_sptTextArchUpPourVert, sizeof( mso_sptTextArchUpPourVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextArchUpPourSegm, sizeof( mso_sptTextArchUpPourSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextArchPourCalc, sizeof( mso_sptTextArchPourCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextArchUpPourDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextArchPourHandle, sizeof( mso_sptTextArchPourHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextArchDownPourVert[] =
-{
- { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 0xa MSO_I, 9 MSO_I }, { 8 MSO_I, 9 MSO_I },
- { 0, 0 }, { 21600, 21600 }, { 4 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }
-};
-static const sal_uInt16 mso_sptTextArchDownPourSegm[] =
-{
- 0xA304, 0x8000, 0xA304, 0x8000
-};
-static const sal_Int32 mso_sptTextArchDownPourDefault[] =
-{
- 2, 0, 5400
-};
-static const mso_CustomShape msoTextArchDownPour =
-{
- (SvxMSDffVertPair*)mso_sptTextArchDownPourVert, sizeof( mso_sptTextArchDownPourVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextArchDownPourSegm, sizeof( mso_sptTextArchDownPourSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextArchPourCalc, sizeof( mso_sptTextArchPourCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextArchDownPourDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextArchPourHandle, sizeof( mso_sptTextArchPourHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextCirclePourVert[] =
-{
- { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 4 MSO_I },
- { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 8 MSO_I, 0xa MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptTextCirclePourCalc[] =
-{
- { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
- { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
- { 0x2000, { 0x400, 10800, 0 } },
- { 0x2000, { 0x401, 10800, 0 } },
- { 0x8000, { 21600, 0, 0x403 } },
- { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
- { 0x600a, { 0x405, DFF_Prop_adjustValue, 0 } }, // 6
- { 0x6009, { 0x405, DFF_Prop_adjustValue, 0 } },
- { 0x2000, { 0x406, 10800, 0 } }, // 8
- { 0x2000, { 0x407, 10800, 0 } },
- { 0x8000, { 21600, 0, 0x409 } }, // 10
- { 0x8000, { 21600, 0, 0x405 } },
- { 0x000, { 21600, 0, 0 } }
-};
-static const sal_uInt16 mso_sptTextCirclePourSegm[] =
-{
- 0xA504, 0x8000, 0xA504, 0x8000
-};
-static const SvxMSDffHandle mso_sptTextCirclePourHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
- 0x101, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff }
-};
-static const sal_Int32 mso_sptTextCirclePourDefault[] =
-{
- 2, -179, 5400
-};
-static const mso_CustomShape msoTextCirclePour =
-{
- (SvxMSDffVertPair*)mso_sptTextCirclePourVert, sizeof( mso_sptTextCirclePourVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextCirclePourSegm, sizeof( mso_sptTextCirclePourSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextCirclePourCalc, sizeof( mso_sptTextCirclePourCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextCirclePourDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextCirclePourHandle, sizeof( mso_sptTextCirclePourHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextButtonPourVert[] =
-{
- { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I },
- { 6 MSO_I, 6 MSO_I }, { 7 MSO_I, 7 MSO_I }, { 10 MSO_I, 11 MSO_I }, { 12 MSO_I, 11 MSO_I },
- { 0x16 MSO_I, 16 MSO_I }, { 0x15 MSO_I, 16 MSO_I },
- { 0x16 MSO_I, 15 MSO_I }, { 0x15 MSO_I, 15 MSO_I },
- { 6 MSO_I, 6 MSO_I }, { 7 MSO_I, 7 MSO_I }, { 10 MSO_I, 13 MSO_I }, { 12 MSO_I, 13 MSO_I },
- { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 5 MSO_I }, { 4 MSO_I, 5 MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptTextButtonPourCalc[] =
-{
- { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } }, // 0x00
- { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } }, // 0x01
- { 0x2000, { 0x400, 10800, 0 } }, // 0x02
- { 0x2000, { 0x401, 10800, 0 } }, // 0x03
- { 0x8000, { 21600, 0, 0x402 } }, // 0x04
- { 0x8000, { 21600, 0, 0x403 } }, // 0x05
-
- { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } }, // 0x06
- { 0x8000, { 21600, 0, 0x406 } }, // 0x07
-
- { 0x600a, { DFF_Prop_adjust2Value, DFF_Prop_adjustValue, 0 } }, // 0x08
- { 0x6009, { DFF_Prop_adjust2Value, DFF_Prop_adjustValue, 0 } }, // 0x09
- { 0x2000, { 0x408, 10800, 0 } }, // 0x0a
- { 0x2000, { 0x409, 10800, 0 } }, // 0x0b
- { 0x8000, { 21600, 0, 0x40a } }, // 0x0c
- { 0x8000, { 21600, 0, 0x40b } }, // 0x0d
- { 0x2001, { 0x406, 1, 2 } }, // 0x0e
- { 0x4000, { 10800, 0x40e, 0 } }, // 0x0f
- { 0x8000, { 10800, 0, 0x40e } }, // 0x10
- { 0x6001, { 0x40e, 0x40e, 1 } }, // 0x11
- { 0x6001, { DFF_Prop_adjust2Value, DFF_Prop_adjust2Value, 1 } }, // 0x12
- { 0xA000, { 0x412, 0, 0x411 } }, // 0x13
- { 0x200d, { 0x413, 0, 0 } }, // 0x14
- { 0x4000, { 10800, 0x414, 0 } }, // 0x15
- { 0x8000, { 10800, 0, 0x414 } } // 0x16
-};
-static const sal_uInt16 mso_sptTextButtonPourSegm[] =
-{
- 0xA504, 0x8000, // clockwise arc
- 0xA504, 0x8000, // clockwise arc
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0xA304, 0x8000, // counter clockwise
- 0xA304, 0x8000 // counter clockwise
-};
-static const SvxMSDffHandle mso_sptTextButtonPourHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
- 0x101, 0x100, 10800, 10800, 4320, 10800, 0x80000000, 0x7fffffff }
-};
-static const sal_Int32 mso_sptTextButtonPourDefault[] =
-{
- 2, 180, 5400
-};
-static const mso_CustomShape msoTextButtonPour =
-{
- (SvxMSDffVertPair*)mso_sptTextButtonPourVert, sizeof( mso_sptTextButtonPourVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextButtonPourSegm, sizeof( mso_sptTextButtonPourSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextButtonPourCalc, sizeof( mso_sptTextButtonPourCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextButtonPourDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextButtonPourHandle, sizeof( mso_sptTextButtonPourHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextCurveUpVert[] =
-{
- { 0, 0 MSO_I }, { 4900, 1 MSO_I /*12170->0 14250 ->0*/ }, { 11640, 2 MSO_I /*12170->0 12800 ->0*/ }, { 21600, 0 },
- { 0, 4 MSO_I /*12170->0 17220 ->21600*/ }, { 3700, 21600 }, { 8500, 21600 }, { 10100, 21600 }, { 14110, 21600 }, { 15910, 21600 }, { 21600, 4 MSO_I /*12170->0 17220 ->21600*/ }
-};
-static const SvxMSDffCalculationData mso_sptTextCurveUpCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
- { 0x4001, { 14250, 0x400, 12170 } }, // 401
- { 0x4001, { 12800, 0x400, 12170 } }, // 402
- { 0x4001, { 6380, 0x400, 12170 } }, // 403
- { 0x8000, { 21600, 0, 0x403 } } // 404
-};
-static const sal_uInt16 mso_sptTextCurveUpSegm[] =
-{
- 0x4000, 0x2001, 0x8000,
- 0x4000, 0x2002, 0x8000
-};
-static const SvxMSDffHandle mso_sptTextCurveUpHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 12170 }
-};
-static const sal_Int32 mso_sptTextCurveUpDefault[] =
-{
- 1, 9900
-};
-static const mso_CustomShape msoTextCurveUp =
-{
- (SvxMSDffVertPair*)mso_sptTextCurveUpVert, sizeof( mso_sptTextCurveUpVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextCurveUpSegm, sizeof( mso_sptTextCurveUpSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextCurveUpCalc, sizeof( mso_sptTextCurveUpCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextCurveUpDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextCurveUpHandle, sizeof( mso_sptTextCurveUpHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextCurveDownVert[] =
-{
-// { 0, 0 MSO_I }, { 4900, 1 MSO_I /*12170->0 14250 ->0*/ }, { 11640, 2 MSO_I /*12170->0 12800 ->0*/ }, { 21600, 0 },
- { 0, 0 }, { 9960, 2 MSO_I }, { 16700, 1 MSO_I }, { 21600, 0 MSO_I },
-
-// { 0, 4 MSO_I /*12170->0 17220 ->21600*/ }, { 3700, 21600 }, { 8500, 21600 }, { 10100, 21600 }, { 14110, 21600 }, { 15910, 21600 }, { 21600, 4 MSO_I /*12170->0 17220 ->21600*/ }
- { 0, 4 MSO_I }, { 5690, 21600 }, { 7490, 21600 }, { 11500, 21600 }, { 13100, 21600 }, { 17900, 21600 }, { 21600, 4 MSO_I }
-};
-static const SvxMSDffHandle mso_sptTextCurveDownHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 21600, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 12170 }
-};
-static const mso_CustomShape msoTextCurveDown =
-{
- (SvxMSDffVertPair*)mso_sptTextCurveDownVert, sizeof( mso_sptTextCurveDownVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextCurveUpSegm, sizeof( mso_sptTextCurveUpSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextCurveUpCalc, sizeof( mso_sptTextCurveUpCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextCurveUpDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextCurveDownHandle, sizeof( mso_sptTextCurveDownHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextCanUpVert[] =
-{
- { 0, 1 MSO_I }, { 900, 0 }, { 7100, 0 }, { 10800, 0 }, { 14500, 0 }, { 20700, 0 }, { 21600, 1 MSO_I },
- { 0, 21600 }, { 900, 4 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 20700, 4 MSO_I }, { 21600, 21600 }
-};
-static const SvxMSDffCalculationData mso_sptTextCanUpCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 401
- { 0x2000, { DFF_Prop_adjustValue, 0, 14400 } }, // 402
- { 0x4001, { 5470, 0x402, 7200 } }, // 403
- { 0x4000, { 16130, 0x403, 0 } } // 404
-};
-static const sal_uInt16 mso_sptTextCanUpSegm[] =
-{
- 0x4000, 0x2002, 0x8000,
- 0x4000, 0x2002, 0x8000
-};
-static const SvxMSDffHandle mso_sptTextCanUpHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 14400, 21600 }
-};
-static const sal_Int32 mso_sptTextCanUpDefault[] =
-{
- 1, 18500
-};
-static const mso_CustomShape msoTextCanUp =
-{
- (SvxMSDffVertPair*)mso_sptTextCanUpVert, sizeof( mso_sptTextCanUpVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextCanUpCalc, sizeof( mso_sptTextCanUpCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextCanUpDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextCanUpHandle, sizeof( mso_sptTextCanUpHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextCanDownVert[] =
-{
- { 0, 0 }, { 900, 2 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 20700, 2 MSO_I }, { 21600, 0 },
- { 0, 1 MSO_I }, { 900, 21600 }, { 7100, 21600 }, { 10800, 21600 }, { 14500, 21600 }, { 20700, 21600 }, { 21600, 1 MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptTextCanDownCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
- { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 401
- { 0x4001, { 5470, 0x400, 7200 } } // 402
-};
-static const SvxMSDffHandle mso_sptTextCanDownHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 7200 }
-};
-static const sal_Int32 mso_sptTextCanDownDefault[] =
-{
- 1, 3100
-};
-static const mso_CustomShape msoTextCanDown =
-{
- (SvxMSDffVertPair*)mso_sptTextCanDownVert, sizeof( mso_sptTextCanDownVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextCanDownCalc, sizeof( mso_sptTextCanDownCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextCanDownDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextCanDownHandle, sizeof( mso_sptTextCanDownHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextInflateVert[] =
-{
- { 0, 0 MSO_I }, { 4100, 1 MSO_I }, { 7300, 0 }, { 10800, 0 }, { 14300, 0 }, { 17500, 1 MSO_I }, { 21600, 0 MSO_I },
- { 0, 2 MSO_I }, { 4100, 3 MSO_I }, { 7300, 21600 }, { 10800, 21600 }, { 14300, 21600 }, { 17500, 3 MSO_I }, { 21600, 2 MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptTextInflateCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
- { 0x4001, { 1530, 0x400, 4650 } }, // 401
- { 0x8000, { 21600, 0, 0x400 } }, // 402
- { 0x8000, { 21600, 0, 0x401 } } // 403
-};
-static const SvxMSDffHandle mso_sptTextInflateHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 4650 }
-};
-static const sal_Int32 mso_sptTextInflateDefault[] =
-{
- 1, 2950
-};
-static const mso_CustomShape msoTextInflate =
-{
- (SvxMSDffVertPair*)mso_sptTextInflateVert, sizeof( mso_sptTextInflateVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextInflateCalc, sizeof( mso_sptTextInflateCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextInflateDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextInflateHandle, sizeof( mso_sptTextInflateHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextDeflateVert[] =
-{
- { 0, 0 }, { 3500, 1 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 18100, 1 MSO_I }, { 21600, 0 },
- { 0, 21600 }, { 3500, 3 MSO_I }, { 7100, 2 MSO_I }, { 10800, 2 MSO_I }, { 14500, 2 MSO_I }, { 18100, 3 MSO_I }, { 21600, 21600 }
-};
-static const SvxMSDffCalculationData mso_sptTextDeflateCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
- { 0x2001, { 0x400, 5320, 7100 } }, // 401
- { 0x8000, { 21600, 0, 0x400 } }, // 402
- { 0x8000, { 21600, 0, 0x401 } } // 403
-};
-static const SvxMSDffHandle mso_sptTextDeflateHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 8100 }
-};
-static const mso_CustomShape msoTextDeflate =
-{
- (SvxMSDffVertPair*)mso_sptTextDeflateVert, sizeof( mso_sptTextDeflateVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextDeflateCalc, sizeof( mso_sptTextDeflateCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDefault8100,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextDeflateHandle, sizeof( mso_sptTextDeflateHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextInflateBottomVert[] =
-{
- { 0, 0 }, { 21600, 0 },
- { 0, 0 MSO_I }, { 3500, 3 MSO_I }, { 7300, 21600 }, { 10800, 21600 }, { 14300, 21600 }, { 18100, 3 MSO_I }, { 21600, 0 MSO_I }
-};
-static const SvxMSDffCalculationData mso_sptTextInflateBottomCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
- { 0x2000, { 0x400, 0, 11150 } }, // 401 0->10450
- { 0x2001, { 0x401, 3900, 10450 } }, // 402
- { 0x2000, { 0x402, 17700, 0 } } // 403
-};
-static const sal_uInt16 mso_sptTextInflateBottomSegm[] =
-{
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x2002, 0x8000
-};
-static const SvxMSDffHandle mso_sptTextInflateBottomHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 11150, 21600 }
-};
-static const sal_Int32 mso_sptTextInflateBottomDefault[] =
-{
- 1, 14700
-};
-static const mso_CustomShape msoTextInflateBottom =
-{
- (SvxMSDffVertPair*)mso_sptTextInflateBottomVert, sizeof( mso_sptTextInflateBottomVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextInflateBottomSegm, sizeof( mso_sptTextInflateBottomSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextInflateBottomCalc, sizeof( mso_sptTextInflateBottomCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextInflateBottomDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextInflateBottomHandle, sizeof( mso_sptTextInflateBottomHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextDeflateBottomVert[] =
-{
- { 0, 0 }, { 21600, 0 },
- { 0, 21600 }, { 2900, 3 MSO_I }, { 7200, 0 MSO_I }, { 10800, 0 MSO_I }, { 14400, 0 MSO_I }, { 18700, 3 MSO_I }, { 21600, 21600 }
-};
-static const SvxMSDffCalculationData mso_sptTextDeflateBottomCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
- { 0x2000, { 0x400, 0, 1350 } }, // 401 0->20250
- { 0x2001, { 0x401, 12070, 20250 } }, // 402
- { 0x2000, { 0x402, 9530, 0 } } // 403
-};
-static const sal_uInt16 mso_sptTextDeflateBottomSegm[] =
-{
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x2002, 0x8000
-};
-static const SvxMSDffHandle mso_sptTextDeflateBottomHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 1350, 21600 }
-};
-static const sal_Int32 mso_sptTextDeflateBottomDefault[] =
-{
- 1, 11500
-};
-static const mso_CustomShape msoTextDeflateBottom =
-{
- (SvxMSDffVertPair*)mso_sptTextDeflateBottomVert, sizeof( mso_sptTextDeflateBottomVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextDeflateBottomSegm, sizeof( mso_sptTextDeflateBottomSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextDeflateBottomCalc, sizeof( mso_sptTextDeflateBottomCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextDeflateBottomDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextDeflateBottomHandle, sizeof( mso_sptTextDeflateBottomHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextInflateTopVert[] =
-{
- { 0, 0 MSO_I }, { 3500, 1 MSO_I }, { 7300, 0 }, { 10800, 0 }, { 14300, 0 }, { 18100, 1 MSO_I }, { 21600, 0 MSO_I },
- { 0, 21600 }, { 21600, 21600 }
-};
-static const SvxMSDffCalculationData mso_sptTextInflateTopCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
- { 0x2001, { 0x400, 3900, 10450 } } // 401
-};
-static const sal_uInt16 mso_sptTextInflateTopSegm[] =
-{
- 0x4000, 0x2002, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffHandle mso_sptTextInflateTopHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 10450 }
-};
-static const sal_Int32 mso_sptTextInflateTopDefault[] =
-{
- 1, 6900
-};
-static const mso_CustomShape msoTextInflateTop =
-{
- (SvxMSDffVertPair*)mso_sptTextInflateTopVert, sizeof( mso_sptTextInflateTopVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextInflateTopSegm, sizeof( mso_sptTextInflateTopSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextInflateTopCalc, sizeof( mso_sptTextInflateTopCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextInflateTopDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextInflateTopHandle, sizeof( mso_sptTextInflateTopHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextDeflateTopVert[] =
-{
- { 0, 0 }, { 2900, 1 MSO_I }, { 7200, 0 MSO_I }, { 10800, 0 MSO_I }, { 14400, 0 MSO_I }, { 18700, 1 MSO_I }, { 21600, 0 },
- { 0, 21600 }, { 21600, 21600 }
-};
-static const SvxMSDffCalculationData mso_sptTextDeflateTopCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
- { 0x2001, { 0x400, 12070, 20250 } } // 402
-};
-static const sal_uInt16 mso_sptTextDeflateTopSegm[] =
-{
- 0x4000, 0x2002, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffHandle mso_sptTextDeflateTopHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 20250 }
-};
-static const sal_Int32 mso_sptTextDeflateTopDefault[] =
-{
- 1, 10100
-};
-static const mso_CustomShape msoTextDeflateTop =
-{
- (SvxMSDffVertPair*)mso_sptTextDeflateTopVert, sizeof( mso_sptTextDeflateTopVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextDeflateTopSegm, sizeof( mso_sptTextDeflateTopSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextDeflateTopCalc, sizeof( mso_sptTextDeflateTopCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextDeflateTopDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextDeflateTopHandle, sizeof( mso_sptTextDeflateTopHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextDeflateInflateVert[] =
-{
- { 0, 0 }, { 21600, 0 },
- { 0, 10100 }, { 3300, 3 MSO_I }, { 7100, 5 MSO_I }, { 10800, 5 MSO_I }, { 14500, 5 MSO_I }, { 18300, 3 MSO_I }, { 21600, 10100 },
- { 0, 11500 }, { 3300, 4 MSO_I }, { 7100, 6 MSO_I }, { 10800, 6 MSO_I }, { 14500, 6 MSO_I }, { 18300, 4 MSO_I }, { 21600, 11500 },
- { 0, 21600 }, { 21600, 21600 }
-};
-static const SvxMSDffCalculationData mso_sptTextDeflateInflateCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
- { 0x8000, { 10800, 0, 0x400 } }, // 401
- { 0x2001, { 0x401, 5770, 9500 } }, // 402
- { 0x8000, { 10100, 0, 0x402 } }, // 403
- { 0x8000, { 11500, 0, 0x402 } }, // 404
- { 0x2000, { 0x400, 0, 700 } }, // 405
- { 0x2000, { 0x400, 700, 0 } } // 406
-};
-static const sal_uInt16 mso_sptTextDeflateInflateSegm[] =
-{
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x2002, 0x8000,
- 0x4000, 0x2002, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffHandle mso_sptTextDeflateInflateHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 1300, 20300 }
-};
-static const sal_Int32 mso_sptTextDeflateInflateDefault[] =
-{
- 1, 6500
-};
-static const mso_CustomShape msoTextDeflateInflate =
-{
- (SvxMSDffVertPair*)mso_sptTextDeflateInflateVert, sizeof( mso_sptTextDeflateInflateVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextDeflateInflateSegm, sizeof( mso_sptTextDeflateInflateSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextDeflateInflateCalc, sizeof( mso_sptTextDeflateInflateCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextDeflateInflateDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextDeflateInflateHandle, sizeof( mso_sptTextDeflateInflateHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextDeflateInflateDeflateVert[] =
-{
- { 0, 0 }, { 21600, 0 },
- { 0, 6600 }, { 3600, 3 MSO_I }, { 7250, 4 MSO_I }, { 10800, 4 MSO_I }, { 14350, 4 MSO_I }, { 18000, 3 MSO_I }, { 21600, 6600 },
- { 0, 7500 }, { 3600, 5 MSO_I }, { 7250, 6 MSO_I }, { 10800, 6 MSO_I }, { 14350, 6 MSO_I }, { 18000, 5 MSO_I }, { 21600, 7500 },
- { 0, 14100 }, { 3600, 9 MSO_I }, { 7250, 10 MSO_I }, { 10800, 10 MSO_I }, { 14350, 10 MSO_I }, { 18000, 9 MSO_I }, { 21600, 14100 },
- { 0, 15000 }, { 3600, 7 MSO_I }, { 7250, 8 MSO_I }, { 10800, 8 MSO_I }, { 14350, 8 MSO_I }, { 18000, 7 MSO_I }, { 21600, 15000 },
- { 0, 21600 }, { 21600, 21600 }
-};
-static const SvxMSDffCalculationData mso_sptTextDeflateInflateDeflateCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 850 } }, // 400
- { 0x2001, { 0x400, 6120, 8700 } },
- { 0x2000, { 0x401, 0, 4280 } },
- { 0x4000, { 6600, 0x402, 0 } },
- { 0x2000, { DFF_Prop_adjustValue, 0, 450 } }, // 404
- { 0x2000, { 0x403, 900, 0 } }, // 405
- { 0x2000, { 0x404, 900, 0 } }, // 406
- { 0x8000, { 21600, 0, 0x403 } }, // 407
- { 0x8000, { 21600, 0, 0x404 } }, // 408
- { 0x8000, { 21600, 0, 0x405 } }, // 409
- { 0x8000, { 21600, 0, 0x406 } } // 410
-};
-static const sal_uInt16 mso_sptTextDeflateInflateDeflateSegm[] =
-{
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x2002, 0x8000,
- 0x4000, 0x2002, 0x8000,
- 0x4000, 0x2002, 0x8000,
- 0x4000, 0x2002, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffHandle mso_sptTextDeflateInflateDeflateHandle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 850, 9550 }
-};
-static const sal_Int32 mso_sptTextDeflateInflateDeflateDefault[] =
-{
- 1, 6050
-};
-static const mso_CustomShape msoTextDeflateInflateDeflate =
-{
- (SvxMSDffVertPair*)mso_sptTextDeflateInflateDeflateVert, sizeof( mso_sptTextDeflateInflateDeflateVert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextDeflateInflateDeflateSegm, sizeof( mso_sptTextDeflateInflateDeflateSegm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptTextDeflateInflateDeflateCalc, sizeof( mso_sptTextDeflateInflateDeflateCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptTextDeflateInflateDeflateDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptTextDeflateInflateDeflateHandle, sizeof( mso_sptTextDeflateInflateDeflateHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextWave1Vert[] = // adjustment1 : 0 - 4459
-{ // adjustment2 : 8640 - 12960
- { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I },
- { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 24 MSO_I, 1 MSO_I }
-};
-static const sal_uInt16 mso_sptTextWave1Segm[] =
-{
- 0x4000, 0x2001, 0x8000,
- 0x4000, 0x2001, 0x8000
-};
-static const mso_CustomShape msoTextWave1 =
-{
- (SvxMSDffVertPair*)mso_sptTextWave1Vert, sizeof( mso_sptTextWave1Vert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextWave1Segm, sizeof( mso_sptTextWave1Segm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptWaveCalc, sizeof( mso_sptWaveCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptWaveDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptWaveGluePoints, sizeof( mso_sptWaveGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptWaveHandle, sizeof( mso_sptWaveHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextWave2Vert[] = // adjustment1 : 0 - 4459
-{ // adjustment2 : 8640 - 12960
- { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 10 MSO_I }, { 16 MSO_I, 9 MSO_I }, { 12 MSO_I, 0 MSO_I },
- { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 26 MSO_I }, { 25 MSO_I, 28 MSO_I }, { 24 MSO_I, 1 MSO_I }
-};
-static const mso_CustomShape msoTextWave2 =
-{
- (SvxMSDffVertPair*)mso_sptTextWave2Vert, sizeof( mso_sptTextWave2Vert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextWave1Segm, sizeof( mso_sptTextWave1Segm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptWaveCalc, sizeof( mso_sptWaveCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptWaveDefault,
- (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptWaveGluePoints, sizeof( mso_sptWaveGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptWaveHandle, sizeof( mso_sptWaveHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextWave3Vert[] = // adjustment1 : 0 - 2230
-{ // adjustment2 : 8640 - 12960
- { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 0x1e MSO_I, 10 MSO_I }, { 0x12 MSO_I, 0 MSO_I }, { 0x1f MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I },
- { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 0x20 MSO_I, 26 MSO_I }, { 0x13 MSO_I, 1 MSO_I }, { 0x21 MSO_I, 28 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 24 MSO_I, 1 MSO_I }
-};
-static const sal_uInt16 mso_sptTextWave3Segm[] =
-{
- 0x4000, 0x2002, 0x8000,
- 0x4000, 0x2002, 0x8000
-};
-static const mso_CustomShape msoTextWave3 =
-{
- (SvxMSDffVertPair*)mso_sptTextWave3Vert, sizeof( mso_sptTextWave3Vert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextWave3Segm, sizeof( mso_sptTextWave3Segm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, sizeof( mso_sptDoubleWaveCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDoubleWaveDefault,
- (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, sizeof( mso_sptDoubleWaveTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, sizeof( mso_sptDoubleWaveGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptDoubleWaveHandle, sizeof( mso_sptDoubleWaveHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptTextWave4Vert[] = // adjustment1 : 0 - 2230
-{ // adjustment2 : 8640 - 12960
- { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 10 MSO_I }, { 0x1e MSO_I, 9 MSO_I }, { 0x12 MSO_I, 0 MSO_I }, { 0x1f MSO_I, 10 MSO_I }, { 16 MSO_I, 9 MSO_I }, { 12 MSO_I, 0 MSO_I },
- { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 26 MSO_I }, { 0x20 MSO_I, 28 MSO_I }, { 0x13 MSO_I, 1 MSO_I }, { 0x21 MSO_I, 26 MSO_I }, { 25 MSO_I, 28 MSO_I }, { 24 MSO_I, 1 MSO_I }
-};
-static const mso_CustomShape msoTextWave4 =
-{
- (SvxMSDffVertPair*)mso_sptTextWave4Vert, sizeof( mso_sptTextWave4Vert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptTextWave3Segm, sizeof( mso_sptTextWave3Segm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, sizeof( mso_sptDoubleWaveCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptDoubleWaveDefault,
- (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, sizeof( mso_sptDoubleWaveTextRect ) / sizeof( SvxMSDffTextRectangles ),
- 21600, 21600,
- 0x80000000, 0x80000000,
- (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, sizeof( mso_sptDoubleWaveGluePoints ) / sizeof( SvxMSDffVertPair ),
- (SvxMSDffHandle*)mso_sptDoubleWaveHandle, sizeof( mso_sptDoubleWaveHandle ) / sizeof( SvxMSDffHandle )
-};
-
-static const sal_Int32 mso_sptCalloutDefault1[] =
-{
- 4, -1800, 24500, -1800, 4000
-};
-static const sal_Int32 mso_sptCalloutDefault2[] =
-{
- 4, -8300, 24500, -1800, 4000
-};
-static const sal_Int32 mso_sptCalloutDefault3[] =
-{
- 6, -10000, 24500, -3600, 4000, -1800, 4000
-};
-static const sal_Int32 mso_sptCalloutDefault4[] =
-{
- 8, 23400, 24500, 25200, 21600, 25200, 4000, 23400, 4000
-};
-static const SvxMSDffVertPair mso_sptCalloutVert1[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }
-};
-static const SvxMSDffHandle mso_sptCalloutHandle1[] =
-{
- { 0,
- 0x100, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff },
- { 0,
- 0x102, 0x103, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }
-};
-static const sal_uInt16 mso_sptCalloutSegm1a[] =
-{
- 0x4000, 0x0003, 0x6000, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const sal_uInt16 mso_sptCalloutSegm1b[] =
-{
- 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffVertPair mso_sptCallout1Vert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 0 }, { 2 MSO_I, 21600 }
-};
-static const sal_uInt16 mso_sptCallout1Segm1a[] =
-{
- 0x4000, 0x0003, 0x6000, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const sal_uInt16 mso_sptCallout1Segm1b[] =
-{
- 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffVertPair mso_sptCallout2Verta[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 5 MSO_I }
-};
-static const SvxMSDffVertPair mso_sptCallout2Vertb[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 5 MSO_I }, { 4 MSO_I, 0 }, { 4 MSO_I, 21600 }
-};
-static const SvxMSDffHandle mso_sptCalloutHandle2[] =
-{
- { 0,
- 0x100, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff },
- { 0,
- 0x102, 0x103, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff },
- { 0,
- 0x104, 0x105, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }
-};
-static const sal_uInt16 mso_sptCallout2Segm1a[] =
-{
- 0x4000, 0x0003, 0x6000, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const sal_uInt16 mso_sptCallout2Segm1b[] =
-{
- 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const sal_uInt16 mso_sptCallout2Segm1c[] =
-{
- 0x4000, 0x0003, 0x6000, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const sal_uInt16 mso_sptCallout2Segm1d[] =
-{
- 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000,
- 0x4000, 0x0001, 0x8000
-};
-static const SvxMSDffVertPair mso_sptCallout3Verta[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 6 MSO_I, 7 MSO_I }, { 4 MSO_I, 5 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 1 MSO_I }
-};
-static const SvxMSDffVertPair mso_sptCallout3Vertb[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 6 MSO_I, 7 MSO_I }, { 4 MSO_I, 5 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 1 MSO_I }, { 6 MSO_I, 0 }, { 6 MSO_I, 21600 }
-};
-static const SvxMSDffHandle mso_sptCalloutHandle3[] =
-{
- { 0,
- 0x100, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff },
- { 0,
- 0x102, 0x103, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff },
- { 0,
- 0x104, 0x105, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff },
- { 0,
- 0x106, 0x107, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }
-};
-static const sal_uInt16 mso_sptCallout3Segm1a[] =
-{
- 0x4000, 0x0003, 0x6000, 0x8000,
- 0x4000, 0xaa00, 0x0003, 0x8000 // NO_FILL
-};
-static const sal_uInt16 mso_sptCallout3Segm1b[] =
-{
- 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
- 0x4000, 0xaa00, 0x0003, 0x8000 // NO FILL
-};
-static const sal_uInt16 mso_sptCallout3Segm1c[] =
-{
- 0x4000, 0x0003, 0x6000, 0x8000,
- 0x4000, 0xaa00, 0x0003, 0x8000, // NO FILL
- 0x4000, 0x0001, 0x8000
-};
-static const sal_uInt16 mso_sptCallout3Segm1d[] =
-{
- 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
- 0x4000, 0xaa00, 0x0003, 0x8000, // NO FILL
- 0x4000, 0x0001, 0x8000
-};
-
-static const SvxMSDffCalculationData mso_sptCalloutCalc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust5Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust6Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust7Value, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust8Value, 0, 0 } }
-};
-
-static const mso_CustomShape msoCallout90 =
-{
- (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCalloutDefault1,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle )
-};
-static const mso_CustomShape msoCallout1 =
-{
- (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCalloutDefault2,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle )
-};
-static const mso_CustomShape msoCallout2 =
-{
- (SvxMSDffVertPair*)mso_sptCallout2Verta, sizeof( mso_sptCallout2Verta ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCallout2Segm1b, sizeof( mso_sptCallout2Segm1b ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCalloutDefault3,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle2, sizeof( mso_sptCalloutHandle2 ) / sizeof( SvxMSDffHandle )
-};
-static const mso_CustomShape msoCallout3 =
-{
- (SvxMSDffVertPair*)mso_sptCallout3Verta, sizeof( mso_sptCallout3Verta ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCallout3Segm1b, sizeof( mso_sptCallout3Segm1b ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCalloutDefault4,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle3, sizeof( mso_sptCalloutHandle3 ) / sizeof( SvxMSDffHandle )
-};
-static const mso_CustomShape msoAccentCallout90 =
-{
- (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCalloutDefault1,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle )
-};
-static const mso_CustomShape msoAccentCallout1 =
-{
- (SvxMSDffVertPair*)mso_sptCallout1Vert, sizeof( mso_sptCallout1Vert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCallout1Segm1b, sizeof( mso_sptCallout1Segm1b ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCalloutDefault2,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle )
-};
-static const mso_CustomShape msoAccentCallout2 =
-{
- (SvxMSDffVertPair*)mso_sptCallout2Vertb, sizeof( mso_sptCallout2Vertb ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCallout2Segm1d, sizeof( mso_sptCallout2Segm1d ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCalloutDefault3,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle2, sizeof( mso_sptCalloutHandle2 ) / sizeof( SvxMSDffHandle )
-};
-static const mso_CustomShape msoAccentCallout3 =
-{
- (SvxMSDffVertPair*)mso_sptCallout3Vertb, sizeof( mso_sptCallout3Vertb ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCallout3Segm1d, sizeof( mso_sptCallout3Segm1d ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCalloutDefault4,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle3, sizeof( mso_sptCalloutHandle3 ) / sizeof( SvxMSDffHandle )
-};
-static const mso_CustomShape msoBorderCallout90 =
-{
- (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCalloutDefault1,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle )
-};
-static const mso_CustomShape msoBorderCallout1 =
-{
- (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCalloutDefault2,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle )
-};
-static const mso_CustomShape msoBorderCallout2 =
-{
- (SvxMSDffVertPair*)mso_sptCallout2Verta, sizeof( mso_sptCallout2Verta ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCallout2Segm1a, sizeof( mso_sptCallout2Segm1a ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCalloutDefault3,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle2, sizeof( mso_sptCalloutHandle2 ) / sizeof( SvxMSDffHandle )
-};
-static const mso_CustomShape msoBorderCallout3 =
-{
- (SvxMSDffVertPair*)mso_sptCallout3Verta, sizeof( mso_sptCallout3Verta ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCallout3Segm1a, sizeof( mso_sptCallout3Segm1a ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCalloutDefault4,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle3, sizeof( mso_sptCalloutHandle3 ) / sizeof( SvxMSDffHandle )
-};
-static const mso_CustomShape msoAccentBorderCallout90 =
-{
- (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCalloutDefault1,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle )
-};
-static const mso_CustomShape msoAccentBorderCallout1 =
-{
- (SvxMSDffVertPair*)mso_sptCallout1Vert, sizeof( mso_sptCallout1Vert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCallout1Segm1a, sizeof( mso_sptCallout1Segm1a ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCalloutDefault2,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle )
-};
-static const mso_CustomShape msoAccentBorderCallout2 =
-{
- (SvxMSDffVertPair*)mso_sptCallout2Vertb, sizeof( mso_sptCallout2Vertb ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCallout2Segm1c, sizeof( mso_sptCallout2Segm1c ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCalloutDefault3,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle2, sizeof( mso_sptCalloutHandle2 ) / sizeof( SvxMSDffHandle )
-};
-static const mso_CustomShape msoAccentBorderCallout3 =
-{
- (SvxMSDffVertPair*)mso_sptCallout3Vertb, sizeof( mso_sptCallout3Vertb ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCallout3Segm1c, sizeof( mso_sptCallout3Segm1c ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCalloutDefault4,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCalloutHandle3, sizeof( mso_sptCalloutHandle3 ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptStraightConnector1Vert[] =
-{
- { 0, 0 }, { 21600, 21600 }
-};
-static const sal_uInt16 mso_sptStraightConnector1Segm[] =
-{
- 0x4000, 0x0001, 0x8000
-};
-static const mso_CustomShape msoStraightConnector1 =
-{
- (SvxMSDffVertPair*)mso_sptStraightConnector1Vert, sizeof( mso_sptStraightConnector1Vert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptStraightConnector1Segm, sizeof( mso_sptStraightConnector1Segm ) >> 1,
- (SvxMSDffCalculationData*)NULL, 0,
- (sal_Int32*)NULL,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)NULL, 0
-};
-
-static const SvxMSDffVertPair mso_sptBentConnector2Vert[] =
-{
- { 0, 0 }, { 21600, 0 }, { 21600, 21600 }
-};
-static const sal_uInt16 mso_sptBentConnector2Segm[] =
-{
- 0x4000, 0x0002, 0x8000
-};
-static const mso_CustomShape msoBentConnector2 =
-{
- (SvxMSDffVertPair*)mso_sptBentConnector2Vert, sizeof( mso_sptBentConnector2Vert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptBentConnector2Segm, sizeof( mso_sptBentConnector2Segm ) >> 1,
- (SvxMSDffCalculationData*)NULL, 0,
- (sal_Int32*)NULL,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)NULL, 0
-};
-
-static const SvxMSDffVertPair mso_sptBentConnector3Vert[] =
-{
- { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 21600 }, { 21600, 21600 }
-};
-static const sal_uInt16 mso_sptBentConnector3Segm[] =
-{
- 0x4000, 0x0003, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptBentConnector3Calc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }
-};
-static const sal_Int32 mso_sptBentConnector3Default[] =
-{
- 1, 10800
-};
-static const SvxMSDffHandle mso_sptBentConnector3Handle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 10800, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoBentConnector3 =
-{
- (SvxMSDffVertPair*)mso_sptBentConnector3Vert, sizeof( mso_sptBentConnector3Vert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptBentConnector3Segm, sizeof( mso_sptBentConnector3Segm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptBentConnector3Calc, sizeof( mso_sptBentConnector3Calc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptBentConnector3Default,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptBentConnector3Handle, sizeof( mso_sptBentConnector3Handle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptBentConnector4Vert[] =
-{
- { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 21600, 1 MSO_I }, { 21600, 21600 }
-};
-static const sal_uInt16 mso_sptBentConnector4Segm[] =
-{
- 0x4000, 0x0004, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptBentConnector4Calc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2000, { 0x400, 21600, 0 } },
- { 0x2001, { 0x402, 1, 2 } },
- { 0x2001, { 0x401, 1, 2 } }
-};
-static const sal_Int32 mso_sptBentConnector4Default[] =
-{
- 2, 10800, 10800
-};
-static const SvxMSDffHandle mso_sptBentConnector4Handle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 0x100, 4 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 4 + 3, 4 + 3 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoBentConnector4 =
-{
- (SvxMSDffVertPair*)mso_sptBentConnector4Vert, sizeof( mso_sptBentConnector4Vert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptBentConnector4Segm, sizeof( mso_sptBentConnector4Segm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptBentConnector4Calc, sizeof( mso_sptBentConnector4Calc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptBentConnector4Default,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptBentConnector4Handle, sizeof( mso_sptBentConnector4Handle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptBentConnector5Vert[] =
-{
- { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 4 MSO_I }, { 1 MSO_I, 4 MSO_I }, { 1 MSO_I, 21600 }, { 21600, 21600 }
-};
-static const sal_uInt16 mso_sptBentConnector5Segm[] =
-{
- 0x4000, 0x0005, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptBentConnector5Calc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
- { 0x6000, { 0x400, 0x401, 0 } },
- { 0x2001, { 0x402, 1, 2 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2001, { 0x404, 1, 2 } },
- { 0x4000, { 21600, 0x404, 0 } },
- { 0x2001, { 0x406, 1, 2 } }
-};
-static const sal_Int32 mso_sptBentConnector5Default[] =
-{
- 3, 10800, 10800, 10800
-};
-static const SvxMSDffHandle mso_sptBentConnector5Handle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 0x100, 5 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 5 + 3, 5 + 3 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, 0x80000000, 0x7fffffff },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 0x102, 7 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 7 + 3, 7 + 3 }
-};
-static const mso_CustomShape msoBentConnector5 =
-{
- (SvxMSDffVertPair*)mso_sptBentConnector5Vert, sizeof( mso_sptBentConnector5Vert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptBentConnector5Segm, sizeof( mso_sptBentConnector5Segm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptBentConnector5Calc, sizeof( mso_sptBentConnector5Calc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptBentConnector5Default,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptBentConnector5Handle, sizeof( mso_sptBentConnector5Handle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptCurvedConnector2Vert[] =
-{
- { 0, 0 }, { 10800, 0 }, { 21600, 10800 }, { 21600, 21600 }
-};
-static const sal_uInt16 mso_sptCurvedConnector2Segm[] =
-{
- 0x4000, 0x2001, 0x8000
-};
-static const mso_CustomShape msoCurvedConnector2 =
-{
- (SvxMSDffVertPair*)mso_sptCurvedConnector2Vert, sizeof( mso_sptCurvedConnector2Vert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCurvedConnector2Segm, sizeof( mso_sptCurvedConnector2Segm ) >> 1,
- (SvxMSDffCalculationData*)NULL, 0,
- (sal_Int32*)NULL,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)NULL, 0
-};
-
-static const SvxMSDffVertPair mso_sptCurvedConnector3Vert[] =
-{
- { 0, 0 }, { 1 MSO_I, 0 }, { 0 MSO_I, 5400 }, { 0 MSO_I, 10800 }, { 0 MSO_I, 16200 }, { 3 MSO_I, 21600 }, { 21600, 21600 }
-};
-static const sal_uInt16 mso_sptCurvedConnector3Segm[] =
-{
- 0x4000, 0x2002, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptCurvedConnector3Calc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2001, { 0x400, 1, 2 } },
- { 0x2000, { 0x400, 21600, 0 } },
- { 0x2001, { 0x402, 1, 2 } }
-};
-static const sal_Int32 mso_sptCurvedConnector3Default[] =
-{
- 1, 10800
-};
-static const SvxMSDffHandle mso_sptCurvedConnector3Handle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE,
- 0x100, 10800, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoCurvedConnector3 =
-{
- (SvxMSDffVertPair*)mso_sptCurvedConnector3Vert, sizeof( mso_sptCurvedConnector3Vert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCurvedConnector3Segm, sizeof( mso_sptCurvedConnector3Segm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCurvedConnector3Calc, sizeof( mso_sptCurvedConnector3Calc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCurvedConnector3Default,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCurvedConnector3Handle, sizeof( mso_sptCurvedConnector3Handle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptCurvedConnector4Vert[] =
-{
- { 0, 0 }, { 1 MSO_I, 0 }, { 0 MSO_I, 10 MSO_I }, { 0 MSO_I, 9 MSO_I },
- { 0 MSO_I, 12 MSO_I }, { 5 MSO_I, 8 MSO_I }, { 3 MSO_I, 8 MSO_I },
- { 7 MSO_I, 8 MSO_I }, { 21600, 14 MSO_I }, { 21600, 21600 }
-
-};
-static const sal_uInt16 mso_sptCurvedConnector4Segm[] =
-{
- 0x4000, 0x2003, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptCurvedConnector4Calc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2001, { 0x400, 1, 2 } },
- { 0x4000, { 21600, 0x400, 0 } },
- { 0x2001, { 0x402, 1, 2 } },
- { 0x6000, { 0x400, 0x403, 0 } },
- { 0x2001, { 0x404, 1, 2 } },
- { 0x2000, { 0x403, 21600, 0 } },
- { 0x2001, { 0x406, 1, 2 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x2001, { DFF_Prop_adjust2Value, 1, 2 } },
- { 0x2001, { DFF_Prop_adjust2Value, 1, 4 } },
- { 0x6000, { 0x408, 0x409, 0 } },
- { 0x2001, { 0x40b, 1, 2 } },
- { 0x2000, { 0x408, 21600, 0 } },
- { 0x2001, { 0x40d, 1, 2 } }
-};
-static const sal_Int32 mso_sptCurvedConnector4Default[] =
-{
- 2, 10800, 10800
-};
-static const SvxMSDffHandle mso_sptCurvedConnector4Handle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 0x100, 9 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 9 + 3, 9 + 3 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, 0x80000000, 0x7fffffff }
-};
-static const mso_CustomShape msoCurvedConnector4 =
-{
- (SvxMSDffVertPair*)mso_sptCurvedConnector4Vert, sizeof( mso_sptCurvedConnector4Vert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCurvedConnector4Segm, sizeof( mso_sptCurvedConnector4Segm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCurvedConnector4Calc, sizeof( mso_sptCurvedConnector4Calc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCurvedConnector4Default,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCurvedConnector4Handle, sizeof( mso_sptCurvedConnector4Handle ) / sizeof( SvxMSDffHandle )
-};
-
-static const SvxMSDffVertPair mso_sptCurvedConnector5Vert[] =
-{
- { 0, 0 },
- { 21 MSO_I, 0 }, { 0 MSO_I, 12 MSO_I }, { 0 MSO_I, 11 MSO_I },
- { 0 MSO_I, 14 MSO_I }, { 6 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
- { 8 MSO_I, 4 MSO_I }, { 1 MSO_I, 18 MSO_I }, { 1 MSO_I, 16 MSO_I },
- { 1 MSO_I, 20 MSO_I }, { 10 MSO_I, 21600 }, { 21600, 21600 }
-};
-static const sal_uInt16 mso_sptCurvedConnector5Segm[] =
-{
- 0x4000, 0x2004, 0x8000
-};
-static const SvxMSDffCalculationData mso_sptCurvedConnector5Calc[] =
-{
- { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
- { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
- { 0x6000, { 0x400, 0x401, 0 } },
- { 0x2001, { 0x402, 1, 2 } },
- { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
- { 0x6000, { 0x400, 0x403, 0 } },
- { 0x2001, { 0x405, 1, 2 } },
- { 0x6000, { 0x401, 0x403, 0 } },
- { 0x2001, { 0x407, 1, 2 } },
- { 0x2000, { 0x401, 21600, 0 } },
- { 0x2001, { 0x409, 1, 2 } },
- { 0x2001, { 0x404, 1, 2 } },
- { 0x2001, { 0x40b, 1, 2 } },
- { 0x6000, { 0x404, 0x40b, 0 } },
- { 0x2001, { 0x40d, 1, 2 } },
- { 0x2000, { 0x404, 21600, 0 } },
- { 0x2001, { 0x40f, 1, 2 } },
- { 0x6000, { 0x404, 0x410, 0 } },
- { 0x2001, { 0x411, 1, 2 } },
- { 0x2000, { 0x410, 21600, 0 } },
- { 0x2001, { 0x413, 1, 2 } },
- { 0x2001, { 0x400, 1, 2 } }
-};
-static const sal_Int32 mso_sptCurvedConnector5Default[] =
-{
- 3, 10800, 10800, 10800
-};
-static const SvxMSDffHandle mso_sptCurvedConnector5Handle[] =
-{
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 0x100, 11 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 11 + 3, 11 + 3 },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
- 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, 0x80000000, 0x7fffffff },
- { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
- 0x102, 16 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 16 + 3, 16 + 3 }
-};
-static const mso_CustomShape msoCurvedConnector5 =
-{
- (SvxMSDffVertPair*)mso_sptCurvedConnector5Vert, sizeof( mso_sptCurvedConnector5Vert ) / sizeof( SvxMSDffVertPair ),
- (sal_uInt16*)mso_sptCurvedConnector5Segm, sizeof( mso_sptCurvedConnector5Segm ) >> 1,
- (SvxMSDffCalculationData*)mso_sptCurvedConnector5Calc, sizeof( mso_sptCurvedConnector5Calc ) / sizeof( SvxMSDffCalculationData ),
- (sal_Int32*)mso_sptCurvedConnector5Default,
- NULL, 0,
- 21600, 21600,
- 0x80000000, 0x80000000,
- NULL, 0,
- (SvxMSDffHandle*)mso_sptCurvedConnector5Handle, sizeof( mso_sptCurvedConnector5Handle ) / sizeof( SvxMSDffHandle )
-};
-
-const mso_CustomShape* GetCustomShapeContent( MSO_SPT eSpType )
-{
- const mso_CustomShape* pCustomShape = NULL;
- switch( eSpType )
- {
- case mso_sptArc : pCustomShape = &msoArc; break;
- case mso_sptRectangle : pCustomShape = &msoRectangle; break;
- case mso_sptParallelogram : pCustomShape = &msoParallelogram; break;
- case mso_sptTrapezoid : pCustomShape = &msoTrapezoid; break;
- case mso_sptDiamond : pCustomShape = &msoDiamond; break;
- case mso_sptRoundRectangle : pCustomShape = &msoRoundRectangle; break;
- case mso_sptOctagon : pCustomShape = &msoOctagon; break;
- case mso_sptIsocelesTriangle : pCustomShape = &msoIsocelesTriangle; break;
- case mso_sptRightTriangle : pCustomShape = &msoRightTriangle; break;
- case mso_sptEllipse : pCustomShape = &msoEllipse; break;
- case mso_sptHexagon : pCustomShape = &msoHexagon; break;
- case mso_sptPlus : pCustomShape = &msoPlus; break;
- case mso_sptPentagon : pCustomShape = &msoPentagon; break;
- case mso_sptCan : pCustomShape = &msoCan; break;
- case mso_sptCube : pCustomShape = &msoCube; break;
- case mso_sptBalloon : pCustomShape = &msoBalloon; break;
- case mso_sptActionButtonBlank : pCustomShape = &msoActionButtonBlank; break;
- case mso_sptActionButtonHome : pCustomShape = &msoActionButtonHome; break;
- case mso_sptActionButtonHelp : pCustomShape = &msoActionButtonHelp; break;
- case mso_sptActionButtonInformation : pCustomShape = &msoActionButtonInformation; break;
- case mso_sptActionButtonBackPrevious : pCustomShape = &msoActionButtonBackPrevious; break;
- case mso_sptActionButtonForwardNext : pCustomShape = &msoActionButtonForwardNext; break;
- case mso_sptActionButtonBeginning : pCustomShape = &msoActionButtonBeginning; break;
- case mso_sptActionButtonEnd : pCustomShape = &msoActionButtonEnd; break;
- case mso_sptActionButtonReturn : pCustomShape = &msoActionButtonReturn; break;
- case mso_sptActionButtonDocument : pCustomShape = &msoActionButtonDocument; break;
- case mso_sptActionButtonSound : pCustomShape = &msoActionButtonSound; break;
- case mso_sptActionButtonMovie : pCustomShape = &msoActionButtonMovie; break;
- case mso_sptBevel : pCustomShape = &msoBevel; break;
- case mso_sptFoldedCorner : pCustomShape = &msoFoldedCorner; break;
- case mso_sptSmileyFace : pCustomShape = &msoSmileyFace; break;
- case mso_sptDonut : pCustomShape = &msoDonut; break;
- case mso_sptNoSmoking : pCustomShape = &msoNoSmoking; break;
- case mso_sptBlockArc : pCustomShape = &msoBlockArc; break;
- case mso_sptHeart : pCustomShape = &msoHeart; break;
- case mso_sptLightningBolt : pCustomShape = &msoLightningBold; break;
- case mso_sptSun : pCustomShape = &msoSun; break;
- case mso_sptMoon : pCustomShape = &msoMoon; break;
- case mso_sptBracketPair : pCustomShape = &msoBracketPair; break;
- case mso_sptBracePair : pCustomShape = &msoBracePair; break;
- case mso_sptPlaque : pCustomShape = &msoPlaque; break;
- case mso_sptLeftBracket : pCustomShape = &msoLeftBracket; break;
- case mso_sptRightBracket : pCustomShape = &msoRightBracket; break;
- case mso_sptLeftBrace : pCustomShape = &msoLeftBrace; break;
- case mso_sptRightBrace : pCustomShape = &msoRightBrace; break;
- case mso_sptArrow : pCustomShape = &msoArrow; break;
- case mso_sptUpArrow : pCustomShape = &msoUpArrow; break;
- case mso_sptDownArrow : pCustomShape = &msoDownArrow; break;
- case mso_sptLeftArrow : pCustomShape = &msoLeftArrow; break;
- case mso_sptLeftRightArrow : pCustomShape = &msoLeftRightArrow; break;
- case mso_sptUpDownArrow : pCustomShape = &msoUpDownArrow; break;
- case mso_sptQuadArrow : pCustomShape = &msoQuadArrow; break;
- case mso_sptLeftRightUpArrow : pCustomShape = &msoLeftRightUpArrow; break;
- case mso_sptBentArrow : pCustomShape = &msoBentArrow; break;
- case mso_sptUturnArrow : pCustomShape = &msoUturnArrow; break;
- case mso_sptLeftUpArrow : pCustomShape = &msoLeftUpArrow; break;
- case mso_sptBentUpArrow : pCustomShape = &msoBentUpArrow; break;
- case mso_sptCurvedRightArrow : pCustomShape = &msoCurvedRightArrow; break;
- case mso_sptCurvedLeftArrow : pCustomShape = &msoCurvedLeftArrow; break;
- case mso_sptCurvedUpArrow : pCustomShape = &msoCurvedUpArrow; break;
- case mso_sptCurvedDownArrow : pCustomShape = &msoCurvedDownArrow; break;
- case mso_sptStripedRightArrow : pCustomShape = &msoStripedRightArrow; break;
- case mso_sptNotchedRightArrow : pCustomShape = &msoNotchedRightArrow; break;
- case mso_sptHomePlate : pCustomShape = &msoHomePlate; break;
- case mso_sptChevron : pCustomShape = &msoChevron; break;
- case mso_sptRightArrowCallout : pCustomShape = &msoRightArrowCallout; break;
- case mso_sptLeftArrowCallout : pCustomShape = &msoLeftArrowCallout; break;
- case mso_sptUpArrowCallout : pCustomShape = &msoUpArrowCallout; break;
- case mso_sptDownArrowCallout : pCustomShape = &msoDownArrowCallout; break;
- case mso_sptLeftRightArrowCallout : pCustomShape = &msoLeftRightArrowCallout; break;
- case mso_sptUpDownArrowCallout : pCustomShape = &msoUpDownArrowCallout; break;
- case mso_sptQuadArrowCallout : pCustomShape = &msoQuadArrowCallout; break;
- case mso_sptCircularArrow : pCustomShape = &msoCircularArrow; break;
- case mso_sptIrregularSeal1 : pCustomShape = &msoIrregularSeal1; break;
- case mso_sptIrregularSeal2 : pCustomShape = &msoIrregularSeal2; break;
- case mso_sptSeal4 : pCustomShape = &msoSeal4; break;
- case mso_sptStar : pCustomShape = &msoStar; break;
- case mso_sptSeal8 : pCustomShape = &msoSeal8; break;
- case mso_sptSeal :
- case mso_sptSeal16 : pCustomShape = &msoSeal16; break;
- case mso_sptSeal24 : pCustomShape = &msoSeal24; break;
- case mso_sptSeal32 : pCustomShape = &msoSeal32; break;
- case mso_sptRibbon2 : pCustomShape = &msoRibbon2; break;
- case mso_sptRibbon : pCustomShape = &msoRibbon; break;
- case mso_sptEllipseRibbon2 : pCustomShape = &msoRibbon2; break; // SJ: TODO
- case mso_sptEllipseRibbon : pCustomShape = &msoRibbon; break; // SJ: TODO
- case mso_sptVerticalScroll : pCustomShape = &msoVerticalScroll; break;
- case mso_sptHorizontalScroll : pCustomShape = &msoHorizontalScroll; break;
- case mso_sptFlowChartProcess : pCustomShape = &msoFlowChartProcess; break;
- case mso_sptFlowChartAlternateProcess : pCustomShape = &msoFlowChartAlternateProcess; break;
- case mso_sptFlowChartDecision : pCustomShape = &msoFlowChartDecision; break;
- case mso_sptFlowChartInputOutput : pCustomShape = &msoFlowChartInputOutput; break;
- case mso_sptFlowChartPredefinedProcess :pCustomShape = &msoFlowChartPredefinedProcess; break;
- case mso_sptFlowChartInternalStorage : pCustomShape = &msoFlowChartInternalStorage; break;
- case mso_sptFlowChartDocument : pCustomShape = &msoFlowChartDocument; break;
- case mso_sptFlowChartMultidocument : pCustomShape = &msoFlowChartMultidocument; break;
- case mso_sptFlowChartTerminator : pCustomShape = &msoFlowChartTerminator; break;
- case mso_sptFlowChartPreparation : pCustomShape = &msoFlowChartPreparation; break;
- case mso_sptFlowChartManualInput : pCustomShape = &msoFlowChartManualInput; break;
- case mso_sptFlowChartManualOperation : pCustomShape = &msoFlowChartManualOperation; break;
- case mso_sptFlowChartConnector : pCustomShape = &msoFlowChartConnector; break;
- case mso_sptFlowChartOffpageConnector : pCustomShape = &msoFlowChartOffpageConnector; break;
- case mso_sptFlowChartPunchedCard : pCustomShape = &msoFlowChartPunchedCard; break;
- case mso_sptFlowChartPunchedTape : pCustomShape = &msoFlowChartPunchedTape; break;
- case mso_sptFlowChartSummingJunction : pCustomShape = &msoFlowChartSummingJunction; break;
- case mso_sptFlowChartOr : pCustomShape = &msoFlowChartOr; break;
- case mso_sptFlowChartCollate : pCustomShape = &msoFlowChartCollate; break;
- case mso_sptFlowChartSort : pCustomShape = &msoFlowChartSort; break;
- case mso_sptFlowChartExtract : pCustomShape = &msoFlowChartExtract; break;
- case mso_sptFlowChartMerge : pCustomShape = &msoFlowChartMerge; break;
- case mso_sptFlowChartOnlineStorage : pCustomShape = &msoFlowChartOnlineStorage; break;
- case mso_sptFlowChartDelay : pCustomShape = &msoFlowChartDelay; break;
- case mso_sptFlowChartMagneticTape : pCustomShape = &msoFlowChartMagneticTape; break;
- case mso_sptFlowChartMagneticDisk : pCustomShape = &msoFlowChartMagneticDisk; break;
- case mso_sptFlowChartMagneticDrum : pCustomShape = &msoFlowChartMagneticDrum; break;
- case mso_sptFlowChartDisplay : pCustomShape = &msoFlowChartDisplay; break;
- case mso_sptWedgeRectCallout : pCustomShape = &msoWedgeRectCallout; break;
- case mso_sptWedgeRRectCallout : pCustomShape = &msoWedgeRRectCallout; break;
- case mso_sptWedgeEllipseCallout : pCustomShape = &msoWedgeEllipseCallout; break;
- case mso_sptCloudCallout : pCustomShape = &msoCloudCallout; break;
- case mso_sptWave : pCustomShape = &msoWave; break;
- case mso_sptDoubleWave : pCustomShape = &msoDoubleWave; break;
-
- // callout
- case mso_sptCallout1 : pCustomShape = &msoCallout1; break;
- case mso_sptCallout2 : pCustomShape = &msoCallout2; break;
- case mso_sptCallout3 : pCustomShape = &msoCallout3; break;
- case mso_sptAccentCallout1 : pCustomShape = &msoAccentCallout1; break;
- case mso_sptAccentCallout2 : pCustomShape = &msoAccentCallout2; break;
- case mso_sptAccentCallout3 : pCustomShape = &msoAccentCallout3; break;
- case mso_sptBorderCallout1 : pCustomShape = &msoBorderCallout1; break;
- case mso_sptBorderCallout2 : pCustomShape = &msoBorderCallout2; break;
- case mso_sptBorderCallout3 : pCustomShape = &msoBorderCallout3; break;
- case mso_sptAccentBorderCallout1 : pCustomShape = &msoAccentBorderCallout1; break;
- case mso_sptAccentBorderCallout2 : pCustomShape = &msoAccentBorderCallout2; break;
- case mso_sptAccentBorderCallout3 : pCustomShape = &msoAccentBorderCallout3; break;
- case mso_sptCallout90 : pCustomShape = &msoCallout90; break;
- case mso_sptAccentCallout90 : pCustomShape = &msoAccentCallout90; break;
- case mso_sptBorderCallout90 : pCustomShape = &msoBorderCallout90; break;
- case mso_sptAccentBorderCallout90 : pCustomShape = &msoAccentBorderCallout90; break;
-
- // connectors
- case mso_sptStraightConnector1 : pCustomShape = &msoStraightConnector1; break;
- case mso_sptBentConnector2 : pCustomShape = &msoBentConnector2; break;
- case mso_sptBentConnector3 : pCustomShape = &msoBentConnector3; break;
- case mso_sptBentConnector4 : pCustomShape = &msoBentConnector4; break;
- case mso_sptBentConnector5 : pCustomShape = &msoBentConnector5; break;
- case mso_sptCurvedConnector2 : pCustomShape = &msoCurvedConnector2; break;
- case mso_sptCurvedConnector3 : pCustomShape = &msoCurvedConnector3; break;
- case mso_sptCurvedConnector4 : pCustomShape = &msoCurvedConnector4; break;
- case mso_sptCurvedConnector5 : pCustomShape = &msoCurvedConnector5; break;
-
- // Dont know, simply mapping to TextSimple
- case mso_sptTextOnRing :
- case mso_sptTextOnCurve :
- case mso_sptTextRing :
- case mso_sptTextWave :
- case mso_sptTextCurve :
- case mso_sptTextHexagon :
- case mso_sptTextOctagon :
- case mso_sptTextBox : pCustomShape = &msoTextSimple; break;
-
- // FontWork
- case mso_sptTextSimple :
- case mso_sptTextPlainText : pCustomShape = &msoTextPlainText; break;
- case mso_sptTextStop : pCustomShape = &msoTextStop; break;
- case mso_sptTextTriangle : pCustomShape = &msoTextTriangle; break;
- case mso_sptTextTriangleInverted : pCustomShape = &msoTextTriangleInverted; break;
- case mso_sptTextChevron : pCustomShape = &msoTextChevron; break;
- case mso_sptTextChevronInverted : pCustomShape = &msoTextChevronInverted; break;
- case mso_sptTextRingInside : pCustomShape = &msoTextRingOutside; break; // SJ: TODO->the orientation of the ellipse needs to be changed
- case mso_sptTextRingOutside : pCustomShape = &msoTextRingOutside; break;
- case mso_sptTextFadeRight : pCustomShape = &msoTextFadeRight; break;
- case mso_sptTextFadeLeft : pCustomShape = &msoTextFadeLeft; break;
- case mso_sptTextFadeUp : pCustomShape = &msoTextFadeUp; break;
- case mso_sptTextFadeDown : pCustomShape = &msoTextFadeDown; break;
- case mso_sptTextSlantUp : pCustomShape = &msoTextSlantUp; break;
- case mso_sptTextSlantDown : pCustomShape = &msoTextSlantDown; break;
- case mso_sptTextCascadeUp : pCustomShape = &msoTextCascadeUp; break;
- case mso_sptTextCascadeDown : pCustomShape = &msoTextCascadeDown; break;
- case mso_sptTextArchUpCurve : pCustomShape = &msoTextArchUpCurve; break;
- case mso_sptTextArchDownCurve : pCustomShape = &msoTextArchDownCurve; break;
- case mso_sptTextCircleCurve : pCustomShape = &msoTextCircleCurve; break;
- case mso_sptTextButtonCurve : pCustomShape = &msoTextButtonCurve; break;
- case mso_sptTextArchUpPour : pCustomShape = &msoTextArchUpPour; break;
- case mso_sptTextArchDownPour : pCustomShape = &msoTextArchDownPour; break;
- case mso_sptTextCirclePour : pCustomShape = &msoTextCirclePour; break;
- case mso_sptTextButtonPour : pCustomShape = &msoTextButtonPour; break;
- case mso_sptTextCurveUp : pCustomShape = &msoTextCurveUp; break;
- case mso_sptTextCurveDown : pCustomShape = &msoTextCurveDown; break;
- case mso_sptTextCanUp : pCustomShape = &msoTextCanUp; break;
- case mso_sptTextCanDown : pCustomShape = &msoTextCanDown; break;
- case mso_sptTextInflate : pCustomShape = &msoTextInflate; break;
- case mso_sptTextDeflate : pCustomShape = &msoTextDeflate; break;
- case mso_sptTextInflateBottom : pCustomShape = &msoTextInflateBottom; break;
- case mso_sptTextDeflateBottom : pCustomShape = &msoTextDeflateBottom; break;
- case mso_sptTextInflateTop : pCustomShape = &msoTextInflateTop; break;
- case mso_sptTextDeflateTop : pCustomShape = &msoTextDeflateTop; break;
- case mso_sptTextDeflateInflate : pCustomShape = &msoTextDeflateInflate; break;
- case mso_sptTextDeflateInflateDeflate : pCustomShape = &msoTextDeflateInflateDeflate; break;
- case mso_sptTextWave1 : pCustomShape = &msoTextWave1; break;
- case mso_sptTextWave2 : pCustomShape = &msoTextWave2; break;
- case mso_sptTextWave3 : pCustomShape = &msoTextWave3; break;
- case mso_sptTextWave4 : pCustomShape = &msoTextWave4; break;
- default :
- break;
- }
- return pCustomShape;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/customshapes/EnhancedCustomShapeHandle.cxx b/svx/source/customshapes/EnhancedCustomShapeHandle.cxx
deleted file mode 100644
index db094d5862..0000000000
--- a/svx/source/customshapes/EnhancedCustomShapeHandle.cxx
+++ /dev/null
@@ -1,96 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svx.hxx"
-#include "EnhancedCustomShapeHandle.hxx"
-#include "svx/EnhancedCustomShape2d.hxx"
-#include "svx/unoapi.hxx"
-
-// -----------------------------------------------------------------------------
-
-EnhancedCustomShapeHandle::EnhancedCustomShapeHandle( com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& xCustomShape, sal_uInt32 nIndex ) :
- mnIndex ( nIndex ),
- mxCustomShape ( xCustomShape )
-{
-}
-
-// -----------------------------------------------------------------------------
-
-EnhancedCustomShapeHandle::~EnhancedCustomShapeHandle()
-{
-}
-
-// -----------------------------------------------------------------------------
-
-void SAL_CALL EnhancedCustomShapeHandle::acquire() throw()
-{
- OWeakObject::acquire();
-}
-
-// -----------------------------------------------------------------------------
-
-void SAL_CALL EnhancedCustomShapeHandle::release() throw()
-{
- OWeakObject::release();
-}
-
-// XCustomShapeHandle
-com::sun::star::awt::Point SAL_CALL EnhancedCustomShapeHandle::getPosition()
- throw ( com::sun::star::uno::RuntimeException )
-{
- SdrObject* pSdrObjCustomShape( GetSdrObjectFromXShape( mxCustomShape ) );
- if ( !pSdrObjCustomShape )
- throw com::sun::star::uno::RuntimeException();
-
- Point aPosition;
- EnhancedCustomShape2d aCustomShape2d( pSdrObjCustomShape );
- if ( !aCustomShape2d.GetHandlePosition( mnIndex, aPosition ) )
- throw com::sun::star::uno::RuntimeException();
- return com::sun::star::awt::Point( aPosition.X(), aPosition.Y() );
-}
-
-void SAL_CALL EnhancedCustomShapeHandle::setControllerPosition( const com::sun::star::awt::Point& aPnt )
- throw ( com::sun::star::uno::RuntimeException )
-{
- SdrObject* pSdrObjCustomShape( GetSdrObjectFromXShape( mxCustomShape ) );
- if ( !pSdrObjCustomShape )
- throw com::sun::star::uno::RuntimeException();
-
- EnhancedCustomShape2d aCustomShape2d( pSdrObjCustomShape );
- if ( !aCustomShape2d.SetHandleControllerPosition( mnIndex, aPnt ) )
- throw com::sun::star::uno::RuntimeException();
-}
-
-// XInitialization
-void SAL_CALL EnhancedCustomShapeHandle::initialize( const com::sun::star::uno::Sequence< com::sun::star::uno::Any >& /* aArguments */ )
- throw ( com::sun::star::uno::Exception, com::sun::star::uno::RuntimeException )
-{
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/customshapes/EnhancedCustomShapeHandle.hxx b/svx/source/customshapes/EnhancedCustomShapeHandle.hxx
deleted file mode 100644
index 68ac2bc784..0000000000
--- a/svx/source/customshapes/EnhancedCustomShapeHandle.hxx
+++ /dev/null
@@ -1,72 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _ENHANCED_CUSTOMSHAPE_HANDLE_HXX
-#define _ENHANCED_CUSTOMSHAPE_HANDLE_HXX
-
-#include <com/sun/star/uno/RuntimeException.hpp>
-#include <cppuhelper/implbase2.hxx>
-#include <com/sun/star/lang/XInitialization.hpp>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/drawing/XShape.hpp>
-#include <com/sun/star/drawing/XCustomShapeHandle.hpp>
-#include <com/sun/star/awt/Point.hpp>
-#include <cppuhelper/weakref.hxx>
-
-class EnhancedCustomShapeHandle : public cppu::WeakImplHelper2
-<
- com::sun::star::drawing::XCustomShapeHandle,
- com::sun::star::lang::XInitialization
->
-{
- sal_uInt32 mnIndex;
- com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > mxCustomShape;
-
-public:
-
- EnhancedCustomShapeHandle( com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& xCustomShape, sal_uInt32 nIndex );
- virtual ~EnhancedCustomShapeHandle();
-
- // XInterface
- virtual void SAL_CALL acquire() throw();
- virtual void SAL_CALL release() throw();
-
- // XCustomShapeHandle
- virtual com::sun::star::awt::Point SAL_CALL getPosition()
- throw ( com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setControllerPosition( const com::sun::star::awt::Point& )
- throw ( com::sun::star::uno::RuntimeException );
-
- // XInitialization
- virtual void SAL_CALL initialize( const com::sun::star::uno::Sequence< com::sun::star::uno::Any >& aArguments )
- throw ( com::sun::star::uno::Exception, com::sun::star::uno::RuntimeException );
-};
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx b/svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx
deleted file mode 100644
index b7afa68e36..0000000000
--- a/svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx
+++ /dev/null
@@ -1,331 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svx.hxx"
-#include "svx/EnhancedCustomShapeTypeNames.hxx"
-#include <osl/mutex.hxx>
-#include <boost/unordered_map.hpp>
-
-struct THash
-{
- size_t operator()( const char* s ) const
- {
- return rtl_str_hashCode(s);
- }
-};
-struct TCheck
-{
- bool operator()( const char* s1, const char* s2 ) const
- {
- return strcmp( s1, s2 ) == 0;
- }
-};
-typedef boost::unordered_map< const char*, MSO_SPT, THash, TCheck> TypeNameHashMap;
-static TypeNameHashMap* pHashMap = NULL;
-static ::osl::Mutex& getHashMapMutex()
-{
- static osl::Mutex s_aHashMapProtection;
- return s_aHashMapProtection;
-}
-
-struct NameTypeTable
-{
- const char* pS;
- MSO_SPT pE;
-};
-static const NameTypeTable pNameTypeTableArray[] =
-{
- { "non-primitive", mso_sptMin },
- { "rectangle", mso_sptRectangle },
- { "round-rectangle", mso_sptRoundRectangle },
- { "ellipse", mso_sptEllipse },
- { "diamond", mso_sptDiamond },
- { "isosceles-triangle", mso_sptIsocelesTriangle },
- { "right-triangle", mso_sptRightTriangle },
- { "parallelogram", mso_sptParallelogram },
- { "trapezoid", mso_sptTrapezoid },
- { "hexagon", mso_sptHexagon },
- { "octagon", mso_sptOctagon },
- { "cross", mso_sptPlus },
- { "star5", mso_sptStar },
- { "right-arrow", mso_sptArrow },
- { "mso-spt14", mso_sptThickArrow },
- { "pentagon-right", mso_sptHomePlate },
- { "cube", mso_sptCube },
- { "mso-spt17", mso_sptBalloon },
- { "mso-spt18", mso_sptSeal },
- { "mso-spt19", mso_sptArc },
- { "mso-spt20", mso_sptLine },
- { "mso-spt21", mso_sptPlaque },
- { "can", mso_sptCan },
- { "ring", mso_sptDonut },
- { "mso-spt24", mso_sptTextSimple },
- { "mso-spt25", mso_sptTextOctagon },
- { "mso-spt26", mso_sptTextHexagon },
- { "mso-spt27", mso_sptTextCurve },
- { "mso-spt28", mso_sptTextWave },
- { "mso-spt29", mso_sptTextRing },
- { "mso-spt30", mso_sptTextOnCurve },
- { "mso-spt31", mso_sptTextOnRing },
- { "mso-spt32", mso_sptStraightConnector1 },
- { "mso-spt33", mso_sptBentConnector2 },
- { "mso-spt34", mso_sptBentConnector3 },
- { "mso-spt35", mso_sptBentConnector4 },
- { "mso-spt36", mso_sptBentConnector5 },
- { "mso-spt37", mso_sptCurvedConnector2 },
- { "mso-spt38", mso_sptCurvedConnector3 },
- { "mso-spt39", mso_sptCurvedConnector4 },
- { "mso-spt40", mso_sptCurvedConnector5 },
- { "mso-spt41", mso_sptCallout1 },
- { "mso-spt42", mso_sptCallout2 },
- { "mso-spt43", mso_sptCallout3 },
- { "mso-spt44", mso_sptAccentCallout1 },
- { "mso-spt45", mso_sptAccentCallout2 },
- { "mso-spt46", mso_sptAccentCallout3 },
- { "line-callout-1", mso_sptBorderCallout1 },
- { "line-callout-2", mso_sptBorderCallout2 },
- { "mso-spt49", mso_sptBorderCallout3 },
- { "mso-spt50", mso_sptAccentBorderCallout1 },
- { "mso-spt51", mso_sptAccentBorderCallout2 },
- { "mso-spt52", mso_sptAccentBorderCallout3 },
- { "mso-spt53", mso_sptRibbon },
- { "mso-spt54", mso_sptRibbon2 },
- { "chevron", mso_sptChevron },
- { "pentagon", mso_sptPentagon },
- { "forbidden", mso_sptNoSmoking },
- { "star8", mso_sptSeal8 },
- { "mso-spt59", mso_sptSeal16 },
- { "mso-spt60", mso_sptSeal32 },
- { "rectangular-callout", mso_sptWedgeRectCallout },
- { "round-rectangular-callout", mso_sptWedgeRRectCallout },
- { "round-callout", mso_sptWedgeEllipseCallout },
- { "mso-spt64", mso_sptWave },
- { "paper", mso_sptFoldedCorner },
- { "left-arrow", mso_sptLeftArrow },
- { "down-arrow", mso_sptDownArrow },
- { "up-arrow", mso_sptUpArrow },
- { "left-right-arrow", mso_sptLeftRightArrow },
- { "up-down-arrow", mso_sptUpDownArrow },
- { "mso-spt71", mso_sptIrregularSeal1 },
- { "bang", mso_sptIrregularSeal2 },
- { "lightning", mso_sptLightningBolt },
- { "heart", mso_sptHeart },
- { "mso-spt75", mso_sptPictureFrame },
- { "quad-arrow", mso_sptQuadArrow },
- { "left-arrow-callout", mso_sptLeftArrowCallout },
- { "right-arrow-callout", mso_sptRightArrowCallout },
- { "up-arrow-callout", mso_sptUpArrowCallout },
- { "down-arrow-callout", mso_sptDownArrowCallout },
- { "left-right-arrow-callout", mso_sptLeftRightArrowCallout },
- { "up-down-arrow-callout", mso_sptUpDownArrowCallout },
- { "quad-arrow-callout", mso_sptQuadArrowCallout },
- { "quad-bevel", mso_sptBevel },
- { "left-bracket", mso_sptLeftBracket },
- { "right-bracket", mso_sptRightBracket },
- { "left-brace", mso_sptLeftBrace },
- { "right-brace", mso_sptRightBrace },
- { "mso-spt89", mso_sptLeftUpArrow },
- { "mso-spt90", mso_sptBentUpArrow },
- { "mso-spt91", mso_sptBentArrow },
- { "star24", mso_sptSeal24 },
- { "striped-right-arrow", mso_sptStripedRightArrow },
- { "notched-right-arrow", mso_sptNotchedRightArrow },
- { "block-arc", mso_sptBlockArc },
- { "smiley", mso_sptSmileyFace },
- { "vertical-scroll", mso_sptVerticalScroll },
- { "horizontal-scroll", mso_sptHorizontalScroll },
- { "circular-arrow", mso_sptCircularArrow },
- { "mso-spt100", mso_sptNotchedCircularArrow },
- { "mso-spt101", mso_sptUturnArrow },
- { "mso-spt102", mso_sptCurvedRightArrow },
- { "mso-spt103", mso_sptCurvedLeftArrow },
- { "mso-spt104", mso_sptCurvedUpArrow },
- { "mso-spt105", mso_sptCurvedDownArrow },
- { "cloud-callout", mso_sptCloudCallout },
- { "mso-spt107", mso_sptEllipseRibbon },
- { "mso-spt108", mso_sptEllipseRibbon2 },
- { "flowchart-process", mso_sptFlowChartProcess },
- { "flowchart-decision", mso_sptFlowChartDecision },
- { "flowchart-data", mso_sptFlowChartInputOutput },
- { "flowchart-predefined-process", mso_sptFlowChartPredefinedProcess },
- { "flowchart-internal-storage", mso_sptFlowChartInternalStorage },
- { "flowchart-document", mso_sptFlowChartDocument },
- { "flowchart-multidocument", mso_sptFlowChartMultidocument },
- { "flowchart-terminator", mso_sptFlowChartTerminator },
- { "flowchart-preparation", mso_sptFlowChartPreparation },
- { "flowchart-manual-input", mso_sptFlowChartManualInput },
- { "flowchart-manual-operation", mso_sptFlowChartManualOperation },
- { "flowchart-connector", mso_sptFlowChartConnector },
- { "flowchart-card", mso_sptFlowChartPunchedCard },
- { "flowchart-punched-tape", mso_sptFlowChartPunchedTape },
- { "flowchart-summing-junction", mso_sptFlowChartSummingJunction },
- { "flowchart-or", mso_sptFlowChartOr },
- { "flowchart-collate", mso_sptFlowChartCollate },
- { "flowchart-sort", mso_sptFlowChartSort },
- { "flowchart-extract", mso_sptFlowChartExtract },
- { "flowchart-merge", mso_sptFlowChartMerge },
- { "mso-spt129", mso_sptFlowChartOfflineStorage },
- { "flowchart-stored-data", mso_sptFlowChartOnlineStorage },
- { "flowchart-sequential-access", mso_sptFlowChartMagneticTape },
- { "flowchart-magnetic-disk", mso_sptFlowChartMagneticDisk },
- { "flowchart-direct-access-storage", mso_sptFlowChartMagneticDrum },
- { "flowchart-display", mso_sptFlowChartDisplay },
- { "flowchart-delay", mso_sptFlowChartDelay },
- { "fontwork-plain-text", mso_sptTextPlainText },
- { "fontwork-stop", mso_sptTextStop },
- { "fontwork-triangle-up", mso_sptTextTriangle },
- { "fontwork-triangle-down", mso_sptTextTriangleInverted },
- { "fontwork-chevron-up", mso_sptTextChevron },
- { "fontwork-chevron-down", mso_sptTextChevronInverted },
- { "mso-spt142", mso_sptTextRingInside },
- { "mso-spt143", mso_sptTextRingOutside },
- { "fontwork-arch-up-curve", mso_sptTextArchUpCurve },
- { "fontwork-arch-down-curve", mso_sptTextArchDownCurve },
- { "fontwork-circle-curve", mso_sptTextCircleCurve },
- { "fontwork-open-circle-curve", mso_sptTextButtonCurve },
- { "fontwork-arch-up-pour", mso_sptTextArchUpPour },
- { "fontwork-arch-down-pour", mso_sptTextArchDownPour },
- { "fontwork-circle-pour", mso_sptTextCirclePour },
- { "fontwork-open-circle-pour", mso_sptTextButtonPour },
- { "fontwork-curve-up", mso_sptTextCurveUp },
- { "fontwork-curve-down", mso_sptTextCurveDown },
- { "fontwork-fade-up-and-right", mso_sptTextCascadeUp },
- { "fontwork-fade-up-and-left", mso_sptTextCascadeDown },
- { "fontwork-wave", mso_sptTextWave1 },
- { "mso-spt157", mso_sptTextWave2 },
- { "mso-spt158", mso_sptTextWave3 },
- { "mso-spt159", mso_sptTextWave4 },
- { "fontwork-inflate", mso_sptTextInflate },
- { "mso-spt161", mso_sptTextDeflate },
- { "mso-spt162", mso_sptTextInflateBottom },
- { "mso-spt163", mso_sptTextDeflateBottom },
- { "mso-spt164", mso_sptTextInflateTop },
- { "mso-spt165", mso_sptTextDeflateTop },
- { "mso-spt166", mso_sptTextDeflateInflate },
- { "mso-spt167", mso_sptTextDeflateInflateDeflate },
- { "fontwork-fade-right", mso_sptTextFadeRight },
- { "fontwork-fade-left", mso_sptTextFadeLeft },
- { "fontwork-fade-up", mso_sptTextFadeUp },
- { "fontwork-fade-down", mso_sptTextFadeDown },
- { "fontwork-slant-up", mso_sptTextSlantUp },
- { "fontwork-slant-down", mso_sptTextSlantDown },
- { "mso-spt174", mso_sptTextCanUp },
- { "mso-spt175", mso_sptTextCanDown },
- { "flowchart-alternate-process", mso_sptFlowChartAlternateProcess },
- { "flowchart-off-page-connector", mso_sptFlowChartOffpageConnector },
- { "mso-spt178", mso_sptCallout90 },
- { "mso-spt179", mso_sptAccentCallout90 },
- { "mso-spt180", mso_sptBorderCallout90 },
- { "line-callout-3", mso_sptAccentBorderCallout90 },
- { "mso-spt182", mso_sptLeftRightUpArrow },
- { "sun", mso_sptSun },
- { "moon", mso_sptMoon },
- { "bracket-pair", mso_sptBracketPair },
- { "brace-pair", mso_sptBracePair },
- { "star4", mso_sptSeal4 },
- { "mso-spt188", mso_sptDoubleWave },
- { "mso-spt189", mso_sptActionButtonBlank },
- { "mso-spt190", mso_sptActionButtonHome },
- { "mso-spt191", mso_sptActionButtonHelp },
- { "mso-spt192", mso_sptActionButtonInformation },
- { "mso-spt193", mso_sptActionButtonForwardNext },
- { "mso-spt194", mso_sptActionButtonBackPrevious },
- { "mso-spt195", mso_sptActionButtonEnd },
- { "mso-spt196", mso_sptActionButtonBeginning },
- { "mso-spt197", mso_sptActionButtonReturn },
- { "mso-spt198", mso_sptActionButtonDocument },
- { "mso-spt199", mso_sptActionButtonSound },
- { "mso-spt200", mso_sptActionButtonMovie },
- { "mso-spt201", mso_sptHostControl },
- { "mso-spt202", mso_sptTextBox }
-};
-
- // gallery: quadrat
- // gallery: round-quadrat
- // gallery: circle
- // gallery: circle-pie
- // gallery: frame
- // gallery: flower
- // gallery: cloud
- // gallery: puzzle
- // gallery: octagon-bevel
- // gallery: diamond-bevel
- // gallery: up-right-arrow
- // gallery: up-right-down-arrow
- // gallery: corner-right-arrow
- // gallery: split-arrow
- // gallery: up-right-arrow-callout
- // gallery: split-round-arrow
- // gallery: s-sharped-arrow
- // Gallery: star6
- // Gallery: star12
- // Gallery: concave-star6
- // Gallery: signet
- // Gallery: doorplate
- // gallery: fontwork-arch-left-curve
- // gallery: fontwork-arch-right-curve
- // gallery: fontwork-arch-left-pour
- // gallery: fontwork-arch-right-pour
-
-MSO_SPT EnhancedCustomShapeTypeNames::Get( const rtl::OUString& rShapeType )
-{
- if ( !pHashMap )
- { // init hash map
- ::osl::MutexGuard aGuard( getHashMapMutex() );
- if ( !pHashMap )
- {
- TypeNameHashMap* pH = new TypeNameHashMap;
- const NameTypeTable* pPtr = pNameTypeTableArray;
- const NameTypeTable* pEnd = pPtr + ( sizeof( pNameTypeTableArray ) / sizeof( NameTypeTable ) );
- for ( ; pPtr < pEnd; pPtr++ )
- (*pH)[ pPtr->pS ] = pPtr->pE;
- pHashMap = pH;
- }
- }
- MSO_SPT eRetValue = mso_sptNil;
- int i, nLen = rShapeType.getLength();
- char* pBuf = new char[ nLen + 1 ];
- for ( i = 0; i < nLen; i++ )
- pBuf[ i ] = (char)rShapeType[ i ];
- pBuf[ i ] = 0;
- TypeNameHashMap::iterator aHashIter( pHashMap->find( pBuf ) );
- delete[] pBuf;
- if ( aHashIter != pHashMap->end() )
- eRetValue = (*aHashIter).second;
- return eRetValue;
-}
-
-rtl::OUString EnhancedCustomShapeTypeNames::Get( const MSO_SPT eShapeType )
-{
- return eShapeType <= mso_sptTextBox
- ? rtl::OUString::createFromAscii( pNameTypeTableArray[ eShapeType ].pS )
- : rtl::OUString();
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/customshapes/tbxcustomshapes.cxx b/svx/source/customshapes/tbxcustomshapes.cxx
deleted file mode 100644
index 511a7987fc..0000000000
--- a/svx/source/customshapes/tbxcustomshapes.cxx
+++ /dev/null
@@ -1,204 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svx.hxx"
-
-#include <string>
-
-#include <svx/svxids.hrc>
-#include <tools/shl.hxx>
-#include <svl/eitem.hxx>
-#include <sfx2/dispatch.hxx>
-#include <sfx2/viewsh.hxx>
-#include <sfx2/viewfrm.hxx>
-#include <vcl/toolbox.hxx>
-#include <osl/mutex.hxx>
-
-#include <sfx2/imagemgr.hxx>
-#include <vcl/svapp.hxx>
-#include "svx/tbxcustomshapes.hxx"
-
-SFX_IMPL_TOOLBOX_CONTROL(SvxTbxCtlCustomShapes, SfxBoolItem);
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-SvxTbxCtlCustomShapes::SvxTbxCtlCustomShapes( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ) :
- SfxToolBoxControl( nSlotId, nId, rTbx ),
- m_aSubTbxResName( RTL_CONSTASCII_USTRINGPARAM( "private:resource/toolbar/" ) )
-{
- switch( nSlotId )
- {
- default :
- {
- DBG_ASSERT( false, "SvxTbxCtlCustomShapes: unknown slot executed. ?" );
- }
- case SID_DRAWTBX_CS_BASIC :
- {
- m_aCommand = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:BasicShapes.diamond" ) );
- m_aSubTbName = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "basicshapes" ) );
- }
- break;
-
- case SID_DRAWTBX_CS_SYMBOL :
- {
- m_aCommand = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:SymbolShapes.smiley" ) );
- m_aSubTbName = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "symbolshapes" ) );
- }
- break;
-
- case SID_DRAWTBX_CS_ARROW :
- {
- m_aCommand = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:ArrowShapes.left-right-arrow" ) );
- m_aSubTbName = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "arrowshapes" ) );
- }
- break;
- case SID_DRAWTBX_CS_FLOWCHART :
- {
- m_aCommand = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FlowChartShapes.flowchart-internal-storage" ) );
- m_aSubTbName = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "flowchartshapes" ) );
- }
- break;
- case SID_DRAWTBX_CS_CALLOUT :
- {
- m_aCommand = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:CalloutShapes.round-rectangular-callout" ) );
- m_aSubTbName = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "calloutshapes" ) );
- }
- break;
- case SID_DRAWTBX_CS_STAR :
- {
- m_aCommand = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:StarShapes.star5" ) );
- m_aSubTbName = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "starshapes" ) );
- }
- break;
- }
- m_aSubTbxResName += m_aSubTbName;
- rTbx.SetItemBits( nId, TIB_DROPDOWN | rTbx.GetItemBits( nId ) );
- rTbx.Invalidate();
-}
-
-/*************************************************************************
-|*
-|* Notification when the application status has changed
-|*
-\************************************************************************/
-
-void SvxTbxCtlCustomShapes::StateChanged( sal_uInt16 nSID, SfxItemState eState,
- const SfxPoolItem* pState )
-{
- SfxToolBoxControl::StateChanged( nSID, eState, pState );
-}
-
-/*************************************************************************
-|*
-|* when one wants to create a popup window
-|*
-\************************************************************************/
-
-SfxPopupWindowType SvxTbxCtlCustomShapes::GetPopupWindowType() const
-{
- return( m_aCommand.getLength() == 0 ? SFX_POPUPWINDOW_ONCLICK : SFX_POPUPWINDOW_ONTIMEOUT);
-}
-
-/*************************************************************************
-|*
-|* Here is the window created
-|* The location of the Toolbox is queried through GetToolBox()
-|* rItemRect are the screen coordinates
-|*
-\************************************************************************/
-
-SfxPopupWindow* SvxTbxCtlCustomShapes::CreatePopupWindow()
-{
- createAndPositionSubToolBar( m_aSubTbxResName );
- return NULL;
-}
-
-// -----------------------------------------------------------------------
-
-void SvxTbxCtlCustomShapes::Select( sal_Bool /*bMod1*/ )
-{
- if ( m_aCommand.getLength() > 0 )
- {
- com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aParamSeq( 0 );
- Dispatch( m_aCommand, aParamSeq );
- }
-}
-
-
-::sal_Bool SAL_CALL SvxTbxCtlCustomShapes::opensSubToolbar() throw (::com::sun::star::uno::RuntimeException)
-{
- // We control a sub-toolbar therefore we have to return true.
- return sal_True;
-}
-
-::rtl::OUString SAL_CALL SvxTbxCtlCustomShapes::getSubToolbarName() throw (::com::sun::star::uno::RuntimeException)
-{
- // Provide the controlled sub-toolbar name, so we are notified whenever
- // this toolbar executes a function.
- return m_aSubTbName;
-}
-
-void SAL_CALL SvxTbxCtlCustomShapes::functionSelected( const ::rtl::OUString& rCommand ) throw (::com::sun::star::uno::RuntimeException)
-{
- // remind the new command
- m_aCommand = rCommand;
- // Our sub-toolbar wants to execute a function.
- // We have to change the image of our toolbar button to reflect the new function.
- SolarMutexGuard aGuard;
- if ( !m_bDisposed )
- {
- if ( m_aCommand.getLength() > 0 )
- {
- ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xFrame( getFrameInterface());
- Image aImage = GetImage( xFrame, m_aCommand, hasBigImages() );
- if ( !!aImage )
- GetToolBox().SetItemImage( GetId(), aImage );
- }
- }
-}
-
-void SAL_CALL SvxTbxCtlCustomShapes::updateImage( ) throw (::com::sun::star::uno::RuntimeException)
-{
- // We should update the button image of our parent (toolbar).
- // Use the stored command to set the correct current image.
- SolarMutexGuard aGuard;
- if ( m_aCommand.getLength() > 0 )
- {
- ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xFrame( getFrameInterface());
- Image aImage = GetImage( xFrame, m_aCommand, hasBigImages() );
- if ( !!aImage )
- GetToolBox().SetItemImage( GetId(), aImage );
- }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */