summaryrefslogtreecommitdiffstats
path: root/chart2/source/controller/main/DragMethod_RotateDiagram.hxx
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2007-05-22 17:08:07 +0000
committerVladimir Glazounov <vg@openoffice.org>2007-05-22 17:08:07 +0000
commit5998268390873aaffbf2ef8d43d4ea5df78656f2 (patch)
treee3453ce4902de8d6c9a70449c5a8dc6dee134c18 /chart2/source/controller/main/DragMethod_RotateDiagram.hxx
parentINTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED (diff)
downloadcore-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.hxx94
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