1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 // MARKER(update_precomp.py): autogen include statement, do not remove 29 #include "precompiled_svx.hxx" 30 #include "EnhancedCustomShapeHandle.hxx" 31 #include "svx/EnhancedCustomShape2d.hxx" 32 #include "svx/unoapi.hxx" 33 34 // ----------------------------------------------------------------------------- 35 36 EnhancedCustomShapeHandle::EnhancedCustomShapeHandle( com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& xCustomShape, sal_uInt32 nIndex ) : 37 mnIndex ( nIndex ), 38 mxCustomShape ( xCustomShape ) 39 { 40 } 41 42 // ----------------------------------------------------------------------------- 43 44 EnhancedCustomShapeHandle::~EnhancedCustomShapeHandle() 45 { 46 } 47 48 // ----------------------------------------------------------------------------- 49 50 void SAL_CALL EnhancedCustomShapeHandle::acquire() throw() 51 { 52 OWeakObject::acquire(); 53 } 54 55 // ----------------------------------------------------------------------------- 56 57 void SAL_CALL EnhancedCustomShapeHandle::release() throw() 58 { 59 OWeakObject::release(); 60 } 61 62 // XCustomShapeHandle 63 com::sun::star::awt::Point SAL_CALL EnhancedCustomShapeHandle::getPosition() 64 throw ( com::sun::star::uno::RuntimeException ) 65 { 66 SdrObject* pSdrObjCustomShape( GetSdrObjectFromXShape( mxCustomShape ) ); 67 if ( !pSdrObjCustomShape ) 68 throw com::sun::star::uno::RuntimeException(); 69 70 Point aPosition; 71 EnhancedCustomShape2d aCustomShape2d( pSdrObjCustomShape ); 72 if ( !aCustomShape2d.GetHandlePosition( mnIndex, aPosition ) ) 73 throw com::sun::star::uno::RuntimeException(); 74 return com::sun::star::awt::Point( aPosition.X(), aPosition.Y() ); 75 } 76 77 void SAL_CALL EnhancedCustomShapeHandle::setControllerPosition( const com::sun::star::awt::Point& aPnt ) 78 throw ( com::sun::star::uno::RuntimeException ) 79 { 80 SdrObject* pSdrObjCustomShape( GetSdrObjectFromXShape( mxCustomShape ) ); 81 if ( !pSdrObjCustomShape ) 82 throw com::sun::star::uno::RuntimeException(); 83 84 EnhancedCustomShape2d aCustomShape2d( pSdrObjCustomShape ); 85 if ( !aCustomShape2d.SetHandleControllerPosition( mnIndex, aPnt ) ) 86 throw com::sun::star::uno::RuntimeException(); 87 } 88 89 // XInitialization 90 void SAL_CALL EnhancedCustomShapeHandle::initialize( const com::sun::star::uno::Sequence< com::sun::star::uno::Any >& /* aArguments */ ) 91 throw ( com::sun::star::uno::Exception, com::sun::star::uno::RuntimeException ) 92 { 93 } 94