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