* Copyright 2006, Haiku.
* Distributed under the terms of the MIT License.
*
* Authors:
* Stephan Aßmus <superstippi@gmx.de>
*/
#ifndef REMOVE_POINTS_COMMAND_H
#define REMOVE_POINTS_COMMAND_H
#include "PathCommand.h"
class BPoint;
class RemovePointsCommand : public PathCommand {
public:
RemovePointsCommand(VectorPath* path,
int32 index,
const int32* selection,
int32 count);
RemovePointsCommand(VectorPath* path,
const int32* selection,
int32 count);
virtual ~RemovePointsCommand();
virtual status_t InitCheck();
virtual status_t Perform();
virtual status_t Undo();
virtual status_t Redo();
virtual void GetName(BString& name);
private:
void _Init(const int32* indices, int32 count,
const int32* selection,
int32 selectionCount);
int32* fIndex;
BPoint* fPoint;
BPoint* fPointIn;
BPoint* fPointOut;
bool* fConnected;
int32 fCount;
bool fWasClosed;
int32* fOldSelection;
int32 fOldSelectionCount;
};
#endif