1f4bd80a2SStephan Aßmus /* 2325a6253SAxel Dörfler * Copyright 2006-2007, Haiku. All rights reserved. 3f4bd80a2SStephan Aßmus * Distributed under the terms of the MIT License. 4f4bd80a2SStephan Aßmus * 5f4bd80a2SStephan Aßmus * Authors: 6f4bd80a2SStephan Aßmus * Stephan Aßmus <superstippi@gmx.de> 7f4bd80a2SStephan Aßmus */ 8f4bd80a2SStephan Aßmus #ifndef TRANSFORM_POINTS_COMMAND_H 9f4bd80a2SStephan Aßmus #define TRANSFORM_POINTS_COMMAND_H 10f4bd80a2SStephan Aßmus 11325a6253SAxel Dörfler 1225dc253dSIngo Weinhold #include "IconBuild.h" 13f4bd80a2SStephan Aßmus #include "TransformBox.h" 14f4bd80a2SStephan Aßmus #include "TransformCommand.h" 15f4bd80a2SStephan Aßmus 16f4bd80a2SStephan Aßmus 1725dc253dSIngo Weinhold _BEGIN_ICON_NAMESPACE 18325a6253SAxel Dörfler struct control_point; 1908e7fb40SIngo Weinhold class Transformable; 20325a6253SAxel Dörfler class VectorPath; 2125dc253dSIngo Weinhold _END_ICON_NAMESPACE 2225dc253dSIngo Weinhold 2325dc253dSIngo Weinhold _USING_ICON_NAMESPACE 2425dc253dSIngo Weinhold 2508e7fb40SIngo Weinhold 26f4bd80a2SStephan Aßmus class TransformPointsCommand : public TransformCommand, 27f4bd80a2SStephan Aßmus public TransformBoxListener { 28f4bd80a2SStephan Aßmus public: 29f4bd80a2SStephan Aßmus TransformPointsCommand( 30f4bd80a2SStephan Aßmus TransformBox* box, 31f4bd80a2SStephan Aßmus 32f4bd80a2SStephan Aßmus VectorPath* path, 33f4bd80a2SStephan Aßmus const int32* indices, 34f4bd80a2SStephan Aßmus const control_point* points, 35f4bd80a2SStephan Aßmus int32 count, 36f4bd80a2SStephan Aßmus 37f4bd80a2SStephan Aßmus BPoint pivot, 38f4bd80a2SStephan Aßmus BPoint translation, 39f4bd80a2SStephan Aßmus double rotation, 40f4bd80a2SStephan Aßmus double xScale, 41f4bd80a2SStephan Aßmus double yScale, 42f4bd80a2SStephan Aßmus 43*a75a222bSZardshard const char* name); 44f4bd80a2SStephan Aßmus virtual ~TransformPointsCommand(); 45f4bd80a2SStephan Aßmus 46f4bd80a2SStephan Aßmus // Command interface 47f4bd80a2SStephan Aßmus virtual status_t InitCheck(); 48f4bd80a2SStephan Aßmus 49f4bd80a2SStephan Aßmus // TransformBoxListener interface 50f4bd80a2SStephan Aßmus virtual void TransformBoxDeleted( 51f4bd80a2SStephan Aßmus const TransformBox* box); 52f4bd80a2SStephan Aßmus protected: 53f4bd80a2SStephan Aßmus // TransformCommand interface 54f4bd80a2SStephan Aßmus virtual status_t _SetTransformation(BPoint pivotDiff, 55f4bd80a2SStephan Aßmus BPoint translationDiff, 56f4bd80a2SStephan Aßmus double rotationDiff, 57f4bd80a2SStephan Aßmus double xScaleDiff, 58f4bd80a2SStephan Aßmus double yScaleDiff) const; 59f4bd80a2SStephan Aßmus 60f4bd80a2SStephan Aßmus TransformBox* fTransformBox; 61f4bd80a2SStephan Aßmus 62f4bd80a2SStephan Aßmus VectorPath* fPath; 63f4bd80a2SStephan Aßmus 64f4bd80a2SStephan Aßmus int32* fIndices; 65f4bd80a2SStephan Aßmus control_point* fPoints; 66f4bd80a2SStephan Aßmus int32 fCount; 67f4bd80a2SStephan Aßmus }; 68f4bd80a2SStephan Aßmus 69f4bd80a2SStephan Aßmus #endif // TRANSFORM_POINTS_COMMAND_H 70