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 12*25dc253dSIngo Weinhold #include "IconBuild.h" 13f4bd80a2SStephan Aßmus #include "TransformBox.h" 14f4bd80a2SStephan Aßmus #include "TransformCommand.h" 15f4bd80a2SStephan Aßmus 16f4bd80a2SStephan Aßmus 17*25dc253dSIngo Weinhold _BEGIN_ICON_NAMESPACE 18325a6253SAxel Dörfler struct control_point; 1908e7fb40SIngo Weinhold class Transformable; 20325a6253SAxel Dörfler class VectorPath; 21*25dc253dSIngo Weinhold _END_ICON_NAMESPACE 22*25dc253dSIngo Weinhold 23*25dc253dSIngo Weinhold _USING_ICON_NAMESPACE 24*25dc253dSIngo 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 43f4bd80a2SStephan Aßmus const char* name, 44f4bd80a2SStephan Aßmus int32 nameIndex); 45f4bd80a2SStephan Aßmus virtual ~TransformPointsCommand(); 46f4bd80a2SStephan Aßmus 47f4bd80a2SStephan Aßmus // Command interface 48f4bd80a2SStephan Aßmus virtual status_t InitCheck(); 49f4bd80a2SStephan Aßmus 50f4bd80a2SStephan Aßmus // TransformBoxListener interface 51f4bd80a2SStephan Aßmus virtual void TransformBoxDeleted( 52f4bd80a2SStephan Aßmus const TransformBox* box); 53f4bd80a2SStephan Aßmus protected: 54f4bd80a2SStephan Aßmus // TransformCommand interface 55f4bd80a2SStephan Aßmus virtual status_t _SetTransformation(BPoint pivotDiff, 56f4bd80a2SStephan Aßmus BPoint translationDiff, 57f4bd80a2SStephan Aßmus double rotationDiff, 58f4bd80a2SStephan Aßmus double xScaleDiff, 59f4bd80a2SStephan Aßmus double yScaleDiff) const; 60f4bd80a2SStephan Aßmus 61f4bd80a2SStephan Aßmus TransformBox* fTransformBox; 62f4bd80a2SStephan Aßmus 63f4bd80a2SStephan Aßmus VectorPath* fPath; 64f4bd80a2SStephan Aßmus 65f4bd80a2SStephan Aßmus int32* fIndices; 66f4bd80a2SStephan Aßmus control_point* fPoints; 67f4bd80a2SStephan Aßmus int32 fCount; 68f4bd80a2SStephan Aßmus }; 69f4bd80a2SStephan Aßmus 70f4bd80a2SStephan Aßmus #endif // TRANSFORM_POINTS_COMMAND_H 71