1/* 2 * Copyright 2006-2007, Haiku. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Stephan A��mus <superstippi@gmx.de> 7 */ 8#ifndef FREEZE_TRANSFORMATION_COMMAND_H 9#define FREEZE_TRANSFORMATION_COMMAND_H 10 11 12#include "Command.h" 13#include "IconBuild.h" 14 15 16_BEGIN_ICON_NAMESPACE 17 class PathSourceShape; 18 class Transformable; 19_END_ICON_NAMESPACE 20 21_USING_ICON_NAMESPACE 22 23 24class FreezeTransformationCommand : public Command { 25 public: 26 FreezeTransformationCommand( 27 PathSourceShape** const shapes, 28 int32 count); 29 virtual ~FreezeTransformationCommand(); 30 31 virtual status_t InitCheck(); 32 33 virtual status_t Perform(); 34 virtual status_t Undo(); 35 36 virtual void GetName(BString& name); 37 38 private: 39 void _ApplyTransformation(PathSourceShape* shape, 40 const Transformable& transform); 41 42 PathSourceShape** fShapes; 43 double* fOriginalTransformations; 44 int32 fCount; 45}; 46 47#endif // FREEZE_TRANSFORMATION_COMMAND_H 48