diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2007-05-22 17:08:07 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2007-05-22 17:08:07 +0000 |
commit | 5998268390873aaffbf2ef8d43d4ea5df78656f2 (patch) | |
tree | e3453ce4902de8d6c9a70449c5a8dc6dee134c18 /chart2/source/controller/main/DragMethod_RotateDiagram.hxx | |
parent | INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED (diff) | |
download | core-5998268390873aaffbf2ef8d43d4ea5df78656f2.tar.gz core-5998268390873aaffbf2ef8d43d4ea5df78656f2.zip |
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED
2007/02/09 13:45:02 iha 1.1.2.6: #i72826# rotate around z-axis with mouse
2006/12/01 13:54:19 iha 1.1.2.5: correct rotation of diagram after resync to aw024
2006/11/22 17:31:19 iha 1.1.2.4: resync
2006/10/23 15:18:52 iha 1.1.2.3: rotation mode x-only and y-only
2006/06/09 16:26:16 iha 1.1.2.2: don't touch the camera rotation but take it into account
2005/12/03 18:46:13 iha 1.1.2.1: dragmethod for diagram rotation
Diffstat (limited to 'chart2/source/controller/main/DragMethod_RotateDiagram.hxx')
-rw-r--r-- | chart2/source/controller/main/DragMethod_RotateDiagram.hxx | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/chart2/source/controller/main/DragMethod_RotateDiagram.hxx b/chart2/source/controller/main/DragMethod_RotateDiagram.hxx new file mode 100644 index 000000000000..0e51885b49b7 --- /dev/null +++ b/chart2/source/controller/main/DragMethod_RotateDiagram.hxx @@ -0,0 +1,94 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DragMethod_RotateDiagram.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: vg $ $Date: 2007-05-22 18:08:07 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ +#ifndef CHART2_DRAGMETHOD_ROTATEDIAGRAM_HXX +#define CHART2_DRAGMETHOD_ROTATEDIAGRAM_HXX + +#include "DragMethod_Base.hxx" + +// header for class ::basegfx::B3DPolygon +#ifndef _BGFX_POLYGON_B3DPOLYGON_HXX +#include <basegfx/polygon/b3dpolygon.hxx> +#endif + +namespace chart +{ + +class DragMethod_RotateDiagram : public DragMethod_Base +{ +public: + enum RotationDirection + { + ROTATIONDIRECTION_FREE, + ROTATIONDIRECTION_X, + ROTATIONDIRECTION_Y, + ROTATIONDIRECTION_Z + }; + + DragMethod_RotateDiagram( DrawViewWrapper& rDrawViewWrapper + , const rtl::OUString& rObjectCID + , const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& xChartModel + , RotationDirection eRotationDirection + ); + virtual ~DragMethod_RotateDiagram(); + + virtual void TakeComment(String& rStr) const; + virtual FASTBOOL Beg(); + virtual void Mov(const Point& rPnt); + virtual FASTBOOL End(FASTBOOL bCopy); + + virtual void CreateOverlayGeometry(::sdr::overlay::OverlayManager& rOverlayManager, ::sdr::overlay::OverlayObjectList& rOverlayList); + +private: + E3dScene* m_pScene; + + Rectangle m_aReferenceRect; + Point m_aStartPos; + ::basegfx::B3DPolygon m_aWireframePoly; + + double m_fInitialXAngleRad; + double m_fInitialYAngleRad; + double m_fInitialZAngleRad; + + double m_fAdditionalXAngleRad; + double m_fAdditionalYAngleRad; + double m_fAdditionalZAngleRad; + + RotationDirection m_eRotationDirection; +}; + +} // namespace chart + +// CHART2_DRAGMETHOD_ROTATEDIAGRAM_HXX +#endif |